Циклические алгоритмы
Оператор цикла FOR
Задача 1. Найти произведение положительных, сумму и количество отрицательных из 10 введенных целых значений.
USES Crt;
VAR
X: INTEGER; S, K, P: INTEGER; I: BYTE;
Begin
P:=1; S:=0; K:=0;
FOR I:=1 TO 10 DO Begin
WriteLn(‘Введите ‘,I,’ -е значение’); ReadLn(x);
IF X>0 Then P:=P*X; { произведение положительных }
IF X<0 Then Begin
S:=S+X; { сумма отрицательных }
K:=K+1; { количество отрицательных }
End;
End;
WriteLn(‘ Произведение положительных значений = ‘,p);
WriteLn(‘ Сумма отрицательных значений = ‘,s);
WriteLn(‘ Количество отрицательных значений = ‘,k);
END.
Задача 2. Из N целых чисел найти минимальное значение.
USES Crt;
VAR MI, X: INTEGER; I,N: BYTE;
BEGIN
WriteLn('Введите количество значений'); ReadLn(n);
WriteLn('Введите первое значение'); ReadLn(mi);
FOR I:=2 TO N DO Begin
WriteLn(‘Введите ‘,I,’ -е значение’); ReadLn(x);
IF X<MI Then MI:=X;
End;
WriteLn(‘Минимальное значение = ‘,MI);
END.
Задача 3. Из N целых чисел найти минимальное среди положительных и максимальное среди отрицательных значений.
USES Crt;
VAR
MI, MA, N, I, X: INTEGER; FL, FL1: BYTE;
BEGIN
WriteLn('Введите количество значений'); ReadLn(N);
FL:=0; FL1:=0;
FOR I:=1 TO N DO Begin
WriteLn('Введите ',I,' значение'); ReadLn(X);
IF (FL=0) AND (X<0) Then Begin
MA:=X; FL:=1;
End;
IF (FL1=0) AND (X>0) Then Begin
MI:=X; FL1:=1;
End;
IF (X<0) AND (X>MA) Then MA:=X;
IF (X>0) AND (X<MI) Then MI:=X;
End;
IF FL=1 Then WriteLn('максимальное среди отрицательных = ',ma)
Else WriteLn('отрицательных нет');
IF FL1=1 Then WriteLn('минимальное среди положительных = ',mi)
Else WriteLn('положительных нет');
END.
.....................................................................................................................................
Практические задания
.....................................................................................................................................
- Найти среднее арифметическое минимального и максимального элементов из 10 введенных.
- Напечатать лучший результат заплыва среди 8 участников.
- Из n введенных чисел найти максимальное значение среди положительных элементов.
- В группе определить самого высокого мальчика и самую маленькую девочку.
- В ЭВМ вводятся результаты соревнований по прыжкам в высоту. Число участников произвольно. Напечатать сообщение о победителе.