У вас вопросы?
У нас ответы:) SamZan.net

3]of rel; posle-rry[1

Работа добавлена на сайт samzan.net: 2016-06-20

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 30.6.2025

program kursovik;

uses crt,graph;

var j,help,i,work,button:byte;

   exitmenu,exitprog:boolean;

   actionprog,action:char;

   grmode,grdriver:integer;

   dat:array[1..3]of real;

   posle:array[1..100] of real;

   xcor,ycor:array[1..3]of byte;

   mat,disp:array[1..10]of real;

   mat0,disp0,dispmax,matmax,x:real;

{*****DrawHelp*****}

procedure drawhelp(help:byte);

begin

 textcolor(black);

 textbackground(white);

 gotoxy(1,25);

 case help of

   0: write(' F1-Парам. F2-Посл-ти F3-Гистогр. F10-Меню (Alt-x)-Выход                       ');

   1: write(' Задать/изменить параметры                                                     ');

   2: write(' Просмотреть последовательности                                                ');

   3: write(' Просмотреть гистограмму                                                       ');

   4: write(' Выход                                                                         ');

   5: write(' Esc-Закончить изменение параметров. BckSp-Изменить параметр. F4-Постр. посл-ть');

   6: write(' Нажмите Up или Down для просмотра или Esc для выхода                          ');

  end;

end;

{*****DrawWin*****}

procedure drawwin;

begin

 textcolor(white);textbackground(blue);

 GotoXY(1,2);

  Write('г');

  for i:=2 to 79 do

   Write('=');

  Write('¬');

  for i:=3 to 23 do

   begin

    GotoXY(1,i1);

    Write('¦');

    for j:=2 to 79 do

     Write(' ');

    Write('¦');

   end;

  GotoXY(1,24);

  Write('L');

  for i:=2 to 79 do

   Write('=');

  Write('-');

{   gotoxy(39,2);write('T');}

  gotoxy(39,24);write('¦');

  for  i:=5 to 23 do

   begin

    gotoxy(39,i);

    write('¦')

   end;

  gotoxy(31,3);

  writeln('Последовательности');

  gotoxy(1,4);

  write('¦=====================================T========================================¦');

end;

{*****DoWork*****}

procedure dowork(work:byte);

begin

 case work of

  1: begin

      textcolor(white);

      textbackground(blue);

      gotoxy(39,2);write('T');

      gotoxy(2,3);

      writeln(' Нормальный закон:                   ¦ Экспоненциальный закон:');

      gotoxy(1,4);

      write('¦=====================================+========================================¦');

      drawhelp(5);

      textcolor(white);

      textbackground(blue);

      gotoxy(2,6);write(' Мат. ожидание:');

      gotoxy(2,8);write(' Дисперсия:');gotoxy(xcor[2],ycor[2]);write(dat[2]:2:1);

      gotoxy(41,6);write('Коэффициент:');gotoxy(xcor[3],ycor[3]);write(dat[3]:2:1);

      gotoxy(xcor[1],ycor[1]);write(dat[1]:2:1);i:=1;

      repeat

       action:=readkey;

       case action of

        #27: exitpar:=true;

        #9: begin

             i:=i+1;

             if i<4 then

              begin

               gotoxy(xcor[i],ycor[i]);write(dat[i]:2:1);

              end

             else

              begin

               i:=1;

               gotoxy(xcor[1],ycor[1]);write(dat[1]:2:1);

              end;

             end;

        #8: begin

             gotoxy(xcor[i],ycor[i]);write('       ');

             gotoxy(xcor[i],ycor[i]);read(dat[i]);

             gotoxy(xcor[i],ycor[i]);write(dat[i]:2:1);

             if i<3 then i:=i+1 else i:=1;

             gotoxy(xcor[i],ycor[i]);write(dat[i]:2:1);

            end;

        #13: begin

              if i<3 then i:=i+1 else i:=1;

              gotoxy(xcor[i],ycor[i]);write(dat[i]:2:1);

             end;

        #62: begin

              for i:=1  to 50 do

               begin

                x:=ln(random(65525)+1);

                posle[i]:=exp(-sqr(x-dat[1])/(2*sqrt(dat[2])))/sqrt(2*pi*dat[2]);

                x:=exp(1/(random(825)));

                if x<0 then posle[i+50]:=0 else posle[i+50]:=dat[3]*exp(-dat[3]*x);

               end;

             end;

       end;

      until exitpar=true;

      drawwin;

     end;

  2: begin

      action:=#1;

      drawhelp(6);

      textcolor(white);

      textbackground(blue);

      exitpar:=false;

      j:=1;

      for i:=1 to 19  do

       begin

        gotoxy(2,i+4);

        if i+j-1<10 then write(' ',i+j-1,':  ',posle[i+j]:2:6,'                        ¦ ',i+j+49,':  ',posle[i+50+j]:2:6)

         else write(' ',i+j-1,': ',posle[i+j]:2:6,'                        ¦ ',i+j+49,': ',posle[i+50+j]:2:6)

       end;

      repeat

      action:=readkey;

      case action of

        #72: if j>1 then j:=j-1;

        #80: if j<32 then j:=j+1;

        #27: exitpar:=true;

       end;

      for i:=1 to 19  do

       begin

        gotoxy(2,i+4);

        if i+j-1<10 then write(' ',i+j-1,':  ',posle[i+j]:2:6,'                        ¦ ',i+j+49,': ',posle[i+50+j]:2:6)

        else write(' ',i+j-1,': ',posle[i+j]:2:6,'                        ¦ ',i+j+49,': ',posle[i+50+j]:2:6)

       end;

      until exitpar=true;

      drawwin;

     end;

  3: begin

      for i:=1 to 10 do

       begin

        x:=0;

        for j:=1 to 10 do

         x:=x+posle[(i-1)*10+j];

        mat[i]:=x/10;

        mat0:=mat0+x;

       end;

       mat0:=mat0/100;

      for i:=1 to 10 do

       for j:=1 to 10 do

        begin

         disp[i]:=sqr(posle[(i-1)*10+j]-mat[i]);

         disp0:=sqr(posle[(i-1)*10+j]-mat0);

        end;

      matmax:=mat[1];

      dispmax:=disp[1];

      for i:=1 to 10 do

       begin

        if disp[i]>dispmax then dispmax:=disp[i];

        if mat[i]>matmax then matmax:=mat[i];

       end;

      initgraph(grdriver,grmode,'');

      setBKcolor(black);setcolor(8);

      for i:=1 to 11 do

       line(5,i*30,15,i*30-10);

      for i:=1 to 20 do

       line(i*25+5,330,i*25+15,320);

      line(5,330,505,330);

      line(5,330,5,30);

      for i:=0 to 20 do line(i*25+15,320,i*25+15,20);

      for i:=1 to 11 do line(15,i*30-10,515,i*30-10);

      setbkcolor(black);

     for i:=1 to 10 do

      begin

       setcolor(cyan);

       SetFillStyle(6, 7);

       Bar3D(13,27+30*(i-1),13+round(mat[i]*10000),35+30*(i-1), 2, TopOn);

       setcolor(green);

       SetFillStyle(8, 8);

       Bar3D(13,35+30*(i-1),13+round(disp[i]*1000000),43+30*(i-1), 2, TopOn);

      end;

      SetFillStyle(6, 7);

      setcolor(8);

      bar(10, 430, 20, 440);

      outtextxy(23,432,'- Mat. ozhidanie');

      SetFillStyle(8, 8);

      bar(10, 450, 20, 460);

      outtextxy(23,452,'- Dispersiya');

      readkey;

      closegraph;

      drawwin

     end;

 end;

end;

{*****DrawMenu*****}

procedure drawmenu(button:byte);

const light=green;{15,14,13,12,11,10,9}

      dark=white;{7,6,5,4,3,2,1}

var col:array[1..4]of byte;

    exitmenu:boolean;

begin

 exitmenu:=false;

 textcolor(black);

 drawhelp(1);

repeat

 for i:=1 to 5 do col[i]:=dark;

 col[button]:=light;

 gotoxy(1,1);

 textbackground(col[1]);write(' Параметры ');

 textbackground(col[2]);write(' Последовательности ');

 textbackground(col[3]);write(' Гистограмма ');

 textbackground(col[4]);write(' Выход ');textbackground(dark);write('                             ');

 if button<>5 then action:=readkey else exitmenu:=true;

 case action of

 #77: begin

        if button<4 then

         begin

          col[button]:=dark;

          button:=button+1;

          col[button]:=light

         end

         else

          begin

           col[4]:=dark;

           col[1]:=light;

           button:=1;

          end;

       end;

  #75: begin

        if button>1 then

         begin

          col[button]:=dark;

          button:=button-1;

          col[button]:=light

         end

         else

          begin

           col[1]:=dark;

           col[4]:=light;

           button:=4;

          end

       end;

  #27: exitmenu:=true;

  #13: case button of

        1: begin

            dowork(1);

            button:=5

           end;

        2: begin

            dowork(2);

            button:=5

           end;

        3: begin

            dowork(3);

            button:=5

           end;

        4: begin

            exitmenu:=true;

            exitprog:=true

           end;

       end;

 end;

if button<>5 then drawhelp(button);

until exitmenu=true;

drawhelp(0);textbackground(dark);gotoxy(1,1);

write(' Параметры  Последовательности  Гистограмма  Выход                              ');

end;

{*****Главная программа*****}

begin

clrscr;

xcor[1]:=18;

xcor[2]:=18;

xcor[3]:=58;

ycor[1]:=6;

ycor[2]:=8;

ycor[3]:=6;

dat[1]:=5;dat[3]:=5;dat[2]:=4;

grmode:=detect;

grdriver:=detect;

drawwin;

repeat

drawmenu(5);

drawhelp(0);

actionprog:=readkey;

case actionprog of

 #59: dowork(1);

 #60: dowork(2);

 #61: dowork(3);

 #68: begin

       drawmenu(1);

      end;

 #45: exitprog:=true;

end;

for i:=1 to 10 do begin mat[i]:=0; disp[i]:=0 end;

until exitprog=true;

end.




1. Іменник як частина мови та методика його вивчення у початкових класах
2. ВВЕДЕНИЕ В дошкольном возрасте идет интенсивный процесс становления самосознания ребенка важным компонен
3. Двигатели внутреннего сгорания
4. Административное нормотворчество
5. Возникновение оперы
6. Банковские риски и методы их регулирования
7. Психология переговорного процесс
8. Анализ финансовых возможностей предприятия ОАО АВТОВАЗ для организации маркетинговой деятельности
9. Вы конечно шутите мистер Фейнман Ричард Филлипс Фейнман Вы конечно шутите мистер Фейн
10. тема национальных счетов это система взаимосвязанных показателей и классификаций например в виде таблиц