на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Основы программирования на языке Паскаль
p align="left"> kr[8].x:=195; kr[8].y:=270;

fillpoly(8,kr);

{башмаки}

setfillstyle(solidfill,red);

pieslice(160,360,0,360,10);

pieslice(200,370,10,160,20);

pieslice(215,360,0,360,10);

pieslice(142,370,10,160,20);

setfillstyle(solidfill,white);

fillellipse(145,115,5,8);

fillellipse(163,115,5,8);

setfillstyle(solidfill,blue);

pieslice(147,115,0,360,3);

pieslice(165,115,0,360,3);

setcolor(yellow);

arc(154,160,30,145,30);

setcolor(red);

setfillstyle(solidfill,lightmagenta);

fillellipse(154,146,5,8);

{бабочка}

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

kr[2].x:=135; kr[2].y:=163;

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

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



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.