Нахождение максимального и минимального значения.
В этой статье мы рассмотрим сравнение чисел.
При сравнении чисел мы выбираем то число, которое банально больше. Ну, например, при сравнении числа 2 и 3 мы выберем максимальным числом 3, а минимальным 2. Графически 3 на числовой оси X находится правее, чем 2.
Я покажу один из самых рациональных алгоритмов выбора максимального и минимального числа, подходящего для общего случая. Это присвоение для переменных, выражающих минимальное и максимальное значение, значение одного из элементов заданных чисел/массива.
Ну теперь перейдем к практике.
Простая программка для сравнения 3 чисел(min_max_1):
Program Min_Max;
var a,b,c,min,max:integer;
begin
write('Введите 3 числа для сравнения (через пробел) : ');read(a,b,c);
min:=a;max:=a;
if b>max then max:=b;if b<min then min:=b;
if c>max then max:=c;if c<min then min:=c;
writeln('Максимальное число : ',max);
writeln('Минимальное число : ',min);
readln;
end.
Теперь подробнее.
var a,b,c,min,max:integer;Ну смысл этой строки понятен, если хотите, можете выразить переменные через тип real, но особой разницы нету.
write('Введите 3 числа для сравнения (через пробел) : ');read(a,b,c); Мы вводим три числа через пробел, т.к. здесь оператор write.min:=a;max:=a;Здесь мы присваиваем переменным min и max значение одного из введенных чисел, если вы хотите разнообразия, то можете вместо переменной a написать b или c.
if b>max then max:=b; if b<min then min:=b;Здесь происходит сравнение оставшихся введенных переменные со значениями переменных min и max.
if c>max then max:=c; if c<min then min:=c;
writeln('Максимальное число : ',max);
writeln('Минимальное число : ',min); Ну здесь у нас происходит вывод ответа, думаю, объяснять где, какое значение выводится не надо=) readln;Это используется для того, чтобы мы увидели результат программы.
end.Ну собственно логическое завершение программы=)
Дополнение :
1)Кто хочет, чтобы экран самоочищался от результатов каждый раз, может добавить в начале программы
Uses crt;и
Begin clrscr;Тогда код будет выглядеть примерно так:
Program Min_Max;
Uses crt;
var a,b,c,min,max:integer;
begin clrscr;
2)Если хотите добавить больше чисел для программы, то надо добавить новые переменные. Программа(min_max_2). Например так:
Var a,b,c,d,e,min,max:integer;
Потом вводим их :
write('Введите 5 чисел для сравнения (через пробел) : ');read(a,b,c,d,e);Ну, а затем сравниваем с максимальным и минимальным числом:
if b>max then max:=b;if b<min then min:=b;
if c>max then max:=c;if c<min then min:=c;
if e>max then max:=e;if e<min then min:=e;
if d>max then max:=d;if d<min then min:=d;
Остальное в задаче можно оставить без изменения.
3)Однако бывают случаи, когда минимальное и максимальные значения необходимо найти из большого количества элементов. Тогда для рационального решения необходимо использовать массивы вместе с циклами и оператором рандом. Программа(min_max_3)
Код для одномерного массива :
Program Min_Max;
Const s=10;
var a:array[1..s] of integer;i,min,max:integer;
begin
randomize;
for i:=1 to s do a[i]:=random(89)+10;min:=maxint;max:=-maxint;
for i:=1 to s do begin writeln(a[i]);
if a[i]>max then max:=a[i];
if a[i]<min then min:=a[i];end;
writeln('Максимально число: ',max);
write('Минимальное число : ',min);
readln;
end.
Ну вот и все =) Спасибо за внимание. С вами был Vector.
7