Pascal ABC.net: знак зодіаку за введеним місяцем і днем народження
program ZodiacSign;
var
day, month: integer;
sign: string;
begin
// Запитуємо у користувача день і місяць народження
write('Введіть день народження: ');
readln(day);
write('Введіть місяць народження (числом): ');
readln(month);
// Визначаємо знак зодіаку за введеними даними
case month of
1: if day < 20 then sign := 'Козоріг' else sign := 'Водолій';
2: if day < 19 then sign := 'Водолій' else sign := 'Риби';
3: if day < 21 then sign := 'Риби' else sign := 'Овен';
4: if day < 20 then sign := 'Овен' else sign := 'Телець';
5: if day < 21 then sign := 'Телець' else sign := 'Близнюки';
6: if day < 21 then sign := 'Близнюки' else sign := 'Рак';
7: if day < 23 then sign := 'Рак' else sign := 'Лев';
8: if day < 23 then sign := 'Лев' else sign := 'Діва';
9: if day < 23 then sign := 'Діва' else sign := 'Терези';
10: if day < 23 then sign := 'Терези' else sign := 'Скорпіон';
11: if day < 22 then sign := 'Скорпіон' else sign := 'Стрілець';
12: if day < 22 then sign := 'Стрілець' else sign := 'Козоріг';
else sign := 'Невірні дані';
end;
// Виводимо результат
writeln('Ваш знак зодіаку: ', sign);
readln;
end.
Вигляд програми:
Результат:
Як працює код для визначення знака зодіаку?
1. Запит у користувача дати народження
Програма запитує два значення:
Викляд:
write('Введіть день народження: ');
readln(day);
write('Введіть місяць народження (числом): ');
readln(month);
Користувач вводить, наприклад:
Введіть день народження: 15
Введіть місяць народження (числом): 6
Це означає, що людина народилася 15 червня.
2. Визначення знака зодіаку
Програма перевіряє введений місяць за допомогою оператора case of, а всередині нього використовує if для перевірки дня:
case month of
1: if day < 20 then sign := 'Козоріг' else sign := 'Водолій';
2: if day < 19 then sign := 'Водолій' else sign := 'Риби';
3: if day < 21 then sign := 'Риби' else sign := 'Овен';
4: if day < 20 then sign := 'Овен' else sign := 'Телець';
5: if day < 21 then sign := 'Телець' else sign := 'Близнюки';
6: if day < 21 then sign := 'Близнюки' else sign := 'Рак';
7: if day < 23 then sign := 'Рак' else sign := 'Лев';
8: if day < 23 then sign := 'Лев' else sign := 'Діва';
9: if day < 23 then sign := 'Діва' else sign := 'Терези';
10: if day < 23 then sign := 'Терези' else sign := 'Скорпіон';
11: if day < 22 then sign := 'Скорпіон' else sign := 'Стрілець';
12: if day < 22 then sign := 'Стрілець' else sign := 'Козоріг';
else sign := 'Невірні дані';
end;
Розглянемо на прикладі 15 червня:
6: if day < 21 then sign := 'Близнюки' else sign := 'Рак';
Програма виводить знайдений знак зодіаку на екран:
writeln('Ваш знак зодіаку: ', sign);
Якщо користувач ввів 15 червня, то виведеться:
Ваш знак зодіаку: Близнюки
Програма завершується командою readln;, щоб користувач встиг прочитати результат.