Оператор цикла с параметром используется в тех случаях, когда некоторое однообразное действие надо повторить определенное количество раз. Особенно, если это количество достаточно велико. Бывают же такие задачи, когда необходимо, например, вычислить сумму каких-либо величин, каждая из которых вычисляется по формуле. Ведь если непосредственно вычислять сумму 1 + 2 + 3 + ... + 1000, то программа разрастется до невообразимых масштабов.
Оператор цикла с параметром в народе ещё называют "оператор For", и в Pascal он бывает двух типов (второй тип смотрите ниже). Первый записывается так:
for i := N1 to N2 do
<ОПЕРАТОР>
Всё, что находится между for и do, называется заголовком цикла, после do – телом цикла. Переменная i зазывается параметром цикла и имеет порядковый тип (целые числа, логический тип, символы, перечислимый и диапазонный тип). Слова for, to и do – это служебные слова Pascal, которые использовать в своих программах для обозначения переменных нельзя. Индекс i, которым обозначаются номера действий в операторе цикла, изменяется от меньшего N1 к большему N2 (N1 ≤ N2). Первый номер N1 по значению не должен превышать второй N2, иначе цикл не запустится.
А)Начало -> Ввод массива -> Ввод X -> Ввод Y -> Если X>Y ->no->End ->yes-> p=0 -> ∨-> если элемент массива (p) > X, элемент массива (p) = X -> если элемент массива (p) < Y, элемент массива (p) = Y -> p = p + 1 -> если p больше размера массива если нет -> Возврат на ∨ если да -> Вывод массива -> Конец
б)Начало -> Ввод массива -> p=0 -> ∨-> если элемент массива (p) %(остаток от деления на) 3=0 ->yes-> ->no-> элемент массива (p) =элемент массива (p)%3 ->p=p+1 ->если p больше размера массива если нет -> Возврат на ∨ если да -> Вывод массива -> Конец
var f:text; s,t:string; i,n:integer; y:boolean; //признак наличия слова NO
function wr(c:char):boolean; //определяет, буква или нет begin if (c in ['A'..'Z']) or (c in ['a'..'z']) then result:=true else result:=false end;
begin assign(f,'d:/file.txt'); reset(f); repeat readln(f,t); s:=t; y:=false; i:=pos('NO',s); while i>0 do begin n:=length(s); if n=2 then y:=true else begin if i=1 then begin if wr(s[i+2])=false then y:=true; end else if wr(s[i-1])=false then y:=true; end; delete(s,1,i+2); i:=pos('NO',s); end; if y=false then writeln(t); until f.Eof; close(f) end.
Оператор цикла с параметром используется в тех случаях, когда некоторое однообразное действие надо повторить определенное количество раз. Особенно, если это количество достаточно велико. Бывают же такие задачи, когда необходимо, например, вычислить сумму каких-либо величин, каждая из которых вычисляется по формуле. Ведь если непосредственно вычислять сумму 1 + 2 + 3 + ... + 1000, то программа разрастется до невообразимых масштабов.
Оператор цикла с параметром в народе ещё называют "оператор For", и в Pascal он бывает двух типов (второй тип смотрите ниже). Первый записывается так:
for i := N1 to N2 do
<ОПЕРАТОР>
Всё, что находится между for и do, называется заголовком цикла, после do – телом цикла. Переменная i зазывается параметром цикла и имеет порядковый тип (целые числа, логический тип, символы, перечислимый и диапазонный тип). Слова for, to и do – это служебные слова Pascal, которые использовать в своих программах для обозначения переменных нельзя. Индекс i, которым обозначаются номера действий в операторе цикла, изменяется от меньшего N1 к большему N2 (N1 ≤ N2). Первый номер N1 по значению не должен превышать второй N2, иначе цикл не запустится.