1 Модули Лекция 4 План 1.Общая характеристика модулей. 2.Модуль CRT и GRAPH 3.Нестандартные модули. Составление программ с использованием модулей Лектор:

Презентация:



Advertisements
Похожие презентации
Модули Информатика. Наличие модулей в Turbo-Pascal позволяет программировать и отлаживать программу по частям, создавать библиотеки программ и данных.
Advertisements

1 ПОДПРОГРАММЫ. МАССИВЫ КАК ФОРМАЛЬНЫЕ ПАРАМЕТРЫ ПОДПРОГРАММ Лекция 3 План 1.Процедуры и функции с использованием массивов в заголовке 2.Описание подпрограмм.
Графика в Turbo Pascal ГБОУ СПО «КСТ», г. Калуга преподаватель Шамрина Ольга Николаевна.
Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 5.
Program [ ] ; (заголовок программы) Var [ ] ; (раздел описания переменных) Begin (начало) Раздел операторов ; (команды) End. (конец)
Операторы графики. Содержание Открытие и закрытие графического режимаОткрытие и закрытие графического режима Графические операторы Обобщение (основные.
МЕТОД ПОСЛЕДОВАТЕЛЬНОЙ ДЕТАЛИЗАЦИИ. ПРОЦЕДУРЫ И ФУНКЦИИ Урок 1.
Графический режим Инициализация графического режима. Построение точки, линии.
Практическое занятие 29. Программирование графики и звука в языке Turbo Pascal.
Экран в графическом режиме представляет собой прямоугольник, заполненный точками – пикселями. X Y y x (0,0) Для построения изображения используется система.
ГРАФИКА program имя; USES GRAPH; {подключение модуля} var GR,GM:integer; begin GR:=detect; initgraph(gr,gm,' '); {вызов процедуры GRAPH} графические операторы.
Задание графического режима Линия Прямоугольник Окружность Эллипс Дуга выход Тест 2Тест 1 содержание.
Модули, созданные программистом Любознательные юные программисты ещё не знают что их ожидает =)
При работе в текстовом режиме экран монитора разбивается на строки, а строки – на позиции, в каждую из которых можно поместить только один символ. Положение.
Что такое структурный подход в программировании? Как он реализуется в ЯП Паскаль? Что такое процедура? Кто дает название процедуре? Где записывается процедура?
Графика в Турбо Паскаль. Принципы формирования изображения.
Электронный справочник по процедурам и функциям модуля Graph языка программирования Turbo Pascal автор: Алиева Ирина Викторовна Учитель информатики и ИКТ.
Заглавные и строчные латинские буквы цифры 0…9 специальные символы + - * / = > <., : ^ () {} [] $ #
Тема урока: «ГРАФИЧЕСКИЕ ВОЗМОЖНОСТИ ЯЗЫКА PASCAL»
Функции. Функция- это подпрограмма, которая вычисляет и возвращает некоторое значение. Функции описываются в разделе описаний следующим образом: Function.
Транксрипт:

1 Модули Лекция 4 План 1. Общая характеристика модулей. 2. Модуль CRT и GRAPH 3. Нестандартные модули. Составление программ с использованием модулей Лектор: профессор, д.т.н. Иванчина Эмилия Дмитриевна

2 1. Общая характеристика модулей Модуль - это программная единица, включающая в себя различные компоненты раздела описаний (типы, константы, переменные, процедуры и функции) и исполняемые операторы. Наличие модулей в программе позволяет решать сложную задачу по частям, создавать библиотеки подпрограмм, пользоваться возможностями стандартных модулей. Модуль содержит описания констант и переменных, а также подпрограммы, которые используются в расчетах. Подпрограмму имеет смысл включать в состав модуля в том случае, если она реализует действия, которые повторяются. Подпрограммы, входящие в модуль, можно написать один раз, а использовать многократно.

3 Доступ к описаниям, функциям и процедурам модуля обеспечивает оператор использования Uses, в котором указывается имя модуля. Этот оператор размещается в разделе описаний главной программы сразу после заголовка. Если в главной программе используется не один модуль, а несколько, то необходимо указать имена всех модулей, перечислив их через запятую. Модуль начинается заголовком unit _name; где name – имя модуля, которое выбирается в соответствии с общими правилами. Файл, содержащий модуль, обязан иметь то же имя, что и модуль.

4 Каждый модуль начинается с зарезервированного слова unit и заканчивается словом end, за котором следует точка. Для этого end не требуется соответствующего слова begin, хотя можно и поставить его непосредственно перед end. Interface Интерфейсная секция описание заголовков процедур и функций Implementation Секция реализации содержит обращение к процедурам и функциям Секция инициализации содержит обращение к модулю.

5 2. Модуль CRT и GRAPH TextColor(Color:n) - устанавливает цвет n выводимых на экран символов.TextBackGround(Color:m) - устанавливает цвет фона m, т.е. цвет области, которая окружает отображаемый на экране символ. ClrScr - очищает активное окно и устанавливает курсор в верхний левый угол экрана. GotoXY(x,y:byte) - перемещает курсор в позицию с координатами X,Y экрана. WhereX - возвращает X-координату текущей позиции курсора. WhereY - возвращает Y-координату текущей позиции курсора.

6 Пример 1. Массив X(N) напечатать на экране, выделить элементы цветом, превышающие по значению величину К. PROGRAM P1; USES Crt; VAR x:array[1..20] of real; i, N, M:integer; K:real; BEGIN readln(N,M,K); FOR i:=1 TO N DO readln(x[i]); ClrScr; FOR i:=1 TO N DO IF x[i]>K THEN BEGIN TextColor(14);TextBackGround(4); END ELSE BEGIN TextColor(15);TextBackGround(1); END; write(x[i]:6:4);END; END.

7 Модуль Graph позволяет работать с экраном в графическом режиме В этом режиме любое изображение на экране синтезируется из мельчайших элементов, называемых пикселями. Каждый пиксель представляет собой светящуюся точку таких размеров, при которых промежутки между отдельными пикселями отсутствуют. Если группа смежных пикселей светится, то они воспринимаются не как совокупность отдельных точек, а как сплошной участок. В графическом режиме экран разделяется прямоугольной сеткой, каждый элемент которой имеет свои координаты. Левый верхний угол экрана имеет координаты (0,0). Значение левой координаты (X) увеличивается в горизонтальном направлении слева направо. Значение правой координаты (Y) увеличивается в вертикальном направлении сверху вниз.

8 Установка цвета линий осуществляется процедурой SetColor(Color:integer). Пример 2. USES Graph; VAR Gd,Gm:integer; BEGIN Gd:=Detect; InitGraph(Gd,Gm,'d:\bp\bgi'); rectangle(100,50,200,100); line(100,50,200,100); line(100,100,200,50); ellipse(150,75,0,360,50,25); readln; CloseGraph; END.

9 Графический режим инициализируется с помощью стандартной процедуры InitGraph. При этом переменным Gd и Gm необходимо указать значение Detect, описанной в модуле Graph для автоматического распознавания типа адаптера. Третий параметр процедуры InitGraph - путь до файла с загрузочным модулем драйвера bgi. Если путь отсутствует, то поиск этого файла будет осуществляться в текущей директории. Для выхода из графического режима используется стандартная процедура CloseGraph. Эта процедура восстанавливает режим, существовавший до инициализации графики.

10 Для создания графических изображений модуль Graph предоставляет широкий набор процедур и функций. Рассмотрим точки и линии. 1. PutPixel(X,Y:integer;Color:word) - ставит на экране точку с координатами (X,Y) цвета Color. 2. Line(X1,Y1,X2,Y2:integer) - выводит на экран линию, соединяющую точки с координатами (X1,Y1) и (X2,Y2). 3. Rectangle(X1,Y1,X2,Y2:integer) - выводит на экран изображение прямоугольника с координатами диагонали (X1,Y1) и (X2,Y2). 4. Circle(X,Y:integer;Radius) - выводит на экран изображение окружности с координатами центра (X,Y) и радиусом (Radius).

11 3. Нестандартные модули Заголовок модуля состоит из зарезервированного слова unit и имени модуля. Имя модуля должно быть единственным. Модуль должен быть помещен в файл, имя которого совпадает с именем модуля, а его расширение -.pas. Пример заголовка: UNIT mod; Имя модуля не может состоять более чем из восьми символов.

12 Интерфейсная часть начинается словом interface. Через интерфейс осуществляется взаимодействие основной программы с модулем (модуля с модулем). В интерфейсе указываются константы, типы, переменные, процедуры и функции, которые могут быть использованы основной программой (модулем) при вызове этого модуля. В разделе объявления процедур и функций указываются лишь заголовки подпрограмм. Сами подпрограммы приводятся в исполнительной части.

13 Пример 3. Составить модуль для пересчета весовых долей парафиновых Углеводородов СnH2n+2 по формуле m.d.i =( v.d.i/Mi)/Сумма(v.d.i/Mi) и средний молекулярный вес углеводородов МS. i=1,..,6 M i =12*i+2*i+2

14 unit Mol; имя модуля Interface интерфейсная часть Type mas=array[1..6] of real; тип массива Function MS(var m:mas):real; заголовок функций Procedure MolDol(var Md,Mv:mas); заголовок процедур Var Md,Mv,M:mas; i:integer;

15 Implementation описание действий функции Function MS(var m:mas):real; var i:integer; S:real; Begin MS:=0; For i:=1 to 6 do M[i]:=12*i+2*(i+2); For i:=1 to 6 do S:=S+M[i]; MS:=S/6; end;

16 Procedure MolDol(var Md,Mv:mas); var i:integer; S:real; begin S:=0; For i:=1 to 6 do S:=S+Mv[i]/(12*i+2*(i+2)); For i:=1 to 6 do Md[i]:=(Mv[i]/(12*i+2*(i+2)))/S; end;end.

17 Program MM; Инициализация uses Mol; используем модуль Var i:integer; Begin For i:=1 to 6 do readln(Mv[i]); moldol(Md,Mv); обращение к процедуре For i:=1 to 6 do writeln(Md[i]); writeln(ms(m)); обращение к функции end.