37851

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

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

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

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

Украинкский

2013-09-25

285.5 KB

7 чел.

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.  


 

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

50763. Организация складского технологического процесса на предприятии оптовой торговли (на примере ООО «Оптима») 3.33 MB
  Раскрыта суть логистического подхода к организации складского технологического процесса в оптовой торговле; определена роль складской логистики в повышении эффективности коммерческой оптового торгового предприятия; дана общая характеристика объекта исследования;
50764. Сравнительный анализ растровой и векторной графики 274 KB
  Записать размер каждого полученного файла. Оценить перспективы внедрения графического файла в web-документ. Создать web-страницу с каждым из файлов посмотреть скорость открытия файла. Описать возможности создания Web-страниц непосредственно из самого редактора.
50766. Работа по созданию векторных изображений 427.5 KB
  На страницу с логотипом размещаем 6 кнопокс 1 по 4 ссылки на конкретные страницы 5Вперед 6Назад Задание 4 Организуем гиперсвязь главной страницы с 4 второстепенными.
50767. Программное обеспечение для работы с векторными изображениями 460 KB
  Достигнув края экрана надпись появляется снова с противоположной стороны SLIDE Схоже с SCROLL но текст перемещается только один раз и останавливается DIRECTION=DOWN LEFT RIGHT UP Определяет направление скроллинга DOWN Движение вниз LEFT Движение справа налево. По умолчанию RIGHT Движение слева направо UP Движение вверх 3D объекты.
50769. Создание динамических Web-страниц 31.5 KB
  Цель: Научиться создавать динамические web-страницы. Разобрать на примерах их достоинства и недостатки. Создадим шаблон страницы следующего вида.
50770. Использование динамических переменных 27.5 KB
  Цель: Научиться использовать переменные разных типов. Задание 1. Создадим первую типовую программу на PHP
50771. Программирование циклов в РНР 31.5 KB
  Цель: Научиться использовать различные циклы. Задание 1. Проверить работоспособность кода программ из 3 примеров.