Рассмотрим обычное десятичное число, например, число 5623. Интуитивно понятно, что означают все эти цифры: (5 * 1000) + (6 * 100) + (2 * 10) + (3 * 1). Так как в десятичной системе счисления всего 10 цифр, то каждое значение умножается на множитель 10 в степени n. Выражение, приведенное выше, можно записать следующим образом: (5 * 103) + (6 * 102) + (2 * 101) + (3 * 1).
Двоичные числа работают по аналогичной схеме, за исключением того, что в системе всего 2 числа (0 и 1) и множитель не 10, а 2. Так же как запятые (или пробелы) используются для улучшения читабельности больших десятичных чисел (например, 1, 427, 435), двоичные числа пишутся группами — в каждой по 4 цифры (например, 1101 0101).
Var n,d:integer; begin write('Введите месяц :'); readln(n); write('Введите день :'); readln(d); n:=n mod 12;
case n mod 12 of 1: if d<=20 then writeln('Козерок') else writeln('Водолей'); 2: if d<=21 then writeln('Водолей') else writeln('рыба'); 3: if d<=21 then writeln('рыба') else writeln('овен'); 4: if d<=21 then writeln('овен') else writeln('телец'); 5: if d<=21 then writeln('телец') else writeln('близницы'); 6: if d<=22 then writeln('близницы') else writeln('рак'); 7: if d<=23 then writeln('рак') else writeln('лев'); 8: if d<=24 then writeln('лев') else writeln('дева'); 9: if d<=24 then writeln('дева') else writeln('весы'); 10: if d<=24 then writeln('весы') else writeln('скорпион'); 11: if d<=23 then writeln('скорпион') else writeln('стрелец'); 12: if d<=22 then writeln('стрелец') else writeln('козерок'); end; end.
//без if вряд ли удаться обойтись(+ я не учитывал високосный год и кратный 100 и 400)
Рассмотрим обычное десятичное число, например, число 5623. Интуитивно понятно, что означают все эти цифры: (5 * 1000) + (6 * 100) + (2 * 10) + (3 * 1). Так как в десятичной системе счисления всего 10 цифр, то каждое значение умножается на множитель 10 в степени n. Выражение, приведенное выше, можно записать следующим образом: (5 * 103) + (6 * 102) + (2 * 101) + (3 * 1).
Двоичные числа работают по аналогичной схеме, за исключением того, что в системе всего 2 числа (0 и 1) и множитель не 10, а 2. Так же как запятые (или пробелы) используются для улучшения читабельности больших десятичных чисел (например, 1, 427, 435), двоичные числа пишутся группами — в каждой по 4 цифры (например, 1101 0101).
Объяснение:
begin
write('Введите месяц :');
readln(n);
write('Введите день :');
readln(d);
n:=n mod 12;
case n mod 12 of
1: if d<=20 then writeln('Козерок') else writeln('Водолей');
2: if d<=21 then writeln('Водолей') else writeln('рыба');
3: if d<=21 then writeln('рыба') else writeln('овен');
4: if d<=21 then writeln('овен') else writeln('телец');
5: if d<=21 then writeln('телец') else writeln('близницы');
6: if d<=22 then writeln('близницы') else writeln('рак');
7: if d<=23 then writeln('рак') else writeln('лев');
8: if d<=24 then writeln('лев') else writeln('дева');
9: if d<=24 then writeln('дева') else writeln('весы');
10: if d<=24 then writeln('весы') else writeln('скорпион');
11: if d<=23 then writeln('скорпион') else writeln('стрелец');
12: if d<=22 then writeln('стрелец') else writeln('козерок');
end;
end.
//без if вряд ли удаться обойтись(+ я не учитывал високосный год и кратный 100 и 400)