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.  


 

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

79410. Жизненный путь личности 24.74 KB
  Сознание активность зрелось личности рассматриваются Рубинштейном как высшие личностные образования которые выполняют функции организации регуляции обеспечения целостности жизненного пути человека как субъекта деятельности. Рубинштейна выступает активность и творчество личности как организатора и преобразователя своей жизни. Ему принадлежит самое крупное лонгитюдное исследование личности и ее жизненного пути на основе которого была определена возрастная периодизация и онтогенез развития личности: детство юность выбор профессии...
79411. Смысл жизни личности в концепции Франкла 25.84 KB
  Смыслы не являются универсальными они уникальны для каждого человека в каждый момент его жизни. Однако существенным отличием Франкла является идея о том что обретение и реализация смысла всегда связана с внешним миром с творческой активностью человека в нем и его продуктивными достижениями. При этом он как и другие экзистенциалисты подчеркивал что отсутствие смысла жизни или невозможность его реализовать приводит к неврозу порождая у человека состояния экзистенциального вакуума и экзистенциальной фрустрации. Он выделяет три класса...
79412. Движущие силы и условия развития личности. Развитие как способ существования личности в представлениях отечественных исследователей 44.04 KB
  Развитие как способ существования личности в представлениях отечественных исследователей. Проблема постоянства и изменчивости личности Асмолов: Факторы развития личности: органические предпосылки среда сама личность. Двухфакторная детерминация развития личности наследственность среда определяет постановку проблемы о соотношении биологического и социального в человеке.
79413. Психологический возраст и социальная зрелость личности. Подходы к определению критериев социальной зрелости личности 34.66 KB
  Следует отметить что и проблема хронологического возраста имеет большое значение для психологии при исследовании жизненного пути личности выделения его основных этапов т. Вместе с тем в современной науке все большее распространение приобретает полиизмерительный подход к изучению возраста как дифференцированной меры времени человеческой жизни. ^ Самооценка возраста. При постановке проблемы возраста которая принята в психологии практически неисследованным остается вопрос о субъективном отношении человека к собственному возрасту о том...
79414. Категория «личность» в системе наук. Междисциплинарный статус проблемы 26.59 KB
  Междисциплинарный статус проблемы Первое отличие познавательной ситуации исследования психологических закономерностей становления и развития личности состоит в том что в психологии до сих пор возникают серьезные затруднения при попытках очертить сферу эмпирических фактов относящихся к предмету психологического изучения личности. Многогранность феноменологии личности отражающая объективно существующее многообразие проявлений человека в истории развития общества и его собственной жизни превращает исходный вопрос любого познания вопрос об...
79415. Проблемы, связанные с изучением личности. Общие представление о личности в психологии 31.43 KB
  Общие представление о личности в психологии Слово личность в английском языке происходит от латинского person. Таким образом с самого начала в понятие личность был включен внешний поверхностный социальный образ который индивидуальность принимает когда играет определенные жизненные роли некая личина общественное лицо обращенное к окружающим. Эта точка зрения совпадает с мнением современного непрофессионала который обыкновенно оценивает личность по критериям обаяния умения вести себя в обществе популярности физической...
79416. Процессы планирования. Планирование ресурсов проекта 50.09 KB
  Планирование ресурсов проекта. Стандарты на процесс проектирования ПО: ограничения налагаемые на применяемые методы проектирования например распределение ресурсов использование прерываний и структур управляемых событиями использование динамических задач повторный вход использование глобальных данных механизм обработки исключительных ситуаций и обоснования для их использования; Спецификация системы подсистемы: должны быть описаны требования к ресурсам вычислителя к аппаратуре коэффициенту использования ресурсов аппаратуры ПО...
79417. Стратегии и методы проектирования информационных систем 41.51 KB
  Данный подход рекомендуется для организаций с узкоспецифическими требованиями не нуждающихся в общем совершенствовании процессов. Нисходящий подход проектирования Сверхувниз подразумевает собой разработку универсальной системы удовлетворяющей потребности нескольких предприятий. Данный подход рекомендуется для относительно зрелых организаций с устоявшимися бизнеспроцессами которые стремятся вложить все необходимые ресурсы в законченный продукт.
79418. Анализ объекта автоматизации. Методологии анализа 137 KB
  Функциональные модели удобны, когда производится автоматизация производства с хорошо описанным производственным циклом. Модель показывает управление объектом автоматизации. В данных моделях выделяем функции у объектов, основные связи между функциями, формальные ресурсы для функций, входы и выходы у функций