Вопрос задан 01.07.2026 в 19:56. Предмет Информатика. Спрашивает Шибовський Денис.

Для каждой задачи составьте программу в Pascal, выводящую значение TRUE, если указанное высказывание является истинным, и FALSE — в противном случае (использовать условный оператор нельзя). 10. В заданном натуральном трёхзначном числе N имеется чётная цифра. 11. Сумма каких-либо двух цифр заданного трёхзначного натурального числа N равна третьей цифре. 12. Сумма цифр заданного четырёхзначного числа N превосходит произведение цифр этого же числа на 1. 13. Сумма двух последних цифр заданного трёхзначного числа N меньше заданного K, а первая цифра больше 5.

Перейти к ответам

Ответы на вопрос

Отвечает Дашкевич Аня.

Во всех задачах цифры числа можно выделить с помощью операций div и mod, а логическое выражение сразу передать в writeln. Тогда будет напечатано TRUE или FALSE, и условный оператор не потребуется.

10. В трёхзначном числе есть чётная цифра

pascal
program Task10;

var
N, a, b, c: Integer;

begin
readln(N);

a := N div 100;
b := (N div 10) mod 10;
c := N mod 10;

writeln((a mod 2 = 0) or
(b mod 2 = 0) or
(c mod 2 = 0));
end.

Здесь a, b, c — сотни, десятки и единицы. Оператор or даёт TRUE, когда хотя бы одна из цифр чётная.

11. Сумма каких-либо двух цифр равна третьей

pascal
program Task11;

var
N, a, b, c: Integer;

begin
readln(N);

a := N div 100;
b := (N div 10) mod 10;
c := N mod 10;

writeln((a + b = c) or
(a + c = b) or
(b + c = a));
end.

Проверяются все три возможных варианта выбора двух цифр.

12. Сумма цифр четырёхзначного числа больше их произведения на 1

pascal
program Task12;

var
N, a, b, c, d: Integer;

begin
readln(N);

a := N div 1000;
b := (N div 100) mod 10;
c := (N div 10) mod 10;
d := N mod 10;

writeln(a + b + c + d = a * b * c * d + 1);
end.

Фраза «превосходит произведение на 1» означает, что сумма цифр должна быть равна произведению цифр плюс 1.

13. Сумма двух последних цифр меньше K, а первая цифра больше 5

pascal
program Task13;

var
N, K, a, b, c: Integer;

begin
readln(N, K);

a := N div 100;
b := (N div 10) mod 10;
c := N mod 10;

writeln((b + c < K) and (a > 5));
end.

Оператор and возвращает TRUE только тогда, когда одновременно выполнены оба условия: сумма десятков и единиц меньше K, а цифра сотен больше 5.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос