/title>

 

Тнексты программ

  • Программа определения дня недели
  • Определение биоритмов
  • Игра НИМ
  • Программа NOTEBOOK

     

    Программа определения дня недели

    {Эта программа вводит дату в формате ДЦ ММ ГГГГ к выводит на экран соответствующий этой дате день недели. Описание программы см. п. 2. 7.1.} 

    var

    IsCorrectDate: Boolean; {Признак правильной даты}

    d,m,y : Integer; {Вводимая дата - день, месяц и год}

    {---------------}

    Procedure InputDate (var d,m,y : Integer; var correctly : Boolean); 

    {Вводит в переменные d, m и у очередную дату и проверяет ее. Если дата правильная, устанавливает correctly=true, иначе correctly= false } 

    begin {InputDate}

    Write ( 'Введите дату в формате ДД ММ ГГГГ: ');

    ReadLn(d,m,y) ;

    correctly := (d>=l) and (d<=31) and (m>=l)

    and (m<=12) and (y>=1582) and (y<=4903) 

    end; {InputDate}

    {----------------}

    Procedure WriteDay (d,m,y : Integer) ; 

    const

    Days_of_week : array [0..6] of String [11] =

    ( ' воскресенье ' , ' понедельник ' , ' вторник ' ,

    ' среда ' , ' четверг ' , ' пятница ' , ' суббота ' ) ; 

    var

    с, w : Integer; 

    begin

    if m < 3 then

    begin {Месяц январь или февраль} 

    m := m + 10; 

    у := у - 1 

    end 

    else

    m := m - 2; {Остальные месяцы} 

    с := у div 100; {Вычисляем столетие} 

    y := y mod 100; {Находим год в столетии} 

    w := abs(trunc(2.6*m-0.2)+d+y div 4+y+c div 4-2*c) mod 7; 

    WriteLn (Days_of_week [w] ) 

    end;

    {------------}

    begin 

    repeat

    InputDate (d,m,y, IsCorrectDate) ; 

    if IsCorrectDate then 

    WriteDay (d,m, у ) 

    until not IsCorrectDate 

    end.