Урок 9 задача 7 - Поиск максимум из четырех чисел, обсуждение решения
Primary tabs
Пользователь вводит четыре числа, найдите из них максимальное.
program Project1;
var a, b, c, d: integer;
begin
writeln('Введите a, b, c, d');
readln(a, b, c, d);
if (a > b) and (a > c) and (a > d) then
writeln('Первое число самое большое')
else if (b > a) and (b > c) and (b > d) then
writeln('Второе число самое большое')
else if (c > a) and (c > b) and (c > d) then
writeln('Третье число самое большое')
else if (d > a) and (d > b) and (d > c) then
writeln('Четвертое число самое большое')
readln();
end. - Log in to post comments
- 14010 reads
kuznmax
Sun, 02/06/2022 - 12:51
Permalink
.
.
vedro-compota
Sat, 02/12/2022 - 10:28
Permalink
что будет если все 4ре
1) что будет если все 4ре переменные равны?
Максимум все равно должен быть найден
Проверить на наборах значениях:
_____________
матфак вгу и остальная классика =)
kuznmax
Sat, 02/19/2022 - 10:21
Permalink
writeln('Введите a, b, c, d')
writeln('Введите a, b, c, d'); readln(a, b, c, d); if (a > b) and (a > c) and (a > d) then writeln('Первое число самое большое') else if (b > a) and (b > c) and (b > d) then writeln('Второе число самое большое') else if (c > a) and (c > b) and (c > d) then writeln('Третье число самое большое') else if (d > a) and (d > b) and (d > c) then writeln('Четвертое число самое большое') else if (a = b) and (a > c) and (a > d) then writeln('Первое и второе число равны') else if (a = b) and (a = c) and (a = d) then writeln('Первое ,второе, третье и четвертое число равны') else if (a = b) and (a = c) and (a > d) then writeln('Первое, второе и третье число равны') readln(); end.vedro-compota
Sat, 02/19/2022 - 10:30
Permalink
else if (a = b) and (a > c)
-- здесь можно можно решить без оператора равенства (и всех этих строк), просто нужно использовать оператор "больше либо равно" в предыдущей части, вместо оператора "больше", постараться понять почему это верно.
_____________
матфак вгу и остальная классика =)
vedro-compota
Sat, 02/12/2022 - 11:33
Permalink
2) Вложенные блоки
Добавить еще один вариант решения с вложенными блоками
_____________
матфак вгу и остальная классика =)
kuznmax
Sat, 02/19/2022 - 10:20
Permalink
program Project1;
program Project1; var a, b, c, d: integer; begin writeln('Введите a, b, c, d'); readln(a, b, c, d); if (a > b) and (a > c) and (a > d) then writeln('Первое число самое большое') else writeln('Второе число самое большое') else if (c > a) and (c > b) and (c > d) then writeln('Третье число самое большое') else writeln('Четвертое число самое большое') else if (a = b) and (a > c) and (a > d) then writeln('Первое и второе число равны') else if (a = b) and (a = c) and (a = d) then writeln('Первое ,второе, третье и четвертое число равны') else if (a = b) and (a = c) and (a > d) then writeln('Первое, второе и третье число равны') readln(); end.vedro-compota
Sat, 02/19/2022 - 10:34
Permalink
это код вообще не работает.
1) это код вообще не работает. Перед тем как выкладывать, важно всегда проверить запускается ли он
_____________
матфак вгу и остальная классика =)
vedro-compota
Sat, 02/19/2022 - 10:38
Permalink
2) Решить необходимо через
2) Решить необходимо через вложенные блоки по аналогии с поиском максимума из трех:
if (a > b) then if (a > c) then writeln(a) else writeln(c) else if (b > c) then writeln(b) else writeln(c);см. разбор для трех: https://www.youtube.com/watch?v=3Pno1cJ6...
_____________
матфак вгу и остальная классика =)
kuznmax
Sat, 02/19/2022 - 17:13
Permalink
program Project1;
program Project1;
var a, b, c, d: integer;
begin
writeln('Введите a, b, c, d'); readln(a, b, c, d); writeln('Максимальное число:'); if (a > b) then if (a > c) then if (a > d) then writeln(a) else writeln(b) else writeln(c) else writeln(d); readln() end.vedro-compota
Sat, 03/12/2022 - 10:34
Permalink
пока отложим, вернемся после
пока отложим, вернемся после
_____________
матфак вгу и остальная классика =)
kuznmax
Mon, 04/25/2022 - 17:13
Permalink
Исправил
Program LessonPascal; var a, b, c, d, max:integer; begin writeln('Введите число А:'); readln(a); writeln('Введите число B: '); readln(b); writeln('Введите число C: '); readln(c); writeln('Введите число D: '); readln(d); if (a > b) then max := a else max := b; if (max > c) then begin if (max > d) then writeln ('Самое больше число: ', max) else writeln ('Самое большое число: ', d); end else max := c; if (max > d) then writeln ('Самое большое число: ', max) else writeln ('Самое большое число: ', d); readln(); end.kuznmax
Sun, 10/09/2022 - 14:36
Permalink
program Project1;
program Project1; var a, b, c, d: integer; begin writeln('введите число a'); readln(a); writeln('введите число b'); readln(b); writeln('введите число c'); readln(c); writeln('введите число d'); readln(d); write('Макс. число:'); if (a > b) then if (a > c) then writeln(a) else writeln(c) else if (d > c) then writeln(d) else if (b > c) then writeln(b) else writeln(c); readln(); end.vedro-compota
Wed, 10/12/2022 - 20:06
Permalink
if (a > b) then
-- нельзя принимать решение, не сравнивая с d.
Остальные ветки проверить по такому же принципу
+ выписать названия переменных на бумажки, сортировать их разным способом и проверять логику
_____________
матфак вгу и остальная классика =)
kuznmax
Sun, 10/16/2022 - 14:57
Permalink
Пока что только так
program Project1; var a, b, c, d: integer; begin writeln('введите число a'); readln(a); writeln('введите число b'); readln(b); writeln('введите число c'); readln(c); writeln('введите число d'); readln(d); write('Макс. число:'); if (a > b) then if (a > c) then if (a > d) then writeln(a) else writeln(d); if (c > b) then writeln(c) else writeln(b); readln(); end.vedro-compota
Wed, 10/19/2022 - 19:29
Permalink
все операторы if должны быть
все операторы if должны быть в полной форме
начало правильное (а форматирование нет):
if (a > b) then if (a > c) then if (a > d) then writeln(a) else writeln(d);_____________
матфак вгу и остальная классика =)
kuznmax
Wed, 10/26/2022 - 17:51
Permalink
Исправил
program Project1; var a, b, c, d: integer; begin writeln('введите число a'); readln(a); writeln('введите число b'); readln(b); writeln('введите число c'); readln(c); writeln('введите число d'); readln(d); write('Макс. число:'); if (a > b) then if (a > c) then if (a > d) then writeln(a) else writeln(d); if (b > a) then if (b > c) then if (b > d) then writeln(b) else writeln(d); if (c > b) then if (c > a) then if (c > d) then writeln(c) else writeln(d); readln(); end.vedro-compota
Wed, 10/26/2022 - 20:00
Permalink
подсказка:
подсказка:
begin if (a > b) then if (a > c) then if (a > d) then writeln(a) else writeln(d); //------ до сюда правильно else // блок когда а большае b, но не больше c // какой-то код... else // а НЕ больше b // какой-то код... end.дописать этот вариант
_____________
матфак вгу и остальная классика =)
kuznmax
Sat, 11/12/2022 - 18:19
Permalink
program Project1;
program Project1; var a, b, c, d: integer; begin writeln('введите число a'); readln(a); writeln('введите число b'); readln(b); writeln('введите число c'); readln(c); writeln('введите число d'); readln(d); write('Макс. число:'); if (a > b) then if (a > c) then if (a > d) then writeln(a) else writeln(d) else if (a < c) then writeln(c) else if (a < b) then writeln(b); readln(); end.vedro-compota
Sat, 11/12/2022 - 18:37
Permalink
if (a > b) then
if (a > b) then if (a > c) then if (a > d) then writeln(a) else writeln(d) else if (a < c) then // тут итак известно, что а не больше с, в этой секции можно сразу сравнивать с d_____________
матфак вгу и остальная классика =)
kuznmax
Thu, 12/01/2022 - 18:54
Permalink
Исправил
program Project1; var a, b, c, d: integer; begin writeln('введите число a'); readln(a); writeln('введите число b'); readln(b); writeln('введите число c'); readln(c); writeln('введите число d'); readln(d); write('Макс. число:'); if (a > b) then if (a > c) then if (a > d) then writeln(a) else writeln(d) else if (c > d) then writeln(c) else if (b > c) then writeln(b); readln(); end.vedro-compota
Thu, 12/01/2022 - 19:36
Permalink
if (a > b) then
_____________
матфак вгу и остальная классика =)
kuznmax
Thu, 01/05/2023 - 14:53
Permalink
Исправил
var a, b, c, d: integer; begin writeln('введите число a'); readln(a); writeln('введите число b'); readln(b); writeln('введите число c'); readln(c); writeln('введите число d'); readln(d); write('Макс. число:'); if (a > b) then if (a > c) then if (a > d) then writeln(a) else writeln(d) else if (c > d) then writeln(c) else if (b > c) then if (b > d) then writeln(b); readln(); end.vedro-compota
Thu, 12/15/2022 - 19:17
Permalink
пробуем еще раз
пробуем еще раз
_____________
матфак вгу и остальная классика =)
vedro-compota
Thu, 01/05/2023 - 14:59
Permalink
Решить задачу 17 урока 9 http
Решить задачу 17 урока 9 http://fkn.ktu10.com/?q=node/8539 эту пока на паузу
_____________
матфак вгу и остальная классика =)