Вадим Кузьмин
Вадим Кузьмин

Нужна помощь в Pascal ABC...

Задача
В восточном календаре принят 60-летний цикл, состоящий из 12-летних подциклов, обозначаемых названиями цвета: зеленый, красный, желтый, белый, черный. В каждом подцикле годы носят названия животных: Крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. По номеру года определить его название, если 1994 год - начало цикла: "год зеленой крысы".
Сам решил вот так:
Program god;
Uses crt;
Var g :integer;
begin
Readln (g);
case g of
1994..2006: writeln('год зеленой');
2007..2018: writeln('год красной');
2019..2030: writeln('год желтой');
2031..2042: writeln('год белой');
2043..2054: writeln('год черной');
END;
case g of
1994,2006,2018,2030,2042: Writeln ('крысы');
1995,2007,2019,2031,2043: Writeln ('коровы');
1996,2008,2020,2032,2044: Writeln ('тигры');
1997,2009,2021,2033,2045: Writeln ('зайки');
1998,2010,2022,2034,2046: Writeln ('дракона');
1999,2011,2023,2035,2047: Writeln ('змеи');
2000,2012,2024,2036,2048: Writeln ('лошади');
2001,2013,2025,2037,2049: Writeln ('овцы');
2002,2014,2026,2038,2050: Writeln ('обезьяны');
2003,2015,2027,2039,2051: Writeln ('курицы');
2004,2016,2028,2040,2052: Writeln ('собаки');
2005,2017,2029,2041,2053: Writeln ('свиньи');
END;
END.
но это для одного цикла, а преподаватель сказала, что нужно чтоб от 0 до допустим 3000 года
и тут я закипел (
помогите пожалуйста)

ВХ
Вова Ходяков

К примеру X это искомый год
Делим его на 12 и смотрим какой получился целочисленный остаток (к примеру год 1217= целочисленный остаток - 5(он может быть от 1 до 11) эта цифра будет отвечать за животное
Смотрим какое было частное (в примере 101) делим частное на 5 и смотрим целочисленный остаток он может быть от 0 до 4(у нас это 1) это отвечает за цвет

Тебе осталось только определить что какой цифре что соответсвует

КБ
Кирилл Беркут

Год зеленой крысы - 1984, а не 1994.

const year:array[0..11]of string[9]=('обезьяны','курицы','собаки','свиньи',
'крысы','коровы','тигра','зайца','дракона','змеи','лошади','овцы');
color:array[0..4]of string[9]=('зеленый','красный','желтый','белый','черный');
var i,g:integer;
begin
write('Введите год: '); readln(g);
write('Это год ',year[g mod 12],', ',color[g mod 5]); readln
end.

Похожие вопросы
Нужна помощь по Pascal ABC
Помогите, очень надо помощь по информатике в Pascal ABC:
Программирование на pascal abc
Pascal ABC Процедуры
програмирование на Pascal ABC
Pascal ABC (разветвление)
Информатика. Pascal ABC
Программирование в Pascal ABC
нужна программа на с++ или pascal abc
Нужна помощь с Pascal ABC