
- •1. Создание консольного приложения в среде Delphi
- •Var х,у,z:real;
- •Save changes to Unitl.Pas? (Сохранить изменения в Unitl.Pas?),
- •1. Из таблицы 3.1 взять условие задачи (вариант согласовать с преподавателем). Таблица 3.1
- •Var a1 :textfile; // a1 – текстовый файл
- •При открытии файла желательно использовать функцию
- •InitialDir типа String – определяет каталог, содержимое которого отображается при вызове окна диалога. Если каталог не задан, то отображается содержимое текущего каталога;
- •С войства компонентов
- •Контрольные вопросы
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
К ЛАБОРАТОРНЫМ РАБОТАМ
Составители: О.В. Кривенко, доц., к.т.н.,
С.В. Кривенко, доц., к.т.н.
ОБЩИЕ ПОЛОЖЕНИЯ
Лабораторные работы предназначены для закрепления знаний, полученных студентом на лекциях и в результате самостоятельного изучения материала, и получения необходимых навыков выполнения инженерных и научных расчетов с использованием компьютера.
Распределение времени на лабораторные работы приведено в таблице:
№ |
Тема лабораторной работы |
Кол-во час. |
1 |
Разработка приложений в Delphi |
2 |
2 |
Программирование типовых алгоритмов вычислений |
2 |
3 |
Программирование с использованием подпрограмм |
4 |
4 |
Программирование с использованием структурированных типов данных |
4 |
5 |
Обработка файловых структур данных |
2 |
6 |
Построение и печать диаграмм |
2 |
Отчет по лабораторной работе оформляется в соответствии с требованиями к оформлению работ и обязательно должен содержать:
тему и цель работы;
индивидуальное задание;
блок-схему алгоритма решения задачи;
программу и результаты расчетов на компьютере;
выводы, характеризующие выбранный метод решения задачи, использованное программное обеспечение, особенности и результаты решения задачи на компьютере.
Лабораторная работа защищается, как правило, перед выполнением следующей работы. Программа должна быть представлена также на компьютере. Защита предусматривает демонстрацию работы программы и ответы на вопросы преподавателя.
Лабораторная работа №12
РАЗРАБОТКА ПРИЛОЖЕНИЙ В DELPHI
Цель:
- ознакомиться со средой программирования Delphi;
- освоить основы визуального программирования;
- изучить структуру программ Delphi;
- получить практические навыки в создании консольных и оконных приложений в среде Delphi, а также их отладке.
Общие сведения:
Delphi представляет собой систему быстрой разработки приложений Windows. В основе Delphi лежит Object Pascal фирмы Borland.
Окно Delphi имеет следующий вид (рис.1.1).
К
омпонентами
называют
экземпляры классов, которые являются
потомками класса TСomponent.
Визуальными
называются компоненты, которые видны
на форме во время выполнения приложения.
Для создания приложения Delphi необходимо расположить на форме соответствующие визуальные компоненты, а затем свойствам и событиям этих компонентов присвоить нужные значения. Для того чтобы расположить объект на форме, следует выбрать нужную закладку страницы под палитрой компонентов, щелкнуть на пиктограмме соответствующего компонента, переместить указатель мыши на форму в требуемое место и щелкнуть опять. После того как объект будет выбран, вокруг него появятся маркеры, используемые для изменения размеров объекта. Кроме того, выбранный объект можно перемещать по форме. Для того чтобы выбрать объект, необходимо щелкнуть на нем один раз или выделить его имя в раскрывающемся списке окна Object Inspector. Можно сразу выбрать несколько компонентов, щелкнув и охватив их пунктирной линией.
Свойства представляют собой величины, определяющие характеристики объектов. Например, такие объекты, как кнопки и метки, имеют свойство Font, позволяющее назначить имя шрифта, его размер и стиль.
События определяют действия объекта во время работы программы. При двойном щелчке на значении события в исходный код программы будет вставлена заготовка обработчика события. В данном случае действия объекта можно запрограммировать, разместив один или больше операторов Object Pascal между ключевыми словами begin и end процедуры, которую Delphi вставляет автоматически.
При выборе двух или больше объектов в окне Object Inspector появятся их общие свойства и события. Любые изменения значений этих свойств и событий повлияют на выбранные объекты.
Delphi поддерживает визуальное представление вашего приложения в окне формы и представление в виде исходного кода Object Pascal в окне редактирования модуля. Оба представления синхронизированы. Изменения в одном окне повлекут за собой изменения в другом.
Каждый проект обладает, по меньшей мере, одной формой, являющейся главным окном программы. Проекты могут иметь несколько форм. Форма является компонентом, но она не присутствует в палитре компонентов. Форма создается при выполнении нового проекта или команды File/New Form. Для каждой формы имеется соответствующий модуль, содержащий код формы. Значение свойства Name и имя файла модуля формы должны различаться. Форма обладает свойствами и событиями, которые можно программировать для определения характеристик окна и выполнения действий. Шаблоны форм полезны для создания часто используемых экранов, прототипов и демонстрационных программ. Можно выбрать один из готовых шаблонов форм или образовать собственный.
Задание:
Ознакомьтесь со средой программирования Delphi.
Составьте и отладьте программу линейной структуры для расчета значений функции Y(X) с помощью консольного и оконного приложений в среде Delphi (см. приведенный ниже пример). Функцию Y(X) выберите из таблицы 1.1 (вариант согласовать с преподавателем).
Таблица 4.1
№ варианта |
Функция |
№ варианта |
Функция |
1 |
|
16 |
|
2 |
|
17 |
|
3 |
|
18 |
|
4 |
|
19 |
|
5 |
|
20 |
|
6 |
|
21 |
|
7 |
|
22 |
|
8 |
|
23 |
|
9 |
|
24 |
|
10 |
|
25 |
|
11 |
|
26 |
|
12 |
|
27 |
|
13 |
|
28 |
|
14 |
|
29 |
|
15 |
|
30 |
|
Пример разработки приложений в среде Delphi:
Задание:
Составить программу для вычисления
.
1. Создание консольного приложения в среде Delphi
Создать консольное приложение можно различными способами. Наиболее простой из них следующий.
После запуска среды Delphi в главном меню выберите команды File|New. В результате откроется окно так называемого репозитория (архива) Delphi, предназначенного для накопления типовых форм и проектов.
Далее щелчком мыши выберите пиктограмму с подписью «Console Application» и нажмите кнопку ОК. После этого раскроется окно файла проекта (он имеет расширение .dpr) или, другое название, главного модуля проекта.
Наберите в окне файла проекта текст программы для вычисления значения z:
program Project2;
{$APPTYPE CONSOLE}
uses SysUtils;
Var х,у,z:real;
begin
writeln('Enter х,у');
readln(x,у);
z := (sqr(х)+sin(2*х-1)+0.5)/sqrt(x*x+y*y+1e4);
writeln('z=',z:7:4);
readln
end.
Перед тем как запустить программу на выполнение, необходимо сохранить ее при помощи команды File|Save All . Каждый проект рекомендуется хранить в отдельной папке. По умолчанию файл проекта имеет имя Project2.dpr, а программа - Project2. Если сохранить файл проекта под другим именем, например MyProgram.dpr. Delphi автоматически изменит имя программы на MyProgram. Строки программного кода, которые формируются средой Delphi, редактировать нельзя, иначе появятся сообщения об ошибках.
После этого запустите проект на выполнение с помощью команд Run|Run, или нажатием функциональной клавиши <F9>, или выбором кнопки Run на инструментальной панели быстрых кнопок.
После успешной компиляции и запуска программы на выполнение на экране появится стандартное окно программы с символьной строкой 'Enter х,у'. Необходимо ввести значения x и y и нажать Enter. В результате появится значение переменной z. Для того чтобы завершить работу программы и вернуться в среду Delphi, необходимо повторно нажать клавишу Enter (т.к. процедура readln без параметров приостанавливает выполнение программы).
Если после запуска программы компилятор выдал сообщение об ошибке, то ее следует исправить. Затем вновь запустить программу на выполнение. Этот процесс повторяется до тех пор, пока все синтаксические ошибки не будут исправлены после чего программа запустится на выполнение.
Второй способ создания консольного приложения.
После запуска Delphi или выполнения команды File|New Application необходимо закрыть окно формы (окно с заголовком Forml) и окно модуля приложения (окно с заголовком Unitl.pas).
При закрытии окна модуля Delphi выводит запрос:
Save changes to Unitl.Pas? (Сохранить изменения в Unitl.Pas?),
на который надо ответить «Нет», т.е. нажать кнопку No. В результате на экране останется только главное окно Delphi (заголовок: Delphi - Projectl) и окно инспектора объектов (заголовок: Object Inspector), которое тоже можно закрыть. После этого следует выполнить команду Project|View Source. В результате откроется окно Projectl.dpr файла проекта.
Далее файл проекта следует сохранить. Если имя файла будет изменено, то это отразится также в заголовке программы. Затем необходимо убрать все строки, кроме строк, содержащих ключевые слова program, uses, begin и end. После этого можно набрать текст программы, приведенной выше.
В содержимом папки, в которой сохраняется проект, находятся следующие файлы:
MyProgram.cfg - файл конфигурации проекта. Он содержит установки проекта, например используемые директивы компилятора.
MyProgram.dof - файл опций проекта. В нем хранится информация, необходимая для установки опций проекта.
MyProgram.dpr - файл проекта (главный модуль проекта).
MyProgram.exe - файл приложения или исполняемый файл. Он будет создан компилятором, если в процессе компиляции не будет обнаружено синтаксических ошибок. Исполняемый файл является автономным исполняемым файлом, т.е. для его работы не требуются какие-либо другие файлы. Его можно запускать на выполнение как любую другую исполняемую программу из терминала.
Файлы опций проекта и конфигурации проекта создаются Delphi автоматически, одновременно с созданием файла проекта.
Кроме перечисленных файлов, часто в папке размещается файл с расширением .~dpr, например MyProgram. ~dpr . Эго резервная копия файла проекта, которая создается при редактировании существующего файла проекта и содержит предыдущий вариант текста программы. Резервная копия используется, когда необходимо отказаться от внесенных в программу исправлений. При этом достаточно будет убрать символ «~» из имени файла.
2. Создание оконного приложения в среде Delphi
1. Необходимо создать новую папку, в которой будут размещены все файлы, входящие в проект (для каждого нового проекта создается отдельная папка). Создать новую папку можно также и в момент сохранения файлов, входящих в проект, используя кнопку Создание новой папки, имеющуюся в диалоговом окне сохранения файлов.
2. Создайте новый проект с помощью команд главного меню File|New Application или, если только что загружена среда Delphi, можно сразу приступать к созданию нового проекта.
3. Из страницы Standard Палитры Компонентов поместите на форму Forml следующие компоненты (рис.1.2):
Рис.1.2
4. Установите свойства формы, используя Инспектор Объектов:
Caption (Заголовок) = 'Расчет функции'
Height = 200
Width = 415
Left = 200
Тор = 170
Свойства Height и Width можно задать, изменяя размеры формы с помощью мыши. При этом автоматически будут изменяться указанные свойства, находящиеся в Инспекторе Объектов. Свойства Left и Тор можно задать, переместив форму с помощью мыши за ее заголовок приблизительно на середину экрана.
5. Установите свойства компонентов Labell, Label2 и Label3:
Labell: TLabel Name = Inf_Label Caption='Расчет значений функции Y(X)=(sqr(х)+sin(2*х-1)+ 0.5)/sqrt(x*x+y*y+1e4)’ Height = 25 Width = 360 Left = 25 Top = 5 AutoSize = False WordWrap = True Alignment = taCenter Font = Times New Roman Font Style = Bold Size = 12 |
Label2: TLabel Name = X_Label Caption = ‘X=‘ Height = 25 Width = 95 Left = 25 Top = 55 Font = Times New Roman Font Style = Normal Size = 12 |
Label3: TLabel Name = Y_Label Caption = ‘Y=‘ Height =25 Width = 95 Left = 25 Top = 95 Font = Times New Roman Font Style = Normal Size = 12 |
Размеры меток и их местоположение также регулируется вручную.
Для выравнивания компонентов используется панель инструментов Align (Выровнять), которая вызывается на экран дисплея с помощью команды View|Alignment Palette главного меню Delphi.
Выравнивать можно не только один компонент, но несколько компонентов одновременно. Для того чтобы выделить группу компонентов, необходимо при выделении удерживать нажатой клавишу Shift. Выравнивание компонентов автоматически изменяет значения свойств Left и Тор в Инспекторе Объектов.
6. Установите свойства Editl и Edit2:
-
Editl: TEdit
Name = X_Edit
Text = ‘ ‘
Height = 25
Width = 80
Left = 125
Top = 55
Edit2: TEdit
Name = Y_Edit
Text = ‘ ‘
Height = 25
Width = 80
Left = 125
Top = 95
7. Установите свойства компонента Memol:
Memol: TMemo
Name = Z_Memo
Height = 65
Width = 175
Left = 225
Top = 55
Lines = ‘ ‘
Для установления свойства Lines щелкните по кнопке с тремя точками. В появившемся окне String list editor удалите строку 'Memol'. Нажмите ОК.
8. Установите свойства кнопок Buttonl, Button2 и Button3:
-
Buttonl: TButton
Name = Calculate_Button
Caption='Расчет'
Height = 25
Width = 105
Left = 25
Top = 135
Button2: TButton
Name =Clear_Button
Caption=’Очистка’
Height = 25
Width = 105
Left = 105
Top = 135
Button3: TButton
Name = Exit_Button
Caption='Выход'
Height = 25
Width = 105
Left = 280
Top = 135
9. Двойным щелчком активизируйте кнопку Расчет. В результате окно редактора кода станет активным и будет содержать заготовку обработчика события OnClick. Добавьте в заготовку код для вычисления функции Z.
procedure TForm1.Calculate_ButtonClick(Sender: TObject);
var x,y,z:real;
begin
x:=StrToFloat(X_Edit.Text);
y:=StrToFloat(Y_Edit.Text);
z:=(sqr(x)+sin(2*x-1)+0.5)/sqrt(x*x+y*y+1e4);
Z_Memo.Lines.Add('Результат:');
Z_Memo.Lines.Add('z='+FloatToStrF(z,ffGeneral,7,2));
end;
10. Нажмите клавишу <F12> и вернитесь в форму. Двойным щелчком активизируйте кнопку Очистка и в обработчик события OnClick вставьте строки:
X_Edit .Clear;
Y_Edit.Clear;
Z_Memo.Clear;
11. Нажмите клавишу <F12> и вернитесь в форму. Двойным щелчком активизируйте кнопку Выход и в обработчик события OnClick вставьте строку
Close;
12. Сохраните программу перед запуском. Для сохранения проекта необходимо выполнить команду главного меню File|Save All. Имена файла проекта и модуля должны быть различными.
В главном меню Delphi имеются также другие команды для сохранения:
Save - сохранить текущий модуль;
Save As - сохранить текущий модуль под новым именем;
Save Project As - сохранить текущий проект под новым именем.
После сохранения проекта запустите его на выполнение, используя функциональную клавишу <F9>.
Для расчета значения функции z введите x и y и нажмите кнопку Расчет. Для очистки нажмите кнопку Очистка. Для выхода из приложения нажмите кнопку Выход.
В папке, в которой сохранен файл проекта и модуль, находится группа файлов, часть из которых уже известна при создании консольных приложений, а новыми будут:
Unitl.pas - файл модуля, используемый для хранения программного кода;
Unit1.dfm - файл, содержащий описание формы;
Unit1.dcu - откомпилированный файл модуля;
р21.res - файл, содержащий используемую проектом пиктограмму и прочие ресурсы.
Полный текст сформированного модуля Unitl.pas имеет вид:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Inf_Label: TLabel;
Label2: TLabel;
X_Edit: TEdit;
Z_Memo: TMemo;
Calculate_Button: TButton;
Clear_Button: TButton;
Exit_Button: TButton;
Label3: TLabel;
Y_Edit: TEdit;
procedure Calculate_ButtonClick(Sender: TObject);
procedure Clear_ButtonClick(Sender: TObject);
procedure Exit_ButtonClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Calculate_ButtonClick(Sender: TObject);
var x,y,z:double;
begin
x:=StrToFloat(X_Edit.Text);
y:=StrToFloat(Y_Edit.Text);
z:=(sqr(x)+sin(2*x-1)+0.5)/sqrt(x*x+y*y+1e4);
Z_Memo.Lines.Add('Результат:');
Z_Memo.Lines.Add('z='+FloatToStrF(z,ffGeneral,7,2));
end;
procedure TForm1.Clear_ButtonClick(Sender: TObject);
begin
X_Edit .Clear;
Y_Edit.Clear;
Z_Memo.Clear;
end;
procedure TForm1.Exit_ButtonClick(Sender: TObject);
begin
Close;
end;
end.
Контрольные вопросы:
Кратко опишите внешний вид среды Delphi.
Какие виды помощи представляет Delphi, как ее получить?
Как создать консольное приложение в среде Delphi?
Как создать оконное приложение в среде Delphi?
Приведите порядок размещения любого компонента на форме.
Как изменить геометрические размеры размещенного компонента?
Как получить реакцию на событие для определенного компонента формы?
Каким образом оформляется программа, в каком порядке записываются разделы описаний и определений?
Назовите типы данных. Как задать тип данных в программе?
Как осуществить форматированный вывод действительных чисел?
Как компилировать, связать и выполнить программу средствами RAD?
Подробно опишите программный код, который разработан для выполнения лабораторной работы.
Лабораторная работа №13
ПРОГРАММИРОВАНИЕ ТИПОВЫХ АЛГОРИТМОВ ВЫЧИСЛЕНИЙ
Цель:
- изучить операторы языка Object Pascal;
- получить практические навыки программирования на языке Object Pascal и создания оконного приложения в среде Delphi.
Общие сведения:
1. Составной оператор – это группа операторов, заключенная в операторные скобки begin…end. Операторы, входящие в составной, выполняются в порядке их написания. Точка с запятой предназначена для разделения операторов, т.е. не входит в состав оператора.
2. Условный оператор IF предназначен для реализации разветвляющегося вычислительного процесса. В общем виде оператор записывается следующим образом:
If <логическое выражение> then <оператор1> else <оператор2>;
Сокращенная форма записи оператора имеет вид:
If <логическое выражение> then <оператор1>;
3. Оператор выбора CASE позволяет выбрать и выполнить один оператор из нескольких. В общем случае оператор case имеет следующий вид:
case <выражение> of
<список_меток_1>: <оператор1>;
<список_меток_2>: <оператор2>;
…………………………………….
<список_меток_N>: <операторN>;
else
<оператор>
end;
4. Оператор перехода GOTO - это простой оператор, передающий управление в программе на другой оператор, перед которым стоит метка, указанная в операторе goto. В общем виде оператор записывается следующим образом:
goto <метка>;
С помощью goto нельзя передавать управление внутрь сложных операторов (if, case, операторы циклов), а также из вызывающей программы в подпрограмму. Данный оператор следует использовать в исключительных ситуациях.
5. Операторы циклов
5.1. Оператор цикла FOR организует выполнение последовательности операторов заранее известное число раз. Существуют два варианта оператора:
1) с увеличением счетчика:
for <счетчик>:= <начальное значение> to <конечное значение> do <оператор>;
2) с уменьшением счетчика:
for <счетчик>:= <начальное значение> downto <конечное значение> do <оператор>;
где <счетчик> - параметр цикла;
<начальное значение> и <конечное значение> - выражения, которые должны быть совместимыми для присваивания с параметром цикла;
<оператор> - это оператор, который выполняется в цикле и образует так называемое тело цикла.
Среди операторов, которые повторяются во время выполнения цикла, могут встречаться другие операторы цикла. Такие циклы называются вложенными.
5.2. Оператор цикла с предусловием WHILE имеет следующий формат:
while <логическое выражение> do <оператор>;
Логическое выражение вычисляется при выполнении каждой итерации, поэтому его следует делать по возможности более простым. Если в цикле нужно выполнить не один оператор, а несколько, то их следует заключить в операторные скобки begin...end.
5.3. Оператор цикла с постусловием REPEAT имеет следующий формат:
repeat <оператор1>; <оператор2>; ...; <операторN> until
<логическое выражение>;
Условие выхода из цикла проверяется в конце цикла, поэтому операторы, образующие тело цикла, выполняются по крайней мере один раз.
Задание:
1. Из таблицы 2.1 взять условие задачи (вариант согласовать с преподавателем).
Таблица 2.1
№ |
Функция |
№ |
Функция |
1 |
x[0;7] и dx=1 |
16 |
x[0;5] и dx=0,5 |
2 |
x[-2;4] и dx=0.5 |
17 |
x[1;4] и dx=0,4 |
3 |
x[-3;5] и dx=1 |
18 |
x[-1;3] и dx=0,4 |
4 |
x[-1;2] и dx=0,2 |
19 |
x[-3;1] и dx=0,3 |
5 |
x[-2;4] и dx=0,5 |
20 |
x[-4;0] и dx=0,5 |
6 |
x[0;7] и dx=1 |
21 |
x[1;4] и dx=0,5 |
7 |
x[-4;4] и dx=1 |
22 |
x[-1;3] и dx=0,3 |
8 |
x[-1;3] и dx=0,5 |
23 |
x[1;7] и dx=0,6 |
9 |
x[0;5] и dx=1 |
24 |
x[0;3] и dx=0,3 |
10 |
x[0;7] и dx=1 |
25 |
x[0;7] и dx=0,8 |
11 |
x[-3;7] и dx=1 |
26 |
x[1;4] и dx=0,4 |
12 |
x[0;5] и dx=0,5 |
27 |
x[1;2,5] и dx=0,2 |
13 |
x[-1;3] и dx=0,4 |
28 |
x[0;3/2] и dx=/4 |
14 |
x[-2;5] и dx=1 |
29 |
x[0;7] и dx=1 |
15 |
x[-5;5] и dx=1 |
30 |
x[4;7] и dx=0,4 |
2. Составьте блок-схему и создайте оконное приложение в среде Delphi для расчета значений функции Y(X) (см. лабораторную работу №1 и приведенный ниже пример).
Пример:
Задание:
Вычислить значение функции, заданной несколькими аналитическими выражениями.
Блок-схема алгоритма (рис.2.1):
Р
ис.2.1
Программа на языке Object Pascal:
program pr_1;
{$APPTYPE CONSOLE}
uses SysUtils;
var xn,xk,dx,y,x:real;
v:integer;
begin
write('Введите Xn Xk dX :');
readln(xn,xk,dx);
x:=xn;
while x<=xk do
begin
v:=0;
writeln;
write(' X = ',x:5:3);
if not((x<0) and (x>0)) and not((x<1) and (x>1)) then
begin
if (x<0) then
begin
if (cos(pi/2-x)<>0) then
begin
y:=x/sin(pi/2-x)/cos(pi/2-x);
v:=1;
end;
end
else
begin
if (x<1) then
begin
y:=cos(x)/sin(sqrt(x));
v:=2;
end
else
begin
y:=1/(x*x-1);
v:=3;
end;
end;
end;
if v<>0 then write(' Y = ',y:5:4,' V = ',v)
else write(' Y не определено');
x:=x+dx;
end;
readln;
end.
Контрольные вопросы:
1. Дайте определения цикла, параметра цикла, итерации, программы разветвляющейся, циклической и сложной циклической структуры.
2. Назовите назначение и правила организации ветвлений в программе.
3. Назовите назначение и правила организации цикла.
4. По какой формуле можно подсчитать количество итераций цикла?
5. При каких условиях заканчивается цикл?
6. Чем отличаются циклы с предусловием и постусловием?
7. Назовите основные правила организации вложенных циклов.
8. Подробно опишите программный код, который разработан для выполнения лабораторной работы.
Лабораторная работа №14
ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ПОДПРОГРАММ
Цель:
- изучить правила описания и определения процедур и функций языка Object Pascal;
- получить практические навыки программирования с использованием процедур и функций на языке Object Pascal и создания оконного приложения в среде Delphi.
Общие сведения:
Программу можно представить в виде отдельных подпрограмм, которые могут взаимодействовать между собой. Каждая подпрограмма описывается один раз, при необходимости к ней можно многократно обращаться. В Object Pascal существуют два вида подпрограмм: функция и процедура. Используемые функции и процедуры должны быть описаны в разделе описания функций и процедур.
Описания подпрограмм включают в себя заголовок подпрограммы, разделы описаний (меток, констант, типов, переменных, а также дополнительных функций и процедур, являющихся локальными по отношению к данной подпрограмме), тело процедуры. В заголовке подпрограммы за ключевым словом (function или procedure) указываются имя подпрограммы, а в скобках - список формальных параметров со своими описаниями. В отличие от процедуры в заголовке функции должен быть определен тип результата, передаваемого функцией.
Описание действий в подпрограмме осуществляется с использованием формальных параметров. Обращение к подпрограмме осуществляется с фактическими параметрами, которые должны соответствовать формальным по числу, типу и месту расположения.
Функции используются для вычисления одного значения. Общий вид записи функции:
function F (q1:T1; q2:T2;…):T;
<Разделы определений и описаний локальных параметров и подпрограмм>
begin
p1;
p2;
¼
end;
где F - имя функции; qi - имена формальных параметров; Т - тип имени функции; Ti - типы параметров; pi - операторы тела функции.
Обращение к функции записывается в правой части оператора присваивания, при этом указывается имя и в скобках — фактические параметры в виде F (b1, b2, ...), где bi - фактические параметры.
Процедуры используются при получении нескольких результатов. Общий вид записи процедуры:
procedure F (q1:T1; q2:T2;…var q3:T3);
<Разделы определений и описаний локальных параметров и подпрограмм>
begin
p1;
p2;
¼
end;
где F - имя процедуры; qi - имена формальных параметров; Ti - типы параметров; pi - операторы тела подпрограммы.
Обращение к процедуре осуществляется оператором процедуры в виде
F(b1, b2,...);
где F - имя подпрограммы; bi - имена фактических параметров.
Задание: