program qwer;
uses crt;
label 1,2;
var f,g,j:integer; c:char;
begin
1: clrscr;
write('введите год '); readln(f);
write(f,' год является годом ');
g:=abs(f-1984) mod 10;
case g of
0,1 : write('зелен');
2,3 : write('красн');
4,5 : write('желт');
6,7 : write('бел');
8,9 : write('черн');
end;
j:=abs(f-1984) mod 12;
case j 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;
2: write('повторить ввод? (y/n) '); readln(c);
if c='y' then goto 1;
if c<>'n' then
begin
writeln('некоректное значение '); goto 2;
end
end.
Помогите решить задачу Pascal циклы
Заранее благодарю.
1984 - база.
х = абсолют разницы базы и требуемого года mod 60
x div 5 = индекс цвета
x mod 12 = индекс зверя
вроде так
Спасибо за помощь.
Да, если год ниже базы (1984), то в мой алгоритм сразу после вычисления x нужно добавить x = 60 - x, тогда база станет как бы минус бесконечность.