Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите решить задачу Pascal циклы

53K
30 октября 2009 года
evgen96rus
3 / / 28.10.2009
В старояпонском календаре был принят 60-летний цикл, состоявший из пяти 12-летних подциклов. Подциклы обозначались названиями цвета: зелёный, красный, жёлтый, белый и чёрный. Внутри каждого подцикла годы носили названия животных: крысы, коровы, тигра, кота, дракона, змеи, лошади, овцы, обезьяны, петуха, собаки и свиньи. Например, 1984 – год зелёной крысы. Напишите программу, которая по некоторому номеру года выводит его название по старояпонскому стилю.


Заранее благодарю.
14
30 октября 2009 года
Phodopus
3.3K / / 19.06.2008
Массив цветов, массив зверей.
1984 - база.
х = абсолют разницы базы и требуемого года mod 60
x div 5 = индекс цвета
x mod 12 = индекс зверя
вроде так
53K
30 октября 2009 года
evgen96rus
3 / / 28.10.2009
Спасибо за помощь.
53K
01 ноября 2009 года
evgen96rus
3 / / 28.10.2009
Код:
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.
14
02 ноября 2009 года
Phodopus
3.3K / / 19.06.2008
Оригинальненько с кейз-ом...
Да, если год ниже базы (1984), то в мой алгоритм сразу после вычисления x нужно добавить x = 60 - x, тогда база станет как бы минус бесконечность.

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог