Тема урока: Программирование циклов с заданным условием продолжения работы.
Цели:
познакомить с правилами записи оператора while;
рассмотреть пример программирования циклического алгоритма с помощью оператора while;
получить опыт программирования циклов с заданным условием продолжения работы.
сформировать умение записывать на языке программирования короткие алгоритмы с циклами.
Теоретические сведения.
Ц
Опорный конспект
икл с заданным условием продолжения работы (цикл ПОКА) программируется в языке Паскаль с помощью оператора
while.
Общий вид оператора:
while условие do оператор
Здесь:
- логическое выражение; пока оно истинно, выполняется тело цикла;
- простой или составной оператор, с помощью которого записано тело цикла.
Если требуется выполнить определённую последовательность действий, то их объединяют в составной оператор (заключают в операторные скобки), имеющий вид:
begin последовательность операторов end
Слово while читается "вайл", слово do - "ду", вся конструкция переводится так - Пока условие истинно, делай оператор. Например, while ab do b:=b+1.
Прочитайте блок-схему
ПОКА условие истинно
ДЕЛАЙ тело цикла
условие ложно – выход из цикла
Блок-схема
Цикл может ни разу не выполниться, если условие будет сразу ложно.
Если в теле цикла не будет оператора влияющего на изменение условия, цикл может выполняться бесконечно.
Задание 1
Проанализируйте следующий цикл:
while ado
c:=a=b;
В чём его особенность?
Пример 1
Просмотрите программу, которая выводит на экран все натуральные числа от 1 до n
P
т.к write (а не writeln) вывод будет в одной строке через пробел, который записан в ‘ ’
rogram m2;
var i,n:integer;
begin
writeln('Введите n'); readln(n);
i:=1;
while i
begin
write(i, ‘ ’); i:=i+1;
end;
end.
Задание 2
Напишите программу с помощью цикла while, которая n раз выводит на экран сообщения:
1
1, 2,3… n. Значения переменной i
-й енот
2-й енот
3-й енот
…
n-й енот
Пример 2
Изучите программу, Напишите программу, выводящую на экран изображение шахматной доски, где чёрные клетки изображаются звёздочками, а белые - пробелами
при проверке программы вводим число 2
* * * *
* * * *
Задание 3
Напишите программу, выводящую на экран изображение 4-х звёздочек n строк:
* * * *
Пример 3
Изучите программу в Паскале для вычисления факториала 5! (5!=1 * 2 * 3 * 4 * 5)
program pr;
var
fact, n : integer;
begin
fact := 1; {начальное значение факториала =0! }
n := 1; {начальное значение для условия }
while n5 do {условие }
begin {начало тела конструкции с составным оператором }
fact := fact*n; {вычисление факториала n! }
n := n + 1 {n должно меняться в теле конструкции}
end; {конец тела цикла }
writeln(’5!= ’,fact); {вывод результата расчета }
end.
Помните. Тип данных Integer представляет числа в диапазоне -35768…32767, Поэтому если вы захотите посчитать факториал 100, программа выдаст ошибку, потому что число не помещается в диапазон значений данного типа
Задание 4
Напишите программу для вычисления суммы целых чисел от 1 до 100
З
адание 5
Определите значения переменных K и Y к фрагменту программы. Запишите значения K и Y на каждой итерации (каждом прохождении тела цикла) в таблицу
Кол-во итераций | K | Y |
1 | | |
2 | | |
⁞ | | |
З
адание 6
Проанализируйте программу, которая выводит на экран таблицу возведение числа во 2-ю степень (от 0 до 10). Прокомментируйте каждую строке
Рекомендуемый вид экрана после выполнения программы представлен ниже:
Таблица степеней двойки:
0 1
1 1
2 4
3 9
…………..
О
братите внимание на последовательность операторов в теле цикла, что будет, если их поменять таким образом:
Записать в тетради число (21 апреля), классная работа, тема «Программирование циклов с заданным условием продолжения работы». Конспект с 1-й страницы. Задания 1-6
Домашняя работа
Записать в тетради число (21 апреля), домашняя работа, задания 1-3
Задание 1
Дана последовательность операторов:
a:=1;
b:=2;
while a+b
begin
a:=a+1;
b:=b+2;
end;
s:=a+b
Сколько раз будет повторен цикл и какими будут значения переменных a, b, s после исполнения этой последовательности операторов?
Задание 2
Напишите программу, Напишите программу, выводящую на экран изображение смайлика
n раз (желательно в 1 строку)
Задание 3
Напишите программу, которая 10 раз выводит на экран ваши имя и фамилию.
6