- •Лабораторна робота № 1
- •1 Загальні відомості
- •1.1 Склад пакета Турбо Паскаль
- •1.2 Запуск інтеґрованого середовища Турбо Паскаль
- •1.3 Робоче середовище Турбо Паскаль
- •1.4 Призначення команд рядка «Меню»
- •1.4.1 Меню File
- •1.4.2 Меню Edit
- •1.4.3 Меню Search
- •1.4.4 Меню Run
- •1.4.5 Меню Compile
- •1.4.6 Меню Debug
- •1.4.7 Меню Tools
- •1.4.8 Меню Options
- •1.4.9 Меню Window і Help
- •2 Порядок виконання
- •3 Контрольні запитання
- •Лабораторна робота № 2
- •1 Загальні відомості
- •1.1 Порядок отримання *.Exe файла
- •1.2 Операторні дужки begin …end...
- •1.3 Оператори введення/виведення
- •2 Порядок виконання роботи
- •3 Контрольні запитання
- •Лабораторна робота № 3
- •1 Загальні відомості
- •Прості типи даних мови програмування Турбо Паскаль
- •1.2 Оператор присвоювання
- •Математичні функції й операції
- •Порядок виконання
- •Контрольні запитання
- •Лабораторна робота № 4
- •1 Загальні відомості
- •Структурні оператори. Складений оператор
- •Оператори розгалуження
- •1.2.1 Оператор if … then … else...
- •1.2.2 Оператор case … of … end...
- •Оператори циклу
- •1.3.1 Цикл із передумовою while … do …
- •Цикл із постумовою repeat … until …
- •Цикл із лічильником for … to … do …
- •Порядок виконання роботи
- •Контрольні запитання
- •Лабораторна робота № 5
- •1 Загальні відомості
- •Методи знаходження екстремумів функції
- •Методи розв’язування нелінійних рівнянь
- •Методи обчислення визначеного інтеґрала
- •1.4 Методи обчислення невласного інтеґрала
- •2 Порядок виконання роботи
- •3 Контрольні запитання
- •Лабораторна робота № 6
- •1 Загальні відомості
- •Символьний тип. Особливості застосування
- •Введення символів із клавіатури
- •Рядковий тип. Особливості застосування
- •Операції над рядками
- •2 Порядок виконання роботи
- •3 Контрольні запитання
- •Кодування символів відповідно до стандарту ansi
- •Лабораторна робота № 7
- •1 Загальні відомості
- •Структурні типи даних. Масиви
- •Опис масивів
- •1.2.1 Одновимірні масиви
- •1.2.2 Двовимірні масиви
- •2 Порядок виконання роботи
- •3 Контрольні запитання
- •Лабораторна робота № 8
- •1 Загальні відомості
- •Особливості використання модуля crt
- •Константи, типи і змінні
- •Порядок виконання роботи
- •Контрольні запитання
- •Лабораторна робота № 9
- •1 Загальні відомості
- •Особливості використання модуля Graph
- •Константи, типи і змінні
- •Порядок виконання роботи
- •Контрольні запитання
- •Лабораторна робота № 10
- •Загальні відомості
- •Особливості використання модуля Dos
- •Константи, типи і змінні
- •Порядок виконання роботи
- •Контрольні питання
- •Лабораторна робота № 11
- •1 Загальні відомості
- •Основні методи сортування
- •1.2 Оцінка алгоритмів сортування
- •1.3 Методи сортування
- •Порядок виконання роботи
- •Контрольні запитання
Порядок виконання роботи
Створіть програму наступні рядки, що мають:
Uses Graph;
var
grDriver: integer;
grMode : integer;
ErrCode : integer;
BEGIN
grDriver:= Detect;
InitGraph(grDriver, grMode,'___');
ErrCode:= GraphResult;
if ErrCode <> grOk
then
begin
SetBkColor(7);
SetColor(24);
{виконати графічні функція}
Line(100, 100, GetMaxX-100,GetMaxY-100);
Line(1OO, 380, GetMaxX-100,GetMaxY-380);
Line(100, 100, 100 , 350 );
Line(GetMaxX-100 , GetMaxY-350, GetMaxX-100, GetMaxY-100);
Line(100,100,GetMaxX-100, GetMaxY-350);
Readln;
CloseGrapn;
End
else
writeln(‘Помилка графіки:’,GraphErrorMsg(ErrCode));
END.
Змініть, використовуючи значення констант для драйвера і режиму, наведених вище, перегляньте як змінюється зображення на екрані.
Змініть третій параметр процедури і перегляньте роботу програми. Результати роботи запишіть до звіту.
Створіть програму, що має наступний лістинґ:
Uses CRT, DOS, GRAPH;
const
MaxPoints= 15;
var
Points: array[0..MaxPoints] of PointType;
ViewInfo: ViewportType;
X, I, J, Y: integer;
CenterX: integer;
CenterY: integer;
Radius: word;
StepAngle: word;
Xasp,Yasp: word;
Radians: real;
GraphDriver: integer;
GraphMode: integer;
ErrorCode: integer;
function AdjAsp(Value : integer) : integer;
begin
AdjAsp:= ((Value) * Xasp) div Yasp;
end;
begin
InitGraph(GraphDriver, GraphMode, 'E:\Pascal70\Bgi');
SetBkColor(8);
ErrorCode:= GraphResult;
if ErrorCode <> grOK then
Writeln('Graphicserror:',GraphErrorMsg(ErrorCode));
GetAspectRatio(Xasp, Yasp);
GetViewSettings(ViewInfo);
with ViewInfo do
begin
CenterX:= (x2-x1) div 2;
CenterY:= (y2-y1) div 2;
Radius:= CenterY;
while (CenterY+AdjAsp(Radius)) <(y2-y1)-20 do
Inc(Radius);
end;
StepAngle:= 360 div MaxPoints;
for I:= 0 to MaxPoints - 1 do
begin
Radians:= (StepAngle * I) * Pi/180;
Points[I].X:= CenterX + round(Cos(Radians) * Radius);
Points[I].Y:=CenterY - AdjAsp(round(Sin(Radians)*Radius));
end;
Circle(CenterX, CenterY, Radius);
for I := 0 to MaxPoints - 1 do
begin
for J:= I to MaxPoints - 1 do
begin
MoveTo(Points[I].X, Points[I].Y);
LineTo(Points[J].X, Points[J].Y);
end;
end;
Readln;
CloseGraph;
end.
Проаналізуйте роботу програми. Результати роботи запишіть до звіту.
Створіть програму, яка виводила на екран фігури Лісажу.
Створіть програму, що має наступний лістинґ:
…
Begin
<ініціалізація граф.>
for i := 1 to 400 do
begin
SetColor(White);
MoveTo(30 + i, 30); LineTo(40 + i, 50); LineTo(60 + i, 60);
LineTo(40 + i, 70); LineTo(30 + i, 90);
SetColor(Black);
MoveTo(29 + i, 90); LineTo(29 + i, 70);
MoveTo(29 + i, 50); LineTo(29 + i, 30);
SetColor(White);
MoveTo(5 + i, 50); LineTo(0 + i, 40);
SetColor(Black);
MoveTo(-10 + i, 50); LineTo(-10 + i, 40);
end;
Readln;
CloseGraph;
End.
Проаналізуйте роботу програми. Результати роботи запишіть до звіту.
Створіть програму, яка виводила на екран довільну фігуру, що рухається.
