Проектирование Pascal-программ
МИНОБРНАУКИ
РОССИИ
Федеральное
государственное бюджетное образовательное учреждение
высшего
профессионального образования
«Пензенская
государственная технологическая академия»
(ПГТА)
Кафедра
«Прикладная информатика»
Контрольная
работа
по
дисциплине «Информатика и программирование»
Выполнил: студент гр.
Проверил: Долгушева Л.Н.
Пенза 2013
год
Отчет о выполнении лабораторной работы
РАЗРАБОТКА PASCAL-ПРОГРАММ С ИНТЕРФЕЙСОМ
ТИПА «МЕНЮ»
Цель работы: Освоение методов проектирования
Pascal-программ с интерфейсом типа «меню».
Задание на лабораторную работу: Разработать
программу, обеспечивающую работу пользователя в диалоговом режиме с
возможностью выбора функций с помощью одноуровневого меню заданного типа.
Блок - схема программы:
Описание программы:
. Выводит сообщения о назначении программы.
. Ввод данных происходит в режиме диалога.
. Все функции программы реализованы в модуле
UNIT.
. Головной модуль программы использует процедуры
из модулей типа UNIT.
. Выводит запросы на ввод исходных данных.
. Производит контроль исходных данных и
коррекцию ошибочно введенных значений переменных.
. Выводит результаты на экран.
Законченная программа будет иметь вид:
unit m_unit;_rec =
^my_record;_record = record:Integer;:string;:real;:real;:m_rec;;menu ; {Процедура
вывода
меню}
init_s
; {Процедура производит при старте заполнение начальных параметров}
procedure
new_s
; {Процедура добавления сотрудника в список}
procedure
view_s
; {Процедура просмотра списка сотрудников}
procedure
del_s
; {Процедура удаления сотрудника из списка}
procedure clear_s; {Процедура
очищает
список}
Head:m_rec;
{Указатель на начало списка}
implementation
uses
crt,graph;
procedure
init_s;
{Процедура производит при старте заполнение начальных параметров}
begin
Head:=NIL;
{Список изначально пуст}
end;menu;:Char;_s;(11);(1);;('Добавить
Просмотр
Удалить
ESC-Выход');(12);(1,1);('Д');(10,1);('П');(19,1);('У');(1,2);(11);:=ReadKey;(ch=#27)
then exit;ch of
'Д':new_s
;
'П':view_s
;
'У':del_s
;
'д':new_s
;
'п':view_s
;
'у':del_s
;
'l':new_s ;
'g':view_s ;
'e':del_s ;
'L':new_s ;
'G':view_s ;
'E':del_s ;;ch = #27;;
{***********************************************************}
procedure
new_s;
{Процедура добавления посетителя в список}
var,ends:m_rec;;(10); {зел
цвет}Head
= Nil then(head);^.next := NIL;:= head;:= Head;(tmp^.Next<>NIL) do:=
tmp^.Next;;:=tmp;(tmp);^.next := tmp;^.Next
:= NIL;
end;
{Заполним поля структуры}
{ Num
:Integer;:string;:string;:real;:real;}('Номер
комнаты');(tmp^.Num);('фио');(tmp^.FIO);
write('Количество
суток:');
readln(tmp^.OKL);('Цена
суток');(tmp^.Prc);
{Для
автотестов}
{ tmp^.Num :=1;^.FIO :=
'asdasd';^.OKL :=123;^.Prc :=1;}(14);('Добавлена
запись');(10);
{Шапка}('|----|---------------------------|-------|-----|--------|');(10);('||');textcolor(13);write('
N ');(10);('||');textcolor(13);write('ФИО
сотрудника
');(10);('||');textcolor(13);write('Суток');(10);('||');textcolor(13);write('Цена');(10);('||');textcolor(13);write('Итого');(10);('||');
{Вывод
текущей
записи}('|------|-------------------------|------------|-------|---------|');(10);('||');textcolor(15);write(tmp^.num:4);(10);('||');textcolor(15);write(tmp^.FIO:20);(10);('||');textcolor(15);write(tmp^.OKL:8:2);(10);('||');textcolor(15);write(tmp^.Prc:5:2);(10);('||');textcolor(15);write(tmp^.OKL*tmp^.Prc:8:2);(10);('||');
{подвал}('|-------|-----------------------------|------------|-------|----------|');(11);('Для
продолжения
нажмите
любую
клавишу');;;
{***********************************************************}
{***********************************************************}
{***********************************************************}view_s;
{Процедура
просмотра
списка
сотрудников}:m_rec;;(10);
{Шапка}('|------|-------------------------------|-----------|-----|-------|');(10);('||');textcolor(13);write('
N ');(10);('||');textcolor(13);write('ФИО
сотрудника');(10);('||');textcolor(13);write('Суток');(10);('||');textcolor(13);write('Цена');(10);('||');textcolor(13);write('Итого');(10);('||');:=head;(tmp<>
NIL) do
{вывод
текущей
записи}('|-----|---------------------------|----------|-------|---------|');(10);('||');textcolor(15);write(tmp^.num:4);(10);('||');textcolor(15);write(tmp^.FIO:20);(10);('||');textcolor(15);write(tmp^.OKL:8:2);(10);('||');textcolor(15);write(tmp^.Prc:5:2);(10);('||');textcolor(15);write(tmp^.OKL*tmp^.Prc:8:2);(10);('||');:=
tmp^.next;;
{подвал}('|------|------------------------------|-----------|------|-----------|');(11);
readkey;
end;
{***********************************************************}
{***********************************************************}
{***********************************************************}
procedure
del_s;
{Процедура удаления из списка}
var,t2:m_rec;:integer;;(10);('Номер
комнаты');(13);(num);(10);:=head;:=head;(t1<>nil)
dot1^.num = num thent1 = head thent1^.Next = NIL then(head);:= NIL;;:=
t1^.next;(t1);t1^.next <> NIL
then^.Next:=t1^.next;(t1);:=t2;^.next:=Nil;(t1);:=t2;;;;:=t1;t1<> NIL
then:=t1^.next;;;
write('Для продолжения
нажмите любую клавишу');;;
{***********************************************************}
{***********************************************************}
{***********************************************************}
procedure
clear_s;
{Процедура очищает список}
var:m_rec;:=Head;(tmp<>NIL)
do:=tmp^.next;(tmp);:=Head;;
head := NIL;;.
Ответы на контрольные вопросы
. Каково назначение модуля UNIT?
Модуль типа UNIT в Turbo Pascal - это отдельно
хранимая и независимо компилируемая программная единица, в отличие от
подпрограмм, которые, являясь структурным элементом Pascal-программы, не могут
существовать вне ее.
. Какова структура модуля UNIT?
В соответствии с вышеизложенным модуль типа UNIT
имеет следующую структуру:{служебное слово} Unit_Name {имя модуля};{ начало
интерфейсной части }
Описание объектов, видимых из других программных
модулей:...... (определение констант)...... (определение типов
переменных)...... (определение переменных)...... (только заголовки
процедур)...... (только заголовки функций){ начало части реализации }
Описание объектов, скрытых от других программных
модулей........... (определение констант)
............................... (полные описания
процедур и..... функций, включая процедуры
и функции из интерфейсной секции)
Операторы инициализации переменных
перед использованием модуля UNIT_NAME;. {
Окончание модуля }
. Каковы структура и назначение части Interface?
Интерфейсная часть - начинается с ключевого
словаInterface (интерфейс, сочленение, соединение) и содержит обращение к
другим модулям и объявления (описания) глобальных объектов т. е. меток,
констант, типов, переменных, и заголовков процедур и функций которые доступны
основной программе и другим модулям (т. е. видимые из вне).
. Каковы структура и назначение части
Implementation?
Раздел реализации - начинается с ключевого
словаImplementation(выполнение) и содержит описание локальных для модуля
объектов т. е. меток, констант, типов, переменных которые не доступны основной
программе и другим модулям (т. е. не видимые из вне) и полное описание процедур
и функций. При этом в заголовке подпрограмм список формальных параметров м.б.
опущен, но если он приводится то должен точно соответствовать описанию в
интерфейсной части.
. Для чего нужен раздел инициализации
переменных?
Этот раздел используется для открытия файлов.
. Какое расширение имеет модуль UNIT (исходный
модуль)?
Имя модуля выбирается по общим правилам и должно
совпадать с именем дискового файла содержащего исходный текст модуля.
Расширение в имени модуля (.pas) не указывается оно задается по умолчанию.
. Какое расширение имеет откомпилированный
модуль типа UNIT?
Модуль компилируется точно таким же образом, как
и обычные программы, но так как модуль не является непосредственно выполняемой
единицей, то в результате его компиляции образуется дисковый файл с расширением
.TPU (Turbo Pascal Unit ), а не с расширением .EXE. При компиляции модуля имя
файла (NAME.TPU) берется из имени файла с исходным текстом модуля (NAME.PAS).
. Может ли модуль UNIT выполняться
самостоятельно?
В отличие от программы, рассматриваемая единица
не может запускаться для выполнения самостоятельно, она может участвовать в
выполнении программы или при построении другого модуля.
. Каковы правила обращения к модулю UNIT?
Чтобы основная программа могла воспользоваться
константами, перемен-ными, процедурами и другими объектами, описанными в
интерфейсной секции используемого модуля, необходимо указать в программе имя
нужного TPU-файла.
Выводы о проделанной лабораторной работе: Входе
выполнения работы были освоены методы проектирования Pascal-программ с
интерфейсом типа «меню».
рascal
программа интерфейс
Отчет о выполнении лабораторной работы
РАЗРАБОТКА PASCAL-ПРОГРАММ СОРТИРОВКИ ДАННЫХ
Цель работы: Освоение методов проектирования
Pascal-программ сортировки данных.
Задание на лабораторную работу:
Разработать и отладить программу сортировки
массива данных. Структуру данных взять из лабораторной работы №8.
Блок - схема программы:
Описание программы:
.Выводит сообщения о назначении программы;
. Ввод данных происходит в режиме диалога;
. Производит контроль вводимых числовых данных и
коррекцию ошибочно введенных данных;
. Выводит запросы на ввод исходных данных;
. Выводит результаты на экран.
Законченная программа будет иметь вид:
unit m_unit;=5;_record =
record:Integer;:string;:real;:real;;menu ; {Процедура
вывода
меню}
init_s
; {Процедура производит при старте заполнение начальных параметров}
procedure
new_s
; {Процедура добавления в массив}
procedure
view_s
; {ЏаПроцедура просмотра массив}
procedure sort_s;:array[1..NN] of
my_record;:integer;crt,graph; init_s;
{Процедура производит при старте заполнение начальных параметров}
begin:=0;;menu;:Char;_s;(11);(1);;('Добавить
Просмотр
Сортировка
ESC-Выход');(12);(1,1);('Д');(10,1);('П');(19,1);('С');(1,2);(11);:=ReadKey;(ch=#27)
then exit;ch of
'Д':new_s
;
'П':view_s
;
'С':sort_s
;
'д':new_s
;
'п':view_s
;
'с':sort_s
;
'l':new_s ;
'g':view_s ;
'c':sort_s ;
'L':new_s ;
'C':sort_s ;;ch = #27;;
{***********************************************************}
procedure
new_s;
{Процедура добавления посетителя в массив}
var:integer;:boolean;;(10); {зел
цвет}CNT
< NN then(cnt);
write('Номер
комнаты [1..9]:');
readln(arr[CNT].Num);:=false;i:=1 to
CNT-1 doArr[i].Num = arr[CNT].Num then:=true;('Номер
',arr[CNT].Num, 'занят');;;((arr[CNT].Num
>0) and (arr[CNT].Num<10) and IsUse = False);('ФИО');(arr[CNT].FIO);('Количество
суток:');(arr[CNT].OKL);('Цена
суток:');(arr[CNT].Prc);(14);
writeln('Добавлена
запись:');
textcolor(10);
{Шапка}
writeln('|------|------------------------|---------|-----|--------|');
textcolor(10);('||');textcolor(13);write('
N ');(10);('||');textcolor(13);write('ФИО
сотрудника');(10);('||');textcolor(13);write('Суток');(10);('||');textcolor(13);write('Цена');(10);('||');textcolor(13);write('Итого');(10);('||');
{Вывод
текущей
записи}('|-------|---------------------------|----------|-------|---------|');(10);('||');textcolor(15);write(arr[CNT].num:4);(10);('||');textcolor(15);write(arr[CNT].FIO:20);(10);('||');textcolor(15);write(arr[CNT].OKL:8:2);(10);('||');textcolor(15);write(arr[CNT].Prc:5:2);(10);('||');textcolor(15);write(arr[CNT].OKL*arr[CNT].Prc:8:2);(10);('||');
{Подвал}('|------|--------------------------------|----------|-------|----------|');(11);
writeln(Нельзя
добавить! Достигнут максимум')
end;
write('Для
продолжения нажмите любую клавишу');
readkey;
end;
{***********************************************************}
{***********************************************************}
{***********************************************************}
procedure
view_s;
{Процедура просмотра списка сотрудников}
var:integer;;(10);
{Шапка}('|-----|--------------------------------|---------|-----|--------|');(10);('||');textcolor(13);write('
N ');(10);('||');textcolor(13);write('ФИО
сотрудника');(10);('||');textcolor(13);write('Суток');(10);('||');textcolor(13);write('Цена');(10);('||');textcolor(13);write('Итого');(10);('||');i:=1
to CNT do
{Вывод
текущей
записи}('|------|-------------------------------|-----------|------|-----------|');(10);('||');textcolor(15);write(arr[i].num:4);(10);('||');textcolor(15);write(arr[i].FIO:20);(10);('||');textcolor(15);write(arr[i].OKL:8:2);(10);('||');textcolor(15);write(arr[i].Prc:5:2);(10);('||');textcolor(15);write(arr[i].OKL*arr[CNT].Prc:8:2);(10);('||');;
{Подвал}('|------|-----------------------------|----------|------|-----------|');(11);('Для
продолжения нажмите любую клавишу');
readkey;;
{***********************************************************}
{***********************************************************}
{***********************************************************}sort_s;:array[1..9]
of integer;:Array[1..NN] of my_record;,j,k:integer;:integer;:integer;CNT >1
theni:=1 to 9 do[i]:=0;;:=Arr[1].Num;:=Arr[1].Num;i:=1 to CNT
doArr[i].Num>Max then Max:=Arr[i].Num;Arr[i].Num<Min then
Min:=Arr[i].Num;;i:=1 to CNT do:=Arr[i].Num-Min+1;[j]:=B[j]+1;;:=0;j:=1 to 9
doB[j]<>0 thenk:=1 to B[j] do:=i+1;[i].NUM:=j+Min-1;;;;i:=1 to CNT doj:=1
to CNT doA[i].Num = Arr[j].Num then[i].FIO := Arr[j].FIO;[i].OKL :=
Arr[j].OKL;[i].Prc := Arr[j].Prc;;;;i:=1 to CNT do[i].Num := A[i].Num;[i].FIO
:= A[i].FIO;[i].OKL := A[i].OKL;[i].Prc := A[i].Prc;;;(11);('Отсортировано.
Для
продолжения нажмите любую клавишу');
readkey;
end;
end.
Контрольные вопросы
. В чем суть алгоритма сортировки выбором?
Вначале отыскивается запись с наименьшим
значением ключа и она помещается на первое место. Эта запись исключается из
дальнейшего анализа. Затем отыскивается запись с наименьшим значением ключа в
оставшейся части массива, помещается на второе место и исключается из
дальнейшего анализа и т.д.
. В чем суть алгоритма сортировки обменом?
Выполняется последовательный анализ массива
данных: если два соседних элемента (ключа) не удовлетворяют условию (1), то они
меняются местами; если в процессе такого анализа выполнена хотя бы одна
перестановка, процесс сравнения повторяется с начала массива, иначе алгоритм
заканчивает работу.
. В чем суть алгоритма сортировки вставками?
Массив рассматривается состоящим из двух частей:
отсортированной части и неотсортированной части.
На первом шаге отсортированная часть содержит
первый по порядку элемент (запись) массива, неотсортированная - остальные. Шаг
в данном случае - это последовательность операций по добавлению (вставке)
одного элемента (первого из неотсортированной части) в то место отсортированной
части, которое после этого будет удовлетворять условию (1).
На втором шаге первый элемент из неотсортированной
части сравнивается поочередно с элементами отсортированной части и
устанавливается на место, удовлетворяющее условию (1); при этом может
потребоваться сдвиг всех расположенных ниже места вставки элементов на одну
позицию вниз; после этого отсортированная часть содержит два элемента и т.д.
. В чем суть алгоритма цифровой сортировки?
Этот метод еще называется сортировкой
"вычерпыванием". Он удобен для сортировки целых чисел (ключей),
имеющих сравнительно небольшой диапазон.
Пусть даны N целых чисел в массиве А,
принадлежащих диапазону от Amin до Amax включительно.
Каждому числу Ai поставим в соответствие j-й
элемент массива L; при этом индекс элемента определяется по формуле
= Ai - Amin + 1.
Необходимо, чтобы массив L имел длину не менее K
= Amax-A min+1.
. Для каких данных можно применять цифровую
сортировку?
Он удобен для сортировки целых чисел (ключей),
имеющих сравнительно небольшой диапазон.
. В чем суть алгоритма сортировки подсчетом?
Идея алгоритма заключается в том, чтобы попарно
сравнить значения всех ключей массива К и при этом для каждого ключа Ki
подсчитать количество меньших его ключей Ci. Затем каждый i-й элемент (запись)
исходного массива К устанавливается на место, номер которого равен Ci+1 в
массиве А.
. В чем суть алгоритма сортировки слияние?
Этот алгоритм применим для внешней и внутренней
сортировки. Рассмотрим вариант для внешней сортировки.
Даны два файла A и B, содержащие упорядоченные
по возрастанию целые числа, длины файлов различны. Требуется сформировать файл
С, содержащий данные из файлов А и В в порядке возрастания.
Основные шаги алгоритма:
) прочитать по одному элементу из файлов А и В;
) сравнить прочитанные элементы, меньшее
записать в файл С;
) прочитать следующий элемент из того файла,
элемент которого был записан в С, и повторить п. 2;
) если один из файлов закончился, то остаток
второго добавить к сформированной части файла С.
Выводы о проделанной лабораторной работе: В ходе
выполнения работы я освоил методы проектирования Pascal-программ с помощью
сортировки данных.
Отчет о выполнении лабораторной работы
РАЗРАБОТКА PASCAL-ПРОГРАММ С ИСПОЛЬЗОВАНИЕМ
ГРАФИЧЕСКИХ ПРОЦЕДУР И ФУНКЦИЙ
Цель работы: Освоение методов проектирования
Pascal-программ с использованием графических процедур и функций.
Задание на лабораторную работу:
Разработать с использованием процедур и функций
из стандартного модуля Graph программу, обеспечивающую вывод графика заданной
функции, осей координат и поясняющего текста.
Блок - схема программы:
Описание программы:
1. Выводит сообщения о назначении программы;
( при этом можно использовать текстовый режим);
. Происходит обработка ошибок при вводе данных и
инициализация графического режима;
. Выводит результаты в графической форме с
использованием трех цветов для оформления фона и элементов чертежа;
. Выводит надписи над графиком: " График
функции Y = ...";
. Выводит начальных и конечных значений
аргумента и функции около осей координат (Xн, Xк, Yн, Yк).
Законченная программа будет иметь вид:
unit m_unit;draw_s ;show_s ;:
Integer;,Xmax:real;,b,c:real;crt,graph;InitGraf:Integer; {Функция
инициализирует
графический
режим}:Integer;
{0 - Нет
ошибок.
Или
код ошибки}
gd,gm:integer;
{Драйвер и режим}
begin
CodeError:=
0; {Первичная инициализация, предпологается что все пройдет без ошибок}
gd:=detect;(gd,gm,'d:\BP\BGI\');GraphResult
<> grOk then:=GraphResult; { Возвращается
код
ошибки
}:= 0; { Возвращается
0, ошибок
нет
};:=CodeError;;
{***********************************************************}
{***********************************************************}
{***********************************************************}draw_s;
{Процедура
вывода
диаграммы
на
экран};InitGraf
= 0 then_s;;(12);
writeln('Ошибка
инициализации видеодрайвера');
readkey;;;
{***********************************************************}
{***********************************************************}
{***********************************************************}f(x:real):real;cos(b*x)
= 0 then f:=0f:=a*(sin(b*x)/cos(b*x))-c;;show_s; {Процедура
прорисовки
диаграммы}:
integer; {Высота экрана}:
integer; {Ширина экрана}:real;:
integer;: real ; {Масштаб
по
Y}: real ; {Масштаб по
X},y0:integer;,Y:real;:Real; {макс}:Real;
{мин}:integer;:string;:=GetMaxX;:=GetMaxY;:=50;:=(Xmax-Xmin)/cnt;:=Xmin;:=F(x);:=F(x);X<Xmax
doF(x) > MM then MM:=F(X);F(x) < MMM then
MMM:=F(X);:=X+deltax;;:=(Ht-2*MinusY)/ABS(MM-MMM);:=Wt/(2*(Xmax-Xmin));:=Xmin;:=Trunc(wt/2)+trunc(X*ZmX);:=Ht-MinusY-trunc(F(X)*ZmY);(X0,Y0-MinusY);(1,
HorizDir, 1);(X0,Y0);i:=1 to CNT
do:=X+deltax;:=Trunc(wt/2)+trunc(X*ZmX);:=Ht-2*MinusY-trunc(F(X)*ZmY);F(X)<>0
THEN
lineto(X0,Y0):=X+deltax;:=Trunc(wt/2)+trunc(X*ZmX);:=Ht-2*MinusY-trunc(F(X)*ZmY);(X0,Y0);;;
{Рисуем
оси}:=0;:=Trunc(wt/2)+trunc(X*ZmX);:=Ht-2*MinusY;(X0+10,Y0+10);('0');(X0,Y0);(X0,Ht);(X0,Y0);(X0,2*MinusY);('Y');(X0,Y0);(0,Y0);(X0,Y0);(Wt,Y0);(Wt-50,Y0-30);('X');:=Trunc(wt/4);:=MinusY;(X0,Y0);(5,
HorizDir, 1);('Function Y=a*tg(b*x)-c;');;
end;
end.
Контрольные вопросы:
. Какие процедуры используются для инициализации
графического режима?
В настоящее время более 50 стандартных
графических процедур и функ-ций содержится в стандартном модуле Graph.tpu.
Чтобы воспользоваться возможностями модуля GRAPH.tpu, необходимо иметь компьютер,
осна-щенный видеоадаптером. В состав модуля Graph входит ряд программ-драйверов
для наиболее распространенных видеоадаптеров: CGA, MCGA, EGA, VGA, SVGA,
Hercules, AT&T, 3270 PC. Эти драйверы хранятся в файлах с расширением .BGI
(Borland Graphic Interface). Для множества символов имеются файлы описаний с
расширением .CHR.
. Какова структура графической Pascal-программы?
Любая программа Turbo Pascal, использующая
графические процедуры и функции из модуля Graph, имеет следующую типовую
структуру:
Program prog_graph;Graph, Crt,
...... ;
var grDriv, grMod : integer;
код графического режима
код видеографического устройства
.....................
{ Процедуры и функции }
function F(var x : real) : real
..........;
.....................
...............................('Введите
XN, XK :'); { Ввод исходных
данных
}
Readln (Xn, Xk); { в текстовом режиме }('Введите
количество точек графика : ');(N);
{ Вычисление Yn и Yk и шага изменения аргумента
h }
...............................
{--------------- Инициализация графического
режима ------------}:= Detect;
InitGraph(grDriv, grMod,
'D:\TP\BGI');
{ путь к графическому драйверу}
{--------- Проверка успешного завершения
инициализации --------}
if GraphResult <> GrOK then(' Ошибка
!!!');
{... обработка кода ошибки .....}(1000);;
{---------------- Основная часть программы
--------------------}:=...; { Задание области вывода графика; }:=...; {можно
вводить с клавиатуры или задавать}:=...; {в программе }:=...;:=...; { Расчет
масштабов }:=...;
........... { Установка цветов, типов линий и
др.}:=xn; { Переход в начало графика }
x:=x+h;x < xk do
begin
:=F(x);
...
... { Черчение отрезка прямой от предыдущей
точки к }
... { точке
(x, y)}:=x+h;
.......... { Черчение осей координат }
.......... { Вывод текста }KeyPressed;
{---------------- Завершение графического режима
--------------}.
. В чем суть алгоритма построения графика
функции?
Суть заключается в получении графика требуемой
функции.
. Как задается код графического режима и код
графического устройства?
Задание графического режима и кода графического
устройства имеет следующую типовую структуру:
Program prog_graph;Graph, Crt,
...... ; grDriv,
grMod : integer;
код графического режима
код видеографического устройства
. Какие графические процедуры и функции относятся
к управляющим?
. Какие графические процедуры и функции
используются для формирования экрана, окна, страницы?
ClearDevice
GetMaxY
. Какие графические процедуры и функции
используются для работы с точечными изображениями?
. Какие графические процедуры и функции
используются для работы с графическими примитивами типа "линия"?
LineTo
LineRel
MoveTo
SetLineStyle
. Какие графические процедуры и функции
используются для работы с дугами, фигурами, штриховкой?
Arcd
10. Какие графические процедуры и функции
используются для работы с цветом и палитрой?
SetBkColor
11. Какие графические процедуры и функции
используются для работы с текстом?
. В чем суть алгоритма поиска экстремумов
нелинейных функций?
Чтобы график заданной функции входил в
предоставленное для его изображения окно, необходимо точно рассчитать масштабы
Мx и Мy. Точность масштаба по оси Y (Мy) зависит от того, насколько точно будет
произведен расчет граничных значений (экстремумов) функции Yфmin и Yфmax в
заданном диапазоне (Хн ..Хк).
Выводы о проделанной лабораторной работе: В ходе
выполнения работы я освоил методы проектирования Pascal-программ с
использованием графических процедур и функций.