Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015

Опубликуйте свой материал в официальном Печатном сборнике методических разработок проекта «Инфоурок»

(с присвоением ISBN)

Выберите любой материал на Вашем учительском сайте или загрузите новый

Оформите заявку на публикацию в сборник(займет не более 3 минут)

+

Получите свой экземпляр сборника и свидетельство о публикации в нем

Инфоурок / Информатика / Конспекты / Конспект по информатике на тему "Вложенные циклы"
ВНИМАНИЮ ВСЕХ УЧИТЕЛЕЙ: согласно Федеральному закону № 313-ФЗ все педагоги должны пройти обучение навыкам оказания первой помощи.

Дистанционный курс "Оказание первой помощи детям и взрослым" от проекта "Инфоурок" даёт Вам возможность привести свои знания в соответствие с требованиями закона и получить удостоверение о повышении квалификации установленного образца (180 часов). Начало обучения новой группы: 24 мая.

Подать заявку на курс
  • Информатика

Конспект по информатике на тему "Вложенные циклы"

библиотека
материалов

Основы объектно-ориентированного программирования. Алгоритмы с повторениями


Тема урока: Вложенные циклы.

Цель урока: Познакомить учащихся со вложенными циклами Сформировать умения и навыки в создание программного проекта на реализацию ветвления. Развивать память, логическое и креативное мышление. Воспитывать культуру работы с информацией.

ПЛАН УРОКА

  1. Организационный момент.

  2. Изложение нового материала.

  3. Практическая часть.

  4. Подведение итогов урока.

  5. Домашнее задание.

ХОД УРОКА

  1. Организационный момент

Отметить отсутствующих.

  1. Актуализация опорных знаний

Повторение

hello_html_79930fd2.png

Какие циклы вы знаете? В каких случаях применяется каждый из этих циклов?

hello_html_79930fd2.png

Сколько раз выполняются следующие операторы:

  1. For i := 1 To 10 Do x := x + i;

  2. For k := 2 To 22 Do If k Mod 2 = 0 Then s := s + 1;

  3. For x := -5 To 5 Do
    Begin
    Writeln('
    введите число');
    Readln(y);
    Writeln('x + y = ',x+y);
    End;

hello_html_79930fd2.png

Составить фрагмент программы возведения заданного числа в степень n. Поясните своё решение.

  1. Изложение нового материала


Пример:

Даны натуральные числа n и k. Составить программу вычисления выражения 1k + 2k +...+ nk.

Решение

Для вычисления указанной суммы целесообразно организовать цикл с параметром i, в котором, во-первых, вычислялось бы очередное значение y = ik и, во-вторых, осуществлялось бы накопление суммы прибавлением полученного слагаемого к сумме всех предшествующих (s = s + y).

Program Example_1;
Var n, k, y, i, s, m: Integer;
Begin
Writeln ('
Введите исходные данные n и k');
Readln(n,k);
s:=0;
For i:=1 To n Do
Begin y:=1;
For m:=1 To k Do y:=y*i; {
нахождение степени k числа i}
s:=s+y;
End;
Writeln('
Ответ: ',s);
End.

Таким образом, для решения задачи потребовалось организовать два цикла, один из которых пришлось поместить внутрь другого. Такие конструкции называют вложенными циклами.

Пример:

Модифицировать предыдущую программу так, чтобы она вычисляла сумму 11 + 22 +...+ nn.

Решение

Данная задача отличается от предыдущей тем, что показатель степени очередного слагаемого совпадает со значением её основания, следовательно, параметры внутреннего цикла (цикла, в котором вычисляется очередное слагаемое) совпадают с параметрами внешнего цикла.

Program Example_2;
Var n, y, i, s, m: Integer;
Begin
Writeln('
Введите начальное значение n ');
Readln(n);
s:=s;
For i:=1 To n Do
Begin y:=1;
For m:=1 To i Do y:=y*i; {
нахождение степени k числа i}
s:=s+y;
End;
Writeln('
Ответ: ',s);
End.

Внутренний и внешний циклы могут быть любыми из трёх рассмотренных ранее видов: циклами с параметром, циклами с предусловием или циклами с постусловием. Правила организации как внешнего, так и внутреннего циклов такие же, как и для простого цикла каждого из этих видов. Но при использовании вложенных циклов необходимо соблюдать следующее условие: внутренний цикл должен полностью укладываться в циклическую часть внешнего цикла.

Пример:

Старинная задача. Сколько можно купить быков, коров и телят, если плата за быка 10 рублей, за корову - 5 рублей, за телёнка - полтинник (0,5 рубля, если на 100 рублей надо купить 100 голов скота.

Решение

Обозначим через b - количество быков; k - количество коров; t - количество телят. После этого можно записать два уравнения: 10b + 5k + 0.5t = 100 и b + k + t = 100. Преобразуем их в 20b + 10k + t = 200 и b + k + t = 100

На 100 рублей можно купить:

hello_html_79930fd2.png

не более 10 быков, т.е. 0<=b<=10

hello_html_79930fd2.png

не более 20 коров, т.е. 0<=k<=20

hello_html_79930fd2.png

не более 200 телят, т.е. 0<=t<=200.

Таким образом, получаем:

Program Example_3;
Var b, k, t: Integer;
Begin
For b:=0 To 10 Do
For k:=0 To 20 Do
For t:=0 To 200 Do
If (20*b+10*k+t=200) And (b+k+t=100) Then
Writeln('
быков ',b,' коров ',k,' телят ',t);
End.

Сколько раз будет проверяться условие в данной программе?

Значение переменной b изменяется 11 раз (от 0 до 10), для каждого её значения переменная k изменяется 21 раз, а для каждого значения переменной k переменная t изменяется 201 раз. Таким образом, условие будет проверяться 11*21*201 раз. Но если известно количество быков и коров, то количество телят можно вычислить по формуле t = 100 - (b + k) и цикл по переменной t исключается.

Program Example_4;
Var b, k, t: Integer;
Begin
For b:=0 To 10 Do
For k:=0 To 20 Do
Begin
t:=100-(b+k);
If (20*b+10*k+t=200) Then
Writeln('
быков,'b,' коров ',k,' телят',t);
End;
End.

При этом решении условие проверяется 11*21 раз.

Примечание. Возникает вопрос, можно ли ещё уменьшить количество проверок?


Решение задач

  1. Что будет выведено на экране монитора после выполнения следующего фрагмента программы:

a := 1; b := 1;
For i := 0 To n Do
Begin
For j := 1 To b Do Write('*');
Writeln;
c := a + b; a := b; b := c;
End;

если n = 6? Решение какой задачи выражает этот фрагмент программы?

  1. Что будет выведено на экране монитора после выполнения следующего фрагмента программы:

b := 0;
While a<>0 Do
Begin
b := b*10 + a Mod 10;
a := a Div 10;
End;
Write(b);

если a = 13305? Решение какой задачи выражает этот фрагмент программы?

  1. Исходное данное - натуральное число q, выражающее площадь. Написать программу для нахождения всех таких прямоугольников, площадь которых равна q и стороны выражены натуральными числами.

 

  1. Составить программу для графического изображения делимости чисел от 1 до n (n - исходное данное). В каждой строке надо печатать число и сколько плюсов, сколько делителей у этого числа. Например, если исходное данное - число 4, то на экране должно быть напечатано:

 

1+

2++

3++

4+++

  1. Составить программу получения всех совершенных чисел, меньших заданного числа n. Число называется совершенным, если равно сумме всех своих положительных делителей, кроме самого этого числа. Например, 28 - совершенно, так как 28=1+2+4+7+14.

 

Из истории. Грекам были известны первые четыре совершенных числа: 6, 28, 496, 8128. Эти числа высоко ценились. Даже в XII веке церковь утверждала, что для спасения души необходимо найти пятое совершенное число. Это число было найдено только в XV веке. До сих пор совершенные числа полностью не исследованы - не известно, имеется ли конечное число совершенных чисел или их число бесконечно, кроме того, неизвестно ни одного нечётного совершенного числа, но и не доказано, что таких чисел нет.

  1. Дано натуральное число n. Можно его представить в виде суммы трёх квадратов натуральных чисел? Если можно, то:

    1. указать тройку x, y, z, таких натуральных чисел, что x2 + y2 + z2 = n;

    2. указать все тройки x, y, z таких натуральных чисел, что x2 + y2 + z2 = n.

  2. Найти натуральное число от 1 до 10000 с максимальной суммой делителей.

  3. Даны натуральные числа a, b (ap, удовлетворяющие неравенствам: a<=p<=b.

  4. Даны натуральные числа n, m. Получить все меньшие n натуральные числа, квадрат суммы цифр которых равен m.

  5. Даны натуральные числа n и m. Найти все пары дружественных чисел, лежащих в диапазоне от n до m. Два числа называются дружественными, если каждое из них равно сумме всех делителей другого (само число в качестве делителя не рассматривается).

  6. В данном натуральном числе переставить цифры таким образом, чтобы образовалось наименьшее число, записанное этими же цифрами.

  7. Составить программу, печатающую для данного натурального числа k-ю цифру последовательности:

    1. 12345678910..., в которой выписаны подряд все натуральные числа;

    2. 14916253649..., в которой выписаны подряд квадраты всех натуральных чисел;

    3. 1123581321..., в которой выписаны подряд все числа Фибоначчи.

  8. Составить программу возведения заданного числа в третью степень, используя следующую закономерность:

13 = 1

23 = 3 + 5

33 = 7 + 9 + 11

43 = 13 + 15 + 17 + 19

53 = 21 + 23 + 25 + 27 + 29

  1. Составить программу для нахождения всех натуральных решений уравнения n2 + m2 = k2 в интервале [1, 10].

Примечание. Решения, которые получаются перестановкой n и m, считать совпадающими.

  1. Подведение итогов урока.

  2. Домашнее задание:, выполнить упр. №2, 3, 4.


4


Краткое описание документа:

Тема урока:Вложенные циклы.

Цель урока:  Познакомить учащихся совложенными циклами Сформировать умения и навыки в создание программного проекта на реализацию ветвления. Развивать память, логическое и креативное мышление. Воспитывать культуру работы с информацией.

ПЛАН УРОКА

 

  1.            Организационный момент.
  2.            Изложение нового материала.
  3.            Практическая часть.
  4.            Подведение итогов урока.
  5.            Домашнее задание.

Внутренний и внешний циклы могут быть любыми из трёх рассмотренных ранее видов: циклами с параметром, циклами с предусловием или циклами с постусловием. Правила организации как внешнего, так и внутреннего циклов такие же, как и для простого цикла каждого из этих видов. Но при использовании вложенных циклов необходимо соблюдать следующее условие: внутренний цикл должен полностью укладываться в циклическую часть внешнего цикла

Автор
Дата добавления 31.01.2015
Раздел Информатика
Подраздел Конспекты
Просмотров766
Номер материала 354315
Получить свидетельство о публикации

Выберите специальность, которую Вы хотите получить:

Обучение проходит дистанционно на сайте проекта "Инфоурок".
По итогам обучения слушателям выдаются печатные дипломы установленного образца.

ПЕРЕЙТИ В КАТАЛОГ КУРСОВ

Похожие материалы

Включите уведомления прямо сейчас и мы сразу сообщим Вам о важных новостях. Не волнуйтесь, мы будем отправлять только самое главное.
Специальное предложение
Вверх