Создайте программу "гороскоп" с оператором case, введя с клавиатуры год и по году определите какой это год по гороскопу обезьяны, петуха, кролика и т.д., зная что цикл длится 12 лет.
Var a: integer; begin writeln('Введите год рождения'); readln(a); case a mod 12 of 0: writeln('Вы родились в год Обезьяны.'); 1: writeln('Вы родились в год Петуха.'); 2: writeln('Вы родились в год Собаки.'); 3: writeln('Вы родились в год Свиньи.'); 4: writeln('Вы родились в год Крысы.'); 5: writeln('Вы родились в год Быка.'); 6: writeln('Вы родились в год Тигра.'); 7: writeln('Вы родились в год Кролика.'); 8: writeln('Вы родились в год Дракона.'); 9: writeln('Вы родились в год Змеи.'); 10: writeln('Вы родились в год Лошади.'); 11: writeln('Вы родились в год Козы.'); end; readln end.
Сначала немного теории. Тут у нас импликация(если..то...), комбинированная с конъюнкцией(и). Таблица истинности импликации(стрелочки): 0 0 1 0 1 1 1 0 0 1 1 1 Общее правило: если a<=b, тогда правда Таблица истинности конъюнкции(/\): 0 0 0 0 1 0 1 0 0 1 1 1 Общее правило: если есть одна ложь-всё ложь. Про НЕ и гуманитарий поймёт. Про данный пример: Нам нужен вариант, где оба выражения являются правдой, т.к. между ними стоит И Подробно рассмотрим первый вариант: Ирина Первая буква гласная-правда Вторая буква гласная-ложь Значит, результат импликации-ложь, в чём можно убедиться взглянув на таблицу истинности, но, так как НЕ так же присутствует в данном условии, это выражение возвращает правду. Последняя буква гласная-правда Так как оба выражения при конъюнкции правда, всё выражение является правдой и удовлетворяет условию.
количество используемых знаков для шифровки 2 (· и -) с знака можно зашифровать 2 сигнала, а именно: · и - с знаков можно зашифровать 4=2² сигнала, а именно: · ·, · -, - · и - - с знаков можно зашифровать 8=2³ сигнала, а именно: · · ·, · · -, · - ·, - · ·, - - ·, - · -, · - - и - - - с знаков можно зашифровать 16=2^4 сигнала, а именно: · · · ·, · · · -, · · - ·, · · - -, · - · ·, · - · -, · - - ·, · - - -, - · · ·, - · · -, - · - ·, - · - -, - - · ·, - - · -, - - - · и, наконец, - - - -
для нахождения количества символов, закодированных с точки и тире длиной не менее (два и более) двух и не более четырех (четыре и менее) сигналов, необходимо сложить возможные варианты их: 2²+2³+2^4=4+8+16=28
begin
writeln('Введите год рождения'); readln(a);
case a mod 12 of
0: writeln('Вы родились в год Обезьяны.');
1: writeln('Вы родились в год Петуха.');
2: writeln('Вы родились в год Собаки.');
3: writeln('Вы родились в год Свиньи.');
4: writeln('Вы родились в год Крысы.');
5: writeln('Вы родились в год Быка.');
6: writeln('Вы родились в год Тигра.');
7: writeln('Вы родились в год Кролика.');
8: writeln('Вы родились в год Дракона.');
9: writeln('Вы родились в год Змеи.');
10: writeln('Вы родились в год Лошади.');
11: writeln('Вы родились в год Козы.');
end;
readln
end.