Реферат: Обучающая программа Графика программированию в графическом режиме на языке turbo-pascal 7.x
2) Помещение обязательно должно оборудоваться
огнетушителем, сигнализацией и телефоном (и городским и местным).
3) Помещение должно быть оборудовано одноместными
столами и мягкими стульями с меняющимися по высоте сиденьями и спинками стула.
Столы должны иметь длину не менее 0.7 метра и ширину, обеспечивающую место
перед клавиатурой 0.3 метра.
4) Разрешающая способность
человеческого глаза составляет примерно 0.3 мм на расстоянии 500 мм.
Благоприятная для обозрения площадь лежит в пределах 500-700 мм. Для
зрительного распознавания алфавитно-цифровых знаков необходим растр размером
5-7 точек, поэтому ширина и высота линий изображения этих знаков должна быть не
менее 1.5 мм при удалении 500 мм и 2.9 мм при удалении 700 мм от работающего.
Угол обзора по вертикали составляет 15. В положении сидя этот угол не превышает
15 относительно горизонтали. Оптимальное расстояние от глаз до экрана монитора
0.6-0.7 м., допустимое не менее 0.5 метра. Рассматривать информацию на экране
ближе 0.5 метра не рекомендуется.
5) Требуемая и допустимая контрастность элементов рабочего места снизу
ограничена возможностью распознавания, а сверху допускаемой освещенностью,
исключающей ослепление работающего. В поле зрения работающего контрастность
должна быть в пределах от 8:1 до 15:1. При этом исключается наличие глянцевых
поверхностей, создающих блики и отражающий свет. Уменьшению усталости и
повышению удобства обслуживания способствует определенное размещение коммуникаций
работающего с машиной.
9.8.Приборы контроля параметров среды
Метрологическое обеспечение осуществляется на основе положений ГОСТ
12.0.005-84 "Метрологическое обеспечение в области безопасности труда.
Основные положения" /М., 1984/, системы стандартов безопасности труда,
санитарных норм и правил Минздрава СССР и др.
Приборы для контроля опасных и вредных производственных факторов
представлены в
Таблица 24
Приборы контроля
Измеряемая величина единица измерений |
Рабочие средства измерений |
Погрешность |
тип |
диапазон |
частотный |
динамический |
1. Температура, С и относительная влажность
воздуха, % |
Аспирационный психометр MB-4M |
-
-
|
-31 . . .
51 С
10 . . .
100 %
|
+0,1 С
+5%
|
2. Скорость движения воздуха, м/с |
Термометр, электроанемометр TAM-1 |
- |
0,1 . . .
5 м/с
|
+2,1
м/с
|
3. Уровень звукового давления в октавных
полосах частот, дБ |
вшв-ооз |
10 . . .
20000 Гц
|
25 . . .
140 дБ
|
+1 дБ |
4. Освещенность, лк. |
Люксметр Ю-116 мкм |
0,38. . .
0,72 мкм
|
5 . . .
100000 лк
|
+10 % |
5. Массовая концентрация пыли, мг/куб.м |
Радиоизотопный пылемер ПРИЗ-2 |
- |
0,1 . . .
100 иг/м
|
+20 % |
ЗАКЛЮЧЕНИЕ
В результате разработки данной дипломной работы написана
программа для обучения работе в графическом режиме. Программа предназначена для
студентов младших курсов Санкт-Петербургской государственной академии
аэрокосмического приборостроения и знакомит их с графическими средствами
языка Turbo-Pascal 6.0/7.0.
Программа содержит семь разделов для изучения:
1) Программирование графических режимов.
2) Управление курсором и полем рисования.
3) Формирование прямолинейных монохромных изображений.
4) Управление цветом и стилем изображений.
5) Программирование цветных криволинейных изображений.
6) Формирование графических текстов.
7) Программирование озвученных динамических сцен.
Программа позволяет индивидуально, в удобном для каждого
обучаемого темпе , изучать работу с компьютером в графическом режиме.
Изучаемый материал представлен в программе наглядно, теоретический материал
сопровожден необходимыми иллюстрациями, что делает его более понятным.
Предусмотрена возможность повторного изучения материала. В процессе обучения
производится контроль приобретенных знаний в виде Контрольных вопросов. При
ответах на контрольные вопросы студенту выставляются оценки, которые
регистрируются и могут быть выведены на экран в любой момент работы с
программой. Имеется возможность разъяснения студенту его ошибок в случае
наличия таковых. После ответа на каждый вопрос на экран выводится комментарий,
содержащий оценку в форме "правильно/неправильно" и в случае неверного
ответа пояснения сущности ошибки. Продолжительность сеанса работы программы
составляет 45 минут.
Программа написана на языке Turbo-Pascal 7.0 и требует для использования наличия
персонального компьютера типа IBM, монитора типа EGA с графическим выводом 640x350 пиксел, 16 регистрами палитры.
Разработанная программа полностью соответствует требованиям Технического
задания.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Брусенцов Н.П., Маслов С.П., Х.Рамиль Альварес Микрокомпьютерная
система обучения "Наставник". М.: Наука , 1990. 223 с.
2. Демушкин А7С7, КирилловА.И., Сливин Н.А., Чубров Е.В., Кривошеев А.О.,
Фомин С.С. Компьютерные обучающие программы // Информатика и образование, 1995.
N 3.
3. Казаков В.Г., Дорошквин А.А., Задорожный П.М., Князев Б.А. Лекционная
мультимедиа аудитория // Информатика и образование, 1995. N4.
4. Фаронов В.В. турбо паскаль: в 3 т. М.: Учебно-инженерный центр
"МВТУ-ФЕСТО ДИДАКТИК", 1992.Т.1: Основы турбо Паскаля. 286 с.
5. Епанешников A.M., Епанешников В.А. Программирование в среде TURBO-PASCAL 7.O.M.: "ДИАЛОГ-МИФИ", 1995.
282 С.
6. Петров В.И. Графические средства алгоритмического языка TURBO-PASCAL : Методические
указания к выполнению лабораторных работ N 1,2 / ЛИАП.СПб., 1992. 33 с.
7. Петров В.И. Графические средства алгоритмического языка TURBO-PASCAL : Методические
указания к выполнению лабораторных работ N 3,4,5 / ЛИАП.СПб., 1992. 43 с.
8. Технико-экономическое обоснование исследовательских и инженерных
решений в дипломных проектах и работах: учебное пособие / под редакцией Минько
Э.В., Покровского А.В. /Свердловск Уральский университет, 1990. 144 с.
9. Евдокимов В.И. Охрана труда и окружающей среды: Методические указания
по дипломному проектированию / ЛИАП.Л., 1989. 34 с.
10. Евдокимов В.И., Козаченко В.И., Нейман Л.А., Румянцев В.В. Охрана
труда в приборо- и радиоаппаратостроении: Учебное пособие / СПГУАП. СПб., 1993.
81 с.
ПРИЛОЖЕИЕ 1
Текст программы
program
GRAPHIC; {главная программа "Графика"}
uses Crt,
Graph, Dos, Strings, MYBOOK, RAZDEL1, RAZDEL2, RAZDEL3,
RAZDEL4 , RAZDEL5 , RAZDEL6 , RAZDEL7 ;
Type
Dlina=string[6Q];
var Gd,Gm:
integer;
Regime: byte;
NOMER3 , NOMER4 , NOMER5 , NOMER6 , NOMER7 : integer ;
Ball3 :array[l. .2} of integer; {переменные вывода
результатов} ball4 :array[l. .2] of integer; { работы по
разделам}
ball5 :array[l. .2] of Integer;
ball6 :array[l. .2] of integer; ball7:array[l. .2] of integer; Itog :array[l, .2] of integer; {переменная
накопления
результатов работы за сеанс}
tog:array[l. .2] of integer; {переменная вывода
результатов
работы за сеанс}
К:аггау[1. .2] of integer; {переменная контролирующая число
обращений к процедурам рабочих модулей }
Dh: Char; {переменная для
принятия символа с клавиатуры}
procedure
Windol; {введение }
Type
Ann=record
PPl:char;
РР2:array [0. .69] of char;
end;
var FF:file
of Ann;
A: Ann;
St
:string[68];
label 1;
begin
Assign (FF, 'VEDEN. pas' ); {связь с
файлом текста введения}
{SI-}
Reset(FF);
{SI + }
IF
lOResulto 0 then
Writeln ('Heт файла VEDEN1);
ClearDevice;
OKNO; {процедура оформления экрана}
For N:=0 to
31 do {цикл вывода текста введения }
begin
Read(FF,A);
St:=StrPas(A.PP2);
case
A.PP1 of {проверка наличия иллюстрации и их вывод}
‘ ‘: OutTextXY( 20 , 10*N+10 , St ) ;
‘0‘ : GoTo 1 ;
end;
end;
1:readkey;
Close(FF);
end;
procedure
Cursor(Flag:boolean); {Если Flag=True, то курсор видим;}
{ если Flag=False,TO невидим}
const
sizeCursor:word=0;
var Red:registers;
begin
with Red
do
begin
if Flag
then
begin
CX:=SizeCursor; {Восстановим старый размер курсора}
end
else
begin
BH:=0; {0-я страница дисплея}
АН:=03; {функция чтения размера и позиции курсора}
Intr($10,Red);
SizeCursor:=CX;{сохраняем размер курсора}
СН:=$20; {делаем курсор невидимым}
end;
АН:=01; {функция установки размера курсора}
Intr($10,Red);
end;
end;
procedure
SVETFON(C,F:byte); {установка цвета и фона}
begin
TextColor(C);
TextBackground(F)
end;
procedure
VERTIKALNOE_MENU(Kl,K2,Kp:byte;SS1,SS2,SS3,SS4,SS5,SS6,
SS7,SS8,SS9:dlina;Var Result:byte);
{процедура
создания окна меню}
Label Met;
Const Kr=9;
Var
M:array[l..Kr] of string[60];
I,T:byte;
Ch:char;
Fl:boolean;
begin
Cursor(False);
Fl:=True;
M[1]:=SS1;M[2]:=SS2;M[3]:=SS3;M[4]:=SS4;M[5]:=SS5;M[6]:=SS6;
M[7]:=SS7;M[8]:=SS8;M[9]:=SS9;
T:=Length(M[I]);
for I:=2 to Kp do
if
Length(M{I])>T then T:=Length(M[I]);
for l:=l
to Kp do
begin
if 1=1 then SVETFON(1,13)
else SVETFON(13,1);
GoToXY(Kl,K2+i);
write(M[I]);
end;
SVETFON(13,1);
I:=l;
while
Fl=True do begin
Ch:=ReadKey;
if
Ch=#13 then Fl:=False;
if(Ch=#0) and KeyPressed then
begin
Ch:=ReadKey;
case Ch
of
#80: begin
GoToXY(Kl,K2+i);
SVETFON(13,1);
write(M[I]);
if i=(Kp+l) then
begin
I:=l;
SVETFON(3,l);
GoToXY(Kl,K2+l);
SVETFON(1, 13);
write(M[I]);
SVETFON(13,1);
goto Met;
end;
GoToXY(Kl,K2+I);
SVETFON(1,13);
write(M[I]);
SVETFON(13,1);
end;
#72: begin
if 1=1 then goto Met;
GoToXY(Kl,K2+I);
SVETFON(1371);
write(M[I]);
i:=I-1;
GoToXY(Kl,K2+I);
SVETFON(1,13);
write(M[I])
end
end;
Met:
end ;
end;
Result
:=I;
SVETFON(13,1);
Cursor(True) ;
end;
begin {Начало основной программы}
GraphRegim;
SetBKColor(l);
SetTextStyle(0,0,5);
SetColor(12);
OutTextXY(40,50, 'Т Р А Ф И К А');
SetTextStyle(0,0,1);
SetColor(15);
OutTextXY(100,225,'Программа для обучения работе в графическом
режиме’);
OutTextXY(170,245,'Разработал Черноткач Р. И.');
OutTextXY(232,285,'СПГУАП');
OutTextXY{240,305,'2002’);
readkey;
SetTextStyle(0,0,l);
Windo1;
CloseGraph;
NOMER3:=0;
{переменные, контролирующие доступ к разделам}
NOMER4:=0;
{{ не более двух раз) за сеанс}
NOMER5:=0;
NOMER6:=0;
NOMER7:=0;
К[1]:=0;
К[2]:=0;
while True
do begin
TextBackground(3);
ClrScr;
Cursor(False);
GoToXY(15,5);
TextColor(l);
write('Какой раздел Вы хотели бы
изучить?');
GoToXY(10,10);
VERTIKALNOE_MENU(10,10,9,
' Программирование графических режимов
' Управление курсором и полем рисования
' Формирование прямоллинейньгх монохромных изображений
' Управление цветим и стилем изображений
' Программирование цветных криволинейных изображений
' Формирование графических текстов
' Программирование озвученных динамических сцен
' Результаты Вашей работы
' Конец работы
Regime);
case Regime of
1:RAZDEL10;
2:RAZDEL20;
3:begin
NOMER3:=NOMER3+1;
If NOMER3<3 then
begin
RAZDEL30;
ball3[NOMER3]:=REZ3;
Itog[nomer3]:=Itog[nomer3]+ball3[nomer3];
K[nomer3]:=K[nomer3]+l;
end
end;
4: begin
NOMER4:=NOMER4+1;
If NOMER4<3 then
begin
RAZDEL40;
ball4[nomer4]:=rez4;
Itog[nomer4]:=Itog[nomer4]+ball4[nomer4];
K[nomer4]:=K[nomer4]+l;
end
end;
5:begin
NOMER5:=NOMER5+1;
If NOMER5<3 then
begin
RAZDEL50;
Ьа115[погаег5]:=rez5;
Itog[nomer5]:=Itog[nomer5]+ball5[nomer5];
K[nomer5]:=K[nomer5]+1;
end;
end;
6:begin
NOMER6:=NOMER6+1;
If NOMER6<3 then
begin
RAZDEL60;
ball6[nomer6]:=rez6; Itog[nomer6]:=Itog[nomer6]+ball6[nomer6]; K[nomer6]:=K[nomer6]+l;
end;
end
7:begin
NOMER7:=NOMER7+1;
IF NOMER7<3 then
begin
RAZDEL70;
ball7[nomer7]:=rez7;
Itog[nomer7]:=Itog[nomer7]+ball7[nomer7];
end;
end;
8:begin {вывод результатов работы}
If K[l]<>0 then
tog[l3:=Round(Itog[l]/K[1);
If K[2]<>0 then
tog[2]:=Round(Itog[2]/K[2]);
TextBackground(1);
ClrScr;
TextColor(12);
writeln;
Write('РЕЗУЛЬТАТЫ ВАШЕЙ РАБОТЫ’);
writeln;
writeln('l попытка 2
попытка':80);
writeln;
wtiteln('ФОРМИРОВАНИЕ
ПРЯМОЛИНЕЙНЫХ МОНОХРОМНЫХ
ИЗОБРАЖЕНИЙ');
writeln;
writeln(' УПРАВЛЕНИЕ
ЦВЕТОМ И СТИЛЕМ ИЗОБРАЖЕНИЙ1);
writeln;
writeln('ПРОГРАММИРОВАНИЕ
ЦВЕТНЫХ КРИВОЛИНЕЙНЫХ
ИЗОБРАЖЕНИЙ');
writeln;
writeln(' ФОРМИРОВАНИЕ
ГРАФИЧЕСКИХ ТЕКСТОВ');
writeln;
writeln('
ПРОГРАММИРОВАНИЕ ОЗВУЧЕННЫХ ДИНАМИЧЕСКИХ СЦЕН');
writeln;
writeln;
writeln(' ОЦЕНКА РАБОТЫ ЗА СЕАНС');
GotoXY(64,6); writeln(ball3[1]);
GoToXY(75,6); writeln(ball3[2]);
GoToXY(64,8); writeln(ball4[l]);
GoToXY(75,8); writeln(ball4[2]);
GoToXY(64,10); writeln(ball5[l]);
GoToXY(75,10); writeln(ball5[2]);
GoToXY(64,12); writeln(ball6[l]);
GoToXY(75,12); writeln(bal16[2]);
GoToXY(64,14); writeln(bal17[l]);
GoToXY(75,14); writeln(ball7[23)
GoToXY(64,18); writeln(tog[l]);
GoToXY(75,18); writeln(tog[2]);
readkey;
end;
9:begin
GraphRegim;
OKNO;
SetTextStyle{0,0,4);
SetColor(4);
OutTextXY(150,80,'Bы
хотите');
OutTextXY(60,120,'закончить
работу')
OutTextXY(100,160,'с программой?');
OutTextXY(230,280,'Y/N');
Dh:=ReadKey;
If (Dh='y') or (Dh='н') then
begin
Cursor(True);
ClrScr;
Halt
end
else
CloseGraph;
end;
end;
end;
CloseGraph;
end.
{$A+, B-,
D+, E+, F-, G-, I+,L+,N-,O-,P-,Q-,R-,S+,T-,V+,X+}
{$M 16384,0,655360}
Unit
RAZDEL1;
interface
uses Crt,
Graph, Dos, Strings, MYBOOK;
type
An=record
P1:Char;
P2:array[0..69] of Char;
end;
var Fl:file
of An ;
A: An;
Gd,Gm,Y,N:integer;
St:string[68];
procedure
RAZDEL10; {Обеспечение работы с разделом
"Программиро вание графических режимов"}
implementation
procedure
RAZDEL10;
Label 1;
begin
GraphRegim;
Assign(Fl,'RAZTEX1.pas');
{SI-}
Reset
(Fl);
{SI+}
If
lOResult <>0 then Writeln ('Нет файла RAZTEX1.pas');
Repeat;
ClearDevice;
OKNO;
Y:=10;
For N:=0
to 31 do
begin
Read(Fl,A); St:=StrPas(A.P2);
case
A.P1 of
' ':OutTextXY(20,Y*N+10,St);
'*':begin
SetColor{4);
OutTextXY(20,Y*N+10,St);
SetColor(l);
end;
'0':GoTo 1;
end;
end;
1: readkey;
until
A.P1='O';
Close(Fl);
CloseGraph;
end;
begin
end.
{$A+,B-,D+,E+,F-,G-,I+,L+,N-,O-,P-,Q-,R-,S+,T-,V+,X+}
{$M
16384,0,655360}
Unit RAZDEL2;
interface
uses
Crt,Graph,Dos,Strings,MYBOOK;
type An=record
P1:Char;
P2:array[0..69] of
Char;
end;
var F2:file of An
;
A:
An;
Gd,Gm,X,Y,N:integer;
St:string[68];
procedure RAZDEL20; {Обеспечение работы с
разделом "Управление
курсором и полем
рисования"}
implementation
procedure
RAZDEL20;
Label
1;
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
|