Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекції для 3ОТ1.doc
Скачиваний:
10
Добавлен:
21.02.2016
Размер:
16.31 Mб
Скачать

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

  1. Дайте поняття, що називається інтегрованим середовищем розробки Delphi.

  2. Дайте поняття структурі редактора кода.

  3. Дайте поняття структурі кода модуля.

  4. Визначте, що називається програмним доступом до властивостей об’єктів.

  5. Визначте, що називається програмним доступом до методів об’єктів.

  6. Охарактеризуйте існуючі прийоми програмування.

АУДИТОРНЕ ЗАНЯТТЯ

ЗМІСТОВИЙ МОДУЛЬ 1: ОСНОВНІ ПОНЯТТЯ ТА ОЗНАЧЕННЯ. ЕЛЕМЕНТИ МОВИ. КЕРУВАННЯ ПРОЦЕСОМ ОБЧИСЛЕНЬ

ТЕМА 1.5: ОСНОВИ СТВОРЕННЯ ПРИКЛАДНИХ ЗАСТОСУВАНЬ

ПРАКТИЧНЕ ЗАНЯТТЯ №16

План заняття

Практична робота №2

Тема: Калькулятор

Мета: Створити програму, у якій буде створено калькулятор, котрий буде виконувати основні арифметичні дії, та мати вигляд схожий на калькулятор, який находиться у стандартних програмах Windows

У процесі виконання лабораторної роботи потрібно створити форму, помістити на неї вікно редагування TEdit, та дві панелі TPanel. Розмістити на панелях кнопки за допомогою яких Ви будете вводити у калькулятор цифри та кнопки арифметичних знаків. Також на TРanel потрібно розмістити кнопку “Зкид” та кнопку обчислення результату.

Напишіть процедури для всіх кнопок “+”, “-”, “*”, “/” та “=”. Також потрібно описати ситуацію коли користувач натискає на кнопки дій, не ввівши числа. Для цього ще потрібно додати процедури для всіх кнопок обчислень “+”, “-”, “*”, “/” та “=”.

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

Звіт по роботі повинний містити теоретичні відомості зі створення проекту, розміщення на формі кнопок, написання процедур та їх обробку, відомості про процедуру при якій – при натисканні на кнопки калькулятора відповідні до цих кнопок числа будуть з`являтись у вікні редагування. Також у звіті потрібно описати процедуру виключних ситуацій (користувач не ввів числа, а натискає на кнопку арифметичної дії, або на кнопку обчислень результату).

Звіт також повинен утримувати у собі декілька малюнків форм цієї програми.

Необхідні теоретичні відомості для практичної роботи:

У цій вправі Ви створите калькулятор, що виконує основні арифметичні дії, уже більш схожий на той, котрий знаходиться в стандартних програмах Windows. Подивіться на рис. 1. і створіть подібну заготовку для Вашого проекту. У Рядку заголовка форми запишіть «Калькулятор-2».

Дайте формі ім'я FormCalculator2. Збережіть модуль і проект під іменами UnitCalculator2 і ProjectCalculator2.

Помістите на форму компонентів TEdit (вікно редагування). Помістіть на форму дві панелі TPanel. Розташуйте на двох панелях кнопки TSpeedButton як показано на рис. 1.

Дайте кнопкам імена відповідно до таблиці 1.

За допомогою групи кнопок на одній панелі Ви будете вводити у вікно цифри, десяткову кому і знак «мінус».

З цифр будуть утворюватися речовинні числа. За допомогою групи кнопок на іншій панелі Ви будете виконувати арифметичні дії над двома числами. На формі повинна бути ще кнопка «Зкид».

Рис. 1. Вікно форми “Калькулятор-2”

Цифри і знаки будуть вводитись у вікно тільки за допомогою кнопок калькулятора. Для того щоб не можна було вводити у вікно числа і букви з клавіатури, у властивості ReadОnly (тільки для читання) для об'єкта Editl виберіть: True (істина).

Клік на кнопці «1» вводить у рядок вікна Editl цифру «1». Це досягається за допомогою наступного оператора: Editl.Text:=Editl.Textn-'l'; (Цей оператор Ви напишете в тілі процедури для кліку на кнопці «1»)

Аналогічні оператори запишіть у процедурах для всіх кнопок уведення цифр і для знаків «,» і «-». Запустіть проект і спробуйте вводити цифри у вікно Edit1.

Таблиця 1. – Призначення кнопок “Калькулятор-2”

Призначення кнопок

Назва (Name)

Ввід цифри “1”

sb_1

Ввід цифри “2”

sb_2

Ввід цифри “3”

sb_3

Ввід цифри “4”

sb_4

Ввід цифри “5”

sb_5

Ввід цифри “6”

sb_6

Ввід цифри “7”

sb_7

Ввід цифри “8”

sb_8

Ввід цифри “9”

sb_9

Ввід цифри “0”

sb_0

Ввід цифри “,”

sb_Zpt

Ввід цифри “-”

sb_Otric

Дія “Додавання”

sb_Plus

Дія “Вирахування”

sb_Minus

Дія “Множення”

sb_Umnog

Дія “Розподілу”

sb_Razd

Знак “Рівняється”

sb_Result

Знак “Зкид”

sb_Sbros

Застосований оператор дозволяє додавати до вже написаної цифри наступну, створюючи число.

У програмі будуть використовуватись речовинні числа a, b і с.

а - перше число,

b - друге число,

с - результат дії.

Також у програмі буде використане ціле число d, що буде визначати, яка дія виконується над числами.

d = 1 – додавання;

d = 2 – вирахування;

d = 3 – множення;

d = 4 - розподіл.

Усі ці змінні варто оголосити в розділі оголошення змінних після службового слова var:

a, // перше число

b, // друге число с:Real; // результат

d:Integer; // визначник дії {d=1 - додавання, d=2 - вирахування,

d=3 - множення, d=4 - розподіл)

Кнопка « + » повинна перевести число, записане у вікні з рядкового формату в цифровий і привласнити перемінній а, значення цього числа; привласнити перемінній d значення «1» і звільнити вікно для набору наступного числа. От як це виглядає в процедурі для цієї кнопки:

a:=StrToFloat(Editl.Text); Editl.Text:=' ' ;

// після знака рівності набираються апострофи d:=l;

Перший оператор використовує функцію StrToFloat(), що перетворить рядок символів, що знаходяться в полі Editl, у речовинне число. Перемінній а привласнюється значення цього речовинного числа.

Другий оператор очищає поле Editl.

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

Варто передбачити збій програми у випадку, якщо Ви натискаєте на кнопки дій, не ввівши числа.

Тоді процедура для кнопки « + » буде виглядати в такий спосіб:

procedure TFormCalculator2.sb_PlusClick(Sender: TObject);

begin

if (Editl.Text='') or

(Editl.Tехt 'натисни "Зкид". Уведи число!'} then Editl.Text:='Натисни "Зкид". Уведи число!' else

begin

a:=StrToFloat(Editl.Text);

Editl.Text:='';

d:=l;

sb_Zpt.Enabled:=True;

sb_0triс.Enabled:=True;

end;

end;

У цій процедурі два останніх оператори виключають кнопки «,» і «-», що знаходяться на цифровій панелі, тому що використовувати їх при наборі числа можна тільки один раз. Для запобігання помилки при вставці знаку «-» перед числом треба в процедуру для кожної цифри і знаку «,» додати наступний оператор:

sb_0tric.Enabled:=False;

Після застосування кнопок дій і кнопки «Зкид», кнопки «,» і «-» повинні знову бути доступними для застосування їх при введенні нового числа. Тому для всіх кнопок арифметичних дій і для кнопки “Зкид” треба в процедуру додати оператори, що включають кнопки «,» і «-»: sb_Zpt.Enabled:=True; sb_0tric.Enabled:=True;

Процедури для інших кнопок дій перепишіть за аналогією з цією процедурою.

Кнопка “=” повинна виконувати дії над двома числами і результат поміщати у вікно Editl. Запишіть для неї наступну процедуру з обліком того, що не можна поділяти на нуль:

procedure TFormCalculator2 . sb_RezultClick (Sender : TObject);

begin

b:=StrToFloat(Editl.Text);

if d=l then

begin

c:=a+b;

Editl.Text:=FloatToStr(c) ;

еnd;

else

if d=2 then

begin

c:=a-b;

Edit1.Text:=FloatToStr(c) ;

еnd;

else

if d=3 then

begin

c:=a*b;

Editl.Text:-FloatToStr(c) ;

еnd;

else

if (d=4) and (b0) then

begin

c:=a/b;

Editl.Text:-FloatToStr(c);

end;

end;

Кнопка «Зкид» служить для того щоб звільнити від запису вікно Editl. Процедура для цієї кнопки виглядає в такий спосіб:

procedure TFormCalculator2.sb_SbrosClick(Sender: TObject);

begin

Editl.Text:='';

sb_2pt.Enabled:=True;

sb_0tric.Enabled:=True;

end;

Збережіть зміни, запустіть проект. Калькулятор-2 готовий до роботи.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]