Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 12 лет назад пользователемwikkai.narod.ru
1 Программирование на Pascal
2 Цикл с предусловием (While) 2
3 3 Цикл с предусловием while do begin{тело цикла}end; While do Begin End; Операторы тела цикла Выход из цикла условие Да Нет Начальные присваивания
4 Порядок выполнения цикла с предусловием оператора While While do Синтаксис оператора: является логическим выражением. Это означает, что результатом вычисления этого выражения является одно из значений TRUE – истина или FALSE – ложь. Тело цикла выполняется до тех пор, пока значением условия является TRUE. Обратите внимание, что возможна ситуация, когда условие всегда будет истинным. В этом случае цикл будет выполняться бесконечно. Если условие изначально ложно, тело цикла не выполнится ни разу, и управление сразу будет передано на оператор, следующий за телом цикла. Пример: Eps := 0.1; i := 2; While i>Eps do begin i := i-i/2 end; В данном примере производится расчет некоторой величины, пока получающееся значение не окажется меньше ранее заданной погрешности Eps. 4
5 WHILE (пока) DO (выполнять) BEGIN END; 1.Сначала проверяется значение условия. Пока оно «истинно» выполняются операторы циклической части. Когда значение условия «ложно» происходит выход из цикла. 2.Можно в тело цикла поставить операторы перехода (EXIT и GOTO). Они передают управление за пределы цикла. 3.Этот цикл может работать как цикл с параметром, но при этом необходимо изменять переменную, являющуюся счетчиком цикла, с помощью оператора присваивания. 4.!!! Если при первой проверке условие «ложно», то цикл не выполнится ни разу.
6 Надо знать: 1.Можно использовать сложные условия 2.Если в теле цикла только один оператор, слова begin и end можно не писать: while (a < b) and (b < c) do begin {тело цикла} end; while (a < b) and (b < c) do begin {тело цикла} end; while a < b do a := a + 1; while a < b do a := a + 1; 6
7 Надо знать: 3.условие пересчитывается каждый раз при входе в цикл 4.если условие на входе в цикл ложно, цикл не выполняется ни разу 5.если условие никогда не станет ложным, программа зацикливается a := 4; b := 6; while a > b do a := a – b; a := 4; b := 6; while a > b do a := a – b; a := 4; b := 6; while a < b do d := a + b; a := 4; b := 6; while a < b do d := a + b; 7
8 8 Сколько раз выполняется цикл? a := 4; b := 6; while a < b do a := a + 1; a := 4; b := 6; while a < b do a := a + 1; 2 раза a = 6 2 раза a = 6 a := 4; b := 6; while a < b do a := a + b; a := 4; b := 6; while a < b do a := a + b; 1 раз a = 10 1 раз a = 10 a := 4; b := 6; while a > b do a := a + 1; a := 4; b := 6; while a > b do a := a + 1; 0 раз a = 4 0 раз a = 4 a := 4; b := 6; while a < b do b := a - b; a := 4; b := 6; while a < b do b := a - b; 1 раз b = -2 1 раз b = -2 a := 4; b := 6; while a < b do a := a - 1; a := 4; b := 6; while a < b do a := a - 1; зацикливание
9 9 Замена for на while и наоборот for i:=1 to 10 do begin {тело цикла} end; for i:=1 to 10 do begin {тело цикла} end; i := 1; while i = b do begin {тело цикла} i := i - 1; end; Замена while на for возможна только тогда, когда можно заранее рассчитать число шагов цикла. Замена цикла for на while возможна всегда.
10 Вычислить значения функции У= Х 2, для всех Х от 1 до n с шагом 1. Решение 10
11 Решение: Паскаль Program Task; Uses Crt; Var x,y,n: Integer; Begin ClrScr; Write(n=);ReadLn(n); x := 1; While x
12 Найти сумму чисел натурального ряда: S= …+n Решение 12
13 Решение: Блок- схема Паскаль Program Task; Uses Crt; Var n, x, s : integer; Begin Write (n=); ReadLn (n); S:=0; X:=1; While x
14 14
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.