Проектирование Pascal-программ

  • Вид работы:
    Контрольная работа
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    411,71 Кб
  • Опубликовано:
    2014-10-18
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Проектирование 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-программ с использованием графических процедур и функций.

Похожие работы на - Проектирование Pascal-программ

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!