Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2008, 19:07   #1
Janette
Пользователь
 
Регистрация: 23.02.2008
Сообщений: 11
По умолчанию сторояпонский календарь

Прошу помощи с написанием программки на паскале... Заранее огромное спасибо!

Напишите программу, которая по номеру года определяет его название по старояпонскому календарю, если известно, что 1984 г. - год крысы, последовательность изменения: крыса, корова, тигр, заяц, дракон, змея, лошадь, овца, обезьяна, курица, собака, свинья.

При решении задачи обязательно использовать диапазонный или перечисляемый типы данных.

Последний раз редактировалось Janette; 23.03.2008 в 19:11.
Janette вне форума Ответить с цитированием
Старый 23.03.2008, 20:23   #2
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Непонятно в чем же тут помощь ? В том, что за вас делаем ? Так это скорее медвежья услуга.

Код:

// Такое использование диапазонных типов устроит ?
type
   TYear = 1 .. 2100;

function YearName(Year:TYear):String;
const ListNames : array [0..11] of String =
          ('крыса', 'корова', 'тигр', 'заяц', 'дракон', 'змея',
           'лошадь', 'овца', 'обезьяна', 'курица', 'собака', 'свинья');
var N:0..11;
begin
   N := abs(Year - 1984) mod 12;
   if (Year < 1984) and (N <> 0) then N := 12 - N;
   YearName := ListNames[N];
end;

// Можно конечно извратиться и сделать через перечислимые
type
   JapanNames = (jnKs, jnKr, jnTg, jnZj, jnDr, jnZm, jnLo, jnOv, jnOb, jnKu, jnSb, jnSv);

function YearName1(Year:TYear):String;
const ListNames : array [JapanNames] of String =
          ('крыса', 'корова', 'тигр', 'заяц', 'дракон', 'змея',
           'лошадь', 'овца', 'обезьяна', 'курица', 'собака', 'свинья');
var N:0..11;
begin
   N := abs(Year - 1984) mod 12;
   if (Year < 1984) and (N <> 0) then N := 12 - N;
   YearName1 := ListNames[JapanNames(N)];
end;
alexBlack вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прога-календарь Кай Софт 3 21.08.2008 13:44
Как запихнуть календарь в ComboBox? Bezdar Microsoft Office Excel 1 11.08.2008 17:30
Студент. Экономический календарь из Эхсел в Ахсел olimpus Microsoft Office Access 1 18.07.2008 08:37
Календарь в HTML странице. Fellics{новичок} HTML и CSS 1 20.06.2008 20:41
Как развернуть календарь в TDateTimePicker DeadMan Компоненты Delphi 3 09.04.2007 18:07