Var i,n,mn,mx: integer; a: array of integer; begin { считать количество чисел n } write('n = '); readln(n); { установить длину массива а n+1, массив динамический, нумерация с нуля} i:=1; setlength(a,n+1); writeln('введите числа через пробел: '); {циклический ввод n чисел с клавиатуры} repeat read(a[i]); i:=i+1; until i>n; { конец ввода } { начальные значения для максимума и минимума mn mx } mn:=a[1]; mx:=a[1]; { цикл по элементам массива } for i:=1 to n do begin { если элемент массива больше текущего максимума, то в максимум записать текущий элемент } if a[i]>mx then mx:=a[i]; { если элемент массива меньше текущего минимума, то в минимум записать текущий элемент } if a[i]<mn then mn:=a[i]; end; { конец цикла } writeln('min = ',mn,' max = ',mx); writeln('разница: (max - min) = ',mx-mn); end.
1 Почему отношение неравенства можно назвать логическим выражением? ... Можно назвать логическим выражением потому, что резальтатом отношения неравенства/равенства всегда будет true/false (истина/ложь), а не какое-то числовое значение. Блок схему привести сложно - рисовать, а потом всосывать картинку откровенно лень
2 1. начало(в овале)
ввод a,b,min (в паралелограмме)
a<b (в ромбе)
2 стрелки, первая стрелка "нет" и в прямоугольнике min:=b
вторая стрелка "да" и в прямоугольнике min:=a
вывод min (в паралелограмме)
конец(в овале)
2.начало(в овале)
ввод a,b, c, min (в паралелограмме)
a<b (в ромбе)
2 стрелки, первая стрелка "нет" и в прямоугольнике min:=b
вторая стрелка "да" и в прямоугольнике min:=a
min<c (в ромбе)
2 стрелки, первая стрелка "нет" и в прямоугольнике min:=c
a: array of integer;
begin
{ считать количество чисел n }
write('n = '); readln(n);
{ установить длину массива а n+1,
массив динамический, нумерация с нуля}
i:=1; setlength(a,n+1);
writeln('введите числа через пробел: ');
{циклический ввод n чисел с клавиатуры}
repeat
read(a[i]);
i:=i+1;
until i>n;
{ конец ввода }
{ начальные значения для максимума и минимума mn mx }
mn:=a[1]; mx:=a[1];
{ цикл по элементам массива }
for i:=1 to n do
begin
{ если элемент массива больше текущего максимума,
то в максимум записать текущий элемент }
if a[i]>mx then mx:=a[i];
{ если элемент массива меньше текущего минимума,
то в минимум записать текущий элемент }
if a[i]<mn then mn:=a[i];
end;
{ конец цикла }
writeln('min = ',mn,' max = ',mx);
writeln('разница: (max - min) = ',mx-mn);
end.
Объяснение:
1 Почему отношение неравенства можно назвать логическим выражением? ... Можно назвать логическим выражением потому, что резальтатом отношения неравенства/равенства всегда будет true/false (истина/ложь), а не какое-то числовое значение. Блок схему привести сложно - рисовать, а потом всосывать картинку откровенно лень
2 1. начало(в овале)
ввод a,b,min (в паралелограмме)
a<b (в ромбе)
2 стрелки, первая стрелка "нет" и в прямоугольнике min:=b
вторая стрелка "да" и в прямоугольнике min:=a
вывод min (в паралелограмме)
конец(в овале)
2.начало(в овале)
ввод a,b, c, min (в паралелограмме)
a<b (в ромбе)
2 стрелки, первая стрелка "нет" и в прямоугольнике min:=b
вторая стрелка "да" и в прямоугольнике min:=a
min<c (в ромбе)
2 стрелки, первая стрелка "нет" и в прямоугольнике min:=c
вторая стрелка сразу к выводу
вывод min (в паралелограмме)
конец(в овале)
3