Инфоурок Информатика КонспектыКонспект урока по информатике на тему "Операторы цикла while и repeat – until. Оператор цикла с параметром for" (10 класс)

Конспект урока по информатике на тему "Операторы цикла while и repeat – until. Оператор цикла с параметром for" (10 класс)

Скачать материал

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

Тема: «Операторы цикла while  и  repeat    until. Оператор цикла с параметром for»

 

Цели занятия:

Обучающая:

1.  Сформировать понятие о циклах;

2.  Познакомиться с циклами WHILE и REPEAT;

3.  Научиться использовать счётный цикл FOR;

4.  Получить навыки решения алгоритмов с повторениями.

Развивающая:

1.  Формирование навыков работы при создании программ, отработать приемы вставки в программу блоков цикла;

2.  Формирование у учащихся приемов логического и алгоритмического мышления;

3.  Развитие познавательного интереса;

4.  Развитие умения планировать свою деятельность.

Воспитывающая:

1.  Воспитывать необходимость связывать изучение нового материала с уже известными фактами;

2.  Воспитывать ответственность за выполняемую работу;

3.  Воспитывать аккуратность при выполнении вычислений.

Тип урока: комбинированный

Формы учебной работы учащихся: фронтальная, индивидуальная работа за ПК.

Оборудование: ПК учителя, ПК учеников, тетради, учебник, карточки с заданиями

Ход урока

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

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

3.      Изучение нового материала:

Операторы цикла while и repeat

Операторы цикла while и repeat используются тогда, когда заранее не известно общее количество итераций (повторений вычислений) цикла, а завершение вычислений зависит от некоего условия. Если условие ставится вначале цикла (на входе), то используется оператор While, если на выходе – Repeat.

Продемонстрируем сказанное на примере вычисления суммы кубов всех чисел от 1 до 10. Из кода видно, что пока b ≤ 10 (строка 7), будем выполнять тело цикла, в котором на каждой итерации к сумме sum прибавляем b3. При последнем вычислении при b=10 вычислим сумму (строка 9), а ниже увеличим b на 1: b=11, поэтому следующим шагом будет выход из цикла, поскольку условие входа b ≤ 10 нарушится.

var
  b, sum: integer;
begin
  b := 1;
  sum := 0; // начальная сумма
  while b <= 10 do 
  begin
    sum := sum + b*b*b;
    inc(b)
  end;
  writeln('sum = ', sum); // выводим результат
  readln
end.

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

begin
  while 1 < 100 do
    writeln('Hello!')
end.

Данная программа будет выводить приветствие "Hello!" бесконечно, то есть до тех пор, пока вы её не остановите. Происходит это потому, что условие 1 < 100 всегда истинно.

Посмотрите ещё пример с гармоническим рядом или другие программы из раздела While задачника Абрамяна.

Задача 1. Выведите наименьший делитель числа x, отличный от 1

var
  x, d: integer;
begin
  write('Введите x --> ');
  readln(x);
  d := 2; { <- минимальный делитель отличный от 1 }
  while (x mod d <> 0) do inc(d);
  writeln('d = ', d);
  readln
end.

Задача 2. Напечатать минимальное число, большее 200, которое нацело делится на 17

var
  n: integer;
begin
  n := 201; { <- минимальное число большее 200 }
  while (n mod 17 <> 0) do inc(n);
  writeln('Ответ: ', n);
  readln
end.

Оператор repeat - until

Ещё одной особенностью оператора repeat - until является то, что по крайней мере один раз оператор в теле цикла выполнится, поскольку условие выхода проверяется в конце. Эта особенность приводит к тому, что любой оператор с предусловием while легко может быть преобразован в оператор с послеусловием repeat, а вот далеко не каждый оператор repeat легко записывается с помощью while.

Задача 1. Вычислить корень квадратный из введенного с клавиатуры числа. 

Запустите программу и попробуйте ввести отрицательное число: каждый раз вас будет возвращать в начало цикла, поскольку выйти из цикла можно, если ввести неотрицательное число x: x >= 0.

var
  x: integer;
begin
  repeat
    readln(x)
  until x >= 0; { <-- выходим, если x>=0 }
  writeln('Квадратный корень: ', sqrt(x):0:4);
  readln
end.

Задача 2. Вводить с клавиатуры числа до тех пор, пока их сумма не превысит заданное наперед число.

 Как видим в строке 11, если сумма sum превысит число М, то выходим из цикла и выводим результат:

var
  x, M, sum: real;
begin
  write('Введите контрольное число --> ');
  readln(M);
  sum := 0; { <- начальное значение суммы }
  repeat
    readln(x); { <- вводим x }
    sum := sum + x { <- к сумме прибавляем x }
  until sum > M; { <== выходим, если сумма превысит M }
  writeln('Результат: ', sum);
  readln
end.

Оператор for to do — цикл со счётчиком

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

Посмотрите на рисунок ниже. Там представлена блок схема for (блок-схема цикла с параметром) и его запись на языке программирования Паскаль.

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

Как работает цикл с параметром ?

Разберемся, как работает for в паскале. Выполнение начинается с получения переменной i начального значения а.  Затем проверяется это значение с конечным значением n. Выполнение операторов цикла происходит в случае, когда i меньше или равно n (при положительном шаге счетчика) или i больше или равно n (при отрицательном шаге счетчика).

Рассмотрим работу цикла на примерах:

            Задание 1. Напишите программу, которая выводит на экран 10 строк следующего содержания: «**++==++**»

Решение:

program for1;          { название программы }

var i:integer;         { описание переменных }

begin                      { начало программы }

  for i:=1 to 10 do      { цикл выполняется 10 раз }

  writeln('**++==++**'); {вывод строки символов экран  }

end.                        { конец программы }

Выполнить самостоятельно

Задание 2. Напишите программу, которая выводит значения функции y=kx+b на интервале [2,8] с шагом 1.

Решение:

program for2;          { название программы }

var x,a,n:integer;       { x- параметр цикла, a,n - интервал}

k,b:real;                { коэффициенты функции}

begin                        { начало программы }

  write('Введите значение k = ');readln(k);

  write('Введите значение b = ');readln(b);

  write('Введите значение начала интервала = ');readln(a);

  write('Введите значение конца интервала = ');readln(n);

  for x:=a to n do         { цикл с параметром }

    writeln('x=',x,' y=',k*x+b); {вывод значений аргумента и функции }

end.                          { конец программы }

4.      Подведение итогов урока, выставление оценок

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

Читать §____________с.________________. Выполнить задание__________с.____________

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал
Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 274 342 материала в базе

Материал подходит для УМК

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 18.02.2020 1643
    • DOCX 415.7 кбайт
    • 127 скачиваний
    • Оцените материал:
  • Настоящий материал опубликован пользователем Дорожко Юлия Валериевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Дорожко Юлия Валериевна
    Дорожко Юлия Валериевна
    • На сайте: 3 года и 4 месяца
    • Подписчики: 0
    • Всего просмотров: 25280
    • Всего материалов: 14

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой