Pascal
const n = 20;
var
a,b,min : real;
m : array [1..n] of real;
i : integer;
begin
// формирова массива не пишу
readln (a,b);
min := b;
for i := 1 to n do
if (m[i]<min) and (m[i] >=a ) and (m[i] <=b)
then
min := m[i];
writeln (min:3:2);
<span>end.
Программа будет работать корректно, если в массиве есть хотя бы один элемент, попадающий в диапозон [a..b].</span>
Var A,B:real;
C:integer;
Begin
WriteLn('1 - сложение, 2 - вычитание, 3 - умножение, 4 - деление, 0 - выход');
ReadLn(C);
While C <> 0 do
Begin
Write('Введите два числа: ');
ReadLn(A,B);
Write('Ответ: ');
Case C of
1:WriteLn(A+B);
2:WriteLn(A-B);
3:WriteLn(A*B);
4:WriteLn(A/B);
End;
WriteLn('1 - сложение, 2 - вычитание, 3 - умножение, 4 - деление, 0 - выход');
ReadLn(C);
End;
WriteLn('Пока!');
End.
Вывод результат, точно как в условии:
Var A,B:real;
C:integer;
Begin
WriteLn('1 - сложение, 2 - вычитание, 3 - умножение, 4 - деление, 0 - выход');
ReadLn(C);
While C <> 0 do
Begin
Write('Введите два числа: ');
ReadLn(A,B);
Write('Ответ: ');
Case C of
1:
if B < 0 then WriteLn(A,B,'=',A+B)
else WriteLn(A,'+',B,'=',A+B);
2:
if B < 0 then WriteLn(A,'+',-B,'=',A-B)
else WriteLn(A,B,'=',A-B);
3:
if B < 0 then WriteLn(A,'*(',B,')=',A*B)
else WriteLn(A,'*',B,'=',A*B);
4:
if B < 0 then WriteLn(A,':(',B,')=',A/B)
else WriteLn(A,':',B,'=',A/B);
End;
WriteLn('1 - сложение, 2 - вычитание, 3 - умножение, 4 - деление, 0 - выход');
ReadLn(C);
End;
WriteLn('Пока!');
End.
Пример:
1 - сложение, 2 - вычитание, 3 - умножение, 4 - деление, 0 - выход
4
Введите два числа: 4
-2.5
Ответ: 4:(-2.5)=-1.6
1 - сложение, 2 - вычитание, 3 - умножение, 4 - деление, 0 - выход
1
Введите два числа: -3
-6
Ответ: -3-6=-9
1 - сложение, 2 - вычитание, 3 - умножение, 4 - деление, 0 - выход
0
Пока!
Само собой, числа a1..an надо поместить в массив. Если его упорядочить по возрастанию (или убыванию), то элементы с одинаковыми значениями окажутся рядом и их легко будет пропустить.
var
a:array[1..n] of integer;
i,j,t:integer;
begin
{ инициализация массива }
Randomize;
Writeln('Элементы массива');
for i := 1 to n do
begin
a[i]:=Random(10);
Write(a[i]:3);
end;
Writeln;
{ сортировка по возрастанию методом пузырька }
for i := 1 to n-1 do
for j := 1 to n-i do
if a[j] > a[j+1] then
begin t := a[j]; a[j] := a[j+1]; a[j+1] := t end;
{ вывод неповторяющихся значений }
Writeln('Уникальные значения элементов');
t:=a[1]; Write(t:3);
for i:=2 to n do
if a[i]<>t then begin t:=a[i]; Write(t:3) end;
Writeln
end.
<em><u>Тестовое решение:</u></em>
Элементы массива
9 6 1 6 1 4 5 9 1 2 6 7 7 6 1 7 7 8 0 8
Уникальные значения элементов
0 1 2 4 5 6 7 8 9