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

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

Курсы профессиональной переподготовки
124 курса

Выдаем дипломы установленного образца

Заочное обучение - на сайте «Инфоурок»
(в дипломе форма обучения не указывается)

Начало обучения: 29 ноября
(набор групп каждую неделю)

Лицензия на образовательную деятельность
(№5201 выдана ООО «Инфоурок» 20.05.2016)


Скидка 50%

от 13 800  6 900 руб. / 300 часов

от 17 800  8 900 руб. / 600 часов

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

Получите наградные документы сразу с 38 конкурсов за один орг.взнос: Подробнее ->>

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

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


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

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

ПЛАН УРОКА

  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


Самые низкие цены на курсы переподготовки

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

После окончания обучения выдаётся диплом о профессиональной переподготовке установленного образца с присвоением квалификации (признаётся при прохождении аттестации по всей России).

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

Начало обучения ближайшей группы: 29 ноября. Оплата возможна в беспроцентную рассрочку (10% в начале обучения и 90% в конце обучения)!

Подайте заявку на интересующий Вас курс сейчас: https://infourok.ru


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

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

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

ПЛАН УРОКА

 

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

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

Общая информация

Номер материала: 354315
Курсы профессиональной переподготовки
124 курса

Выдаем дипломы установленного образца

Заочное обучение - на сайте «Инфоурок»
(в дипломе форма обучения не указывается)

Начало обучения: 29 ноября
(набор групп каждую неделю)

Лицензия на образовательную деятельность
(№5201 выдана ООО «Инфоурок» 20.05.2016)


Скидка 50%

от 13 800  6 900 руб. / 300 часов

от 17 800  8 900 руб. / 600 часов

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

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

Получите наградные документы сразу с 38 конкурсов за один орг.взнос: Подробнее ->>