'

Программирование на Pascal.

Понравилась презентация – покажи это...





Слайд 0

ЦИКЛЫ. Программирование на Pascal


Слайд 1

Цикл с предусловием (While) 2


Слайд 2

3 Цикл с предусловием while <условие> do begin{тело цикла}end; While <условие> do Begin <Действия> End;


Слайд 3

Порядок выполнения цикла с предусловием оператора While While <условие> do <тело цикла> Синтаксис оператора: <Условие> является логическим выражением. Это означает, что результатом вычисления этого выражения является одно из значений TRUE – истина или FALSE – ложь. Тело цикла выполняется до тех пор, пока значением условия является TRUE. Обратите внимание, что возможна ситуация, когда условие всегда будет истинным. В этом случае цикл будет выполняться бесконечно. Если условие изначально ложно, тело цикла не выполнится ни разу, и управление сразу будет передано на оператор, следующий за телом цикла. Пример: Eps := 0.1; i := 2; While i>Eps do begin i := i-i/2 end; В данном примере производится расчет некоторой величины, пока получающееся значение не окажется меньше ранее заданной погрешности Eps. 4


Слайд 4

WHILE (пока) <условие> DO (выполнять) BEGIN <тело цикла > END; Сначала проверяется значение условия. Пока оно «истинно» выполняются операторы циклической части. Когда значение условия «ложно» происходит выход из цикла. Можно в тело цикла поставить операторы перехода (EXIT и GOTO). Они передают управление за пределы цикла. Этот цикл может работать как цикл с параметром, но при этом необходимо изменять переменную, являющуюся счетчиком цикла, с помощью оператора присваивания. !!! Если при первой проверке условие «ложно», то цикл не выполнится ни разу.


Слайд 5

Надо знать: Можно использовать сложные условия Если в теле цикла только один оператор, слова begin и end можно не писать: while (a < b) and (b < c) do begin {тело цикла} end; while a < b do a := a + 1; 6


Слайд 6

Надо знать: условие пересчитывается каждый раз при входе в цикл если условие на входе в цикл ложно, цикл не выполняется ни разу если условие никогда не станет ложным, программа зацикливается a := 4; b := 6; while a > b do a := a – b; a := 4; b := 6; while a < b do d := a + b; 7


Слайд 7

8 Сколько раз выполняется цикл? a := 4; b := 6; while a < b do a := a + 1; 2 раза a = 6 a := 4; b := 6; while a < b do a := a + b; 1 раз a = 10 a := 4; b := 6; while a > b do a := a + 1; 0 раз a = 4 a := 4; b := 6; while a < b do b := a - b; 1 раз b = -2 a := 4; b := 6; while a < b do a := a - 1; зацикливание


Слайд 8

9 Замена for на while и наоборот for i:=1 to 10 do begin {тело цикла} end; i := 1; while i <= 10 do begin {тело цикла} i := i + 1; end; for i:=a downto b do begin {тело цикла} end; i := a; while i >= b do begin {тело цикла} i := i - 1; end; Замена while на for возможна только тогда, когда можно заранее рассчитать число шагов цикла. Замена цикла for на while возможна всегда.


Слайд 9

Вычислить значения функции У= Х2, для всех Х от 1 до n с шагом 1. Решение Задача 10


Слайд 10

Решение: Паскаль Program Task; Uses Crt; Var x,y,n: Integer; Begin ClrScr; Write(‘n=’);ReadLn(n); x := 1; While x<=n do Begin y:= x *x; WriteLn (‘x=’,x,’ y=’,y); x:= x+1; End; ReadLn; End. К условию 11


Слайд 11

Задача Найти сумму чисел натурального ряда: S=1+2+3+4+…+n Решение 12


Слайд 12

Решение: Блок- схема Паскаль Program Task; Uses Crt; Var n, x, s : integer; Begin Write (‘n=’); ReadLn (n); S:=0; X:=1; While x<=n do Begin S:=S+X; X:=X+1; End; WriteLn (‘Сумма=’, S); End; Начало n S:=0 X:=1 X<=n S:=S+X X:=X+1 S Конец _ _ + К условию 13


Слайд 13

УРОК 14


×

HTML:





Ссылка: