Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Sitkin_Informatika_Programmirovanie_v_DELPHI.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
600.56 Кб
Скачать

Задание

Разработать два проекта для вычисления значения выраженияпредыдущей лабораторной работы с использованием функции и с ис-пользованиемпроцедуры.

Содержаниеотчёта

  • цельработыизадание(сисходнымвыражением);

  • блок-схемыалгоритмоввычислениязначениятиповоговыра-женияиосновноговычисления;

  • текстымодулейпроектов

  • примерработыприложенийсуказаниемкомпонентовформы;

  • выводыпоработе.

Контрольныевопросы

  1. Скакойцельювпрограммированиииспользуютподпрограммы?

  2. Чтотакоеподпрограмма,каковаихклассификация?

  3. Вчёмотличиепроцедурыот функции,вт.ч.вихструктуре?

  4. Вчёмотличиепараметра-значенияотпараметра-переменной?

  5. Вызовфункцииможнозаписыватьнепосредственноввыражениях,авызовпроцедурынельзя,толькоотдельнымоператором.Почему?

  6. Вкакихслучаяхпользовательскуюподпрограммуцелесообразнееоформитькак функцию,вкакихкакпроцедуру?

  7. Впредставленныхописанияхподпрограммифрагментахвызыва-ющих блоковответьтенапоставленныевопросы

Пользовательскаяподпрограмма

Блок,вызывающийподпрограмму

Procedure pr(m,n:byte; var k:byte);begin

k:=m+n;end;

varx,y,s,t:byte;z:real;begin

x:=2;y:=3;z:=2.5;

pr(x,y); pr(x,y+1,2*s);

pr(x,z,s); pr(x,sqr(y),s);

pr(2*x,y,s); t:= 5+pr(x, y, s);какиевызовыневерныипочему?

Procedure pr2(m, n, k:byte);begin

k:=m+n;end;

varx, y, s1, s2:byte;begin

x:=2;y:=3;s1:=0;s2:=0;

pr(x,y,s1);pr2(x,y,s2);

каковызначенияs1иs2теперь?

Functionfun(u,v:byte):integer;begin

fun:=uv;end;

можно лиизменитьтипinteger

натипbyteвописаниифункции?

var x, y:byte;w1, w2:integer;begin

x:=2;y:=3;

w1:=fun(x,y);

w2:=fun(y,x);

каковызначения w1иw2?

Лабораторнаяработа№4

МОДУЛИ

Цельработыприобретениеуменийразработкимодулей.

Разработанныепользовательскиеподпрограммыпредыдущейработы могли использоваться только в тех проектах, в которых онибыли описаны. Однако часто возникает необходимость выполнениятиповых действий в разных проектах. Чтобы не описывать их в каж-дом таком проекте целесообразно эти действия однократно оформитьв виде подпрограмм и поместить в собственный модуль, а затем, под-ключая его к различным проектам, использовать ресурсы этого моду-ля. Кроме того, проекты с большими объёмами программного кодаудобно разбить на несколько файлов. Выносимые части кода из про-ектаможнотакжеразместить всобственноммодуле.

Модульотдельносоздаваемаякомпилируемаяпрограммнаяединица с именем, предназначенная для создания библиотек подпро-грамм, которая также может содержать описание констант, типов, пе-ременных. Описанные в модуле средства можно использовать в про-ектах и других модулях без повторного описания, ссылаясь на имяданногомодуля.Саммодульсохраняетсяв видеотдельногофайла.

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