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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2009, 13:36   #1
катерина_к
 
Регистрация: 10.05.2009
Сообщений: 4
Восклицание кодирование путем повторения символов

Здравствуйте!!!! помогите плиз с 2-мя программами на паскале, т. к. в нем я ничего не понимаю(((.

1)программа кодирования путем повторения символов. В программу должно вводиться натуральное число. Если четное, то программа просит ввести нечетное число. Если нечетное число, то должна вводиться последовательность двоичных символов. Каждый символ этой последовательности повторяется введенное нечетное число раз и формируется выходная последовательность из повторных символов.

2)определение даты по порядковому номеру в диапазоне. например вводим число 364, выводится дата 30 декабря 2009 года.
Заранее огромное спасибо!!!!
катерина_к вне форума Ответить с цитированием
Старый 11.05.2009, 16:21   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Катя, по второй задаче.
a) условие неполное - что значит "по порядковому номеру в диапазоне"? в каком диапазоне? Год какой? високосность учитывается?

b) ладно. дарю. под свои нужды подправите сами...
Код:
const
  MonthName : array[1..12] of string =
('Января','Февраля','Марта','Апреля','Мая','Июня','Июля',
'Августа','Сентября','Октября','Ноября','Декабря');  


{*                    OPDATE.PAS 1.21                    *}
{*     Copyright (c) TurboPower Software 1988, 1992.     *}

  function IsLeapYear(Year : Integer) : Boolean;
    {-Return True if Year is a leap year}
  begin
    IsLeapYear := (Year mod 4 = 0) 
          and (Year mod 4000 <> 0) and
            ((Year mod 100 <> 0) or (Year mod 400 = 0));
  end;


  function DaysInMonth(Month, Year : Integer) : Integer;
    {-Return the number of days in the specified month of a given year}
  begin
    case Month of
      1, 3, 5, 7, 8, 10, 12 :
        DaysInMonth := 31;
      4, 6, 9, 11 :
        DaysInMonth := 30;
      2 :
        DaysInMonth := 28+Ord(IsLeapYear(Year));
    else
      DaysInMonth := 0;
    end;
  end;
  
var
  God, NomDay, TempNomDay, CurMonth : integer;

begin
  WriteLn('Введите год (>1900): ');
  Readln(God);
  if God<1900 then begin
    WriteLn('#ошибка: год слишком мал... Bye...');
    Halt;    
  end;
  WriteLn('Введите номер дня в году (>0 и <367): ');
  Readln(NomDay);
  if (NomDay<1) or (NomDay>(365+Ord(IsLeapYear(God)))) then begin
    WriteLn('#ошибка: неверный номер дня в ',God:1,' году! Bye...');
    Halt;    
  end;
  CurMonth := 1;
  TempNomDay := NomDay;
  while TempNomDay>DaysInMonth(CurMonth,God) do
  begin
    TempNomDay := TempNomDay - DaysInMonth(CurMonth,God);
    Inc(CurMonth);
  end;
  
  WriteLn(NomDay:1,'-й день - это ',
     TempNomDay:1,' ',MonthName[CurMonth],' ',God:1,' года.');
  Readln;
end.

Последний раз редактировалось Serge_Bliznykov; 11.05.2009 в 16:29.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.05.2009, 21:55   #3
катерина_к
 
Регистрация: 10.05.2009
Сообщений: 4
По умолчанию

спасибо огромное!!! очень вам благодарна!!!
катерина_к вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
получение текстового диапазона программым путем Lisi4ka Microsoft Office Word 13 11.04.2009 08:27
Повторения(Файл) ТРОЯН=) Помощь студентам 2 09.04.2009 21:52
Создание билетов путем импорта из таблицы mistx Microsoft Office Excel 2 25.02.2009 09:02
Как вставить имя файла с путем в combobox Andreych74 Win Api 0 08.10.2008 10:30
исключение повторения номера акта за этот год ГОСЕАН БД в Delphi 9 09.03.2008 02:50