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

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

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

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

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

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

от 25%

Подписываем

договор

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

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

Лабораторна робота №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.  В XIX в господствовала парадигма прогресса сопровождая рождение и распространение торжествующей современн
2. западного похода киевского князя Всеволода Ольговича 40х гг
3. МА Булгаков Театральный роман
4. Проектирование осветительной установки телятника на 520 голов
5. Основные этапы разработки стратегии
6. Революция в творчестве Александра Блока
7.  1 Понятие и виды внимания
8. семестр 1 курса Дата Группы по программам
9. тема- Проблемы добычи алмазов в Якутии Выполнил студент гр
10. VB Excel Объекты свойства и методы