Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Pascal

Выпуск № 386
от 01.06.2007, 03:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 253, Экспертов: 63
В номере:Вопросов: 2, Ответов: 4


Вопрос № 88685: Помогите, пожалуйста: "В старояпонском календаре был принят 60-летний цикл, состоящий из пяти 12-летних подциклов. Подциклы назывались названием цвета: зеленый, красный, желтый, белый и черный. Внутри каждого подциклагоды носили название жив...
Вопрос № 88690: помагите решит задачу http://diploboy.ifolder.ru/2140971...

Вопрос № 88.685
Помогите, пожалуйста:
"В старояпонском календаре был принят 60-летний цикл, состоящий из пяти 12-летних подциклов. Подциклы назывались названием цвета: зеленый, красный, желтый, белый и черный. Внутри каждого подциклагоды носили название животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. 1984 год -год зеленой крысы был началом очередного цикла. Напишите программу, которая запрашивает номер некоторого года нашей эры и печатает его название по старояпонскому календарю."
Отправлен: 26.05.2007, 17:46
Вопрос задал: Leeryhomer (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Ерёмин Андрей
Здравствуйте, Leeryhomer!
Фактически, задача сводится к математическим операциям над числами. Главное - не запутаться, где какой остаток взять. Алгоритм довольно прост: поделив разность лет на 12 и взяв остаток, получим номер года и соответственно название животного; поделив опять-таки разность лет на 12, но взяв целую часть от деления, получим разность номеров подциклов, а поделив это число на 5 и взяв остаток, получим как раз сам номер подцикла.

program Q88685;
uses Crt;
const
Colors: array[1..5] of string = ('Зелёный','Красный','Жёлтый','Белый','Чёрный');
Animals: array[1..12] of string = ('Крыса','Корова','Тигр','Заяц','Дракон','Змея',
'Лошадь','Овца','Обезьяна','Курица','Собака','Свинья');
var year: word; d1,d2,d3,d4: integer;
begin
clrscr;
write('Введите номер года нашей эры: ');
readln(year);
d1:=abs(year-1984);
d2:=d1-trunc(d1/12)*12+1;
if d2 = 0 then d2:=12;
d3:=trunc(d1/12);
d4:=(d3 mod 5) + 1;
write('Год ',year,': [',Colors[d4],'] - [',Animals[d2],']');
readln;
end.

Приложение:

---------
Нет правила без исключений. Правило без исключений - исключение из правил.

Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на DELPHI
----
Ответ отправлен: 26.05.2007, 18:40
Оценка за ответ: 5

Отвечает: Louken
Здравствуйте, Leeryhomer!

Я конечно извиняюсь, хотел было свой вариант ответа прислать, но он оказался немного хуже. И поэтому, просто хотелось бы тогда немного подправить ответ эксперта Ерёмина Андрея. Вот что я исправил:

const
Colors: array[1..5] of string = ('Зелён','Красн','Жёлт','Бел','Чёрн');
Animals: array[1..12] of string = ('ая Крыса',' ая Корова','ый Тигр','ый Заяц',
'ый Дракон','ая Змея',
'ая Лошадь','ая Овца','ая Обезьяна','ая Курица','ая Собака','ая Свинья');

Теперь название года отображается корректно
Ответ отправил: Louken (статус: 3-ий класс)
Ответ отправлен: 26.05.2007, 23:22
Оценка за ответ: 5

Отвечает: Устинов С.Е.
Здравствуйте, Leeryhomer!

Да... задачка вроде бы не сложная, а вот верно ее не решили.
Учился я как-то на втором курсе и дали нам решить эту задачку, так решили почти все, а вот сдать не получилось почти ни у кого. А проблемы две (как раз на них и не обратил внимания Ерёмин Андрей):
1. 1984 год не является самым первым годом, когда была введена эта система, он является НАЧАЛОМ НОВОГО ЦИКЛА, т.е. 1983 год - последний год цикла - т.е. год ЧЕРНОЙ СВИНЬИ (в решении, которое Вам дали - это зеленая корова - т.е. второй год цикла)!!!
2. Проблема с цветами:
Вам показали в программе, что идет подряд цикл 12 лет одного цвета, 12 лет другого и т.д.
На самом деле для цветов есть закономерность - ДВА ГОДА ПОДРЯД идет один цвет.
Вы можете проверить (воспользуйтесь поиском яндекса), что:
2000 год - БЕЛОГО дракона,
2001 год - БЕЛОЙ змеи,
2002 год - ЧЕРНОЙ лошади,
2003 год - ЧЕРНОЙ овцы,
2004 год - ЗЕЛЕНОЙ обезьяны,
2005 год - ЗЕЛЕНОГО петуха,
2006 год - КРАСНОЙ собаки,
2007 год - КРАСНОГО кабана (свиньи).
В программе же, полученной Вами ранее все эти года имеют один цвет - красный!!!
Программа, правильно реализующая решение этой задачи (включая года до 1984 и правильные цвета) написана в приложении.

Удачи!

Приложение:

---------
Ждешь квалифицированного ответа? Задай правильно вопрос!

Ответ отправил: Устинов С.Е. (статус: Специалист)
Ответ отправлен: 27.05.2007, 14:06


Вопрос № 88.690
помагите решит задачу
http://diploboy.ifolder.ru/2140971
Отправлен: 26.05.2007, 18:06
Вопрос задал: Muhammedov Abdurohman (статус: 3-ий класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Coupler
Здравствуйте, Muhammedov Abdurohman!
Решение задачи в приложении. В отмеченных комментариями строках вместо '' напишите полный путь к файлам input.txt и output.txt соответственно, например:
'c:input.txt' и 'c:output.txt'

Приложение:

Ответ отправил: Coupler (статус: Студент)
Ответ отправлен: 27.05.2007, 06:05
Оценка за ответ: 5
Комментарий оценки:
Супер, мне толко тепер разобрятся


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное