Задача 8 Урок 9
Primary tabs
Пользователь вводит три числа, найдите из них максимальное.
Решите тремя способами:
1 способ: С использованием логической операции and.
var
a, b, c: integer;
begin
write('Введите число a: ');
read(a);
write('Введите число b: ');
read(b);
write('Введите число c: ');
read(c);
write('Максимальное число: ');
if (a > b) and (a > c) then
writeln(a);
if (b > a) and (b > c) then
writeln(b);
if (c > b) and (c > b) then
writeln(c);
readln();
end.2 способ: С вложенными блоками (без and, все опараторы if должны быть в полной форме).
var
a, b, c: integer;
begin
write('Введите число a: ');
read(a);
write('Введите число b: ');
read(b);
write('Введите число c: ');
read(c);
write('Максимальное число: ');
if (a > b) then
if (a > c) then
writeln(a)
else
writeln(c)
else
if (b > c) then
writeln(b)
else
writeln(c);
readln();
end. 3 способ: Без вложенных блоков (без and) -- запомнив максимум из первых двух чисел в специальной переменной.
var
a, b, c, max: integer;
begin
write('Введите число a: ');
read(a);
write('Введите число b: ');
read(b);
write('Введите число c: ');
read(c);
if (a > b) then
max := a
else
max := b;
if (max < c) then
max := c;
write('Максимальное число: ', max);
readln();
end. - Log in to post comments
- 1767 reads
vedro-compota
Wed, 05/11/2022 - 18:36
Permalink
if (a > b) and (a > c) then
1) Проверить случай равенства всех или некоторых элементов
2) Лишние проверки - если максимум уже найден, то далее сравнения делать не нужно
_____________
матфак вгу и остальная классика =)
studentmedic
Fri, 05/13/2022 - 18:58
Permalink
cпособ 1 исправлен
cпособ 1 исправлен
var a, b, c: integer; begin write('Введите число a: '); read(a); write('Введите число b: '); read(b); write('Введите число c: '); read(c); if (a >= b) and (a >= c) then writeln('Максимальное число: ', a) else if (b >= a) and (b >= c) then writeln('Максимальное число: ', b) else (c >= a) and (c >= b) then writeln('Максимальное число: ', b); readln(); end.способ 2 исправлен
var a, b, c: integer; begin write('Введите число a: '); read(a); write('Введите число b: '); read(b); write('Введите число c: '); read(c); if (a >= b) then if (a >= c) then writeln('Max= ', a) else writeln('Max= ', c) else if (b >= c) then writeln('Max= ', b) else writeln('Max= ', c); readln(); end.cпособ 3 исправлен
var a, b, c, d: integer; begin write('Введите число a: '); read(a); write('Введите число b: '); read(b); write('Введите число c: '); read(c); d := a; if (b >= d) then d := b if (c >= d) then d := c; writeln('Max= ', d); readln(); end.vedro-compota
Wed, 05/18/2022 - 20:14
Permalink
if (a >= b) and (a >= c) then
-- исправить форматирование + есть подозрение, Что код не запустится вообще
_____________
матфак вгу и остальная классика =)