37851

СТВОРЕННЯ НАЙПРОСТІШОЇ ПРОГРАМИ ДЛЯ ЛІНІЙНОГО АЛГОРИТМУ

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

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

Звіт до лабораторної роботи повинен сладатися з коротких теоретичних відомостей відповідей до контрольних запитань та програми. Головне вікно завжди присутнє на екрані і призначено для керування процесом створення програми. Вікно форми являє собою проект Windowsвікна програми.

Украинкский

2013-09-25

285.5 KB

6 чел.

PAGE  2

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

Тема роботи: СТВОРЕННЯ НАЙПРОСТІШОЇ ПРОГРАМИ ДЛЯ ЛІНІЙНОГО АЛГОРИТМУ.

Мета роботи: Отримати навики по створенню лінійних програм у середовищі Delphi.

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

  1.  Симонович С.В., Евсеев Г.А. Занимательное программирование:Delphi. – М.: АСТ-Пресс Книга; Издательство «Развитие», 2003. – 368 с.
  2.  Кен Хендерсон. Руководство Разработчика баз данных в Delphi 2. – К. Диалектика, 1997, - 543 с.

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

  1.  Що собою представляє Delphi як програмний продукт?
  2.  Яка спрощена схема створення додатка в Delphi?
  3.  Що таке проект? Які розширення мають файли, що входять у проект (до, після компіляції)?
  4.  Що таке інспектор об'єктів?
  5.  Для чого потрібна палітра компонентів користувальницького інтерфейсу?
  6.  Яка мова програмування використовується в Delphi? Які його особливості?
  7.  Які прості типи даних використовується в мові OBJECT PASCAL?
  8.  Опишіть структуру програм у DELPHI?
  9.  Який тип даних використовується у компоненті TEdit?
  10.  За допомогою яких функцій відбуваеться перетворення типів при введенні-виведенні у DELPHI?

Хід роботи.

Ознайомтесь з теоретичними відомостями та створіть проект для лабораторної роботи №3. Звіт до лабораторної роботи повинен сладатися з коротких теоретичних відомостей, відповідей до контрольних запитань та програми.

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

1. Інтегроване середовище розроблювача DELPHI

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

Головне вікно завжди присутнє на екрані і призначено для  керування процесом створення програми. Основне меню містить усі необхідні засоби для керування проектом. Піктограми полегшують доступ до найбільш часто застосовуваних команд основного меню. Через меню компонентів здійснюється доступ до набору стандартних сервісних програм середовища DELPHI, що описують деякий візуальний елемент (компонент), поміщений програмістом у вікно форми. Кожен компонент має визначений набір властивостей (параметрів), що програміст може задавати. Наприклад, колір, заголовок вікна, напис на кнопці, розмір і тип шрифту й ін.

Вікно інспектора об'єктів (викликається за допомогою клавіші F11) призначено для зміни властивостей компонента, сторінка Events (Події) - для визначення реакції компонента на ту або іншу подію (наприклад, натискання визначеної клавіші або клацання мишею по кнопці).

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

Вікно тексту програми призначено перегляду, написання і редагування тексту програми. У системі DELPHI використовується мова програмування Object Pascal. При первісному завантаженні у вікні тексту програми знаходиться текст, що містить мінімальний набір операторів для нормального функціонування порожньої форми як Windows-вікно. При приміщенні деякого компонента у вікно форми текст програми автоматично доповнюється описом необхідних для його роботи бібліотек стандартних програм (розділ uses) і типів перемінних (розділ type).

Програма в середовищі DELPHI складається як опис алгоритмів, який необхідно виконати, якщо виникає визначена подія, зв'язана з формою. Для кожного оброблюваного у формі події, за допомогою сторінки Events інспектора об'єктів у тексті програми організується процедура (procedure), між ключовими словами begin і end якої програміст записує мовою Object Pascal необхідний алгоритм.

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

2. Структура програм у DELPHI

Програма в DELPHI складається з файлу проекту (файл із расширенням .dpr), одного або декількох файлів вихідного тексту (з расширенням .pas), файлів з описом вікон форми (з расширенням .dfm).

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

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

У розділі оголошень описуються типи, змінні, заголовки процедур і функції, що можуть бути використані іншими модулями, через оператори підключення бібліотек (uses). У розділі реалізації розташовуються тіла процедур і функції, описаних у розділі оголошень, а також типи перемінних, процедури і функції, що будуть функціонувати тільки в межах даного модуля. Розділ ініціалізації використовується рідко і його можна пропустити. Модуль має наступну структуру:

Unit Unit1;

Interface

 //Розділ оголошень

implementation

 //Розділ реалізації

begin

 //Розділ ініціалізації

end.

При компіляції програми DELPHI створює файл із розширенням. dcu, що містить у собі результат перекладу в машинні коди умісту файлів з розширенням. pas і .dfm. Компоновщик  перетворить файли з розширенням .dcu у єдиний файл, що завантажується, з розширенням .exe. У файлах, що мають розширення .-df, .-dp, .-pa, зберігаються резервні копії файлів з образом форми, проекту і вихідного тексту відповідно.

3. Приклад програми

Завдання: вважаючи заданими значення перемінних x, y, z, скласти програму обчислення значення арифметичного виразу:

.

Панель діалогу програми організувати як показане на мал.2.1.

Рис. 2.1. Панель діалогу програми

Зміна заголовка форми

Нова форма має однакові ім'я (Name) і заголовок (Caption) - Form1. Для зміни заголовка викличте вікно інспектора об'єктів (F11) і клацніть кнопкою миші на формі. У формі інспектора об'єктів знайдіть і клацніть мишею на властивості Caption сторінки Properties. У виділеному вікні наберіть ”Работа 3.  Студент гр. 2ПР1 Петров”.

Розміщення рядка введення (TEdit)

Якщо необхідно ввести або вивести інформацію, що вміщується в один рядок, використовують вікно однорядкового редактора тексту, що є компонентом TEdit. У даній програмі за допомогою однорядкового редактора будуть вводитися змінні x, y, z типу extended.

Виберіть у меню компонентів Standard відповідну піктограму, клацніть мишею в тім місці форми, де ви хочете її поставити. Вставте три компоненти TEdit у форму. Захоплюючи їх "мишею" відрегулюйте розміри вікон і їхнє положення.

Зверніть увагу на те, що в тексті програми з'явилися три нових однотипних перемінних Edit1, Edit2, Edit3. У кожній з цих перемінних з розширенням Text буде утримуватися рядок символів (тип String) і відображатися у відповідному вікні Edit.

Тому що чисельні значення перемінних x, y, z мають дійсний тип, для перетворення рядкового запису числа, що знаходиться в змінній Editl.Text  у дійсне, використовується стандартна функція

X := StrToFloat(Edit1.Text);

Якщо вихідні дані мають цілочисленний тип, наприклад integer, то використовується стандартна функція:

X := StrToInt(Editl.Text);

При цьому в записі числа не повинно бути пробілів, а дійсне число пишеться з десяткової коми.

За допомогою інспектора об'єктів встановіть шрифт і розмір символів, які відображуються у рядку Edit (властивість Font).

Розміщення написів (Label)

На формі рис.1.2 є чотири написи. Для нанесення таких написів на форму використовується компонент TLabel. Виберіть у меню компонентів Standard відповідну піктограму, клацніть на ній мишею, з'явиться напис Label. Проробіть це для чотирьох написів. Для кожного напису, клацнувши на ній мишею, відрегулюйте розмір і, змінивши властивість Caption інспектори об'єктів, уведіть рядок, наприклад “Введіть значення X”, а також виберіть розмір символів (властивість Font).

Зверніть увагу, що в тексті програми автоматично з'явилися чотири нових змінних типу TLabel. У них зберігаються пояснювальні рядки, які можна змінювати в процесі роботи програми.

Розміщення багаторядкового вікна виведення (Тмето)

Для виведення результатів роботи програми звичайно використовується текстове вікно, що представлене компонентом (Тмето). Виберіть у меню компонентів Tmemo і помістіть його на форму. За допомогою миші відрегулюйте його розміри і місце розташування. Після установки за допомогою інспектора властивості ScrollBars - SSBoth у вікні з'являться вертикальна і горизонтальна смуги прокручування.

У тексті програми з'явилася перемінна Memo1 типу Tмемо. Інформація, що відображається за допомогою декількох рядків у вікно типу TMemo знаходиться в масиві рядків Memol.Lines. Кожен рядок має тип String.

Для очищення вікна використовується метод Memol.Clear. Для того щоб додати новий рядок у вікно, використовується метод Memo1.Lines.Add (перемінна типу String).

Якщо потрібно вивести число, що знаходиться в змінній дійсного або цілого типу, то його треба попередньо перетворити до типу String і додати в масив Memo1.Lines. Наприклад, якщо перемінна u := 100 цілого типу, то метод Memo1.Lines.Add (‘Значення u == ’+IntToStr(u)) зробить це й у вікні з'явиться рядок “Значення u =100''. Якщо перемінна u :=-256,38666 дійсна, то при використанні методу Меmо1.Lines.Add (‘Значення u=' +FloatToStr(u.fffixed,8,2)) буде виведений рядок "Значення u=  -256.39". При цьому під усе число приділяється вісім позицій, з яких дві позиції займає його дробова частина.

Якщо число рядків у масиві Memo1 перевищує розмір вікна, то для перегляду всіх рядків використовується вертикальна смуга прокручування. Якщо довжина рядка Memo1 переверщує кількість символів у рядку вікна, то у вікні відображається тільки початок рядка. Для перегляду всього рядка використовується горизонтальна смуга прокручування.

Написання програми обробки події - створення форми (FormCreate)

При запуску програми виникає подія “створення форми” (OnCreate). Створимо обробник цієї події, що заносить початкові значення перемінних x, y, z у відповідні вікна TEdit, а у вікні Tmemo виводить рядок із указівкою номера групи і прізвище студента. Для цього двічі клацнемо мишею на будь-якому вільному місці форми. На екрані з'явиться текст, у якому автоматично внесений заголовок процедури - оброблювача події створення форми:

Procedure TForml.FormCreate(Sender:TObJect);

Між begin...end записується текст програми

Написання програми обробки події натискання кнопки (ButtonClick)

Помістіть на форму кнопку TButton, що знаходиться на сторінці Standard панелі стандартних компонентів. За допомогою інспектора об'єктів змініть заголовок (Caption) – Button1 на слово “Виконати” або інше на ваше бажання. Відрегулюйте положення і розмір кнопки.

Після цього два рази клацніть мишею на кнопці, з'явиться текст програми, доповненої заголовком процедури оброблювача події - натискання кнопки:

Procedure Tform1.ButtonClick(Sender: TObject);

Запуск програми

Запустити програму можна, натиснувши Run у головному меню Run, або клавішу F9, або піктограму. При цьому відбувається трансляція і, якщо немає помилок, компонування програми і створення єдиного файлу, що завантажується, з розширенням.exe. На екрані з'являється активна форма програми (Рис. 2.1)

Робота з програмою відбувається в такий спосіб. Натисніть (клацніть мишею) кнопку “Виконати”. У вікні Memo1 з'являється результат. Зміните вихідні значення x, y, z у вікнах Edit і знову натисніть кнопку “Виконати” - з'являться нові результати.

Завершити роботу програми можна натиснувши або Program Reset у головному меню Run, або кнопку ( на формі.

Текст програми має вигляд:

unit unit1;

interface

uses

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

 Dialogs, StdCtrls;

type

 TForm1 = class(TForm)

   Edit1: TEdit;

   Edit2: TEdit;

   Edit3: TEdit;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Label4: TLabel;

   Memo1: TMemo;

   Button1: TButton;

   procedure Button1Click(Sender: TObject);

   procedure FormCreate(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin

 Edit1.Text := '3,4';   // Початкове значення Х

 Edit2.Text := '0,74';  // Початкове значення Y

 Edit3.Text := '19,43'; // Початкове значення Z

 Memo1.Clear;           // Очищення вікна редактори Memo1

// Висновок рядка в многострочный редактор Memo1

Memo1.Lines.Add('Ла6.раб.N2. Ст.гр. 2ЭК Іванов А.А.');

end;

procedure TForm1.Button1Click(Sender: TObject);

 var  x, y, z, a, b, c, u: Extended;

begin

 x := StrToFloat(Edit1.Text);

// Зчитується значення X 

 Memo1.Lines.Add('X = '+Edit1.Text);

// Висновок X у вікно Memo1

 Y := StrToFloat(Edit2.Text);

// Зчитується значення Y

 Memo1.Lines.Add('Y ='+Edit2.Text);

// Висновок Y у вікно Memo1

 Z := StrToFloat(Edit3.Text);

// Зчитується значення Z

 Memo1.Lines.Add('Z = '+Edit3.Text);

// Висновок Z у вікно Memo1

// Обчислюємо арифметичне вираження

 a := Sqr(Sin(x+y)/Cos(x+y));

 b := Exp(y-z);

 C := Sqrt(Cos(Sqr(x))+Sin(Sqr(z)));

 U := a - b * C ;

//Виводимо результат у вікно Memo1

 Memo1.Lines.Add(Результат U:= '+ FloatToStr(u,fffixed,8,3));

end;

end. 

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

Прочитайте в додатку опис меню File, Edit, Run, а також компонентів TEdit, TMemo, TButton. За допомогою інспектора об'єктів зміните колір форми, шрифт виведених символів.

Варіанти завдання

Обчислити значення функції:

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

= 5arctg 

  1.  

  1.  

=+sin arctg(z)

  1.  

=

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  

  1.  


 

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

9396. Принципы уголовного судопроизводства 63 KB
  Тема №3: Принципы уголовного судопроизводства. Понятие, сущность и значение принципов УПР. Их взаимная связь и взаимная обусловленность. В главе 2 УПК закреплена группа норм, объединенных одним названием - принципы уголовного судопроизводст...
9397. Участники уголовного процесса: государственные органы и должностные лица 51.5 KB
  Тема №4. Участники уголовного процесса: государственные органы и должностные лица. Понятие участников уголовного процесса и их классификация. Стороны в уголовном судопроизводстве. Их субъектный состав. Под участниками уголовного судопро...
9398. Участники процесса, отстаивающие свои или представляемые интересы 40 KB
  Тема №5. Участники процесса, отстаивающие свои или представляемые интересы. Потерпевший. Понятие дается в ст.42 УПК - физическое или юридическое лицо. Потерпевший - физическое лицо - которому преступлением причинен физический, имущественны...
9399. Уголовное преследование. Реабилитация 35.5 KB
  Тема №6. Уголовное преследование. Реабилитация. Понятие, сущность и основания уголовного преследования. Соотношение уголовного преследования с обвинением. Уголовное преследование одно из назначений уголовного судопроизводства...
9400. Гражданский иск. Основания, предмет и процессуальный порядок предъявления гражданского иска 33 KB
  Гражданский иск Понятие гражданского иска. Основания, предмет и процессуальный порядок предъявления гражданского иска. УПК предусматривает возможность рассмотрения гражданского иска в рамках производства по уголовному делу. Гражданский иск...
9401. Общие положения теории доказательств 100.5 KB
  Тема №8. Общие положения теории доказательств. Общетеоретические и философские проблемы доказывания в уголовном процессе. Доказательственное право не является самостоятельной отраслью права, оно является подотраслью УПП. Под доказательственным право...
9402. Возбуждение уголовных дел 42.5 KB
  Тема №9: Возбуждение уголовных дел. Понятие сущность задачи и значение стадии возбуждения уголовных дел. О возбуждении уголовного дела можно говорить в различных смыслах, как: 1. стадия 2. институт 3. акт, действие Возбуждение уголовного дела ...
9403. Предварительное расследование. Понятие, сущность и значение предварительного расследования (ПР). 47.5 KB
  Тема №10: Предварительное расследование. Понятие, сущность и значение предварительного расследования (ПР). ПР рассматривают как: - как стадию - как деятельность ПР это 2 ая стадия. Основное содержание данной стадии образует основанная на законе деяте...
9404. Следственные действия и порядок их производства 106.5 KB
  Тема 11: Следственные действия и порядок их производства. Понятие, виды и система следственных действий. Двойственный подход к определению понятия следственных действий. С принятием УПК под следственными действиями понимаются процессуальные де...