Как найти max min в паскале

На занятии происходит знакомство с логическим типом Boolean в Паскале. Рассматривается алгоритм того, как находится минимальное и максимальное число в Паскале

Сайт labs-org.ru предоставляет лабораторные задания по теме для закрепления теоретического материала и получения практических навыков программирования на Паскале. Краткие теоретические сведения позволят получить необходимый для этого минимум знаний. Решенные наглядные примеры и лабораторные задания изложены по мере увеличения их сложности, что позволит с легкостью изучить материал с нуля. Желаем удачи!

Содержание:

  • Логический тип данных Boolean в Паскале
  • Минимальное и максимальное число в Паскале.
    [Название файла: task_bool4.pas]

Мы уже научились писать программы, основанные на линейных алгоритмах, в Паскале. И даже уже составляем нелинейные алгоритмы — с ветвлением — в которых используются логические выражения, которые принимают значения true или false.

Значения логического типа:

TRUE

FALSE

В примере ниже, на экран выводится результат логического выражения:

1
2
3
4
5
6
var 
  A: integer;
begin
  A := 5;
  write(A > 0); {Будет выведено True}
end.

Для записи результата логического выражения используется специальная логическая переменная, которая имеет в Паскале тип boolean и может также принимать одно из двух значений — true или false.

Посмотрим, как работает та же самая задача с логической переменной:

1
2
3
4
5
6
7
8
var 
  A: integer;
  b: boolean;
begin
  A := 5;
  b:=A > 0; 
  write(b);{Будет выведено True}
end.

Пример: Рассмотрим пример работы с типом boolean в pascal:

1
2
3
4
5
6
var a:boolean;
begin
a:=true;
if a=true then writeln ('истина')
  else writeln('ложь');
end.

Для создания сложных условий используются специальные логические операции: and, or, not и xor.

Задача Boolean 1. Дано целое положительное число. Проверить истинность высказывания: «оно является четным»

[Название файла: task_bool1.pas]

Рассмотрим пример с использованием логической операции XOR:

Пример: Запросить два целых: X, Y. Проверить истинность высказывания: «Только одно из чисел X и Y является нечетным»

1
2
3
4
5
6
7
8
9
10
11
program Boolean;
var
  x,y: integer;
  c :boolean;
 
begin
  write('Введите X, Y: ');
  read(x,y);
  c := (Odd(x)) xor (Odd(y)); 
  writeln('Только одна из переменных X и Y имеет нечетное значение - ', c); 
  end.

Рассмотрим еще одно решение задачи в Паскале с использованием логической переменной:

Задача Boolean 2. Даны три целых числа: A, B, C. Проверить истинность высказывания: «B находится между числами A и C».

[Название файла: task_bool2.pas]

Рассмотрим решение более сложной задачи с переменной логического типа:

Пример: Дано трехзначное число. Проверить истинность высказывания: «Все цифры данного числа различны».

Показать решение:

1
2
3
4
5
6
7
8
9
10
11
12
13
const a=348;
var
   d_n, s_n, e_n: integer;
   flag:boolean;
begin
flag:=false;
s_n:=a div 100;
d_n:=((a mod 100)div 10);
e_n:=a mod 10;
if (s_n<>d_n) and (d_n<>e_n) and (e_n<>s_n) then 
   flag:=true;
writeln(flag);
end.

Здесь каждый разряд получается путем использования операций деления нацело и взятия остатка от деления: s_n — это цифра сотого разряда, d_n — цифра десятого разряда, e_n — единицы.

Задача Boolean 3. Дано целое N > 0. С помощью операций деления нацело и взятия остатка от деления определить, имеется ли в записи числа N цифра «2». Если имеется, то вывести TRUE, если нет — вывести FALSE.

[Название файла: task_bool3.pas]

Задача Boolean 4. Дано целое положительное. Проверить истинность высказывания: «Данное число является нечетным трехзначным».

Минимальное и максимальное число в Паскале.

[Название файла: task_bool4.pas]

При организации поиска минимального или максимального числа среди ряда чисел всегда на помощь приходит старенький «бабушкин» алгоритм:

  • Представим ситуацию, что мы жарим пирожки, и уже нажарили целую большую горку; теперь надо выбрать из них самый большой, т.е. в нашем случае максимальный.
  • Берем верхний пирожок, т.е. первый, и говорим, что он пока самый большой и откладываем его в сторону.
  • Затем берем второй и сравниваем с самым большим, если этот второй пирожок оказывается больше — откладываем его на место «бывшего самого большого» и говорим, что теперь он самый большой.
  • Берем следующий и повторяем действия. Так осуществляем данную процедуру со всеми пирожками.

Иногда в качестве первоначального максимума назначается самое малое возможное число (в зависимости от контекста задачи). А в качестве минимума — напротив, самое большое возможное число. Например, если сказано, что необходимо найти максимальное / минимальное среди положительных чисел, меньших 1000, то:

или

max:=integer.MinValue;; // минимальное среди типа Integer
min:=integer.MaxValue;; // максимальное среди типа Integer

PascalABC.NET:

Можно использовать стандартные функции max() и min():

print(max(2,8)); // 8
print(min(2,8)); // 2

Рассмотрим теперь решение задачи на Паскале нахождения максимального числа:

Пример: В компьютер вводятся 10 чисел. Выводить максимальное из введенных чисел.

Показать решение:

Pascal PascalABC.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
var i, chislo, max:integer;
begin
// первое введенное число 
//сразу определяем как максимальное:
readln(max); 
for i:=2 to 10 do
begin
  readln (chislo);
  if chislo > max then 
    max:= chislo
end;
writeln(max)
end.
1
2
3
4
5
6
7
8
9
10
11
12
begin
// первое введенное число 
//сразу определяем как максимальное:
var maximum:=readInteger(); 
for var i:=2 to 10 do
begin
  var chislo:=readInteger();
  // используем стандартную функцию max():
  maximum := max(chislo,maximum); 
end;
writeln(maximum)
end.

Аналогично осуществляется поиск минимального из чисел.

Для лучшего понимания темы поиска максимального или минимального значения предлагаем посмотреть видео урок:

Задача Max 1. В танцевальном клубе участвуют 10 представительниц женского пола. Определите, может ли самая старшая из них быть матерью самой младшей (в таком случае разница в возрасте может составлять не менее 17 лет).

[Название файла: task_max1.pas]

Задача Max 2. Найти минимальное и максимальное из 10 введенных чисел и вывести сумму их порядковых номеров.

[Название файла: task_max2.pas]

Задача Max 3. Средняя продолжительность жизни лабораторной мыши – 10 лет. Найдите максимальный показатель продолжительности жизни у пяти белых мышей и у пяти мышей-альбиносов. У каких мышей показатель уровня жизни выше?

[Название файла: task_max3.pas]

Потренируйтесь в решении задач по теме, щелкнув по пиктограмме:

проверь себя

to continue to Google Sites

Not your computer? Use Guest mode to sign in privately. Learn more

Draw a Flow chart and Write a Pascal program to input list of positive numbers; terminate the input by entering a negative number and Print the Maximum and the Minimum number of the list of numbers.

Find Maximum and Minimum numbers from list of positive numbers

program maxmin;

var
num,max,min:integer;

begin
  {enter first number}
  write('Enter a number?');
  readln(num);
  {assume first num is the max}
  max:=num;
  {assume first num is the min}
  min:=num;
  {loop to get 0 or positive numbers }
  while num >=0 do
       begin
       {new num is greater then max is new num}
       if num > max then
        max:=num
      else
           {new num is minimum then min is new num}
        if num < min then
        min:=num;
       {enter new number}
       write('Enter a number?');
       readln(num);
    {repetition end}
    end;
 {Check for first num negative}

    if (max > 0) then
    begin
        writeln('Maximm number is',max);
        writeln('Miimum Number is',min);
        writeln('Press return key to exit...');
    end
    else
        Writeln('No Number to Display');
readln;
end.

Click below link to Get Pascal Practical Explanation to count vowels in a given string

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

При сравнении чисел мы выбираем то число, которое банально больше. Ну, например, при сравнении числа 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;

0 / 0 / 0

Регистрация: 29.09.2020

Сообщений: 53

1

29.09.2020, 20:31. Показов 4890. Ответов 4


Студворк — интернет-сервис помощи студентам

Опишите функции min и max, позволяющие определить минимальное и максимальное из двух значений.
С их помощью вычислите значение выражения max(min(3,5), max(2,6)).



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

29.09.2020, 20:31

Ответы с готовыми решениями:

Программа для вычисления экстремума (min/max) функции
Составьте алгоритм и напишите программу для вычисления экстремума (min/max) функции на
отрезке ….

Вычислить: (MIN(Ai+Bi)+MAX(Ai-Bi)/(MIN(Ai)+MAX(Bi)
Дано векторы a и b, состоящие из десяти компонентов. Вычислить:…

Найти x=min (min (b, c), max (a, d)-a)
Program Extremum;
{Определение максимального или минимального значения
с использованием структур…

Процедура: Даны три числа a,b,c. Вычислить (max(a,b)+min(a,c))/(max(b,c)*min(a,b))+max(min(a,b),min(b,c))
Даны три числа a,b,c. Вычислить (max(a,b)+min(a,c))/(max(b,c)*min(a,b))+max(min(a,b),min(b,c)) с…

4

Почетный модератор

64287 / 47586 / 32739

Регистрация: 18.05.2008

Сообщений: 115,182

29.09.2020, 20:54

2

Эти функции встроены в Паскаль АВС.net

function Max(a: число, b: число): число;
Возвращает максимальное из чисел a,b
function Min(a: число, b: число): число;
Возвращает минимальное из чисел a,b



0



0 / 0 / 0

Регистрация: 29.09.2020

Сообщений: 53

30.09.2020, 10:13

 [ТС]

3

Мне нужно составить программу, с помощью процедура или функции



0



Puporev

Почетный модератор

64287 / 47586 / 32739

Регистрация: 18.05.2008

Сообщений: 115,182

30.09.2020, 10:18

4

Лучший ответ Сообщение было отмечено ОлАмел как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
function max(x,y:integer):integer;
begin
if x>y then max:=x else max:=y;  
end;
function min(x,y:integer):integer;
begin
if x<y then min:=x else min:=y;  
end;
begin
  write(max(min(3,5), max(2,6)))
end.



0



0 / 0 / 0

Регистрация: 29.09.2020

Сообщений: 53

30.09.2020, 10:21

 [ТС]

5

Спасибо))



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

30.09.2020, 10:21

Помогаю со студенческими работами здесь

Процедуры и функции. Вычислить s=max(a,b)/min(a,c)+max(b,c)
Вычислить s=max(a,b)/min(a,c)+max(b,c).
У меня сегодня ДР(чесно), решите пожалуйста.

Найти max и min элементы в массиве и номер элемента, близкого к среднему арифметическому min и max.
Привет всем! Очень прошу помочь в решении задачи на определение характеристик одномерного массива….

Написать программу, которая вычисляет значение выражения u = max(x,y,z)^2 — min(x,y,z)^2 / (max(x,y,z) + min(x,y,z))^2
Написать программу которая проверяет по заданным трем значениям x,y,z и вычисляет следующее…

18. Даны различные действительные числа x, y, z, d. Найти max (min (x, y), min (x, z), min (z, d)
Даны различные действительные числа x, y, z, d. Найти max (min (x, y), min (x, z), min (z, d)).

Найти max и min элементы массива y и сформировать массив z из элементов массива y, находящихся между max и min y. Записать массив z в обратном порядке
Дан массив Х{80 элементов}. Вычислить
{y}_{i}=sinsqrt{{x}_{i}}+{cos}^{2}{{x}_{1}}^{2}
Найти…

Записи: выяснить max и min сроки хранения товаров на складе; max и min цену товаров до уценки и после уценки
Торговый склад производит уценку хранящейся продукции. Если продукция хранится на складе дольше п…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

5

Понравилась статья? Поделить с друзьями:
  • Как составить меню ребенку 5 лет
  • Как найти собаку в митино
  • Как исправить ошибку в бух учете
  • Как найти свой стиль пения
  • Как найти сообщества в ватсапе с телефона