Презентация к уроку информатики в 9 классе на тему «Паскаль. Цикл while» Автор учитель математики, информатики Иванова Елена Васильевна г.Новочебоксарск Чувашская Республика [email protected] www.sosh5-nowch.edu.cap.ru
Программирование циклов.Цикл while.
Цикл – это многократно выполняемая последовательность операторов (команд). WHILE ... DO… REPEAT ... UNTIL … FOR ... TO / DOWNTO ... DO … Цикл с параметром (FOR … DO …) является частным случаем цикла с предусловием.
Циклические операторы на Паскале Оператор после do повторяется до тех пор, пока логич. условие истинно
Помните Цикл с предусловием (WHILE . . . DO . . .) многократно выполняет одни и те же действия при истинности условия, которое изменяется обычно внутри цикла. Истинность условия проверяется перед выполнением операторов. Таким образом, если условие с самого начала оказалось ложным, то операторы тела цикла не будут выполнены ни разу. Если в цикле необходимо выполнить несколько простых операторов, они объединяются после служебного слова DO в составной оператор операторными скобками BEGIN . . . END (см. задачу 1).
Цикл с предусловием, цикл «пока». Задача 1 Вычислить сумму ряда чисел 2+4+6+…+1000. Program sum; var a, s: integer; Begin writeln (‘ вычисление суммы ряда’); a:=0; s:=0; while a<1000 do begin a:=a+2; s:=s+a end; writeln (‘сумма ряда равна s=‘, s); end.
Дом. задание (запишите в тетрадь) Найти сумму всех натуральных чисел от 1 до n. Допол. Вычислить сумму ряда чисел
Задача 2 (самостоятельно на компьютерах) Вычислить сумму ряда чисел Program sum; var a, s: integer; Begin writeln (‘ вычисление суммы ряда’); a:=0; s:=0; while a<600 do begin a:=a+1; s:=s+1/a end; writeln (‘сумма ряда равна s=‘, s); end.
Решение задачи из дом. задания Program sum; var Begin writeln (‘ readln ( a:= 1 ; s:=0; while a< n do begin a:=a+1; s:=s+а; end; writeln (‘сумма’ , n, ‘натуральных чисел равна s=‘, s); end.
Решение дополнительной задачи Program sum; var Begin writeln (‘ readln ( a:= 1 ; s:=0; s1:=0; s2:=0; while a< n do begin a:=a+1; if a mod 2=0 do s1:=s1+1/a else s2:=s2-1/a end; s:=s1+s2; end; writeln (‘сумма ряда равна s=‘, s); end.
Для обсуждения Program sum; var a, s: real; Begin writeln (‘ вычисление суммы ряда’); a:=0; s:=0; while a<1000 do begin a:=a+2; s:=s+a end; writeln (‘сумма ряда равна s=‘, s); end.
Источники: Семакин и др. Информатика Базовый курс Карасёв П.Н. Информатика (программирование) Л.А.Залогова и др. «Информатика. Задачник-практикум» ресурсы сети Интернет http://school-collection.edu.ru