Найти максимальное число из трех
Определить какое из трех введенных пользователем чисел максимальное и вывести его на экран.
Пример выполнения программы
Введите три числа: 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 , в которую по ходу выполнения кода будет помещено найденное максимальное значение. Тогда алгоритм решения задачи можно свести к следующему:
- Сравнить первое и второе число ( n1 и n2 ). Переменной max присвоить значение переменной, содержащей большее значение.
- Сравнить значение переменной 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 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, извините, у меня сегодня что-то с компьютером некорректно сохраняет вместо конечного решения сохранилось промежуточное попробуйте еще раз
Добавить комментарий Отменить ответ
Рубрики
- C++ (27)
- STL (2)
- Арифметические операции (1)
- Ввод-вывод (1)
- Дополнительная информация (1)
- Задачи (2)
- Массивы (1)
- Сортировки (2)
- Типы данных (1)
- Условные операторы (1)
- Циклы (1)
- Begin (2)
- Задачи читателей (6)
- Одномерные массивы (2)
- Простые операции (10)
- Символьные строки (1)
- Сортировка (3)
- Типы данных (1)
- Условные операторы (3)
- Циклы (5)
- Поисковая оптимизация для интернет-магазинов (25)
Общество с ограниченной ответственностью Программное обеспечение и юридическое споровождение маркетплейсов (ПОЮСМ)
ИНН 0275927174, ОГРН 1220200002582
2014 © Copyright Все права защищены