Помощь в учёбе, очень быстро...
Работаем вместе до победы

Подпрограммы. 
Создание процедур и функций

Лабораторная работаПомощь в написанииУзнать стоимостьмоей работы

Текст дополнительного модуля для своей формулы. Подпрограммы обработки событий класса формы; Анализ передачи параметров по наименованию. Лабораторная работа № 1. Подпрограммы. Передача параметров по наименованию. Варианты расположения подпрограмм: Другие подпрограммы класса формы; Тексты своих процедур setKoef и getKoef. Размещение подпрограмм в модуле. Передача параметров по значению: Научиться… Читать ещё >

Подпрограммы. Создание процедур и функций (реферат, курсовая, диплом, контрольная)

Лабораторная работа № 1. Подпрограммы

Цели работы:

— Научиться создавать процедуры;

— Научиться создавать функции;

— Научиться связывать несколько модулей между собой.

1.1 Описание понятий процедура и функция Процедура — это подпрограмма, которая выполняет предназначенное действие и возвращается в точку вызова.

Функция — это подпрограмма, которая выполняет предназначенное действие и возвращается в точку вызова, также возвращает результат своего выполнения.

1.2 Перечень возможных вариантов расположения подпрограмм и влияние расположения на видимость подпрограмм Подпрограммы могут располагаться в самых разных местах. Место расположения программы не влияет на ее работу, но от этого зависит доступность (видимость) подпрограммы. Ниже рассматриваются варианты расположения подпрограмм и обсуждаются особенности их использования, зависящие от расположения подпрограммы.

Варианты расположения подпрограмм:

— Подпрограммы обработки событий класса формы;

— Другие подпрограммы класса формы;

— Размещение подпрограмм в модуле.

1.3 Способы передачи параметров в подпрограммы Существует два способа передачи параметров в подпрограммы — передача по значению и передача по наименованию. Способ передачи указывается при объявлении параметра в списке формальных параметров.

1.3.1 Передача параметров по значению:

— Передача параметров по значению предполагает, что при вызове подпрограммы в памяти будет выделена специальная область для записи копий значений фактических параметров, с которыми и будет работать подпрограмма.

1.3.2 Передача параметров по наименованию

— При передаче параметров по наименованию в подпрограмму передаются адреса фактических параметров. Поэтому такой способ передачи называется еще передачей параметров по адресу или по ссылке.

1.4 Тексты своих процедур setKoef и getKoef

procedure setKoef (a, x, w:Real);

begin

With UnitSubroutine do

begin

Edit1.Text:=FloatToStr (a);

Edit2.Text:=FloatToStr (x);

Edit3.Text:=FloatToStr (w);

end

end;

procedure GetKoef (var a, x, w: Real);

begin

with UnitSubroutine do

begin

a:= StrToFloat (Edit1.text);

x:= StrToFloat (Edit2.text);

w:= StrToFloat (Edit3.text);

end

end;

1.5 Текст дополнительного модуля для своей формулы

unit Unit2;

interface

uses math;

function myFormula1(a, x, w: real):real;

implementation

function myFormula1(a, x, w: real): real;

var firstpart, secondpart, sinus: real;

begin

sinus := sin (w/x) ;

firstpart := a*sinus;

secondpart := power ((w/x),(1/a));

myFormula1 := firstpart — secondpart;

end;

end.

1.6 Расчетная формула и контрольные примеры процедура функция модуль подпрограмма

=2*sin0−0=0−0=0.

Контрольный пример:

A=2; X=4; W=0

F=0

1.7 Результаты тестирования проекта Рисунок 1 — Проверка работоспособности программы

1.8 Результаты исследования способов передачи параметров в подпрограммы

1.8.1 Анализ передачи параметров по наименованию

Когда мы ничего не меняем, то процедура работает правильно. Если же мы уберем Var из procedure GetKoef, то процедура не будет получать данные для расчета и ответ будет равен 0.

1.8.2 Передача параметров по значению При изменении формальных значений программа считает правильно, так как выделяется отдельная ячейка памяти для данного значения. Поэтому изменение формальных результатов не влияет на результат.

Выводы Научились использовать дополнительные модули, подключать подпрограммы. Изучили разницу в передаче параметров по наименованию и по значению. Научились использовать конструкцию with … do. Научились объявлять процедуру или функцию для нескольких модулей.

Показать весь текст
Заполнить форму текущей работой