ДАЮ 40 БАЛОВ! По дате рождения определить знак зодиака. обозначить d - день, и - месяц на паскале и использовать boolean 17 января
Ответы
Ответ:
program ZodiacSign;
var
d, i: integer;
isCapricorn: boolean;
begin
write('Введите день рождения: ');
readln(d);
write('Введите месяц рождения: ');
readln(i);
isCapricorn := (i = 12) and (d >= 22) or (i = 1) and (d <= 19);
if isCapricorn then
writeln('Ваш знак зодиака: Козерог')
else if (i = 1) and (d >= 20) or (i = 2) and (d <= 18) then
writeln('Ваш знак зодиака: Водолей')
else if (i = 2) and (d >= 19) or (i = 3) and (d <= 20) then
writeln('Ваш знак зодиака: Рыбы')
else if (i = 3) and (d >= 21) or (i = 4) and (d <= 19) then
writeln('Ваш знак зодиака: Овен')
else if (i = 4) and (d >= 20) or (i = 5) and (d <= 20) then
writeln('Ваш знак зодиака: Телец')
else if (i = 5) and (d >= 21) or (i = 6) and (d <= 21) then
writeln('Ваш знак зодиака: Близнецы')
else if (i = 6) and (d >= 22) or (i = 7) and (d <= 22) then
writeln('Ваш знак зодиака: Рак')
else if (i = 7) and (d >= 23) or (i = 8) and (d <= 22) then
writeln('Ваш знак зодиака: Лев')
else if (i = 8) and (d >= 23) or (i = 9) and (d <= 22) then
writeln('Ваш знак зодиака: Дева')
else if (i = 9) and (d >= 23) or (i = 10) and (d <= 22) then
writeln('Ваш знак зодиака: Весы')
else if (i = 10) and (d >= 23) or (i = 11) and (d <= 21) then
writeln('Ваш знак зодиака: Скорпион')
else if (i = 11) and (d >= 22) or (i = 12) and (d <= 21) then
writeln('Ваш знак зодиака: Стрелец');
end.
Объяснение:
Оператор "and" (і) поверне значення "True", якщо обидва операнди (d >= 20 and i == 2) є "True". Таким чином, у нашому випадку, якщо d більше або дорівнює 20 і місяць рівний 2 (лютий), то це значить, що знак зодіаку - Водолій. Якщо це умова не виконується, то перевіряється наступна умова.