
- •Лабораторна робота № 1.
- •Лабораторна робота № 2.
- •Лабораторна робота № 3.
- •2) Зберегти проект в свою робочу папку, виконав команду меню File / Save Project As. Буде збережено декілька файлів проекту.
- •Лабораторна робота № 4.
- •Лабораторна робота № 5.
- •Лабораторна робота № 6.
- •10) Зберегти проект в свою робочу папку, виконав команду меню File / Save Project As. Буде збережено декілька файлів проекту.
- •Лабораторна робота № 7. Тема: Використання компоненту StringGrid для обробки масивів
- •Лабораторна робота № 8.
- •2) Зберегти проект в свою робочу папку, виконав команду меню File / Save Project As. Буде збережено декілька файлів проекту.
Лабораторна робота № 3.
Розробка програми з використанням компоненту RadioGroup
Мета роботи:
Засвоїти способи розробки з використанням компонентів вибору.
Для створення форми використовувати наступні компоненти:
Label – для підписів
Edit – для введення та виводу
RadioGroup – для вибору одного з перелічених варіантів
Button – для ініціалізації обрахунків
Рекомендована компоновка форми програми представлена на рис. 1.
Рис. 1. Рекомендована компоновка форми
Послідовність виконання работи:
1) Запустити C++ Builder. . При запуску автоматично створюється новий проект.. Для створення нового проекту, у випадку якщо він не створився автоматично або ви його закрили, виконайте команду меню File / New /Application.
2) Зберегти проект в свою робочу папку, виконав команду меню File / Save Project As. Буде збережено декілька файлів проекту.
3) На панелі компонентів обрати вкладку Standard, обрати компонент Label та клацнути лівою кнопкою миші по формі. На цій же вкладці обрати компоненти Edit, Button та RadioGroup. Розташувати 3 об’єкти Label, 3 об’єкти Edit, 1 об’єкт Button та 1 об’єкт RadioGroup, на формі як показано на рис.1. При створенні об’єкт RadioGroup1 не містить жодного варіанта выбору і за замовченням виглядає як показано на рис. 2. Настроювання цього об’єкту буде пізніше.
Рис. 2. Зовнішній вигляд об’єкту RadioGroup1 без настроювання
4) Змінити підпис форми. Для цього обрати форму (клацнути по заголовку форми) та в вікні властивостей об’єкту на вкладці Properties змінити значення властивості Caption. Замість підпису Form1 ввести «Опір».
Рис. 3. Властивість форми Caption (підпис)
5) Змінити підписи об’єктів Label1- Label3 у відповідності з рис. 1. Для цього обрати кожний об’єкт Label та в вікні властивостей об’єкту на вкладці Properties змінити значення властивості Caption.
6) Видалити текст з об’єктів Edit1 – Edit3 (наприклад, в полі Edit1 написано «Edit1»). Для цього обрати кожний об’єкт Edit та в вікні властивостей об’єкту на вкладці Properties очистити значення властивості Text.
7) Оскільки об’єкт Edit3 будемо використовувати для виводу результату (тобто заповнюватись він буде по натисканню на кнопку, а не вручну), необхідно змінити його властивість ReadOnly на значення true (тобто зробити об’єкт Edit3 тільки для читання).
8) Настроїти об’єкт RadioGroup1. Цей об’єкт буде використовуватись як перемикач способів з’єднання резисторів (паралельно чи послідовно). Задамо підпис об’єкту, для цього змінимо значення властивості Caption на «З’єднання». Для того щоб створити перелік варіантів для перемикання необхідно знайти в переліку властивостей об’єкту RadioGroup1 властивість Items та клацнути лівою кнопкою миші на кнопці з трьома точками (рис. 4).
Рис. 4. Перелік властивостей об’єкту RadioGroup1
У вікні, що з’явилось (рис. 5) перелічити можливі варіанти підключення.
Рис. 5. Вікно редактора переліку варіантів
Для програмного вибору одного з варіантів в об’єкті RadioGroup використовується властивість ItemIndex. Ця ж властивість дозволяє відстежувати обраний варіант. Так для вибору першого варіанту (паралельного з’єднання) необхідно задати значення властивості ItemIndex = 0 (рис. 4).
В результаті здійснених операцій об’єкт RadioGroup1 буде містити 2 пункти, перший буде обраним (рис. 6).
Рис. 6. Готовий об’єкт RadioGroup
9) Змінити підпис кнопки Button1. Для цього обрати об’єкт Button1 та в вікні властивостей об’єкту на вкладці Properties змінити значення властивості Caption на «Обрахунок».
10) Об’єкти Edit1 и Edit2 призначені для введення числових даних, необхідних для розрахунку опору. Для того щоб користувач не зміг ввести літери або інші символи, які можуть викликати помилку при розрахунках, необхідно створити оброблювач натискань клавіш на клавіатурі. Для цього необхідно обрати об’єкт Edit1 та в вікні властивостей об’єкту відкрити вкладку Events («Події») . В списку, що з’явився знайти подію OnKeyPress («по натисканню клавіші») та здійснити подвійне клацання лівою кнопкою миші по пустому полю. В заготовці функції написати код обробки натискання клавіш:
Тим самим ми відфільтрували всі клавіші на клавіатурі крім цифрових від 0 до 9, коми та BackSpase (Код клавіші 8). Тепер натискання непотрібних клавіш буде ігноруватись.
Для об’єктів Edit2 на обробку події OnKeyPress слідує підключити вже створену функцію Edit1KeyPress. Для цього необхідно обрати цю функцію в спадаючому списку події OnKeyPress
11) Опір для послідовного з’єднання обчислюється за формулою R=R1+R2; а для паралельного R=(R1*R2)/(R1+R2).
Для реалізації розрахунку в програмі необхідно додати оброблювач натискання кнопки Button1. Для цього два рази клацнути по об’єкту Button1 та в заготовці функції написати програмний код розрахунку опору.
По тексту програмного коду надані коментарі, що описують послідовність дій. Для можливості використання функції заокруглення ceil необхідно підключити модуль math.h (на початку коду програми).
12) Зберегти проект.
13) Провести відладку та тестування програми.
Завдання для отримання додаткових балів.
Написати програму обчислення значень тригонометричної функції для кута X.
Специфікація програми:
1) Кут може бути введений як в радіанах (за замовченням), так і в градусах. Для вказівки того, що введений кут в градусах на форму помістити перемикач CheckBox;
2) Вибір тригонометричної функції повинен здійснюватись за допомогою об’єкту RadioGroup;
3) За замовченням програма повинна видавати результат, заокруглений до четвертого знака. Для можливості отримання не заокругленого результату використовувати перемикач CheckBox;
4) Поле «Кут X=» зробити з перевіркою введених даних для виключення введення нечислових даних;
5) Програма повинна видавати повідомлення про помилку, якщо поле «Кут X=» не заповнено;
6) Поле «Y=» повинно бути тільки для читання;
Компоновка форми:
Варіанти індивідуальних завдань:
Написати програму визначення норми ваги тіла за ростом людини за формулою Кетле.
Норма = Вага в кілограмах/ (Ріст в метрах)2
Після обчислення повинно виводитись повідомлення, яке б містило результат та інформацію про те, чи є даний показник задовільним. Задовільний показник індексу Кетле для чоловіків - 19-25, для жінок - 19-24.
Написати програму визначення ідеальної ваги тіла за формулою Брока, враховуючи ріст, тип статури та вік людини.
Наприклад, при нормальній статурі для людей молодше 40 років вага повинна дорівнювати росту людини в сантиметрах мінус 110, а старше 40 років - ріст в сантиметрах мінус 100.
Ті, хто мають астенічний (тонко кісний) тип статури, повинні зменшити результат на 10%, а гіперстенічний (широко кісний) тип статури - додати до результату 10%.
Після обчислення повинно виводитись повідомлення, яке б містило результат та інформацію про те, чи є даний показник задовільним.
Написати програму визначення типу статури людини за індексом Соловйова, який дорівнює окружності самого тонкого місця на зап’ясті (в сантиметрах).
Для астенічного (тонко кісного) типу індекс Соловйова: менше 15 см у жінок і менше 18 у чоловіків.
Для нормостенічного (нормального) - 15-17 см у жінок, 18-20 см у чоловіків.
Для гіперстенічного (широко кісного) - більше 17 см у жінок і більше 20 у чоловіків.
Після обчислення повинно виводитись повідомлення, яке б містило результат та інформацію про тип статури.
Написати програму визначення оптимальної ваги людини за формулою Лоренса та нижньої межі денної калорійності раціону.
Формула Лоренса:Оптимальна вага = Ріст в см /2 -25.
Нижня межа денної калорійності раціону = Вага в грамах/450*8
Після обчислення повинно виводитись повідомлення, яке б містило результат.
Написати програму обрахунку денної норми калорій за формулою Міффліна – Сан Жеора
Розрахунок калорій для здорової людини:
Чоловіки: 10 * вага (в кг) + 6,25 * ріст (в см) – 5 * вік (в роках) + 5
Жінки: 10 * вага (в кг) + 6,25 * ріст (в см) – 5 * вік (в роках) – 161
Після обчислення повинно виводитись повідомлення, яке б містило результат.
Написати програму обрахунку денної норми калорій за формулою Харриса-Бенедикта
Розрахунок калорій для здорової людини:
Чоловіки: 66,47 + 13,75 * вага (в кг) + 5,0 * ріст (в см) - 6,74 * вік (в роках),
Жінки: 655,1 + 9,6 * вага (в кг) + 1,85 * ріст (в см) - 4,68 * вік (в роках).
Після обчислення повинно виводитись повідомлення, яке б містило результат.
Написати програму