Программирование

Автор работы: Пользователь скрыл имя, 19 Июля 2013 в 17:18, курсовая работа

Краткое описание

Язык программирования Pascal создан в 1973 году швейцарским ученым Николасом Виртом и был назван в честь выдающегося французского физика, математика и философа Блеза Паскаля (1623-1662), который являлся автором первой в мире вычислительной (суммирующей) машины (1641). Язык первоначально создавался для целей обучения программированию вообще.

Содержание

1. ВВЕДЕНИЕ 3
2. НАЗНАЧЕНИЕ РАБОТЫ И ОБЛАСТЬ ЕЕ ПРИМЕНЕНИЯ. ПОСТАНОВКА ЗАДАЧИ 4
3. ИСПОЛЬЗУЕМЫЕ МЕТОДЫ, ОПИСАНИЕ АЛГОРИТМА ПРОГРАММЫ С ОПИСАНИЕМ ФУНКЦИЙ СОСТАВНЫХ ЧАСТЕЙ И СВЯЗИ МЕЖДУ НИМИ 5
4. ОПИСАНИЕ ВХОДНЫХ И ВЫХОДНЫХ ДАННЫХ 7
5. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ 7
6. ЗАКЛЮЧЕНИЕ 7
7. СПИСОК ЛИТЕРАТУРЫ 9
8. ПРИЛОЖЕНИЕ 1. ЛИСТИНГ ПРОГРАММЫ 10
9. ПРИЛОЖЕНИЕ 2. РЕЗУЛЬТАТЫ РАБОТЫ 17

Вложенные файлы: 1 файл

123.doc

— 82.00 Кб (Скачать файл)

                  Variant3;

                      {Даты отличаются годами}

                end;

            END; {Get_numbers_of_days}

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

          PROCEDURE FindMaxMin (var dmin,dmax: integer;

                                     days: integer);

                      {Поиск критических дней }

            const

              TF=2*3.1416/23.6884;  {Период физической  активности}

              TE=2*3.1416/28.4261;  {Период эмоциональной  активности}

              TI=2*3.1416/33.1638;  {Период интеллектуальной  активности}

              INTERVAL=30;   {Интервал прогноза}

            var

              min,max,x:real;

              i:integer;

            BEGIN {FindMaxMin}

              max:=sin(days*TF)+sin(days*TE)+sin(days*TI);

              min:=max;

              dmin:=days;

              dmax:=days;

              for i:=0 to INTERVAL do

                begin

                  x:=sin((days+i)*TF)+sin((days+i)*TE)+sin((days+i)*TI);

                  if x>max then

                    begin

                      max:=x;

                      dmax:=days+i;

                    end;

                  if x<min then

                    begin

                      min:=x;

                      dmin:=days+i;

                    end;

                  end;

             END; {FindMaxMin}

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

          PROCEDURE WriteDates(dmin,dmax,days:integer);

             {Опреджеление и вывод дат критических дней.

             Вывод дополнительной информации о количестве

             прожитых дней, часов, минут и  секунд}

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

          PROCEDURE WriteDate(text:string;

                              dd:integer);

          {Определение даты для дня DD от монента рождения.

          В глобальных  переменных d,m и y имеется текущая  дата,

          в переменной DAYS - количество дней, прошедших от  момента

          рождения  до текущей даты.

          Выводится  сообщение TEXT и найденная дата в формате

          ДД-ММ-ГГГГ.}

          const

             Names_of_Monthes:array[1..12] of string[5]=

                              ('янв ','февр','март','апр ','май ',

                              'июнь','июль','авг ','сент','окт ',

                              'нояб','дек ');

             var

               d0,m0,y0,ddd:integer;

           BEGIN {WriteDate};

             d0:=d;

             m0:=m;

             y0:=y;

             ddd:=days;

             while ddd<>dd do

               begin

                 inc(d0); {Нарастить число}

                 if (y0 mod 4<>0) and (d0>Size_of_Month[m0]) or

                    (y0 mod 4=0) and (d0=30) then

                   begin {Корректировать месяц}

                     d0:=1;

                     inc(m0);

                     if m0=13 then {Корректировать год}

                       begin

                         m0:=1;

                         inc(y0);

                        end;

                   end;

                 inc(ddd);

               end;

             writeln(text,d0,'-',Names_of_Monthes[m0],'-',y0);

           END; {WriteDate}

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

           var

              longdays: longint; {"Длинная" целая переменная

                                  для часов, минут и секунд}

           BEGIN {WriteDates}

             longdays:=days;

             writeln('Прошло: ',longdays,' дней, ',longdays*24,

             ' часов, ',longdays*24*60,' минут, ',

             longdays*24*360,' секунд.');

               WriteDate('Наименее благоприятный день:  ',dmin);

               WriteDate('Наиболее благоприятный день:  ',dmax);

           END; {WriteDates}

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

           BEGIN {ГЛАВНАЯ ПРОГРАММА}

          Writeln('______________________________');

             Writeln('     Программа расчета благоприятных дней ');

             Writeln('  Ввод данных осуществляйте  через пробел ');

             Writeln('Окончание ввода данных подтвердите с помощью клавиши ENTER');        

   InputDates(d0,m0,y0,d,m,y);

             Writeln('-----------------------------------------');

         Get_numbers_of_days(d0,m0,y0,d,m,y,days);

             FindMaxMin(dmin,dmax,days);

             WriteDates(dmin,dmax,days);

           END.

  1. ПРИЛОЖЕНИЕ 2. РЕЗУЛЬТАТЫ РАБОТЫ

   -------------------------------------------------------------

Программа расчета благоприятных  дней

                Ввод данных осуществляйте через  пробел

    Окончание ввода данных  подтвердите с помощью клавиши ENTER

--------------------------------------------------------------

Введите дату рождения в формате  ДД  ММ  ГГГГ: 22  02  1922

Введите текущую дату в формате  ДД  ММ  ГГГГ:  12  09  2001

Прошло: 29057 дней, 697368 часов, 41842080 минут, 251052480 секунд.

---------------------------------------------------------------

Наименее благоприятный день:  3-окт -2001

Наиболее благоприятный день: 12-сент-2001

 

 

.

1 Йенсен К., Вирт Н. Руководство для пользователя и описание языка.

2 Тот же


Информация о работе Программирование