Рефераты. Основы программирования на языке Паскаль

     kr[4].x:=175; kr[4].y:=163;

     kr[5].x:=170; kr[5].y:=153;

     kr[6].x:=155; kr[6].y:=158;

     kr[7].x:=140; kr[7].y:=153;

     fillpoly(7,kr);

               {тазик}

     setfillstyle(solidfill,blue);

     kr[1].x:=243; kr[1].y:=225;

     kr[2].x:=255; kr[2].y:=280;

     kr[3].x:=325; kr[3].y:=280;

     kr[4].x:=335; kr[4].y:=225;

     kr[5].x:=255; kr[5].y:=225;

     fillpoly(5,kr);

     sector(290,230,0,360,50,12);

     setfillstyle(solidfill,lightcyan);

     fillellipse(290,230,40,10);

            {руки}

     setfillstyle(solidfill,brown);

     kr[1].x:=184; kr[1].y:=164;

     kr[2].x:=295; kr[2].y:=225;

     kr[3].x:=300; kr[3].y:=215;

     kr[4].x:=175; kr[4].y:=150;

     kr[5].x:=180; kr[5].y:=160;

     fillpoly(5,kr);

     pieslice(295,224,0,170,12);

     pieslice(265,244,0,360,10);

     kr[1].x:=136; kr[1].y:=184;

     kr[2].x:=265; kr[2].y:=255;

     kr[3].x:=270; kr[3].y:=245;

     kr[4].x:=135; kr[4].y:=170;

     kr[5].x:=136; kr[5].y:=184;

     fillpoly(5,kr);

  end else halt(1);

readln; end.        

      Prim58 демонстрирует возможности мультипликации: по фоновому рисунку – дом, луна, висящий "базовый" НЛО; мечется с переменной скоростью малый НЛО и издает звуки случайными частотами.

          Program Prim58;

      Uses CRT,Graph;

   Label loop;

   Const r=30;  p=600;  pr=1000; {константы, определяющие скорость}

                                {рисования и перемещения объектов}

   Var d,m,e,xm,ym,x,y,lx,ly,rx,ry,size,i,dx,dy,

       width,height,grDriver,grMode,errCode,a,b,c,

       f,s,j:integer;

       saucer:pointer;

   Begin grDriver:=Detect;

           InitGraph(grDriver,grMode,'');

         errCode:=GraphResult;

         if errCode=grOK then

    Begin x:=r*3; y:=r*2; xm:=GetMaxX div 2; ym:=GetMaxY div 2;

  {тарелка}

     SetBkColor(blue);

     SetFillStyle(solidfill,red);

         Ellipse(x,y,0,360,r+40,r div 10);

         Ellipse(x,y-4,0,360,r-1,r);

         Line(x+7,y-6,x+10,y-12);

         Line(x-7,y-6,x-10,y-12);

         Circle(x+10,y-12,2);

         Circle(x-10,y-12,2);

         Floodfill(x+1,y+4,White);

    {определяем габариты НЛО и помещаем данные о нем в кучу}

         lx:=x-r-1;

         ly:=y-14;

         rx:=x+r+1;

         ry:=y+r div 6;

         Width:=rx-lx+1;

         Height:=ry-ly+1;

         Size:=Imagesize(lx-9,ly,rx+3,ry+10);

         GetMem(Saucer,size);

         GetiMage(lx-9,ly,rx+10,ry+3,saucer^);

     {создаем звездное небо}

         Rectangle(xm,ym,3*xm,3*ym);

         SetViewPort(xm+1,ym+1,3*xm-1,3*ym-1,Clipon);

         xm:=2*xm;

         ym:=2*ym;

         for i:=1 to 200 do

     PutPixel(random(xm),random(ym),white);

  {дом}

     SetFillStyle(solidfill,DarkGray);

     bar(320,240,640,480);  Delay(p*10);  {дом}

     bar(370,220,600,240);  Delay(p*10);  {чердак}

     Line(320,240,640,240); Delay(p*10);  {крыша}

     Line(370,240,370,220); Delay(p*10);  {левая стена чердака}

     Line(600,220,600,240); Delay(p*10);  {правая стена чердака}

     Line(370,220,600,220); Delay(p*10);  {крыша чердака}

     Line(430,220,430,180); Delay(p*10);  {мачта антенны}

     Line(430,180,410,170); Delay(p*10);  {верхний ус антенны}

     Line(430,180,410,190); Delay(p*10);  {нижний ус антенны}

     Line(430,180,410,180); Delay(p*10);  {средний ус антенны}

     bar(0,460,640,480);    Delay(p*10);  {земля}

     Line(0,460,640,460);   Delay(p*10);

     SetFillStyle(solidfill,Yellow);

     b:=270;                              {окна}

     for i:=1 to 4 do

     begin  a:=350; f:=b+20; c:=a+15; Delay(p*5);

     for j:=1 to 8 do

    begin

     bar(a,b,c,f);           Delay(p*5);

     SetColor(DarkGray);

     Line(a,b+8,c,f-12);     Delay(p*5);

     Line(a+5,b+8,a+5,b+20); Delay(p*5);

     a:=a+35; c:=c+35; end;

     b:=b+50; end;           Delay(p*10);

     Pieslice(500,80,300,100,20);           {месяц}

     SetColor(green);        Delay(p*10);

     Line(150,460,150,400);  Delay(p*10);   {дерево}

     Circle(170,365,25);     Delay(p*10);

     Circle(165,375,25);     Delay(p*10);

     Circle(150,375,25);     Delay(p*10);

     Circle(135,365,25);     Delay(p*10);

     Circle(155,345,25);     Delay(p*10);

  {задаем начальное положение нло и направление движения}

         x:=xm div 2;

         y:=ym div 2;

         dx:=100;

         dy:=100;

     {основной цикл}

        Repeat

         PutImage(x,y,Saucer^,XorPut);

         Sound(Random(2*2000));

         Delay(pr*2); NoSound;

         Putimage(x,y,Saucer^,XorPut);

      {получаем новые координаты}

    loop:x:=x+dx;

         y:=y+dy;

 if (x<0) or (x+width+1>xm) or (y<0) or (y+height+1>ym) then

    begin

 {НЛО достиг границы экрана, меняем направление его движения}

       x:=x-dx; y:=y-dy;

       dx:=GetMaxX div 10 - random(GetMaxX div 5);

       dy:=GetMaxY div 30 - random(GetMaxY div 15);

       goto loop;

       end until KeyPressed;

    if ReadKey=#0 then x:=ord(ReadKey);

      end else CloseGraph

end.

Список использованной и рекомендуемой литературы:


1. А.Н. Воловачев, В.С. Крисевич. Программирование на языке Паскаль для персональных ЭВМ ЕС. – Минск: "Высшая школа", 1989.

2. В.Я. Сердюченко. Розробка алгоритмів та програмування мовою TURBO PASCAL. – Харьков: "Паритет", 1995.

3. В.В. Фаронов. TURBO PASCAL 7.0 /Практика программирования/ – "Нолидж", 1997.

4. В.В. Фаронов. TURBO PASCAL 7.0 /Начальный курс/ – "Нолидж", 1997.


ОГЛАВЛЕНИЕ


1. Предварительные сведения...................................................... 4

1.1. Алфавит................................................................................................. 4

1.2. Решение задач.................................................................................... 4

2. Простейшие программы............................................................. 5

2.1. Оператор присваивания................................................................ 5

2.2. комментарии...................................................................................... 7

2.3. Программа............................................................................................ 7

2.4. Простейший ввод-вывод............................................................... 8

2.5. Арифметические выражения....................................................... 9

2.6. Описания переменных.................................................................. 12

2.7. Раздел описания типов............................................................... 14

3. Разветвляющиеся программы.............................................. 16

3.1. Общие положения........................................................................... 16

3.2. Оператор goto, раздел описания меток............................. 17

3.3. Оператор if......................................................................................... 19

3.4. Оператор case (оператор выбора)........................................... 25

4. Циклические программы.......................................................... 27

4.1. Оператор for..................................................................................... 27

4.2. Оператор repeat. Общий вид...................................................... 32

4.3. Оператор While................................................................................. 33

4.4. Вложенные циклы.......................................................................... 34

5. Ввод – вывод...................................................................................... 37

5.1. Общие положения........................................................................... 37

5. 2. Ввод...................................................................................................... 38

5. 3. Вывод................................................................................................... 39

5. 4. Некоторые возможности ввода-вывода........................... 39

6. Массивы............................................................................................... 41

6. 1. Описание массивов...................................................................... 41

7. Подпрограммы................................................................................. 49

7.1. Общие положения........................................................................... 49

7.2. Подпрограммы-функции, определенные пользователем 51

7.3. Подпрограммы-процедуры......................................................... 54

7.4. Локальные и глобальные описания объектов................. 58

8. Строковые данные........................................................................ 59

8.1. Общие замечания............................................................................ 59

8.2. Строковые выражения................................................................. 60

8.3. Стандартные процедуры и функции для обработки строк       61

8.3.1. Процедуры обработки строк.................................................. 61

8.3.2. Функции обработки строк....................................................... 62

9. Записи.................................................................................................... 63

9.1. Комплексные данные................................................................... 68

9.2. Запись с вариантами.................................................................... 70

10. Файлы.................................................................................................. 71

10.1. Общие замечания.......................................................................... 71

10.2. Стандартные процедуры и функции для работы с файлами  72

10. 3. Стандартные файлы................................................................... 73

10.4. Файлы последовательного доступа, созданные пользователем........................................................................................................................ 74

10.5. Файлы произвольного доступа............................................. 80

10.6. Текстовые файлы.......................................................................... 83

11. Использование библиотеки CRT......................................... 85

11.1. Программирование клавиатуры............................................ 85

11.2. Текстовый вывод на экран...................................................... 88

11.3. Программирование звукового генератора...................... 96

12. Графика в Паскале....................................................................... 99

12.1. Инициализация графического режима.............................. 99

12.2. Процедуры и функции библиотеки Graph.......................... 99

12.3. Примеры программ..................................................................... 102

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ............................................109


Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.