- •Лабораторна робота 1. Вивчення інтерфейсу середовища програмування Delphi. Вивчення властивостей форми
- •Завдання
- •Лабораторна робота №2. Програмне змінення властивостей об’єктів
- •Завдання
- •Запустіть середовище програмування (ПускВсе программыBorland Delphi 7Delphi 7)
- •Контрольні запитання
- •Лабораторна робота №3. Змінні, числа та рядки
- •Завдання
- •Запустіть середовище програмування (ПускВсе программыBorland Delphi 7Delphi 7).
- •Л абораторна робота №4. Розв’язування задач за допомогою Delphi з використанням типів integer, real, string
- •Завдання
- •Зверніть увагу, що змінні одного типу можна описувати через кому!
- •Запустіть середовище програмування (ПускВсе программыBorland Delphi 7Delphi 7).
- •Л абораторна робота №5. Розв’язування математичних задач за допомогою Delphi з використанням типів integer, real, string
- •Завдання
- •Л абораторна робота №6. Використання оператора if – then для перевірки вхідних даних
- •Завдання
- •Лабораторна робота №7. Розв’язування задач за допомогою оператора if – then.
- •Завдання
- •Продивіться та повторіть у Delphi приклад розв’язання задач.
- •Прочитайте теоретичні відомості.
- •Розв’яжіть наступні задачі.
- •Прочитайте теоретичні відомості про команду InputBox та виконайте завдання.
- •Другий параметр Напис у вікні
- •InputBox('Введите заголовок окна','','');
- •Прочитайте теоретичні відомості про об’єкт memo та виконайте завдання.
- •Заповніть таблицю
Л абораторна робота №4. Розв’язування задач за допомогою Delphi з використанням типів integer, real, string
Прізвище, ім’я учня _______________________________________________________ Клас ____
Завдання
Заповніть таблиці:
-
Тип даних
Назва в Delphi
Вираз (обчислення)
Тип результату
Цілі числа
string + string
Раціональні числа
integer + integer
Рядки
integer – integer
integer * integer
integer / integer
(!)
real (+ - * /) real
real (+ - * /) integer
В
Зверніть увагу, що змінні одного типу можна описувати через кому!
ідомий фрагмент програми: var a, b : integer;
c, d : real; s, t : string;
Заповніть таблицю (якщо вираз помилковий з точки зору Delphi, то впишіть «помилка»):
-
Вираз
Тип виразу
Вираз
Тип виразу
a+b
IntToStr(a+b)
a+c
FloatToStr(s)
a/c
StrToFloat(t)
a/b
FloatToStr(d – a)
s+t
IntToStr(c+b)
s+a
StrToInt(b – a)
d+a
IntToStr (b/a)
Заповніть пропуски: Команда ShowMessage може виводити на екран лише _____________ і не може ________
Запустіть середовище програмування (ПускВсе программыBorland Delphi 7Delphi 7).
Продивіться та повторіть приклад розв’язання задач у Delphi.
Задача 1. У тісному трюмі піратської бригантини капітан Флінт та боцман Федя ділили одне й те саме число на різні дільники: капітан Флінт з похмурою усмішкою на M, а боцман Федя зі спокійним виразом обличчя на N. Боцман Федя отримав результат K. Який результат отримав Флінт?
Вхідні дані. Числа M, N і K вводяться з клавіатури.
Вихідні дані. Результат Флінта виводиться на монітор.
Розв’язання. Очевидно, щоб узнати задумане число, треба N помножити на К, а щоб узнати результат Флінта, необхідно це число розділити на M. Отже, результат Флінта можна обчислити за формулою
(N*K)/M або N*K/M
Створіть у Delphi новий проект і розмістіть на формі компоненти, як на мал. нижче:
Створіть обробник події OnClick кнопки Button1.
Нам знадобляться 3 змінних: m, n і k, причому ці числа можуть бути не тільки цілими, а раціональними. Тому потрібно об’являти змінні типу real (введіть рядки, написані червоним):
procedure TForm1.Button1Click(Sender: TObject);
v
Зверніть увагу,
що змінні одного типу можна описувати
через кому!
m,n,k:real;
begin
end;
Далі треба присвоїти змінним m, n, k те, що користувач ввів з клавіатури. Додайте у процедуру рядки:
m
Використовуємо
StrToFloat,
тому
що m,
n, k типу
real
n:=StrToFloat(Edit2.Text);
k:=StrToFloat(Edit3.Text);
Надалі обчислення проводяться за відомою вже формулою (додайте в процедуру наступний рядок):
S
Використовуємо
FloatToStr,
тому
що
n*k/m - вираз
типу
real
Програма готова. Перевірте правильність її роботи.
Зауваження до задачі 1.
Її можна розв’язати іншим способом, не вводячи змінних m, n, k, а написавши просто
ShowMessage(FloatToStr(StrToFloat(Edit2.Text)* StrToFloat(Edit3.text)/ StrToFloat(Edit1.Text)));
Можна «красиво» вивести результат, наприклад так:
ShowMessage(‘Флінт отримав число ’+FloatToStr(n*k/m));
Задача 2. У іноземного диверсанта було завдання: темною ніччю підірвати N загальноосвітніх шкіл (при розв’язанні вважати, що N націло ділиться на 3). Диверсант перевиконав завдання на 1/3 його частини. Скільки щасливих діточок зможуть відпочити від загальної освіти, якщо відомо, що у кожній підірваній школі мучилися M учнів?
Вхідні дані. Число шкіл N та число учнів кожної школи M вводяться з клавіатури.
Вихідні дані. Число відпочиваючих учнів виводиться на монітор.
Розв’язання. Треба було підірвати N шкіл, але диверсант підірвав на третину більше, тобто N+N/3 школи. Якщо в кожній школі було M учнів, то всього їх було M*(N+N/3). За цією формулою й будемо розв’язувати задачу.
Розмістіть на формі необхідні компоненти:
За смислом задачі M та N – цілі числа, тому змінні m і n будемо об’являти типу integer (додайте в процедуру написане червним):
procedure TForm1.Button1Click(Sender: TObject);
var
m,n:integer;
begin
end;
Потім присвоюємо нашим змінним необхідні значення (додайте у процедуру):
Використовуємо
StrToInt,
тому
що
m,
n, типу
integer
n:=StrToInt(Edit2.Text);
Обчислюємо та виводимо результат за формулою:
S
Використовуємо
FloatToStr,
тому
що
m*(n+n/3)
- вираз
типу
real:
в ньому присутнє ділення
Запустіть програму на виконання.
Розв’яжіть наступні задачі.
Задача 3. Сумний дядя Боря запропонував задумливій тьоті Олі вийти за нього заміж. Тьотя Оля обіцяла подумати, думала N років і відмовилась. Сумний дядя Боря запропонував їй іще подумати. Задумлива тьотя Оля думала на M років довше, ніж першого разу, і погодилася. Скільки років сумний дядя Боря не втрачав надії, що задумлива тьотя Оля вийде за нього заміж?
Вхідні дані. Числа років M, N вводяться з клавіатури.
Вихідні дані. Результат виводиться на монітор.
Задача 4. Колі та Толі купили по M пиріжків. Коля з’їв свої пиріжки за X хвилин і став з’їжджати з глузду від заздрощів, глядячи, як Толя їсть кожний пиріжок по Y хвилин. Як довго буде з’їжджати з глузду Коля?
Вхідні дані. Число пиріжків М і числа хвилин X, Y вводяться з клавіатури. (X,Y не обов’язково цілі).
Вихідні дані. Час з’їжджання з глузду Колі виводиться на монітор.