- •«Комсомольский-на-Амуре государственный технический университет»
- •Основы программирования
- •Введение
- •1 Понятие алгоритма. Виды алгоритмов
- •2 Основы программирования
- •2.1 Обозначение переменных
- •2.2 Ввод данных
- •2.3 Вычисления
- •2.4 Вывод данных
- •2.5 Команда условия
- •2.6 Команды цикла
- •2.7 Процедуры и функции
- •2.8 Графические команды
- •2.9 Чтение-запись в текстовый файл
- •3. Примеры составления алгоритмов и программ
- •3.1 Линейный алгоритм
- •3.2 Разветвляющийся алгоритм
- •3.3 Циклический алгоритм
- •4 Лабораторный практикум
- •4.1 Программирование алгоритмов линейной структуры Лабораторная работа №1
- •Лабораторная работа №2
- •4.2 Программирование алгоритмов разветвляющейся структуры Лабораторная работа №3
- •Лабораторная работа №4
- •Лабораторная работа №7
- •Лабораторная работа №8
- •Лабораторная работа №9
- •Лабораторная работа №10
- •4.4 Процедуры и функции Лабораторная работа №11
- •4.5 Графические построения Лабораторная работа №12
- •Лабораторная работа №13
- •4.6 Работа с файлами Лабораторная работа №14
2.8 Графические команды
Использование графических команд расширяет возможности программирования и может служить одной из форм представления результатов в программе. Все графические команды описаны в модуле graph.tpu, который нужно подключать наряду с модулем crt.tpu. Рассмотрим пример программы с подключением и использованием графики.
Program Graphic;
Uses crt,graph;
Var GrDriver,GrMode,ErrCode: integer;
Begin
G
– инициализация
графики
InitGraph(grDriver, grMode,'');
ErrCode:=GraphResult;
If ErrCode=grOk then
begin
– графические
команды
действие 2;
…
Readkey;
C
– закрытие графики
end
else Writeln('Graphics error:', GraphErrorMsg(ErrCode));
End.
Рассмотрим написание и назначение некоторых графических команд:
1) Line(x1,y1,x2,y2) – построение линии по двум точкам;
2) Bar(x1,y1,x2,y2) – построение прямоугольника относительно диагонали, построенной по двум точкам;
3) Circle(x,y,R) – построение окружности радиусом R с центром в точке x,y;
4) Pieslice(x,y,α1,α2,R) – построение сектора радиусом R с центром в точке x,y от угла α1 до угла α2;
5) SetColor – задание цвета графических объектов;
6) SetFillStyle(n,m) – задание способа (n) и цвета (m) заливки фигуры.
При построении графических объектов в Pascal следует помнить, что графический экран представляет из себя систему координат с началом в верхнем левом углу с максимальными значениями x=640 и y=480.
2.9 Чтение-запись в текстовый файл
При проведении различных инженерных расчетов с помощью программирования бывает необходимо записывать результаты вычислений в текстовый файл. Это может быть сделано для того, чтобы передать затем эти данные из текстового файла в другое приложение с целью их последующей обработки. Также данные из текстового файла могут быть считаны для последующего их использования в программе. Для подобных операций записи и чтения в Pascal существуют специальные команды. Рассмотрим пример программы, с последующим комментарием.
Program ReadWrite;
Uses crt;
Var a,b:real;
File:text;
Begin
Write(‘Введите число’);
Readln(a);
b:=2*a;
Assign(Fail,’D:\data.txt’);
Rewrite(File);
Writeln(File,‘Ответ: b=’,b:2:3);
Close(File);
End.
При работе с текстовым файлом появляется новая переменная (File) формата text. Перед записью данных устанавливается связь переменной File с конкретным файлом на компьютере с помощью команды Assign. Последующая команда Rewrite перезаписывает указанный файл или создает его заново, если такого нет по указанному пути. При записи в команде вывода Write в начале указывается, что вывод будет осуществляться в переменную File, а, следовательно, в файл data.txt. Работа с файлом заканчивается командой Close.
Дополнительно существует команда Append, которая позволяет добавлять данные в уже имеющийся файл без его перезаписи.
При чтении данных из файла вместо команды Write используется команды Read.
3. Примеры составления алгоритмов и программ
3.1 Линейный алгоритм
Пример 1. Определить мощность главных двигателей судна для обеспечения скорости хода 20 узлов, если известно сопротивление воды движению судна и пропульсивный КПД установки.
,
гдеN – мощность главных двигателей, л.с.; R – сопротивление воды движению судна, кг; V – скорость хода, уз; – пропульсивный КПД установки.
Рисунок 1 – Блок схема линейного алгоритма
Программа:
Program Primer1;
Uses Crt;
Var N,V,R,KPD:real;
Begin
Write(‘Введите сопротивление воды движению судна, кг:’);
Readln(R);
Write(‘Введите скорость хода судна, уз:’);
Readln(V);
Write(‘Введите пропульсивный кпд установки:’);
Readln(KPD);
N:=0.515*R*V/(75*KPD);
Writeln(‘Мощность главных двигателей N=’, N:1:3);
Readkey;
End.