Автор работы: Пользователь скрыл имя, 26 Мая 2013 в 10:23, курсовая работа
При выполнении курсового проекта я использовал учебник Н. Культина «Самоучитель Программирование в Turbo Pascal 7.0 и Delphi»
Министерство науки и
Курсовая работа по информатике за 10 класс.
Интерфейсная оболочка курсового проекта.
Выполнил: Габбасов Дулат 10 Б класс
Раздел 1.
Раздел 2.
При выполнении курсового проекта я использовал :
ARRAY, OF - зарезервированные слова (массив, из);
Assign(F; Name) - Назначает файловой переменной F имя внешнего файла Name;
Bar - заполняет прямоугольную область экрана;
Bar3d – строит параллелепипет в 3D объеме;
Begin - начало программы;
SetColor - настроить цвет;
Graph –подключение графических процедур и функций
Case - оператор условия
Char - переменная символьного типа
ClearDevice - очистка экрана
close - закрыть файл
const - раздел объявл. констант
outtextxy - вывод текста в точку с координатами (х,у)
circle - построение окружности с радиусом R c центром в точке (x,y)
Раздел 3. Листинг программы.
Program art; {заголовок, название программы}
Uses CRT,Graph; {подключение внешних модулей с расширением *.tpu, Crt – расширение возможностей ввода-вывода, Graph –подключение графических процедур и функций.}
Var {раздел объявления переменных}
gd, gm:integer;
x:char;
o:byte;
q:integer;
a:array[1..236] of string;
c:char;
k,h,f:byte;
m,s:integer;
y,n,p,t,b:string;
v:text;
l,r:integer;
gd1,gm1,x1,y1,x2,y2,h1:
p1,p2:pointer;
size1,size2,size3:word;
{$I d:\123\1_dulat.pas} {для подключения процедуры внешнего файла}
{$I d:\123\2_dulat.pas}
Begin {начало основной программы}
clrscr; {очистка экрана}
gd:=detect; {для автоматического выбора максимально возможного режима переменной gd необходимо присвоить значение detect}
initgraph(gd, gm,''); {инициализация графики}
setcolor(3); {установка цвета}
bar3d(10,30,600,450,20,topon); {построение параллелепипеда, используя текущий стиль и цвет}
setcolor(10);
outtextxy (250,200,'TEORII'); {вывод текста в точку с координатами х,у}
outtextxy (250,260,'PRAKTIKA');
outtextxy (250,320,'EXIT');
setcolor(9);
circle(230,203,10); {построение окружности с радиусом R c центром в точке (x,y)}
circle(230,263,10);
circle(230,323,10);
setfillstyle(1,15); {Задает стандартный орнамент и цвет заполнения фигур}
floodfill(230,322,4); {Закрашивает замкнутую область, используя текущие стиль и цвет закраски.}
x:=readkey; {читает
символ из буфера клавиатуры}
o:=3;
q:=323;
Repeat {оператор повтора}
setcolor(4);
outtextxy (250,200,'TEORII');
outtextxy (250,260,'PRAKTIKA');
outtextxy (250,320,'EXIT');
setcolor(4);
circle(230,203,10);
circle(230,263,10);
circle(230,323,10);
x:=readkey;
Case x of #72 : Begin {выполнение каких либо действий}
SetFillStyle(1,0);
FloodFill(232,q,4);
q:=q-60;
if q<203 then q:=323;
setfillstyle(1,3);
floodfill(232,q,4);
o:=o-1;
if o<1 then o:=3;
end;
#80 : Begin
setfillstyle(1,0);
floodfill(232,q,4);
q:=q+60;
if q>323 then q:=203;
setfillstyle(1,3);
floodfill(232,q,4);
o:=o+1;
if o>3 then o:=1;
end;
#13 : case o of 1 : knigi;
2 : volni;
3 : exit;
end;
end;
until x=#27;
readln; {ввод значения идентификатора с новой строки}
end. {конец основной программы}
procedure knigi; {процедура внешнего файла}
begin
h:=1;
assign(v,'69.pas');{ Назначает файловой переменной имя внешнего файла}
reset(v); { Открывает существующий файл}
repeat
readln(v,y); {ввод значения идентификатора с новой строки}
a[h]:=y;
inc(h); {увеличивает значение переменной}
until eof(v); {возвращает состояние конца файла}
close(v); {закрывает ранее открытый файл}
initgraph(l,r,p); {инициализирует графическую систему и переводит видеокарту в графический режим}
cleardevice; {очищает текущее устройство вывода и устанавливает текущий указатель в точку}
setfillstyle(1,3);
setfillstyle(1,5);
setcolor(7);
outtextxy(150,420,'ЌЂ†Њ€’… [<-] [->] Ё«Ё ®¬Ґа бва Ёжл. Ќ ¦¬ЁвҐ Esc ¤«п ўл室 ');
repeat
setfillstyle (1,2);
bar3d(10,10,570,400,100,true);
setfillstyle(1,black);
bar(295,385,345,398); { Вычерчивает закрашенный прямоугольник}
str((k div 20)+1,t); {процедура которая преобразовывает число в строку}
t:=t+'/';
str((h div 20) +1,b);
t:=t+b;
outtextxy(300,390,t);
s:=18;
for m:=k+1 to k+20 do
begin
if not(m>h) then
outtextxy(20,s,a[m])
else break; {определяет условия, при которых будет выполнен оператор}
s:=s+18;
end;
x:= readkey;
case x of
end;
until x= #27;
cleardevice; {очищает текущее устройство вывода и устанавливает текущий указатель в точку}
end;
procedure volni; {процедура внешнего файла}
begin
gd1:=detect;
initgraph(gm1,gd1,'D:\BP\Bin')
cleardevice;
setfillstyle(1,6);
bar(40,40,610,350);
setfillstyle(1,2);
bar(50,50,600,340);
setcolor(0);
ellipse(40,40,270,360,50,50); {pисует дугу эллипса}
ellipse(610,350,90,180,50,50);
ellipse(610,40,180,270,50,50);
ellipse(40,350,0,90,50,50);
setcolor(0);
circle(315,40,40);
setcolor(0);
circle(315,350,40);
x1:=160;
y1:=250;
while y1>=61 do {проверяется значение выражения Условие, если оно равно True (условие выполняется), то выполняются инструкции, находящиеся между begin и end (инструкции цикла)}
begin
setcolor(0);
circle(x1,y1,10);
delay(2000); {приостанавливает выполнение программы на заданное число миллисекунд (пауза, задержка)}
setcolor(2);
circle(x1,y1,10);
x1:=x1+1;
y1:=y1-1;
end;
while x1<=580 do
begin
setcolor(0);
circle(x1,y1,10);
delay(2000);
setcolor(2);
circle(x1,y1,10);
x1:=x1+1;
y1:=y1+1;
end;
while y1<=320 do
begin
setcolor(0);
circle(x1,y1,10);
delay(2000);
setcolor(2);
circle(x1,y1,10);
x1:=x1-1;
y1:=y1+1;
end;
while y1>=61 do
begin
setcolor(0);
circle(x1,y1,10);
delay(2000);
setcolor(2);
circle(x1,y1,10);
x1:=x1+1;
y1:=y1-1;
end;
while x1<=580 do
begin
setcolor(0);
circle(x1,y1,10);
delay(2000);
setcolor(2);
circle(x1,y1,10);
x1:=x1+1;
y1:=y1+1;
end;
while y1<=320 do
begin
setcolor(0);
circle(x1,y1,10);
delay(2000);
setcolor(2);
circle(x1,y1,10);
x1:=x1-1;
y1:=y1+1;
end;
while y1>=61 do
begin
setcolor(0);
circle(x1,y1,10);
delay(2000);
setcolor(2);
circle(x1,y1,10);
x1:=x1-1;
y1:=y1-1;
end;
x1:=570;
y1:=240;
while x1<=320 do
begin
setcolor(0);
circle(x1,y1,10);
delay(2000);
setcolor(2);
circle(x1,y1,10);
x1:=x1-1;
y1:=y1-1;
end;
begin
n:=x;
repeat
bar(295,385,345,398);
outtextxy(300,390,n);
x:=readkey;
if x<>#13 then
n:=n+x;
until x=#13;
val(n,f,m); {преобразует символьное представление числа в двоичную форму}
if (m=0) and (f>0) and (f<=(h div 20)+1) then
k:=(f-1)*20
end;
end;
until x= #27;
readln;
closegraph; {закрывает графическую систему}