На этой странице мы решаем задачи Boolean12 - Boolean15 из задачника Абрамяна, где рассматривается проверка трех чисел: положительные или отрицательные.
Boolean12. Даны три целых числа: A, B, C. Проверить истинность высказывания: «Каждое из чисел A, B, C положительное».
var
A, B, C: integer;
begin
writeln('Введите целые числа:');
write('A = ');
readln(A);
write('B = ');
readln(B);
write('C = ');
readln(C);
writeln;
{ Поскольку условия A>0, B>0 и C>0 должны выполнятся
одновременно, то объединяем их оператором and: }
writeln('Каждое из чисел положительное? ',
(A > 0)and(B > 0)and(C > 0)); { <-- Выводим значение }
readln
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647 Boolean13. Даны три целых числа: A, B, C. Проверить истинность высказывания: «Хотя бы одно из чисел A, B, C положительное».
var
A, B, C: integer;
begin
writeln('Введите целые числа A, B, C:');
readln(A, B, C); { <-- Вводим три целые числа A, B, C }
writeln;
{ Поскольку среди условий A>0, B>0 и C>0 должно выполнятся
хотя бы одно, то объединяем их оператором or (логическое
"или"). Если получим результат True, то среди введенных чисел
есть положительное, в противном случае мы получим False: }
writeln('Хотя бы одно из чисел A, B, C положительное? ',
(A > 0)or(B > 0)or(C > 0));
readln
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647 Boolean14. Даны три целых числа: A, B, C. Проверить истинность высказывания: «Ровно одно из чисел A, B, C положительное».
var
A, B, C: integer; { <-- Целые числа для ввода }
f, g, h: boolean; { <-- Логические переменные }
begin
writeln('Введите целые числа A, B, C:');
readln(A, B, C); { <-- Вводим три целые числа A, B, C }
{ Составляем три выражения, каждое из которых ознает,
что только одно из чисел положительное: }
f := (A > 0)and(B <= 0)and(C <= 0); { <== «только A > 0» }
g := (B > 0)and(A <= 0)and(C <= 0); { <== «только B > 0» }
h := (C > 0)and(A <= 0)and(B <= 0); { <== «только C > 0» }
writeln;
{ Поскольку среди условий f, g и h может выполнятся только
одно, то объединяем их оператором xor ("исключающее или"): }
writeln('Ровно одно из чисел положительное? ', f xor g xor h);
readln
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647**type** boolean;
: Представляет логическое значение. Boolean15. Даны три целых числа: A, B, C. Проверить истинность высказывания: «Ровно два из чисел A, B, C являются положительными».
var
A, B, C: integer;
f, g, h: boolean;
begin
writeln('Введите целые числа A, B, C:');
readln(A, B, C);
f := (A > 0)and(B > 0)and(C <= 0); { <== A>0, B>0 и C<0 }
g := (B > 0)and(C > 0)and(A <= 0); { <== B>0, C>0 и A<0 }
h := (C > 0)and(A > 0)and(B <= 0); { <== C>0, A>0 и B<0 }
writeln;
{ Поскольку среди условий f, g и h может выполнятся только
одно, то объединяем их оператором xor ("исключающее или"): }
writeln('Ровно два из чисел положительные? ', f xor g xor h);
readln
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647**type** boolean;
: Представляет логическое значение. Как в и в задаче Boolean14, так и в Boolean15 вместо оператора xor с тем же успехом можно использовать оператор or, поскольку из трех выражений есть одно истиное.