Практична робота №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 готовий до роботи.

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

1. Охарактеризуйте організацію бібліотеки компонентів

2. Опишіть процедуру створення та запису в бібліотеку шаблонів компонентів та груп компонентів.

3. Надайте характеристику компонентам сторінок бібліотек компонентів.

 


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

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

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

ОБОВ’ЯЗКОВА КОНТРОЛЬНА РОБОТА №17

Контрольна робота по темі: «Створення консольних прикладних застосувань»

1. Охарактеризувати процедури readln і read. Описати їх відмінності.

2. Охарактеризувати процедури writeln і write. Описати їх відмінності.

3. Описати три частини оператора умовного вираження.

4. Описати частини оператора циклу.

5. Створити додаток для консолі «Вивід строки тексту – Data 21/06/2012. Всі оператори оформляти із вводом пояснюючих зазначень.

6. Створити додаток для консолі «Обчислення значення виразу z=y-x+56, з використанням типів значень integer. При обчисленні значення виразу використовувати змінні, які мають наступні значення x=10; y=20, z – будь-яке довільне число.

7. Створити додаток для консолі «Обчислення значення виразу y = 15 / (x 2)-10, з використанням типів значень типу real». Використовувати змінні const x = 15 і y для обчислення значення виразу. Всі оператори оформляти із вводом пояснюючих зазначень.

8. Створити додаток для консолі «Обчислення значення виразу y = 25 / (10-x), з використанням типів значень типу real». Використовувати змінні const x = 3 і y - для обчислення значення виразу.

9. Створити додаток для консолі «Обчислення значення виразу m:= 10 / (cos(n)-11), з використанням типів значень змінних типу real. Використовувати змінні const n = 7 і m для обчислення значення виразу. Всі оператори оформляти із вводом пояснюючих зазначень.

10. Написати додаток для консолі з висновком значення типу Boolean. Використовувати змінну y для обчислення значення виразу. Змінної y задати параметр false.

11. Написати додаток для консолі з висновком значення типу Boolean. Використовувати змінну h для обчислення значення виразу. Змінній h задати параметр true.

12. Написати додаток для консолі з обчисленням витраченого часу на відвідування гуртка «Юнний технік» Пашею і його другом Сергієм. Якщо відомо, що Паша витратив на шлях до палацу культури 37.32 метрів, а другий 69.93 метрів. Також відомо, що перший йшов зі швидкістю 2.52 м / сек, а другий йшов зі швидкістю 6,32 м / сек. Визначте хто - Паша або Сергій при однаковій відстані дійшов би швидше до палацу культури. При обчисленні задачі використовувати наступні змінні типу real, s - шлях, t - витрачений час, v - швидкість пересування. Всі оператори оформляти із вводом пояснюючих зазначень.

 

 


САМОСТІЙНА РОБОТА СТУДЕНТА

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

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

 

Самостійне заняття №11 –Керування проектами

План заняття

1. Додавання та видалення форм та модулів з проекту

2. Керування вікнами на робочому просторі

3. Створення виконуємого файлу для Windows

4. Тонке налаштування середовища програмування

 








Дата добавления: 2014-12-01; просмотров: 923;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.022 сек.