1) Написать программу нахождения номера наименьшего положительного элемента в последовательности N произвольных чисел, вводимых с клавиатуры.
Program Ekz_1;
Var
N,A,i,K,min:integer;
label
vvod;
Begin
vvod:writeln('Сколько будет чисел?');
readln(N);
if N<1 then
begin
writeln('Нельзя меньше одного');
goto vvod;
end;
min:=32767;
K:=0;
for i:=1 to N do
begin
writeln('Введите число');
readln(A);
if (A < min) and (A > 0) then
begin
min:=A;
K:=i;
end;
end;
writeln('Номер наименьшего положительного элемента ',K);
end.
2) Написать программу вычисления суммы последовательно вводимых чисел с окончанием по вводу признака конца.
Program Ekz_2;
Var
Sum,A:real;
Begin
Sum:=0;
repeat
Writeln('Введите число');
Readln(A);
Sum:=Sum+A;
if A=0 then
break;
until Sum>1000;
writeln('Сумма = ',Sum);
end.
3) Написать программу нахождения минимального значения из всех положительных в последовательности N произвольных вещественных вводимых чисел.
Program Ekz_3;
Var
N,i:integer;
A,min:real;
label
vvod;
Begin
Vvod:writeln('Сколько будет чисел?');
readln(N);
if N<1 then
begin
writeln('Нельзя меньше одного');
goto vvod;
end;
min:=1.7e38;
for i:=1 to N do
begin
writeln('Введите число');
readln(A);
if (A>0) and (A<min) then
min:=A;
end;
writeln('Минимальное значение = ',min);
end.
4) Написать программу вычисления среднеарифметического только отрицательных чисел среди произвольных целых вводимых чисел с окончанием по вводу признака конца.
Program Ekz_4;
Var
Sum,A,K:integer;
S:real;
Begin
Sum:=0;
K:=0;
repeat
Writeln('Введите число');
Readln(A);
if A<0 then
begin
Sum:=Sum+A;
K:=K+1;
end;
if A=0 then
break;
until Sum<-500;
if K=0 then
writeln('не было подходящих чисел')
else
S:=Sum/K;
writeln('Среднееарифметическое = ',S);
end.
5) Написать программу нахождения разности номеров первого и второго отрицательных значений в последовательности N вводимых вещественных чисел.
Program Ekz_5;
Var
N,i,K,M,R:integer;
A:real;
label
vvod;
Begin
Vvod:writeln('Сколько будет чисел?');
readln(N);
if N<1 then
begin
writeln('Нельзя меньше одного');
goto vvod;
end;
K:=0;
M:=0;
for i:=1 to N do
begin
writeln('Введите число');
readln(A);
if (A < 0) and (K=0) then
K:=i;
if (A < 0) then
M:=i;
end;
R:=K-M;
writeln('Рвзность = ',R);
end.
6) Написать программу нахождения максимального отрицательного значения в последовательности N вводимых произвольных (как положительных, так и отрицательных) вещественных чисел.
Program Ekz_6;
Var
N,i:integer;
A,min:real;
label
vvod;
Begin
Vvod:writeln('Сколько будет чисел?');
readln(N);
if N<1 then
begin
writeln('Нельзя меньше одного');
goto vvod;
end;
min:=1.7e38;
for i:=1 to N do
begin
writeln('Введите число');
readln(A);
if A<min then
min:=A;
end;
if min>0 then
writeln('Не было отрицательных чисел')
else
writeln('Максимальное отрицательное значение = ',min);
end.
7) Написать программу нахождения номера максимального отрицательного значения в последовательности произвольных целых вводимых чисел с окончанием выбора по вводу признака конца.
Program Ekz_7;
Var
N,min,A,i:integer;
Begin
N:=0;
min:=32767;
repeat
Writeln('Введите число');
Readln(A);
if (A<0) and (A<min) then
begin
min:=A;
N:=N+1;
end;
if A=0 then
break;
until A>200;
writeln('Номер максимального отрицательного значения = ',N);
end.
8) Написать программу вычисления среднеарифметического последовательно вводимых целых чисел, пропуская отрицательные, с окончанием по вводу признака конца.
Program Ekz_8;
Var
N,sum,A,i:integer;
S:real;
Begin
S:=0;
Sum:=0;
repeat
Writeln('Введите число');
Readln(A);
if A>0 then
begin
Sum:=Sum+A;
N:=N+1;
end;
if A=0 then
break;
until Sum>1000;
if N=0 then
writeln('Не было подходящих чисел')
else
S:=Sum/N;
writeln('Среднееарифметическое = ',S);
end.
9) Написать программу нахождения разности номеров максимального и минимального нечетных значений в последовательности N вводимых чисел.
Program Ekz_9;
Var
A,min,max,N,i,K,M,R:integer;
label
vvod;
Begin
Vvod:writeln('Сколько будет чисел?');
readln(N);
if N<1 then
begin
writeln('Нельзя меньше одного');
goto vvod;
end;
K:=0;
M:=0;
min:=32767;
max:=-32768;
for i:=1 to N do
begin
writeln('Введите число');
readln(A);
if (A < min) and (A mod 2 <> 0) then
begin
min:=A;
K:=i;
end;
if (A > max) and (A mod 2 <> 0) then
begin
max:=A;
M:=i;
end;
end;
R:=K-M;
writeln('Разность = ',R);
end.
10) Написать программу вычисления произведения последовательно вводимых чисел для заданного количества чисел, пропуская числа меньшие по модулю чем 0.1.
Program Ekz_10;
Var
N,i:integer;
A,P:real;
label
vvod;
Begin