Тема: Цикл с параметром (цикл «Для») На естественном языке Для i от А до В повторять Тело цикла i,a,b- параметры цикла тело цикла – это команды, которые надо повторять; эти команды повторяются пока i изменяется от А до В на 1 На Pascal: For i:=a to b do Если в теле цикла несколько команд, то их надо заключить в операторные скобки. Блок-схема: I=a:b Тело цикла
Задача1: Для заданного x вычислить Здесь n! = 1* 2* 3*...*n (читается как "n-факториал"). Пусть i изменяется от 1 до n P - очередное слагаемое. Так как в сумме знак слагаемых чередуется, будем умножать Р на -1. P=-P*x/i, для суммирования S=S+P
Program S1; Uses Crt; Var x, S, P : Real; i, n : Integer; BEGIN ClrScr; Write(' n = '); Read(n); Write('x = '); Read(x); WriteLn; S := 1; P := 1; For i := 1 to n do begin P := - P*x /i; S := S + P end; WriteLn('S = ', S : 7 : 3 ); ReadLn END. Блок-схема
Выполнить программу для след. данных: Данные Результат X=1n=3
цикл с постусловием. Отличается от цикла с предусловием (цикла «пока») тем, что условие проверяется после выполнения очередной повторения тела цикла (т.е. тело цикла выполнится хотя бы один раз) REPEAT тело цикла UNTIL условие Например repeat x:=x+i; i:=i -1 until i=0 будет выполняться до тех пор, пока i не станет равным нулю. в теле цикла repeat может содержаться последовательность операторов(не надо записывать begin end). да нет
Примеры: repeat K:=I mod J; I:=J; J:=K until J=0; repeat Write(Введите целое число: ); Read(i); until (i 9)