Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Лабораторна робота 5 Процедури і функції Мета роботи- ознайомитися із основними принципами програму

Работа добавлена на сайт samzan.net: 2016-03-13

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 18.5.2024

Лабораторна робота №5

Процедури і функції

Мета роботи: ознайомитися із основними принципами програмування в середовищі Borland Delphi 7.0.

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

Простіша структура програми в консольному режимі роботи має вигляд:

Program <ім’я>;  { Заголовок програми }

{$APPTYPE CONSOLE} {Консольний режим}

Uses    { Підключення модулів}

Label    { Розділ опису міток }

Const    { Розділ опису констант }

Type    { Розділ опису типів }

Var    { Розділ опису змінних }

{ Розділ опису процедур і функцій }

 { Розділ операторів }

Консольний режим роботи встановлюється директивою {$APPTYPE CONSOLE}. Текст програми розміщається у головному файлі проекту.

 Приклад. На площині задані обмежена лініями  область  і точки  . Розробити програму, яка обчислює периметр і площу трикутника  , якщо точки  належать області  і не лежать на одній прямій, інакше видати відповідне повідомлення.

  •  Умова належності точок  обмеженій області полягає в тому, що їх координати повинні одночасно задовольняти нерівності: , .  

  •  Умова того, що точки не лежать на одній прямій

.

  •  Площа трикутника  дорівнює .
  •  Периметр трикутника  дорівнює

.

Для розв’язку задачі командою File!New Application створимо новий проект. На екрані з’явиться чиста форма  із заголовком Form1. Присвоїмо цій формі заголовок Caption = Обчислення периметра і площі трикутника та програмне ім’я Name = FTR. Тепер командою File!Save All запишемо програмний модуль під іменем ULAB5.pas, а проект – LAB5.dpr.

При цьому середовище Delphi створює файл проекту (DPR-файл) вміст якого автоматично змінюється зі створенням нових форм.

У DPR-файлі підключення модуля Forms є обов’язковим, так як у ньому міститься визначення об’єкта Application. Цей об’єкт лежить в основі будь-якої Delphi-програми і доступний на протязі її виконання. Слідом підключаються всі модулі проекту. Директива  {$R*.RES} підключає до результуючого EXE-файла так звані ресурси, зокрема значок програми, який буде видно на Панелі Задач Windows. Далі йде програмний блок, в якому викликаються три методи об’єкта Application. Метод Initialize підготовляє програму до роботи, метод CreateForm завантажує та ініціалізує форми, а метод Run активізує головну форму і починає виконання програми.

Об’єкт Application відсутній у Палітрі Компонентів, тому його властивості можна встановлювати тільки програмно. Найбільш важливі з них: MainForm – ім’я головної форми; ExeName –  повне ім’я EXE-файла; Title – ім’я програми та Icon – значок програми, які відображаються на Панелі Задач Windows; HelpFile – ім’я файла довідника програми.

По завершенні розробки проекту DPR-файл містить перелік програмних модулів, які будуть подаватися на вхід компілятора.

Головний файл програми має вигляд:

program LAB5;

uses

 Forms,

 ULAB5 in 'ULAB5.pas' {FTR};

{$R *.RES}

begin

 Application.Initialize;

 Application.CreateForm(TFTR, FTR);

 Application.Run;

end.

Рис 1.2. Форма Обчислення периметра і площі трикутника

Розробимо форму для введення початкових даних і виведення результату.  Розмістимо на цій формі шість компонентів Edit для введення координат точок А, В, С і три для виведення результату. Присвоїмо цим компонентам програмні імена Edit1, Edit2, Edit3, Edit4, Edit5, Edit6, Edit7, Edit8, Edit8, Edit9, встановлені за замовчуванням (властивість Name) і очистимо їм значення властивості Text. Пояснення до цих компонентів зробимо за допомогою компонента Label (властивість Caption).

Крім цього, розмістимо на формі дві керуючі кнопки (компонент Button) з написами Обчислити та Вихід (властивість Caption) і програмними іменами Button1, Button2 (властивість Name) (Рис. 1.2).

Тепер потрібно написати обробники кнопок Обчислити та Вихід. Для того щоб написати обробники цих кнопок потрібно вибрати відповідну кнопку, перейти в Інспекторі Об’єктів на сторінку Evants та двічі клацнути лівою клавішею мишки в полі значення події OnClick. В результаті цього з’явиться заготовка, в яку потрібно вписати текст обробника. Тексти обробників містяться у програмному модулі ULABR5.   

unit ULAB5;

interface

uses

 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

 StdCtrls;

type

 TFTR = class(TForm)

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Label4: TLabel;

   Edit1: TEdit;

   Label5: TLabel;

   Edit2: TEdit;

   Label6: TLabel;

   Label7: TLabel;

   Edit3: TEdit;

   Label8: TLabel;

   Edit4: TEdit;

   Label9: TLabel;

   Label10: TLabel;

   Edit5: TEdit;

   Label11: TLabel;

   Edit6: TEdit;

   Label12: TLabel;

   Edit7: TEdit;

   Label13: TLabel;

   Label14: TLabel;

   Edit8: TEdit;

   Edit9: TEdit;

   Button1: TButton;

   Button2: TButton;

   procedure Button1Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 FTR: TFTR;

implementation

{$R *.DFM}

{Обробник кнопки Обчислити}

procedure TFTR.Button1Click(Sender: TObject);

VAR  x1, y1, x2, y2, x3, y3: double;

    s, p, d: double;

BEGIN

{Введення початкових даних}

x1:=StrToFloat(Edit1.Text);

y1:=StrToFloat(Edit2.Text);

x2:=StrToFloat(Edit3.Text);

y2:=StrToFloat(Edit4.Text);

x3:=StrToFloat(Edit5.Text);

y3:=StrToFloat(Edit6.Text);

{Перевірка умови належності точок області }

if  ((y1<=4-sqr(x1)) and (y1>=sqr(x1)-4)) and

   ((y1<=4-sqr(x1)) and (y1>=sqr(x1)-4)) and

   ((y1<=4-sqr(x1)) and (y1>=sqr(x1)-4)) then

begin

{ Точки належать області}

d:=x1*y2+ x3*y1+ x2*y3- x3*y2- x1*y3- x2*y1;

if d<>0 then  begin

{ Точки утворюють трикутник}  

 s:=abs(d)/2;

 p:=sqrt(sqr(x1-x2)+ sqr(y1-y2))+

    sqrt(sqr(x2-x3)+ sqr(y2-y3))+

    sqrt(sqr(x3-x1)+ sqr(y3-y1));

Edit7.Text:='Точки належать області і утворюють трикутник';

Edit8.Text:=FloatToStr(p);

Edit9.Text:=FloatToStr(s);

              end

   else begin

  Edit7.Text:='Точки лежать на одній прямій';

  Edit8.Text:='';

  Edit9.Text:='';

         end

end

else

  begin

  Edit7.Text:=' Точки не належності області ';

  Edit8.Text:='';

  Edit9.Text:='';

   end;

END;

{Обробник кнопки Вихід}

procedure TFTR.Button2Click(Sender: TObject);

begin

Close;

end;

end.

 

В обробнику кнопки Обчислити початкові дані за допомогою функції StrToFloat перетворюються до дійсного типу і присвоюються змінним x1, y1, x2, y2, x3, y3. Результат обчислення – p, s перетворюються за допомогою функції  FloatToStr з дійсного до символьного типу і виводиться.

Докладно функції перетворення типів даних описані у додатку.

Тепер, розроблений проект, командою Run!Run можна запустити на виконання. По завершенню компіляції потрібно ввести початкові дані й натиснути кнопку Обчислити. Результат роботи програми наведений на Рис 1.2. Для завершення роботи програми потрібно натиснути кнопку Вихід.

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

  

Для розв’язку задачі, аналогічно як у попередньому прикладі, командою File!New Application створимо новий проект. Присвоїмо формі заголовок Caption = Обчислення функції та програмне ім’я Name = FV. Командою File!Save All запишемо програмний модуль під іменем ULABR5_1.pas, а проект – LABR5_1.dpr.

Розробимо форму для введення початкових даних і виведення результату.  Розмістимо на цій формі сім компонентів Edit

      Рис.1.3. Форма Обчислення функції

для введення початкових даних x, y, z, a, b, c, d і один для виведення значення функції V. Присвоїмо цим компонентам програмні імена Edit1, Edit2, Edit3, Edit4, Edit5, Edit6, Edit7, Edit8, встановлені за замовчуванням (властивість Name) і очистимо їм значення властивості Text. Пояснення до цих компонентів зробимо за допомогою компонента Label (властивість Caption).

Крім цього, розмістимо на формі дві керуючі кнопки (компонент Button) з написами Обчислити та Вихід (властивість Caption) і програмними іменами Button1, Button2 (властивість Name) (Рис. 1.3).

Обробники кнопок Обчислити та Вихід містяться у програмному модулі ULABR5_1 і мають вигляд:   


{Обробник кнопки Обчислити}

procedure TForm1.Button1Click(Sender: TObject);

var  x, y, z: double;

    a, b, c, d: double;

    r, v: double;

begin

{Початкові дані }

x:=StrToFloat(Edit1.Text);

y:=StrToFloat(Edit2.Text);

z:=StrToFloat(Edit3.Text);

a:=StrToFloat(Edit4.Text);

b:=StrToFloat(Edit5.Text);

c:=StrToFloat(Edit6.Text);

d:=StrToFloat(Edit7.Text);

{Упорядкування змінних a, b, c, d }

if a > b then begin r:=a; a:=b; b:=r; end;

if c > d then begin r:=c; c:=d; d:=r; end;

{Обчислення функції V }

if  ((c<=x) and (x<=d)) and

((c<=y) and (y<=d)) and ((c<=z) and (z<=d))

    then

       begin

{Обчислення за першою формулою }

    v:=x;

    if v < y then v:=y;

    if v < z then v:=z;

       end

    else

if  not ((c<=x) and (x<=d)) and

    not ((c<=y) and (y<=d)) and

    not ((c<=z) and (z<=d))

    then

      begin

{Обчислення за другою формулою }

    v:=x;

    if v > y then v:=y;

    if v > z then v:=z;

       end

    else

{Обчислення за третьою формулою }

    v:=(b-a)/2;

{Виведення результату }

    Edit8.Text:=FloatToStr(v);

end;

{Обробник кнопки Вихід}

procedure TForm1.Button2Click(Sender: TObject);

begin

Close;

end;

end.

Оцінювання.

«1 бали» – програма, що не оформлена у зошиті для лабораторних робіт, працює не коректно.

«2 бали» – програма, що не оформлена у зошиті для лабораторних робіт, працює коректно.

«3 бали» – програма, що оформлена у зошиті для лабораторних робіт, працює не коректно.

«4 бали» – програма, що оформлені у зошиті для лабораторних робіт, працює коректно.

ЗАВДАННЯ.

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

1.    

2. 3.

4. 

5. 

6. 

Задані дійсні величини  та логічні . Розробити програму, яка обчислює значення функції.

7. 

8. 

9.

10. 

11. 

Задані дійсні величини  та ціле . Розробити програму, яка обчислює  значення функції.

12. 

13. 

14. 

15.

5




1.  Педагогические и психологические основы индивидуализации обучения
2. Реферат Топливноэнергетический комплекс Украины
3. Статья- Цивилизационный подход- интерпретация или дезинформация
4. Хорошую религию придумали енотыПреданность и постоянство ~ прекраснейшие качества вряд ли кто будет спор
5. тема управление системой операция модель оптимизация решение
6. Между завтраком и обедом
7. Криминологическая характеристика профессиональной преступности и особенностей личности профессионально
8.  Теоретичні основи формування знань молодших школярів про природу
9. Управление культурой в условиях мегаполиса
10. і.Етіологія. Розрізняють 2 форми хвороби Рейтера- ентероколітичну епідемічну що виникає після спалаху ентер.html
11. Своими силами Собственные маркетологи
12. Тенденції змін соціокласової структури в Україні
13. вариант I Прочитайте приведенный ниже фрагмент текста и выполните задания А1 А5; В1 В4; С1
14. Парламент Франции, его структура и порядок избрания.html
15. і Ця на перший погляд неблагодарна справа майже завжди закінчувалась невдачею особливо у наш час
16. Факторинг готовое решение для роста продаж
17. bout Cnd
18. Саратовский государственный технический университет Кафедра Прикладные информационные технологии
19. Тема- Вступ. Загальна рецептура
20. Организация работы прокуратуры по надзору при исполнении наказаний и мер принудительного характера.html