б) Каким образом располагаются оси координат на графическом экране?
в) Назовите основные графические процедуры.
г) Как происходит вывод текста на графический экран?
д) Что будет нарисовано в результате выполнения следующих графических процедур:
1) Circle(320,240,50);
2) Line(l00,200,400,300);
3) Putpixel(180,95,4);
4) Setcolor( 12);
5) Setlinestyle(0,0,3);
Данная работа состоит из двух заданий. В первом задании необходимо составить программу для рисования простейшего объекта в соответствии с вариантом. Рисунок не должен быть слишком сложным. Надо постараться использовать в программе по возможности как можно больше графических процедур, чтобы на практике ознакомиться с их работой. Можно сопроводить рисунок заголовком.
Во втором задании предлагается построить график функции, заданной аналитически, на данном отрезке. для построения графика необходимо в цикле изменять значение переменной Х с определенным шагом и каждые две соседние точки графика, полученные таким образом, соединять отрезком. Очевидно, что чем меньше будет выбран шаг, тем плавнее будет линия, изображающая график. Перед составлением программы желательно провести исследование данной функции. Надо помнить, что начало координат на графическом экране находится в левом верхнем углу, следовательно необходимо ввести новую систему координат. Формулы перехода к новым координатам рассматриваются на примере построения графика функции y=5cos(x)+2sin(x), [-12, 12]. (см. лекция, [1]). При переходе к новой системе координат возникает проблема вычисления значений m[1], m[2] - масштабов по осям Х и У. Эти значения указывают, сколько экранных точек (пикселей) может содержать единичный отрезок на графике, чтобы полученное изображение было правильным и более реалистичным. Масштабы по осям Х и У целесообразно брать равными.
В заданиях 4. 6, 7, 10 и 14 оценки значений m[1], m[2] аналогичны рассмотренным в примере.
В остальных заданиях достаточно найти масштаб на оси Х, а на оси Y взять равное ему значение.
Построенный график функции необходимо сопроводить соответствующим комментарием (заголовком), а так же оценить его правильность (используя результаты исследования).
ЛАБОРАТОРНАЯ РАБОТА N11.
Тема. Построение диаграмм.
Цели работы:
1) Познакомится с задачами, тре6ующими графической обработки данных.
2) Получение навыков в построении круговых и столбчатых диаграмм.
Постановка задачи: составить программу, по которой осуществляется построение диаграммы в соответствии с вариантом.
Содержание отчета:
1) Постановка задачи для конкретного варианта.
2) Текст программы.
3) Инструкция пользования программой.
4) Диаграмма (эскиз).
Методические указания:
Перед выполнением лабораторной работы необходимо повторить теоретический материал, рассмотреть примеры. Ответьте на вопросы и выполните упражнения:
а) Назвать назначение следующих графических пpoцедур:
1) Bar(xl, yl. x2,y2);
2) Sеtfitlэtуllе(t, с);
3) Pieslice(x, y,a. b,r);
4) Rectang1e(x t,У t,х2.у2);
б) Найти ошибки в предложенном фрагменте программы:
Program errors;
Uses Crt;
Var gd, gm:ReaI;
Вegin gd=detect;
Initgraph(gd, gm,' ');
Setcolor(0);
Setlinestyle(0,1 );
Linе(10,200,200,200);
End;
в) что будет изображено в результате выполнения программы:
Uses Crt, Graph;
Var Gd. Gm, x,i, k,y:Integer;
s:String[4];
Begin ClrScr;
Gd:=detect;Initgraph(Gd, Gm, 'a:\tp55');
Sеtfillstуlе(5.2);
Ваr(280,260,З60.40);
Setfillstyle( 1,9);
Bar(290,250,350,50);
Setcolor( 4);
Setlinestyle(0,0,3);
Line(320 ,60,320,250);
Circle(320,255,5);
Setcolor(0);
Settextstyle(0,0, 1);
Setlinestyle(0,0, 1);
For i:=0 to 4 do
Begin k:=10*i;str(k, s);
Outtextxy(340, 240-i *40-4,s);
Line(300 , 240-i *40,340,240-i *40);
Line(310,220-i*40,330,220-i*40);
End;
Repeat Until Keypressed;
Closegraph
End.
При рассмотрении задач данной работы нетрудно видеть, что все задания нечетного варианта фактически одинаковы, разница лишь в исходных данных. То же самое можно сказать и о четных номерах задач.
Выполняя задание сначала целесообразно изобразить искомую диаграмму на листе бумаги, выбрав масштаб, размеры столбцов и радиус (для круговой диаграммы).
Большую помощь при составлении программы могут оказать примеры построения диаграмм (стр. 14-15, 17, [2]).
Выполнение заданий лабораторной работы рассмотрим на этих примерах.
В программе colon (стр.14,[2]) после инициализации графики:
Gd:=Detect;
Initgraph(Gd, Gm,");
с помощью процедуры Line на экране строятся оси координат (начало координат - точка (60, 400)).
Затем на оси ординат изображается шкала, отражающая численность населения - цифры -1000, 7000, ... , 1200 и деления:
For k:=1 То 12 Do
Begin
n:=1000*k;Str(n, st);
Outtextxy( 1 0,400- 20*k -4,st);
Line( 60, 400-k *20, 65,400-k * 20);
End;
После этого в программе нужно предусмотреть вывод заголовка:
Outtextxy(120,20,'Население городов(тысяч)');
и построение столбцов диаграммы в цикле шириной, например 70 пикселей и длиной, соответствующей численности населения конкретного города в выбранном масштабе.
Внизу под каждым столбцом выводится название соответствующего города:
For k:=l То 6 Do
Begin
Setfillstyle(l, k+2);
Var(l00+(k-l )*70,400,100+k*70,round(400-m[k]/1000 *20));
Outtextxy( 100+(k -1 )*70+4, 450,name[k ]);
End;
Названия городов и численность населения в них целесообразно записать в виде констант-массивов, как это сделано в примере.
В примере pies после инициализации графики:
Gd:=V ga;Gm:=V gaHi;
Initgraph(Gd, Gm,");
предусмотрен вывод заголовка:
Outtextxy(20,20, 'Распределение учащихся по секциям');
Далее в цикле для каждой секции рисуется сектор круга с соответствующим центральным углом и радиусом 120, и прямоугольник того же цвета, справа от которого располагается название секции (легенда):
For k:=1 То 6 Do
Begin
Setfillstyle(1 ,k+ 1);
Ваr(350, 120+k*30,400, 120+ 30*(k+ 1)-10);
Оuttехtху(450,120+k*30+6,nаmе[k]);
PiesIiсе(170,240,а, а+гоund(m[k]*З60/600),120);
а:=а+rоund(m[k]*З60/600);
Как и в предыдущем примере целесообразно организовать констант массив:
Const m:Array[I.. 6] Of Real=(28,50, 120,240,90,72);
name:Array[ 1 .. 6] Of Stгing=('бокс' ,'футбол', 'гимнастика', 'легкая атлетика' ,'баскетбол', 'хоккей');
Для большей выразительности столбчатых диаграмм можно использовать процедуру Ваr3d.
После построения диаграммы необходимо оценить ее правильность.
ЛАБОРАТОРНАЯ РАБОТА N12.
Тема. Организация движения на графическом экране.
Цели работы:
l) Получение навыков в организации движения объектов на графическом экране.
2) Знакомство с основными способами организации движения объектов на экране.
Постановка задачи: составить программу, организующую движение объекта на графическом экране в соответствии с вариантом.
Содержание отчета:
1) Постановка для конкретного варианта.
2) Алгоритм решения.
3) Текст программы.
Методические указания:
Повторить теоретический материал. Рассмотреть примеры программ. Ответьте на вопросы и выполните упражнения:
а) Назвать основные способы организации движения на графическом экране.
б) Составить алгоритм решения задачи: 11 Движение бильярдного шарика (программа на стр. 20, [1])
в) В чем заключается способ организации движения объектов с использованием нескольких экранных страниц?
г) Назвать недостатки некоторых способов организации движения объектов на графическом экране.
д) Составить программу, организующую движение шарика в горизонтальном (вертикальном) направлении.
При составлении программы можно использовать любой способ организации движения объектов. И все же следует подумать, какой способ более удобен в каждом конкретном варианте.
В заданиях 1 и 2 получается вполне реальное движение, если при составлении программы использовать динамическую память для хранения рисунков.
Этот способ организации движения можно применить и при выполнении заданий 3,4,5,7,9,10, 12, 14,15.
В программах к заданиям 6,8,11,13 целесообразно использовать несколько экранных страниц для организации движения (см. пример стр. 24Этoт же способ вполне применим к заданиям 3.4,5,10.12.
В десятом задании можно организовать очень выразительное движение НЛО, используя любой из трех известных способов организации движения на графическом экране.
Неплохое движение при выполнении заданий 4,7,9 получается, если воспользоваться простейшим способом организации движения., основанном на использовании процедуры cleardevice (см. пример стр. 19- 20, (2]).
Для большей выразительности движение объекта можно организовать на каком-нибудь фоне (с неподвижными объектами).
ЛАБОРАТОРНАЯ РАБОТА N13.
Тема. Построение объемных изображений.
Цели работы:
1) Получение практических навыков построения объемных изображений.
2) Получение изображений геометрических тел и построение их сечений.
Постановка задачи: Составить пpoгpaмму построения изображения тела.
Содержание отчета:
1) Постановка задач для конкретного варианта.
2) Алгоритм построения.
3) Эскиз рисунка.
4) Текст программы.
Методические указания:
Повторить теоретический материал, рассмотреть примеры.
Ответьте на вопросы и выполните упражнения:
а) Каким образом на экране можно получить трехмерное изображение объекта?
б) Составить алгоритм построения октаэдра(см. программу oktaer, стр. 27, (1]).
в) Каково назначение следующих графических процедур:
Setlinestyle(a, b,t)
Setfillstyle(t, c)
Floodfill(x, y,с)
Delay(t)
Lineto(x, y)
Moveto(x,y)
При выполнении заданий лабораторной работы необходимо прежде всего продумать расположение будущего объекта на экране, и задавать пространственные координаты вершин таким образом, чтобы при их соединении получалось наглядное изображение.
Для этого целесообразно сначала сделать рисунок на бумаге, используя изометрическую проекцию.
При составлении программы эти координаты удобно занести в констант-массив(см. пример стр. 27, [2].
Поскольку изображение строится в новой системе координат, то начало координат можно всегда помещать в центр экрана (320,240).
Для перехода от пространственных координат к экранным используются известные формулы:
u=x[0]+(x- у )*sin(pi/3)
t=y[0]-(z+(х+у)/2
где х[0], у[0]- начало экранных координат.
После того, когда все экранные координаты будут подсчитаны (в программе для их хранения используется массив), достаточно правильно соединить полученные точки (используя процедуру lineto).
Рисунок необходимо сопроводить соответствующим заголовком. для большей наглядности вершины фигуры можно обозначить буквами.
ОТВЕТЫ К УПРАЖНЕНИЯМ
Лl.
д) Неправильно записаны 1,4,5,9,11, 12.
е) 1)5; 2)-5; 3)17; 4) 18; 5)-17; 6)-18.
ж) Неправильно записаны 1,4,5.
з) 1)A; 2)C.
к) Правильно записаны 1,2,3,6.
н) Правильно записаны 1,2.
о) 1) А2 1.600000Е+0l;
2) TRUE TRUE
КОНЕЦ
3)16.0 РЕЗУЛЬТАТ
п) Program w;
Uses Crt;
Begin ClrScr;
Writеln('значение выражения равно');
Writeln((5.23+sqr(7.6)+sin/(sin(2*3. 1415917) +3.1))
End.
Л2.
б) 2)Перед Else стоит точка с запятой, что недопустимо.
4) Между служебными словами lf и Then стоит выражение не булевского типа.
5) Переменная Р должна быть булевского типа, чтобы правильно вычислялось условное выражение; следовательно, оператор присваивания P:=P+10.5 недопустим.
е) Program wx;
Uses Crt;
Var x, y:Real;
Begin Readln(x);
If х<0 Тhеn у:=х*х+1
Else If x>3.1415912 Тhen у:=х-2.1
EIse y:=sin(x);
Writeln(y=' ,у:8:4)
End.
ж) Program yр;
Uses crt;
Var a, b,c, t:lnteger;
Begin ClrScr;
Readln(a, b,c);
If а<b Тhen Begin t:=a;
а:=b;
b:=t
End;
If b<с Тhen Begin t:=c; с:=Ь;
b:=t
End;
If а<b Тhen Begin t:=a; а:=Ь;
b:=t
End;
Writeln( а:4, Ь:4,с:4)
End.
Л3
а) В разделе констант для константы а необходимо указать конкретное значение, а не диапазон значений; знак присваивания недопустим, а при записи вещественной константы нельзя использовать запятую. При задании ограниченного типа нельзя диапазон значений заключать в скобки. Разделителем между именами при определении перечисляемого типа является запятая, а не точка с запятой. В качестве объектов при задании перечисляемых типов можно использовать только имена; цифры и символьные значения недопустимы.
б) Неправильными являются операторы присваивания в п. 2) и 4) из за несоответствия типов правой и левой частей.
в) Case i Of
1: Writeln('shyryp');
2: Writeln('gaika');
3: Writeln('vint');
4: Writeln('shpilka')
End;
г) Read(i);
Case i Of
1 :tekst:=summer;
2:tekst:=autumn;
3:text:=winter;
4:text: =spring
End;
д) В операторе read указано имя М переменной ограниченного типа, для которого базовым является перечисляемый тип месяц.
Вводить значения перечисляемого типа нельзя. В операторе присваивания D:=K нет соответствия типов. В операторе WRITELN недопустимым является выражение D+K, т. к. операция сложения между переменными символьного и целого типов не определена.
е) Будет напечатано К=4М.
Л4.
з) Function dweek(n:nomber):days;
Вegin
Case n Of
1 :dweek:=mon;
2:dweek:=tue;
3:dweek:=wenth;
4:dweek:=thes;
5:dweek:=frai;
6:dweek:=sat;
7:dweek:=sun
End
End;
и) Будет напечатано: С=А и С=С.
Л5.
б) Неправильными являются 2 и 3. В П. 2 не определен тип компонентов массива, в п.3 в качестве типа индексов указан неограниченный целый тип, что недопустимо.
г) For i:='k' То 'z' Do a[i]:=0;
д) Неправильными являются описания в п.3 и 5.
е) 1)12; 2)10; 3)16.
ж) For i:=1 То 10 Do
For j:=romb То trapezia Do
Read( a[i,j]);
Л6.
г) Неправильно записаны п.3 и 5.
Л7.
г) 1 ) Операция / над переменными множественного типа не определена.
5) Элементами множеств не могут быть вещественные числа.
д) 1 ) TRUE; 2) ['a' . .'m']; 3) [Sochi];
4) FALSE;
5) ['(' ,')'];
6) FALSE.
е) В пунктах 1,2,4,5,7 otvet-ТRUЕ, а в пунктах 3 и 6-FALSE. ж) [4,5,7,12,13,14].
з) 1) 17;2)А-В;3)[];4)А ·В;5)А ·В.
Л9.
г) I)Возможны следующие способы описания:
(1) Var ct:File OfChar;
(2) Определить сначала файловый тип:
Туре а=Рilе Of Char;
а затем в разделе переменных: Var st:a;
(3) Воспользоваться именем стандартного типа:
Var st:Text;
l) Возможны следующие способы описания:
(1) Type a=Record
flo:String[20];
godroj: 1End;
f=Pile Of а;
Var st:r;
(2) Туре a=Record
fio:String[20];
godroj: 1
End;
Var st:Fi1e of а;
(3) Var st: File of Record fio:String[20);
godroj: 1
End;
д) В п.2 вместо двоеточия использован знак равно, а в п.4 не указан тип компонентов массива.
ПРИЛОЖЕНИЕ 1
КРАТКАЯ ИНСТРУКЦИЯ ПО РАБОТЕ С ИНТЕГРИРОВАННОЙ СРЕДОЙ TURBO-РАSСАL(версии 5.5).
Программное обеспечение Турбо-Паскаль включает в себя несколько файлов, которые должны находиться на диске.
1) ТURВО. ЕХЕ - программа с интегрированной средой.
2) TURВO. ТРL - резидентная би6лиотека.
3) TURBO. HLP - файл подсказки.
4) GRAРН. ТРU - библиотека графических функций и процедур.
5) ЕGАVGA. BGI - графические драйверы для настройки графических процедур 6)ТURВО. РСК - специальной файл.
7) TURBO. TP - файл конфигурации системы.
Для загрузки Турбо - Паскаль необходимо запустить файл TURBO. EXE. После загрузки на экране появится основной экран системы Турбо-Паскаль. Он состоит из трех частей:
-главное меню (верхняя строка экрана),
-окно редактирования,
-строка подсказки (нижняя строка экрана).
Главное меню содержит основные команды системы окно редактирования служит для создания текста программ строка подсказка содержит сведения о назначении основных функциональных клавиш.
File | Edit | Run | Compile | Option | Debud | Break/watch |
Line 1 | Col 1 | Insert/Indent | ||||
A:NONAME. PAS | ||||||
F1-Help | F5-Zoom | F6-Swithc | F7-Trace | F8-Step | F9-Make | F10-Menu |
Главное меню системы содержит семь команд: File, Edit, Run, Соmpilе, Options, Debug, Break/watch.
Команда File (Файл) позволяет загружать с диска и записывать на диск файлы, просматривать оглавление дисков, осуществлять временный или окончательный выход из системы Турбо-Паскаль.
Команда Edit (Редактировать) предоставляет возможность готовить и редактировать созданные ранее тексты программ.
Команда Run (Выполнить) служит для компиляции(трансляции) и выполнения программ.
Команда Соmpilе (Компилировать) предназначена для компиляции (трансляции) программы и ее записи в оперативную память или на диск.
Команда Options (Варианты) позволяет изменить некоторые параметры системы Турбо - Паскаль.
Команда Debug (отладчик) предназначена для вычисления или изменения значения переменных, вычисления выражений, просмотра стека вызовов.
Команда Break/watch (прервать/просмотреть) используется при работе в окне наблюдения.
Чтобы подать какую то команду из главного меню, существует несколько возможностей:
1) Войти в главное меню нажав клавишу Fl0 и, перемещая с помощью клавиш <-, ->, Ноmе, End курсор меню (подсвеченный прямоугольник), установить его на нужную команду и нажать клавишу ввода (Еntеr).
2) Войти в меню (клавиша F10) и нажать клавишу, соответствующую первой букве команды.
3) Из любого состояния системы нажать клавишу Alt совместно с клавишей, соответствующей первой букве команды. Например, находясь в окне редактирования, можно подать команду Filе нажатием Alt-F.
Большую роль при работе с интегрированной средой Турбо-Паскаль играют функциональные клавиши. Их назначение отображено в строке подсказки (нижней строке) основного экрана системы.
Клавиша | Назначение |
F1 | Выдача на экран подсказки |
F2 | Сохранение текущего файла |
F3 | Загрузка файла |
F10 | Переход в главное меню |
Alt-F1 | Выдача предыдущей подсказки |
Alt-F3 | Список восьми последних файлов |
Alt-F5 | Выдача сохраненного экрана |
Alt-F9 | Выполнение команды Compile |
Alt-F10 | Выдача версии системы Турбо-Паскаль |
РАБОТА С ФАЙЛАМИ.
Программы на языке Турбо-Паскаль хранятся на магнитных дисках в виде файлов. Стандартным расширением для них является расширение PAS. для выполнения сервисных функций над файлами служит команда File (Файл) из главного меню системы. После выбора этой команды на экране появится ее подменю.
Команды подменю позволяют считать файл с диска, записать подготовленный текст программы на диск, очистить окно редактирования, просмотреть оглавление диска, сменить каталог. Кроме того, используя это подменю, можно временно выйти в среду MS-DOS или закончить работу с системой. Чтобы выбрать команду из подменю, нужно либо нажать клавишу, соответствующую первой букве команды, либо с помощью клавиш-стрелок установить курсор подменю на нужную команду и нажать клавишу ввода (Enter).
Для возврата из подменю в главное меню следует нажать клавишу Esc.
Команда Load (загрузить). С помощью этой команды можно загрузить в окно редактирования файл с магнитного диска. После подачи команды на экране появляется прямоугольник, в котором надо задать имя файла. Если файл находится не в текущем каталоге, то следует задать и маршрут файла, например:
a:\gr 1 \prog. pas
Если расширение не указано, то по умолчанию принимается расширение PAS.
Можно задать в прямоугольнике не имя конкретного файла, а групповое имя, например *.PAS -все программы на Паскале. В этом случае на экране возникает прямоугольник с именами файлов, удовлетворяющих условию. Пользуясь клавишами управления курсором, следует высветить имя нужного файла и нажать клавишу ввода.
В случае ошибки при задании дисковода, маршрута, имени файла будет выдано сообщение об ошибке. В случае, если в окне редактирования находится несохраненный файл, будет выдано предупреждающее сообщение с предложением сохранить его:
PROG. PAS not saved. Save?(Y/N)
(PROG. PAS не сохранен. Сохранить?(Да/Нет)
Если надо сохранить файл, нужно нажать Y, в противном случае N.
Подача команды Load возможна не только через меню, но и нажатием клавиши F3 из любого состояния системы (это синоним команды Load).
Команда Pick (Выбрать). Система Турбо - Паскаль во время сеанса работы хранит сведения о восьми последних файлах, загружавшихся в окно редактирования. По команде Pick на экране появляется в прямоугольной рамке список этих файлов. Первым в списке стоит имя текущего файла, т. е. находящегося в настоящее время в окне редактирования.
Чтобы выбрать файл для загрузки, следует, пользуясь клавишами-стрелками, высветить нужное имя файла и нажать клавишу ввода.
Синоним команды Pick, комбинация клавиш Alt-F3.
Команда New (очистить). Эта команда служит для уничтожения текста в окне редактирования (его очистки). После подачи команды окно редактирования очищается, курсор помещается в левый верхний угол. По умолчанию файлу в окне редактирования присваивается имя NONAME. PAS. В дальнейшем система Турбо-Паскаль при сохранении файла предоставляет возможность заменить это имя на другое, более информативное.
Команда Save (Сохранить). Эта команда предназначена для сохранения (записи) текущего текста из окна редактирования на магнитном диске. Если текущий текст имеет имя NONAME. PAS, то Турбо-Паскаль запрашивает для него новое имя, в противном случае текст сохраняется под старым именем. Команду Save можно использовать периодически, каждые несколько минут при наборе или редактировании текста во избежание его потери при сбое или отключении питания.
Команда Write to (Записать). Эта команда позволяет записать текущий текст на диск. После подачи команды выдается запрос New Nаmе(Новое имя), в ответ нужно ввести новое имя файла(если нужно, то с маршрутом). Данная команда аналогична команде Save.
Команда Directory (Каталог). Эта команда позволяет просмотреть каталог. После ее выполнения на экране появляется прямоугольник с именами файлов и подкаталогов. Можно высветить имя нужного файла, пользуясь клавишами - стрелками. Кроме этого для поиска имени файла можно использовать первую букву его имени. Если например, нажать клавишу Р, то высветится имя первого файла, начинающееся с этой буквы. Если нажать клавишу Р вновь, то высветится имя второго файла, начинающегося с этой буквы и т. д. Если при очередном нажатии имя, начинающееся с буквы Р не обнаружится, то вновь высветится самое первое имя. Для перехода в подкаталог более низкого уровня нужно выбрать (высветить и нажать ввод) соответствующее имя подкаталога (имена подкаталогов заканчиваются обратной косой чертой, например ТР55\). для перехода в подкаталог более высокого уровня нужно выбрать.. \.
Команда ChDir (изменить каталог). Команда предназначена для того, чтобы сделать текущим другой подкаталог. При ее подаче на экран выдается текущий каталог и предоставляется возможность изменить его, т. е. изменить дисковод и маршрут.
Команда OS Shell (Временный выход). По этой команде происходит временный выход из системы Турбо - Паскаль в среду операционной системы MS DOS. Такая необходимость может возникнуть, когда нужно переименовать файл, удалить файл или группу файлов и пр. не прекращая сеанс работы с Турбо-Паскаль. Чтобы возвратиться в Турбо-Паскаль, следует после приглашения MS DOS подать команду EXIT (возврат).
Команда Quit (Выход). По этой команде работа с системой Турбо-Паскаль прекращается. Перед прекращением работы предоставляется возможность сохранить текущий файл из окна редактирования, если он подвергался изменениям после последней операции сохранения.
Синоним команды Quit, комбинация клавиш Alt-X.
ЗАПУСК ПРОГРАММ НА ВЫПОЛНЕНИЕ.
После написания программы ее можно выполнить. Перед выполнением программа переводится на машинный язык (компилируется), при этом компилятор сообщает об ошибках, найденных в программе (красная полоска в верхней части экрана редактирования). Нажав клавишу F1 на экране появляется краткая информация о допущенной ошибке.
Запуск программ осуществляется по команде Run. После подачи этой команды на экране появится ее подменю. В нем необходимо выбрать команду Run и нажать клавишу ввода. Программа переводится на машинный язык, и если в ней нет ошибок, выполняется. В случае обнаружения ошибок, их необходимо исправить и
повторить процедуру запуска.
Откомпилировать программу не запуская ее можно командой Compile. В подменю этой команды надо выбрать команду Соmpile.
Синоним команды Compile, Alt-F9, синоним команды Run, Ctrl-F9.
В большинстве случаев после выполнения программы Турбо-Паскаль очень быстро возвращает на экран текст программы, при этом результаты работы программы становятся не видны. В этом случае для просмотра результатов используется команда User Screen из подменю команды Run. (синоним, Alt-F5). Отменить данную команду можно нажав клавишу Esс.
РАБОТА В РЕДАКТОРЕ ТУРБО-ПАСКАЛЬ.
В верхней части окна редактирования расположена строка состояния редактора, которая содержит полезную информацию о текущем положении курсора, режимах работы peдaктора, имени файла и т. д.
Строка состояния в общем случае может иметь следующий вид:
Line m Col n Insert Indent a:noname. pas
Некоторые элементы строки состояния могут отсутствовать.
Line m - курсор находится в строке m.
Соl n - курсор находится в колонке n.
Insert - редактор работает в режиме вставки.
Indent - редактор работает в режиме с абзацем.
a:NONAME.PAS - указывает дисковод(а), имя (NONAME) и расширение (pas) редактируемого файла.
Набор текста в редакторе осуществляется так же, как на обычной пишущей машинке. Каждую строку текста следует завершать нажатием клавиши ввода.
Максимальная длина строки составляет 249 символов, но в дальнейшем, при трансляции программы, Турбо - Паскаль воспринимает только 128 символов. Само окно редактирования имеет ширину 77 символов, потому при наборе слов после 77-й колонки будет осуществляться перемещение окна по тексту вправо, при этом левая часть текста станет невидимой.
Режим Insert. Редактор может работать либо в режиме вставки либо в режиме замены. Переключение этих режимов вызывается нажатием клавиши Insert на клавиатуре. Режим вставки отображается словом Insert в строке состояния редактора, в режиме замены это слово отсутствует.
При наборе текста в режиме вставки внутри существующей строки: каждый очередной символ вставляется в позицию курсора, а курсор вместе с правой частью сдвигается на одну позицию вправо.
Режим Indent. Редактор может работать либо в режиме с абзацем либо в режиме без абзаца. Переключение этих режимов осуществляется командой Ctrl-Q-I. Режим с абзацем отображается словом Indent в строке состояния редактора, в режиме без абзаца это слово отсутствует. Создание абзацев позволяет сделать текст программы более выразительным для чтения, выделить процедуры, сложные циклы и пр. Работа в режиме с абзацем характеризуется тем, что после нажатия клавиши ввода в конце набранной строки курсор перемещается Не в первую колонку следующей строки, а в колонку под первым символом, отличным от пробела, предыдущей строки.
Основные команды редактора.
Для перемещения курсора на одну позицию влево или вправо, вверх или вниз служат клавиши"стрелки". Для перемещения экрана по тексту на одну страницу вверх и вниз используются клавиши PgUp и РgDn соответственно.
Другие команды редактора:
Команда | Подача команды |
Перемещение на слово вправо | Ctrlà |
Перемещение на слово влево | Ctrl-<- |
Плавное перемещение экрана вверх | Ctrl-W |
Плавное перемещение экрана вниз | Ctrl-Z |
Перемещение в начало строки | Home |
Перемещение в конец строки | End |
Перемещение на верхнюю строку экрана | Ctrl-Home |
Перемещение на нижнюю строку экрана | Ctrl-End |
Перемещение в начало текста | Ctrl-PgUp |
Перемещение в конец текста | Ctrl-PgDn |
Удаление символа в позиции курсора | Del |
Удаление символа слева от курсора | Bask-Spase |
Удаление слова справа от курсора | Ctrl-T |
Удаление от курсора до конца строки | Ctrl-Q-Y |
Удаление строки | Ctrl-Y |
Вставка разделителя строк | Enter или Ctrl-N |
Команды работы с блоками.
Редактор Турбо - Паскаль позволяет выполнять удаление, перенос, копирование больших фрагментов текста, которые часто называют блоками. Как правило, команды обработки блоков являются двух символьными.
Блоком является любая последовательная цепочка символов текста. Минимальный размер блока один символ, максимальный - весь текст.
Прежде чем выполнять какие-либо действия над блоком, его следует отметить (выделить), т. е. задать начало и конец блока. Отмеченный блок отображается на экране другим цветом. В тексте может быть только один выделенный блок.
Команда | Подача команды |
Отметить начало блока | Ctrl-K В |
Отметить конец блока | Ctrl-K к |
Отметить слово | Ctrl-K Т |
Удалить блок | Ctrl-K Y |
Перенести блок | Ctrl-K V |
Копировать блок | Ctrl-K С |
Установить курсор в начало блока | Ctrl-Q В |
У становить курсор в конец блока | Ctrl-Q К |
Напечатать блок | Ctrl-K Р |
Записать блок на диск | Ctrl-K W |
Вставить блок с диска | Ctrl-K R |
ПРИЛОЖЕНИЕ 2
КОНСТАНТЫ МОДУЛЯ GRAPH
В работе с графическими средствами часто используются константы модуля Graph. Ниже приводится список наиболее употребительных констант этого модуля:
(коды ошибок при инициализации)
grOK = 0 (нет ошибок)
grNolnitGraph = 1 (графика не инициализирована);
grNotDeteoted = 2 (графическое устройство не обнаружено);
grFileNOTFound = 3 (файл драйвера не найден);
grInvalidDriver = 4 (неправильный файл драйвера);
grNoLoadMem = 5 (нет памяти для драйвера);
grNoSoarMem = 6 (нет памяти для просмотра областей);
grNoFloodMem = 7 (нет памяти для закраски областей);
grFontNotFound = 8 (фаты шрифта не найдены);
grNoFontMem = 9 (нет памяти для загрузки шрифта);
grlnvalidMode = 10 (недопустимый графический режим);
grError = 11 (общая ошибка);
grError grIOError = 12 (ошибка ввода/вывода);
grlnvalidFont = 13 (неверный файл шрифта);
grinvalidfontnum = 14 (неверный номер шрифта);
(поддерживаемые графические драйверы)
Detect= 0 (автоматическое распознавание);
CGA=1;
MCGA=2;
EGA=3;
EGA64=4;
EGAMono=5;
IBM8514=6 (зарезервировано);
HercMono=7;
ATI400=8;
VGA=9;
PC3270=10;
(цвета)
Black = О (черный);
Blue = 1 (синий);
Green = 2 (зеленый);
Суап = 3 (бирюзовый);
Red = 4 (красный);
Маgепtа = 5 (малиновый);
Brown = 6 (коричневый);
Lightgray = 7 (светло-серый);
Darkgray = 8 (темно-серый);
LightBlue = 9 (светло-голубой);
LightGreen = 1 О (светло-зеленый);
Lightcyan = 11 (светло-бирюзовый);
LightRed = 12 (светло-красный);
LightMagenta= 13 (светло - малиновый);
у ellow = 14 (желтый);
White = 15 (белый);
SolidLn DottedLn CenterLn DashedLn UserBitLn
.
(стиль и толщина линий)
SolidLn=0 (сплошная);
DottedLn=1 (пунктирная);
CenterLn=2 (осевая);
DashedLN=3 (штриховая);
UserBitLn=4 (определенная пользователем);
Norm Width=1 (нормальная толщина);
ThickWidth=3 (жирная);
(константы закраски)
ЕmрtуFill =0 (нет закраски);
SоlidFill = 1 (сплошная закраска);
LinеFill = 2 (--- штриховка);
LtSlаshFill = 3 (///штриховка);
SlаshFill = 4 (/// толстая штриховка);
ВkSlashFill = 5 (\\\ толстая штриховка);
LtВkSlаshFill = 6 (\\\ штриховка);
НаtоhFill = 7 (+++ штриховка);
ХНаtоhFill = 8 (ххх штриховка);
IпtеrlеаvеFill = 9 (штриховка в клетку);
WidеDоtFill = 10 (штриховка редкими точками);
CloseDotFill = 11 (штриховка частыми точками);
UserFill = 12 (штриховка пользователя);
(константы для Putimage)
NormalPut = 0 (MOV);
XORPut = 1 (XOR)
OrPut = 2 (OR);
AndPut = 3 (AND);
NotPut = 4 (NOT);
ЛИТЕРАТУРА
1) , "Графика в Турбо-Паскале 5.5". Методические указания для студентов математического факультетов. Красноярск, 1993.
2) , "Практика работы на языке Турбо-Паскаль". Методическое пособие для студентов математического и физического факультетов. Красноярск, 1992.
3) Энциклопедический словарь юного математика, составитель . М, Педагогика, 1989.
4) , , Краткий физико-математический справочник. М. Наука, 1990.
5) , , Основы информатики и вычислительной техники. Учебное пособие для студентов пед. институтов по физ.-мат. специальностям. М. Просвещение, 1989.
6) Физика Справочные материалы. М. Просвещение, 1991.
Оригинал-макет и компьютерная верстка:
, ,
методисты отдела информационных технологий
5
,
E-mail: *****@***ru
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 |


