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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2011, 18:21   #1
Luckyman
Пользователь
 
Регистрация: 15.02.2011
Сообщений: 11
По умолчанию Работа с функциями и процедурами

срочно нужна помощь, помогите пож) надо добавить процедуру и функцию

Условие задачи:
Студент должен записаться на сдачу в один из четырех предложенных дней. Написать программу, Физическое, эмоциональное и умственное состояние человека меняется циклически со дня рождения с периодом соответственно 23, 28 и 33 дня. Для К-го дня со дня рождения состояние определяется по формуле:
y = sin ((k/p - [k/p])*2П
где Р - период 23,28 и 33 дня.
[k/p] -целевая часть от деления.
истинг программы
Код:
uses crt;
type date=record
	    d,m,g:integer
	   end;
const m:array[1..12]of integer=(31,28,31,30,31,30,31,31,30,31,30,31); {кол-во дней в месяцах}
var dr,de:date;     {день рожд. и день экзам.}
    bmax:real;      {максимальное значение биоритма}
    no:integer;     {номер более подходящего дня}
    bf,be,bu:real;  {значение физич., эмоц., умств. состояний}
    i,di,k:integer;
    ch:char;

begin
 clrscr;
  textbackground(black);
  textcolor(white);
     window(15,3,75,25);
     writeln('Вашему вниманию представляется программа,');
     writeln('которая определяет наиболее подходящий');
     writeln('день для сдачи экзамена (из четырёх) с');
     writeln('точки зрения наиболее благоприятного');
     writeln('состояния биоритмов');
  textcolor(red);
     writeln('');
     writeln('ВНИМАНИЕ!');
     writeln('1. Число и месяц - целые одно-/двузначные числа');
     writeln('2. Год - целое 4-значное число');
     writeln('');
	textcolor(white);
     writeln('Программу составил студент');
     writeln('МГУ ПС группы ЭИЭ-111');
     writeln('Жумабай уулу Бакыт');
	textcolor(green);
     writeln('г.Москва, 22.2.2011');
     gotoxy(24,21);
	textcolor(white);
     write('Нажмите любую клавишу...');
       ch:=readkey;
 clrscr;
 writeln('Введите дату рождения (целые числа):');   {ввод днея рождения}
 write('День:  ');
 readln(dr.d);
 write('Месяц: ');
 readln(dr.m);
 write('Год:   ');
 readln(dr.g);
 bmax:=-3; ;
 writeln;
 writeln('Введи даты экзаменов:');
 for di:=1 to 4 do
     begin
      writeln;
      writeln('Дата ',di);                       {ввод даты экзамена}
      write('День:  ');
      readln(de.d);
      write('Месяц: ');
      readln(de.m);
      write('Год:   ');
      readln(de.g);
      k:=0;      {вычислим кол-во дней между днем рожд. и датой экзамена}
      for i:=dr.g+1 to de.g-1 do      {число целых лет}
          begin
           k:=k+365;
           if i mod 4 = 0 then k:=k+1; {поправка на високосный год}
          end;
      for i:=dr.m+1 to 12 do           {число целых месяце в году рожд.}
          begin
           k:=k+m[i];
           if (i=2) and (dr.g mod 4 = 0) then k:=k+1; {поправка}
          end;
      k:=k+m[dr.m]-dr.d;               {число дней в месяце рождения}
      if (dr.m=2) and (dr.g mod 4 = 0) then k:=k+1;   {поправка}
      for i:=1 to de.m-1 do           {число целых месяцев в году экзамена}
          begin
           k:=k+m[i];
           if (i=2) and (de.g mod 4 = 0) then k:=k+1;
          end;
      k:=k+de.d;                      {день экзамена}  {получили кол-во дней}

      bf:=sin((k/23-trunc(k/23))*2*pi);    {вычисление биоритмов}
      be:=sin((k/28-trunc(k/28))*2*pi);
      bu:=sin((k/33-trunc(k/33))*2*pi);
      writeln('Физическое состояние:    ',bf:2:3);
      writeln('Эмоциональное состояние: ',be:2:3);
      writeln('Умственное состояние:    ',bu:2:3);
      if (bf+be+bu)>bmax then     {проверка на максимальное значение}
         begin
          bmax:=bf+be+bu;
          no:=di;
         end;
     end;
 writeln;
 writeln('Наиболее удобный день №',no);
 ch:=readkey;
end.

Последний раз редактировалось Stilet; 16.05.2011 в 18:33.
Luckyman вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с процедурами и функциями Чумак Татьяна Паскаль, Turbo Pascal, PascalABC.NET 2 27.03.2011 07:56
Оформить процедурами и функциями Litrian Помощь студентам 2 01.12.2009 17:29
работа с процедурами и функциями. Tanushka5606 Паскаль, Turbo Pascal, PascalABC.NET 2 06.05.2009 23:01
Помогите разобраться с процедурами и функциями. leedhas Паскаль, Turbo Pascal, PascalABC.NET 3 14.01.2009 14:23
работа со строковыми процедурами и функциями pooharilo Паскаль, Turbo Pascal, PascalABC.NET 3 26.12.2008 23:51