г) for b:=False to True do writeln(b);
д) for Col:=Red to White do writeln(ord(Col);
2. Вычисление сумм и произведений.
Ниже приводится пример программы, вычисляющей сумму квадратов первых N целых чисел, SUM=1*1+2*2+...+N*N Пр.1.
program SUM;
uses crt;
var N,sum,I:integer;
begin - начало тела главной программы
clrscr;
writeln;
writeln('<<< вычисления суммы квадратов первых N чисел >>>');
writeln;
write('N = ? ');
readln(N);
sum:=0;
FOR I:=1 TO N DO sum:=sum+I*I;
writeln('сумма квадратов первых ',N,' чисел pавна ',sum);
readln;
end.
Пр.2 Подсчитать произведение Р= 1*2*3*...*N. program Proizv;
uses crt;
var
P:real;
N,I:integer;
begin - начало тела главной программы
clrscr;
writeln;
writeln('<<< вычисление произведения N чисел >>>');
writeln; write('N = ? ');
readln(N);
P:=1;
FOR I:=1 TO N DO
P:=P*I;
writeln('произведение ',N,' чисел pавно ',P);
readln;
end.
В практике программирования достаточно часто возникает потребность использовать вложенные циклы. Примером такого использования вложенных циклов может быть программа, вычисляющая и печатающая таблицу Пифагора:
Пр.3
program PIFAGOR;
uses Crt;
var I,J:integer;
begin - начало тела главной программы
clrscr;
gotoXY(10,5);
TextColor(Blue);
writeln('<<< ТАБЛИЦА ПИФАГОРА >>>');
writeln;
for I:=1 to 10 do по вертикали
begin
for J:=1 to 10 do по горизонтали
write((I*J):4);
writeln переход на следующую горизонталь
end;
readln
end.
3. Максимымы и минимумы.
Еще одна часто встречающаяся задача - выбрать наибольшее число из вводимой последовательности. Идею алгоритма можно проиллюстрировать на такой ситуации: идет строй юношей, нам нужно определть рост самого высокого из них. Мы устанавливаем планку на высоте роста первого из них, а дальше действуем так: если юноша не проходит под планкой - поднимаем планку на высоту его роста, если же проходит - планка остается на месте. После того, как строй закончился, высота планки соответствует наибольшему росту.
Вот, как это записывается на языке Pascal: var i,max,a:real;
begin
Write('Введите рост: ');
readln(a); вводим первое число
max := a; устанавливаем "планку"
for i:=2 to n do начинаем с 2, т.к. первое
число уже обработано
begin
write('Введите рост:');
readln(a); вводим очередное число
if a > max если "не прошел под планкой"
then max := a; "подняли планку"
end;
max - наибольшее число
ReadLn end.
Если кроме самого числа нас интересует его номер, то нужно в цикле запоминать номер каждого "подозрительного на наибольший" элемента:
readln(a); вводим первое число
max := a; устанавливаем "планку"
k := 1; запоминаем номер
for i:=2 to n do начинаем с 2, т.к. первое
число уже обработано
begin
readln(a); вводим очередное число
if a > max then если "не прошел под планкой"
begin
max := a; "подняли планку"
k := i; запомнили номер
end;
max - наибольшее число, k - его номер
4. Цикл с предусловием WHILE
Если какое-то действие или несколько действий необходимо выполнить много раз, но заранее неизвестно сколько раз и это зависит от какого-то условия, то тогда следует воспользоваться циклом с предусловием, имеющим вид:
WHILE <условие> DO <оператор>;
Конструкция читается: пока выполняется условие делать ... Условие - это логическое выражение, истинность которого
проверяется в начале каждой итерации.
Оператор, следующий за ключевым словом DO называется телом цикла. На месте тела цикла может быть записан составной оператор BEGIN ... END. В этом случае цикл с предусловием будет иметь вид:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.