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.  


 

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

73905. Економічна творчість О. В. Чанова, М. Д. Кондратьєва, М. М. Кажанова 37.5 KB
  Кожну із сучасних доктрин чи шкіл було започатковано в минулі століття і кожна з них розвивалась відповідно до вимог часу та економічної реальності була породженням конкретних соціальноекономічних обставин. Однак загального уявлення про основи соціалізму виявилось недостатньо коли постала проблема формування реальної економічної системи. Уже в перші роки Радянської влади розгортаються дискусії з приводу основних закономірностей та напрямків розвитку економічної теорії визначається основне коло питань які належало розв\'язати. Ставилися і...
73906. Ленінський етап в розвитку політичної економії 33 KB
  Реалізація цієї концепції соціалістичного будівництва що розроблялась Леніним як обгрунтування курсу партії на соціалістичну революцію і базувалась на двох складових диктатурі пролетаріату та суспільній власності натрапила на неможливість негайного вирішення проблеми формування соціалістичної власності. Можливість вирішення проблеми співвідношення сил капіталізму та соціалізму на користь останнього Троцький убачав у негайному усуспільненні виробництва тобто встановленні...
73907. Українська школа марженалізму на межі 18-20 століття. М. І. Туган-Барановський, О. Білімович, р. Орженецький, М. Ковалевський, Є. Слуцький, А. Антонович 46 KB
  Він детально викладає теорію цінності Менгера підтримує критику австрійською школою трудової теорії вартості і особливо теорії вартості К. Білимович бачить заслугу австрійської школи саме в тім що вона виступила проти трудової теорії вартості завдяки чому всі теоретичні розробки Маркса положення про двоїстий характер праці робочу силу як товар додаткову вартість як і вся теорія експлуатації зависла у повітрі1. Сприйняття і пропаганду суб\'єктивнопсихологічної теорії цінності австрійської школи в Росії й Україні було доповнено...
73908. Революційно-демократичний напрям економічної думки в Україні. АС. Подолинський, І. Франко, О. Терлецький, В Навроцький 61 KB
  Франко О. Франко та інші. Франко 1856 1916 великий український письменник мислитель історик філософ літературознавець. Франко дослідженню економіки Галичини становищу селянства й робітничого класу.
73909. Ліберальні напрями економічної думки в Україні в 19 столітті. М. Зібер, М. Драгоманов, М. Довнар-Запольський 33 KB
  Драгоманов М. Михайло Петрович Драгоманов 1841 1895 видатний український мислитель історик публіцист етнограф літературний критик. Драгоманова як політично неблагонадійного було звільнено з посади викладача. Драгоманова в розвитку української і національної ідеї.
73910. Сучасний монетаризм М. Фрідмен 57.5 KB
  Монетаризм являє собою одну з найвпливовіших шкіл сучасної економічної науки, що належать до некласичного напряму. Він розглядає явища господарського життя крізь призму процесів, що відбуваються у сфері грошового обігу...
73911. Економічна думка країн Давнього Сходу й Передньої Азії. Давньоєгипетські джерела. Закони Ешнунни. Ліпіт Іштара. Хаммурапі 28.5 KB
  До нашої доби дійшли Повчання гераклеопольського царя своєму синові Мерікара Проречення Іпусера Пророцтво Неферті Повчання Ахтоя сина Дуауфа своєму синові Піопі різні адміністративногосподарські та юридичні документи. Так наприклад Повчання гераклеопольського царя своєму синові Мерікара XXII ст. Тоді вони працюватимуть задля царя як один загін і не буде серед них бунтарів1. є закони вавилонського царя Хаммурапі.
73912. Економічна думка в Україні в пореформений період 19 століття. М. Бунге, Д. Піхно, С. Вітте, І. Сокальський 22 KB
  Бунге Д. Бунге професор згодом ректор Київського університету у 80ті рр. Бунге вказував на велике значення для розвитку політичної економії правильного визначення її предмета і вважав що складність такого визначення пояснюється позицією ліберальної економічної школи та соціалістів. Бунге критикував соціалістів за те що вони засуджували існуючий порядок і вбачали свій ідеал у новій організації праці у вигаданих формах суспільного устрою3.
73913. Створення К. Марксом і Ф. Енгельсом пролетарської політекономії : початок формування економічного вчення марксизму. Структура та основні проблеми “Капіталу” Пізні наукові праці 42 KB
  Структура та основні проблеми Капіталу Пізні наукові праці . Теоретичні проблеми Капіталу К. Кілька рукописних варіантів Капіталу 1857 1865 Критика політичної економії До критики політичної економії другий та третій попередні варіанти Капіталу у вигляді нарисів та закінчених теоретичних викладок давно були готові до друку однак Маркс намагався надати цьому твору характеру вичерпної логічно закінченої теорії. Однак вихід у світ одночасно всіх томів Капіталу не пощастило забезпечити: праця тривала надалі а...