Нахождение максимального и минимального значения.

Нахождение максимального и минимального значения.

В этой статье мы рассмотрим сравнение чисел.

При сравнении чисел мы выбираем то число, которое банально больше. Ну, например, при сравнении числа 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;
if c>max then max:=c; if c<min then min:=c;
Здесь происходит сравнение оставшихся введенных переменные со значениями переменных min и max.
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.
Понравилась новость? Добавь в закладки!
Хочешь получать свежие новости? Подпишись на обновления с сайта!
Рекомендуем посмотреть:
#1 | написал: Topcoder | 13 апреля 2011 21:47 | ICQ: | Пользователь offline

Группа: Администраторы
Публикаций: 14
Комментариев: 9
Вот теперь хорошая картинка!

#2 | написал: Mr.Cheater | 13 апреля 2011 21:54 | ICQ: 360239964 | Пользователь offline

Группа: Администраторы
Публикаций: 33
Комментариев: 68
Да уж лучше предыдущей))

#3 | написал: Бывший блогер . . . | 14 апреля 2011 13:25 | ICQ: |

Группа: Гости
Публикаций: 0
Комментариев: 0
Угу взяли и убрали мою картинку. Побойся бога хоть копирайт поставь. А ну да можно просто не удалять вот эту строчку :
Ну вот и все =) Спасибо за внимание. С вами был Vector.

#4 | написал: Mr.Cheater | 14 апреля 2011 13:27 | ICQ: 360239964 | Пользователь offline

Группа: Администраторы
Публикаций: 33
Комментариев: 68
Поэтому я и не убрал твою строчку
Статья твоя, это я не оспариваю

#5 | написал: Хаха | 23 апреля 2011 06:35 | ICQ: |

Группа: Гости
Публикаций: 0
Комментариев: 0
А все эти красивые кнопочки фейсбук куча всего, работают?

#6 | написал: Mr.Cheater | 24 апреля 2011 09:17 | ICQ: 360239964 | Пользователь offline

Группа: Администраторы
Публикаций: 33
Комментариев: 68
да вроде

#7 | написал: Александр | 20 марта 2012 14:01 | ICQ: |

Группа: Гости
Публикаций: 0
Комментариев: 0

Veсtor!
Третий пример некорректен." Однако бывают случаи, когда минимальное и максимальные значения необходимо найти из большого количества элементов..."

... a[i]:=random(89)+10;min:=a[1];max:=a[1];...

8) if a[i]>max then max:=a[i];
9) if a[i]then min:=a[i];end;

В итоге мы получим максимальные и минимальные значения в сравнении с первым значением выборки, а не всех элементов. 

#8 | написал: виктор | 28 февраля 2013 00:01 | ICQ: |

Группа: Гости
Публикаций: 0
Комментариев: 0
Эх, а мне надо найти минимальное и максимальное без массивов, но с циклом. Подскажите кто нибудь, как это сделать?

 
 
 
 
 
 
 
 
 
 

#9 | написал: Mr.Cheater | 2 марта 2013 22:58 | ICQ: 360239964 | Пользователь offline

Группа: Администраторы
Публикаций: 33
Комментариев: 68
виктор,
Довольно странный случай. Пришлите, пожалуйста, полное условие задания

#10 | написал: Роман | 24 мая 2017 18:59 | ICQ: |

Группа: Гости
Публикаций: 0
Комментариев: 0
Помогите пожалуйста.Вот задача: дано три разных числа, найти среднее из них. Средним называется число, которое больше наименьшого с данных чисел , но меньше наибольшего.

Добавление комментария

Ваше Имя:
Ваш E-Mail:
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Вставка исходного кода Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера

Введите два слова, показанных на изображении: