Как сравнить 3 числа в паскале
Перейти к содержимому

Как сравнить 3 числа в паскале

  • автор:

Найти максимальное число из трех

Определить какое из трех введенных пользователем чисел максимальное и вывести его на экран.

Пример выполнения программы

Введите три числа: 23 54 14 Максимальное из них: 54

Решение задачи на языке Паскаль

var n1, n2, n3, max: integer; begin write('Введите три числа: '); readln(n1, n2, n3); if n1 > n2 then max := n1 else max := n2; if n3 > max then max := n3; writeln('Максимальное из них: ', max); end.

Пусть числа, которые вводит пользователь, присваиваются переменным n1 , n2 , n3 . Введем четвертую переменную max , в которую по ходу выполнения кода будет помещено найденное максимальное значение. Тогда алгоритм решения задачи можно свести к следующему:

  1. Сравнить первое и второе число ( n1 и n2 ). Переменной max присвоить значение переменной, содержащей большее значение.
  2. Сравнить значение переменной max с третьим числом ( n3 ). Если значение n3 окажется больше, чем max , то присвоить max значение третьего числа. Если же значение max окажется больше, то ничего не делать.

Другой способ решения задачи — сразу предположить, что первая переменная содержит максимальное число, и присвоить его переменной max . Далее, сравнивая значение max со значениями двух других переменных, будем менять max только в том случае, если второе или третье числа больше того значения, которое содержится в max .

var n1, n2, n3, max: integer; begin write('Введите три числа: '); readln(n1, n2, n3); max := n1; if n2 > max then max := n2; if n3 > max then max := n3; writeln('Максимальное из них: ', max); end.

Как сравнить 3 числа в паскале

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

Сообщений: 3

Помогите пожалуйста с программой сравнения 3 чисел на Pascal

Я знаю что это элементарно, но если завтра не принесу прогу, меня отчислят
Задача:
Даны 3 числа, найти и распечатать большее из них.

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

Сообщений: 3

народ, если нужно, заплачу.

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

Сообщений: 21,000

program Project1; var c1,c2,c3:integer; begin ReadLn(c1,c2,c3); if (c1>c2)and(c1>c3) then writeln(c1) else if (c2>c1)and(c2>c3) then writeln(c2) else writeln(c3); readln; end.

в общем вот

Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 22.06.2009 в 22:35 .

Пепел Феникса
Посмотреть профиль
Найти ещё сообщения от Пепел Феникса

Как ПРАВИЛЬНО сравнить 3 числа на Pascal?

Суть в том, что если ввести 2 МИФИТА, 2 ЕНО и 1 ФИЛФАК он выводит (Самый популярный МИФИТ). Т.е даже при ложном условии M > E (это не так, они равны) — он приступает к выполнению этого условия. Т.к внутри всё ложно он использует

else memo1.Lines.Add('Самый популярный МИФИТ ' + inttostr(m) + ' заявок')

Переменные m,e,f — первые буквы слов МИФИТ, ЕНО и ФИЛФАК. Если кто не поймёт

  • Вопрос задан более трёх лет назад
  • 420 просмотров

1 комментарий

Простой 1 комментарий

Как сравнить 3 числа в паскале

Оператор IF. Сравнение чисел

Оператор IF. Сравнение чисел

Начнем с того, что существует две формы оператора if: полная и неполная. Полная содержит в себе действия, происходящие в результате выполнения условия и действия, в результате невыполнения условия. Неполная же предназначена только для действий, выполняющихся в результате успешного выполнения условия.

Рассмотрим форматы записи полной и неполной формы оператора if

Теперь рассмотрим, что можно писать вместо, и

А теперь как это все будет выглядеть в Паскале

if x>3 then y:=x+2 else y:=x-2;
if y>x then x:=(x*y-2)(x-y) else y:=x*x-5x;

Внимание! Перед else нельзя ставить точку с запятой!

Решим простую задачу на использование if

Дано 10 чисел. Найти сумму всех чисел ,больше пяти, и произведение всех чисел, меньше 1 Для решения такой задачи необходимо использовать массивы. Вот как будет выглядеть полный код задачи

var
x, y, i: integer;
s: array [1..10] of integer;

begin
writeln(‘Введите 10 чисел через запятую и нажмите Enter’);
x := 0;
y := 1;
for i := 1 to 10 do
begin
read(s[i]);
if s[i] > 5 then x := x + s[i];
if s[i] < 1 then y := y * s[i];
end;
writeln(‘Сумма чисел,больших 5 = ‘, x);
writeln(‘Произведение чисел,меньших 1 = ‘, y);
readln;
end.

6 Replies to “Оператор IF. Сравнение чисел”

Program1.pas(1) : Ожидалось question почему когда запустила вашу программу вышло такое сообщение. У меня ABC Pascal

Mr.Cheater :
Елена, Поправлено Теперь все работает )
sidrelena :

Доброе время суток! А уменя выдает Program1.pas(9) : Ошибка времени выполнения: Input string was not in a correct format. Может я что-то не так делаю?

Mr.Cheater :
sidrelena,обновите страницу браузера в задаче была ошибка , которую я уже поправил.
sidrelena :

if s[i] < 1 then x := x * s[i]; простите. а эта строчка правильная? writeln('Произведение чисел,меньших 1', y); а где же y

Mr.Cheater :

sidrelena, извините, у меня сегодня что-то с компьютером некорректно сохраняет вместо конечного решения сохранилось промежуточное попробуйте еще раз

Добавить комментарий Отменить ответ

Рубрики

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *