Текст программы - раздел Информатика, Информатика Лабораторный практикум По программированию На Турбо-Паскале Program Graph_Work;
{ Программа Лабораторной Работы N 8.
Ва...
Program Graph_work;
{ Программа Лабораторной работы N 8.
Вариант N 31.
Построение графика функции.
А.Я.Умненькая, ст. гр. Я-007 }
Uses Graph,Crt,Print; {Print – только при наличии принтера для печати графика с экрана на бумагу }
Var
X,Y, { текущие значения переменных Х и Y }
Xmin,Xmax,{минимальное и максимальное значения Х на графике}
Ymin,Ymax,{минимальное и максимальное значения Y на графике}
DeltaX,DeltaY,{диапазоны изменения X и Y в пределах рисунка}
Dx, { шаг построения графика по Х }
Dxs,Dys, { Шаги разметки осей по Х и по Y }
Part,Pole, { Доля экрана, занятая рисунком и доля чистого поля с каждой стороны }
Mx,My {Коэффициенты пересчета Х в J и Y в I}
: real;
Imin,Imax, {координаты экрана, соответствующие Ymin и Ymax}
Jmin,Jmax, {координаты экрана, соответствующие Xmin и Xmax}
J,I, {текущие значения переменных координат экрана }
JAll,IAll, {Максимальные размеры экрана (в пикселях) по X,Y}
J0,I0, {Координаты на экране точки пересечения осей графика}
DeltaJ,DeltaI,{Экранные размеры рисунка по Х и Y в пикселях}
Nx,Ny {Шаги разметки осей Х и Y в пикселях }
: integer;
Riska : String[5]; {Строка для вывода чисел у рисок осей}
GraphDrv, {Тип графического драйвера }
GraphMode: integer; {Устанавливаемый графический режим}
Code: word; {Код завершения инициализации графики }
BEGIN { Начало программы }
{1.Задание констант, стандартных значений }
Xmin:=-1.0; Xmax:=2.0;
Dxs:=0.5; Dys:=1.0;
Part:=0.6; Dx:=0.2;
{2.Ввод исходных данных - в примере не используем}
{3.Печать исходных данных - в примере не используем}
{4.Расчет характеристик функций }
DeltaX:=Xmax-Xmin;
Ymin:=exp(Xmin);
Ymax:=exp(Xmax);
if Ymin>0 then Ymin:=0;
if Ymax<0 then Ymax:=0;
DeltaX:=Xmax-Xmin;
DeltaY:=Ymax-Ymin;
{5.Открытие графики с проверкой правильности срабатывания}
GraphDrv:=0; {пусть определяет режим сам }
InitGraph(GraphDrv,GraphMode,'D:TP6BGI');
Code:=GraphResult;
if Code<>0 then {если завершение с кодом не 0 - закончить программу}
Begin
writeln('Ошибка открытия графики с кодом: ',Code);
Halt; { Останов программы }
End;
{6.Настройка фона}
SetBkColor(15); {Фон белый }
ClearDevice; {Очистка экрана}
{7.Расчет параметров графика на экране}
JAll:=GetMaxX;
IAll:=GetMaxY;
Pole:=(1.0-Part)/2.0;
Jmin:=Round(Pole*JAll);
Jmax:=Round((1.0-Pole)*JAll);
Imin:=Round((1.0-Pole)*IAll);
Imax:=Round(Pole*IAll); { Imin > Imax !!! }
DeltaJ:=Jmax-Jmin;
DeltaI:=Imax-Imin;
{8.Расчет масштабных коэффициентов перехода от X к J и от Y к I}
Mx:=DeltaJ/DeltaX;
My:=DeltaI/DeltaY;
{9.Построение графика функции}
{9.1.Задание характеристик линии}
SetColor(4); { цвет красный }
SetLineStyle(3,0,3); { штриховая толстая }
{9.2.Начальная точка графика}
Nx:=Round(Dxs*Mx);
Ny:=Round(Dys*My); { Шаг разметки по Y - отрицательный }
J:=Jmin;
I:= Imin+Round((exp(Xmin)-Ymin)*My);
MoveTo (J,I);
{9.3.Цикл расчета экранных координат графика (X->J, X->Y->I) и проведения отрезков}
X:=0;
While X<=Xmax do
Begin
X:=X+Dx;
Y:=exp(X);
J:=Jmin+Round((X-Xmin)*Mx);
I:=Imin+Round((Y-Ymin)*My);
LineTo(J,I);
End;
{10.Построение осей 10.1.Задание характеристик линии }
SetColor(8); { цвет темно-серый }
SetLineStyle(0,0,3); { сплошная толстая }
{10.2.Построение осей }
J0:=Jmin+Round((0-Xmin)*Mx);
I0:=Imin+Round((0-Ymin)*My);
Line(J0,Imin,J0,Imax); {Построение оси Y (где X=0)}
Line(Jmin,I0,Jmax,I0); {Построение оси Х (где Y=0)}
{11.Разметка осей 11.1.Задание характеристик линии }
SetLineStyle(0,0,0); { сплошная тонкая }
{11.2.Характеристики шрифта для подписи значений }
SetTextStyle(0,0,0); { шрифт стандартный, подпись горизонтальна }
SetTextJustify(1,2); {Размещение текста симметрично, относительно заданной точки по горизонтали и ниже точки по вертикали}
{11.3.Цикл проведения разметки оси X, риски вверх от оси, по 10 пикселов }
J:=J0;
X:=0;
while J<=Jmax+1 do {от начала координат - вправо }
begin
Line(J,I0,J,I0-10);
Str(X:3:1,Riska);
OutTextXY(J,I0+5,Riska);
X:=X+Dxs;
J:=Jmin+Round((X-Xmin)*Mx);
end;
J:=J0;
X:=0;
while J>=Jmin do {от начала координат - влево }
begin
Line(J,I0,J,I0-10);
Str(X:3:1,Riska);
OutTextXY(J,I0+5,Riska);
X:=X-Dxs;
J:=J-Nx;
end;
{11.4.Цикл проведения разметки оси Y, риски вправо от оси, по 10 пикселов }
SetTextJustify(2,1); {Размещение текста симметрично, относительно заданной точки по вертикали и левее точки по горизонтали }
I:=I0;
Y:=0;
while I>=Imax do {от начала координат - вверх }
begin
Line(J0,I,J0+10,I);
Str(Y:3:1,Riska);
OutTextXY(J0-10,I,Riska);
Y:=Y+Dxs;
I:=I+Ny;
end;
{ Для данной функции ниже оси Х разметка не нужна}
I:=I0;
while I<=Imin do
begin
Line(J0,I,J0+10,I);
I:=I-Ny;
end;
{12.Подпись графика}
{12.1.Характеристики шрифта, цвет }
SetColor(1); { цвет синий }
SetTextJustify(1,1); {Размещение текста симметрично, относительно заданной точки по горизонтали и по вертикали}
{12.2.Вывод подписи }
I:=Round(IAll*(1-Pole/2)); {середина нижнего поля}
OutTextXY(JAll div 2,I,'График функции Y = exp(X)');
{13.Задержка графика на экране }
while Not KeyPressed do;
{14. Вывод графика на печать (на принтер) - только если он подключен }
Pr;
CloseGraph; {14.Закрытие графического режима }
END.
Рисунок 10. Результат работы программы 31-го варианта
Все темы данного раздела:
На Турбо-Паскале
Санкт-Петербург
УДК 681.3.06
Требования к программе
Программа должна содержать комментарий с указанием названия работы, номера варианта, фамилии студента и номера группы Аргументы задавать операторами присваивания значений. П
Общие пояснения
Данная работа, как и все последующие, предполагает написание программы на языке Паскаль. Поскольку это первая работа по составлению программы, ниже приводится общая структура и правила написания пр
Требования к программе
· Программа должна содержать комментарий по форме, указанной в работе № 1.
· Константа, встречающаяся в задании два или более раз, должна быть использована в программе в форме именованной
Общие пояснения
1.Алгори
Формирование таблицы идентификаторов
В задании упоминаются: двумерный массив вещественного типа, количество строк (М<=7), количество столбцов (N<=7), входной текстовый файл, номер столбца с мини
Алгоритм
Должен содержать следующие шаги:
Открытие входного и выходного файлов. Текстовый входной файл связывается с набором данных с вещественными числами 'D:LAB1DATF.TXT' и
Текст программы.
PROGRAM SortNum;
{ Программа Лабораторной работы N 5
Вариант N 31.
А.Я.Умненькая, ст. гр. Я-007 }
VAR
M,N,Jmin,i,j,i1,ki : integer;
Amin,Pr : r
Содержимое файла результатов UMNIK5.RES
Исходный массив из 7x7 элементов
-2.20 -6.93 0.20 8.97 8.09 5.38 7.82
5.43 15.33 13.60 9.32 17.38 17.70 16.26
13.13 13.78 20.59 17.91 15.16 19.02 21.66
Вопросы, изучаемые в работе
· Изучение понятия рекуррентных соотношений.
· Применение алгоритмов вычисления элементарных функций как сумм бесконечного числа слагаемых.
· Продолжение изучения организации итер
Требования к программе
Программа должна содержать комментарий с указанием названия работы, № варианта, фамилии студента и № группы. Значения, отмеченные в таблице вариантов символом "*" в програм
Общие пояснения
Для приближенных вычислений значений некоторых функций используется метод представления этих функций в виде ряда бесконечного числа слагаемых.
Если неизвестная функция разложена в ряд
Рассмотрение метода решения
Расчет суммы будем проводить по рекуррентной формуле: S=S+C, т.е. новое значение суммы S есть старое значение суммы S + очередное слагаемое
Алгоритм
Должен содержать следующие шаги:
1. Задание исходных данных в разделе констант (для A и B);
2. Ввод исходных данных (Dx и
Текст программы.
program Tabl_Of_Fx;
{
Программа Лабораторной работы N 6 Вариант N 31.
Использование рекуррентных формул в итеративных циклах.
А.Я.Умненькая, ст.
Результаты расчета
Файл UMNIK6.RES будет в этом случае содержать:
Исходные данные
Интервал X: [-0.05 0.04],
Шаг X:0.010, шагов: 9, точность: 1.0E-0006
Результаты р
Общие пояснения к использованию процедур и функций.
Процедуры и функции пользователя являются двумя видами подпрограмм, которые необходимо описать в разделе описаний основной программы (или предварительно поместить в личную библиотеку) и вызывать по
Механизм параметров
В список параметров включаются исходные данные для работы процедуры/функции (входные параметры) и, если надо, указания, куда поместить результаты работы процедуры (выходные параметры).
Сущ
Текст программы.
PROGRAM KorrMas;
{ Лабораторная работа N 7 Вариант N 31
Обработка массива
А.Я.Умненькая, ст. гр. Я-007 }
TYPE
Massiv = array[1..13,1..10
Вопросы, изучаемые в работе
Изучение строения и использование процедур, функций, раздела Graph, используемого при выводе на экран информации в графической форме. Работа с цветом. Прое
Графический режим экрана
Чтобы использовать графику в программах на Турбо-Паскале необходимо научиться планировать размещение на экране выводимой информации (т.е. разобраться в алгоритме вывода графических объектов на экра
Алгоритмы построения графиков на экране
Графический режим может использоваться как для произвольного рисования (когда с помощью графических процедур проводятся отрезки прямых линий или дуги эллипсов через выбираемые точки экрана), так и
Стандартный модуль работы с графическим экраном Graph
1) назначение модуля
Подключаются процедуры и функции по работе с экраном в графическом режиме, т.е. когда доступной становится любая точка (пиксель) экрана. Для их использования необходим
Алгоритм
1.Задание констант, стандартных значений;
2.Ввод исходных данных;
3.Печать исходных данных;
4.Расчет характеристик функций;
5.Открытие графики с проверкой правил
Вопросы, изучаемые в работе
Разработка программы с динамическим выделением памяти. Работа с переменными комбинированного типа - записями. Работа с переменными ссылочного типа - указателями. Пр
Требования к программе
Программа должна содержать комментарий с указанием названия работы, № варианта, фамилии студента и № группы. Все созданные в программе динамические переменные в конце должны быть уда
Общие пояснения
Переменные, которые описываются в разделе описаний (VAR), называются статическими. Память для них выделяется перед началом выполнения программы, и во время выполнения программы не
Односвязные списки
Пример организации односвязного списка приведен ниже.
Type
Z=Record {комбинированный тип для данных}
a: String; {строковое поле}
b, c: Integer; {поле целых чисел
Двусвязные списки
В двусвязных списках базовый комбинированный тип S для указателей типа P будет иметь два адресных поля: поле ls ссылки на следующую запись списка
Нульсвязные списки
К таким спискам относятся стек, очередь и дек. В отличие от прочих типов списков, по которым можно перемещаться, используя находящиеся в звеньях указ
Описание файлов с данными
В данной работе предлагается использовать два типа файлов с исходными данными. Оба файла содержат одну и ту же информацию, но хранят ее в разной форме. Файл с именем Dan.dat предст
Алгоритм
Укрупненные шаги алгоритма основной программы приведены под заголовком "содержание программы" (при оформлении отчета, алгоритмы следует включить в блок-схему программы). Рассмотрим строен
Текст программы
Program Lab_9;
{ Программа Лабораторной работы N 9
Динамические переменные. Списки.
Вариант N 31.
А.Я.Умненькая, ст. гр. Я-007}
TYPE data = record {опис
Главное меню
При входе в интегрированную среду системы программирования Турбо-Паскаль (для этого достаточно вызвать модуль turbo.exe), сразу становится доступным главное меню, которое расположено в самой верхне
Команды опции File.
Open: выбор и открытие файла с исходным текстом для редактирования.
После активизации опции Open на экране появляется диалоговое окно, в котором находится список файлов те
Команды опции Edit.
Команды этого режима предназначены для различных операций с редактируемыми текстами – выделение фрагментов текста, удаления, копирования и перемещения их в любое нужное место. Выделение фрагментов
Команды опции Search.
Команды этого режима предназначены для поиска любой последовательности символов в редактируемых текстах.
Find – (поиск) – при выборе этой опции на экране появляется диалог
Команды опции Run.
Команды опции Run позволяют проводить компиляцию, компоновку и выполнение программы, а также осуществлять прогоны программы в различных отладочных режимах.
Run – ко
Команды опции Compile.
Выполняют компиляцию и компоновку Вашей программы, сформируют загрузочные файлы, а в случае необходимости сохраняют их на диске.
Compile –компиляция программы или модуля,
Команды опции Debug.
В режиме Debug можно пользоваться большими возможностями отладчика, встроенного в среду программирования Турбо-Паскаль 6.0. К ним в первую очередь относятся средства работы с окнами наблюден
Команды опции Options.
Меню Options предназначено для управления режимами компиляции и компоновки программ, написанных на Турбо-Паскале, для определения параметров интегрированной среды и, в частности, встроенного
Команды опции Window.
Это команды управления окнами. В системе программирования Турбо-Паскаль 6.0 могут быть открыты окна редактирования, наблюдений, вывода, помощи и браузера. Каждое из них может быть развернуто
Команды опции Help.
Служат для получения справочной информации по любым аспектам языка Турбо-Паскаль и его интегрированной среды. Эта информация, хранящаяся в файле TURBO.HLP, открывается в специальном окне, которое н
Меню окна редактирования
В состав этого меню входят четыре опции меню Edit – Cut, Copy, Paste и Clear; опция меню Help –Topic search; опция меню Run
Меню окна наблюдений
В состав этого меню входят шесть опций: Add, Modify, Remove, Clear all, Enable и Disable.
Add служит для добавления выражения в окно наблюдений. Любое выражение, пр
Основные команды встроенного редактора текста
Таблица 35. Список горячих клавиш
Горячая клавиша
Функция
Опция меню
F1
Открытие окна с подсказками
Сообщения об ошибках на шаге выполнения
Сообщения об ошибках на шаге выполнения имеют следующий формат:
Run-time error < номер > at < сегмент >:< смещенне >,
где < номер > – номе
Новости и инфо для студентов