37829

Програмування підпрограм та модулів

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

Информатика, кибернетика и программирование

Контрольні запитання: Що називають підпрограмою Які види підпрограму мові Pscl Ви знаєте Які види параметрів Ви знаєте Які види змінних Ви знаєте Що називають моделем Яка структура модуля Як організувати модуль у Delphi Теоретичні відомості. Створення модуля: Створюючи модуль варто звернути увагу на те що він не повинний мати своєї форми. Для створення модуля в меню File вибрати File New і потім у репозиторії піктограму. Ім'я модуля можна перемінити на інше що відповідає внутрішньому змістові модуля наприклад Unit...

Украинкский

2013-09-25

41 KB

3 чел.

ЛАБОРАТОРНА РОБОТА №9

Тема роботи: Програмування підпрограм та модулів.

Мета роботи: вивчити прийоми створення підпрограм і модулів. Скласти і налагодити програму, що використовує зовнішній модуль Unit з підпрограмою.

Рекомендована література:

  1.  Бобровский С. И. Delphi 7. Учебный курс. - С.Пб. Питер, 2004. – 735 с.
  2.  Я. М. Глинский Інформатика. Алгоритмізація і програмування. Книжка 1. -  Львів, 2003. – 198 с.
  3.  Симонович С.В., Евсеев Г.А. Занимательное программирование:Delphi. – М.: АСТ-Пресс Книга; Издательство «Развитие», 2003. – 368 с.
  4.  Кен Хендерсон. Руководство Разработчика баз данных в Delphi 2. – К. Диалектика, 1997, - 543 с.

Контрольні запитання:

  1.  Що називають підпрограмою?
  2.  Які види підпрограму мові Pascal Ви знаєте?
  3.  Які види параметрів Ви знаєте?
  4.  Які види змінних Ви знаєте?
  5.  Що називають моделем?
  6.  Яка структура модуля?
  7.  Як організувати модуль у Delphi?

Теоретичні відомості.

Підпрограма - це певним чином оформлена група операторів, що може бути викликана будь-яка кількість разів з будь-якої точки основної програми. Підпрограми підрозділяються на процедури і функції. Процедури і функції можуть бути використані як формальні параметри підпрограм. Для цього визначається тип:

Type <ім'я>= function ([список формальних параметрів] ):<тип результату>;

або

Type <ім'я>= procedure ([список формальних параметрів]);

У мову Object Pascal убудований ряд найбільше часто уживаних процедур і функцій, що є частиною мови і викликаються без попереднього визначення в розділі описів.

Модуль - програмна одиниця, що автономно компілюється та включає в себе процедури, функції, а також різні компоненти розділу описів.

Хід виконання роботи.

Завдання: написати програму виведення на екран таблиці функцій, які оформити у видгляді процедури. Як функцію використовувати на вибір Tg(x), Ch(x) і sin (x).

Створення модуля: Створюючи модуль, варто звернути увагу на те, що він не повинний мати своєї форми. Система DELPHI при початковому завантаженні автоматично створює шаблон програми, що має у своєму  складі форму, файл проекту і т.д. Тому що модуль складається тільки з одного файлу, то необхідно перед його створенням знищити заготовок файлу проекту і форму. Для цього в меню File вибрати Close All, файл проекту не зберігати.

Для створення модуля в меню File вибрати File New, і потім у репозиторії – піктограму. У результаті буде створений файл із заголовком Unit Unit1. Ім'я модуля можна перемінити на інше, що відповідає внутрішньому змістові модуля, наприклад Unit Matfu;. Потім необхідно зберегти файл з ім'ям, що збігається з ім'ям заголовка модуля: Matfu.pas. Варто звернути увагу на те, що ім'я файлу повинне збігатися з ім'ям модуля, інакше DELPHI не зможе підключити його до іншої програми.

Підключення модуля: Для того щоб підключити модуль до проекту, необхідно в меню Project вибрати опцію Add to Project і вибрати файл, що містить модуль. Після цього в розділі Uses додати ім'я модуля, що підключається - MatFu. Тепер у проекті можна використовувати функції, що утримуються в модулі.

Панель діалогу буде мати вигляд, показаний на мал.8.1.

Рис.9..1

Тексти модуля і програми, що його викликає, приведені нижче.

Текст модуля:

Unit Matfu;

Interface

 Function Tg(x: extended) : extended;

//Функція для обчислення тангенса 

 Function Ch(x: extended) : extended; 

//Функція для обчислення гіперболічного синуса

Function Sin2(x: extended) : extended;

//функція для обчислення квадрата синуса

Implementation

 Function Tg;

begin

 Result := sin(x)/cos(x);

end;

 Function Ch;

 begin

   Result := (exp(x)-exp(-x))/2;

 end;

 Function Sin2;

 begin

   Result := sqr(sin(x));

 end;

end.

Текст зухвалої програми:

Unit Unit1;

Interface

Uses

 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, MatFunc;

type

 TForm1 = class(TForm)

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Edit1: TEdit;

   Edit2: TEdit;

   Edit3: TEdit;

   Memo1: TMemo;

   Button1: TButton;

   Button2: TButton;

   RadioGroup1: TRadioGroup;

   Procedure FormCreate(Sender: TObject);

   Procedure Button1Click(Sender: TObject);

   Procedure Button2Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

type

 func = function(x:extended) : extended;

var

 Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);

begin

 Edit1.Text := '0';

 Edit2.Text := '2';

 Edit3.Text := '0.2';

 Memo1.Clear;

 RadioGroup1.ItemIndex := 0;

end;

procedure Tabl(f: func; xn, xk, h: extended);

var

 x, y : extended;

begin

 x := xn;

 Repeat

   y := f(x);

   Form1.Memo1.Lines.Add('x=' + FloatToStrF(x,fffixed, 8,2)+

                       '  y=' + FloatToStrF(y,fffixed, 8,2));

   x := x + h;

 Until (x > xk);

end;

procedure TForm1.Button1Click(Sender: TObject);

var

 xn, xk, h : extended;

begin

 xn := StrToFloat(Edit1.Text);

 xk := StrToFloat(Edit2.Text);

 h  := StrToFloat(Edit3.Text);

 Case RadioGroup1.ItemIndex of

   0 : Tabl(tg, xn, xk, h);

   1 : Tabl(ch, xn, xk, h);

 end;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

 Halt

end;

end.

Індивідуальні завдання.

Виберіть варіант задачі з завдань, приведених у роботі 4. Передбачите можливість вибору функції, для якої буде розраховуватися таблиця. Функції помістіть в окремий модуль. Викликати обрану функцію повинна процедура, що використовує як вхідний параметр ім'я відповідної функції.


 

А также другие работы, которые могут Вас заинтересовать

67914. ПОНЯТИЕ НЕПРИКОСНОВЕННОСТИ ЛИЧНОСТИ И ЕГО КОНСТИТУЦИОННО-ПРАВОВАЯ ХАРАКТЕРИСТИКА 104.5 KB
  В части 1 статьи 22 Конституции Российской Федерации от 12 декабря 1993 года провозглашающей высшей ценностью человека его права и свободы закреплено положение согласно которому каждый имеет право на свободу и личную неприкосновенность. Конституционное право на свободу и личную неприкосновенность...
67915. К ВОПРОСУ О ПОНИМАНИИ СОДЕРЖАНИЯ И СУЩНОСТИ НАЛОГОВОГО ПРАВООТНОШЕНИЯ В ТЕОРИИ ФИНАНСОВОГО ПРАВА 109 KB
  Общественные отношения урегулированные нормами права исследуются всеми юридическими науками но каждая отрасль подотрасль юридической науки имеет свой предмет изучения определенный круг общественных отношений. Налоговые правоотношения составляют предметную область аналитического налогового...
67916. МЕХАНИЗМ РЕГУЛИРОВАНИЯ НАЛОГОВЫХ ПРАВООТНОШЕНИЙ В РОССИЙСКОЙ ФЕДЕРАЦИИ 61.5 KB
  Выявление путей повышения эффективности правового регулирования налогообложения предполагает необходимость классифицировать налоговые правоотношения и исследовать их основные особенности. Это обусловлено с одной стороны господством воззрения что в содержание всякого правоотношения входят субъективные...
67917. О СОСТОЯНИИ ПОДГОТОВКИ ПРОЕКТА КОНСТИТУЦИОННОГО АКТА СОЮЗНОГО ГОСУДАРСТВА 171 KB
  Как известно 20 января 2003 года постановлением Высшего Государственного Совета Союзного государства создана российско-белорусская комиссия по подготовке проекта Конституционного Акта Союзного государства. В результате работы комиссии подготовлен проект Конституционного Акта Союзного государства...
67918. ОСОБЕННОСТИ ПРАВОНАРУШЕНИЙ В СФЕРЕ ФИНАНСОВОГО РЕГУЛИРОВАНИЯ РЫНКА ЦЕННЫХ БУМАГ 66 KB
  Основными видами административных правонарушений в сфере финансово-правового регулирования рынка ценных бумаг выступают: 1 недобросовестная эмиссия ценных бумаг; 2 воспрепятствование осуществлению инвестором прав по управлению хозяйственным обществом; 3 использование служебной информации на рынке ценных бумаг...
67919. ОСОБЕННОСТИ НОРМАТИВНО-ПРАВОВОГО РЕГУЛИРОВАНИЯ ПОРЯДКА ФУНКЦИОНИРОВАНИЯ ПЕНСИОННОГО ФОНДА РОССИЙСКОЙ ФЕДЕРАЦИИ 56 KB
  Особенности нормативно-правового регулирования порядка функционирования Пенсионного фонда Российской Федерации ПФР установлены нормами Постановления Верховного Совета России от 27 декабря 1991 г. № 21221 Вопросы Пенсионного фонда Российской Федерации России и утвержденного указанным постановлением...
67920. КОНСТИТУЦИОННЫЕ ГАРАНТИИ ПРАВ И СВОБОД ЧЕЛОВЕКА И ГРАЖДАНИНА 174.5 KB
  Очевидно что право может быть реализовано только тогда когда ему соответствует обязанность государства или другого лица органа его обеспечить. Гарантии нужны не сами по себе а для наиболее полного претворения в жизнь прав и свобод; они призваны обеспечить такую благоприятную обстановку в атмосфере...
67921. ПРОБЛЕМЫ АДМИНИСТРАТИВНО-ПРАВОВОГО РЕГУЛИРОВАНИЯ МИГРАЦИИ НАСЕЛЕНИЯ В РОССИЙСКОЙ ФЕДЕРАЦИИ 81.5 KB
  Обострение социально-политической ситуации в бывших республиках СССР межнациональные и религиозные конфликты экономический кризис сопровождающийся резким социальным расслоением населения и иные причины привели к росту потоков мигрантов увеличению количества правонарушений совершаемых данной категорией...
67922. ОСНОВНЫЕ ЭТАПЫ СТАНОВЛЕНИЯ И РАЗВИТИЯ ИНСТИТУТА УСЫНОВЛЕНИЯ В РОССИЙСКОЙ ИМПЕРИИ 103.5 KB
  Усыновление играло весьма важную роль у всех древних народов индийцев греков римлян и др. Римскому праву известны две формы усыновления: одна с передачей родительского права другая без передачи когда под родительскую власть поступало лицо свободное от этой власти. Для усыновления нужно было соблюсти особые...