
4. Виключає "або" – xor
Дана операція видати результат True, якщо один з операндів є істиною, а інший - брехнею, тобто вираження не повинні бути однаковими.
a: = True;
b: = False;
c: = a xor b;
d: = not (a) xor b;
e: = not (a) xor not (b);
Змінна c стане істиною, адже a і b різні, а d - брехнею, тому що під порівняння потраплять два значення False. Нарешті, e стане істиною
Функції математичних обчислень
Ці функції працюють з числовими даними. Як правило, вхідним параметром є якесь число, а вихідним - результат обчислення. Практично скрізь аргумент є або цілим числом (Integer), або речовим (Real). Значення, що повертається - теж число. Розглянемо деякі з цих функцій:
Abs (x) - модуль (абсолютне значення) вказаного числа x. Приклад: Abs (-5) = 5. Sin (x) - сінус числа x. Значення x - вугол в радіанах (не в градусах!). Приклад: Sin (Pi / 2) = 1. Cos (x) - косінус числа x. Аналогічно, x - радііани. Приклад: Cos (Pi) = -1. Exp (x) - експонента, ex (e у ступені x). Ln (x) - натуральний логарифм числа x. Приклад: Ln (Exp (2)) = 2. Sqr (x) - квадрат числа x (x2). Приклад: Sqr (5) = 25. Sqrt (x) - квадратний корінь числа x. Приклад: Sqrt (64) = 8. Int (x) - ціла частина числа x. Приклад: Int (1.234) = 1. Frac (x) - дробова частина числа x. Приклад: Frac (1.234) = 0.234. Round (x) - округлення аргументу до найближчого цілого числа. Приклад: Round (1.234) = 1. Trunc (x) - ціла частина дійсного числа x. Приклад: Trunc (1.234) = 1. Pred (x) - попереднє значення x (наприклад, для x = 2 це 1). Succ (x) - таке значення x (для x = 2 це 3). Odd (x) - перевірка аргументу на непарність. Функція повертає значення True, якщо аргумент є непарним числом і False - якщо парних. Приклад: Odd (5) = True.
Відмінність у тому, що Int () повертає число дійсного типу, а Trunc () - цілочисельного.
Це лише частина всіх доступних опцій. Насправді їх набагато більше. Але крім функцій є ще процедури.
Крім стандартних функцій, що описані в модулі System, в пакет Delphi 7 входить модуль Math, який містить широкий набір математичних, тригонометричних, статистичних та інших функцій. На відміну від модуля System, що підключається автоматично, модуль Math потрібно підключати самому, тобто вказати ім’я модуля в операторі uses.
Щоб підключити модуль Math, відкрийте вихідний код модуля. Для цього, коли відкрита форма, слід натиснути F12, або вибрати пункт меню View -»Toggle Form / Unit. Далі потрібно переміститися в саме початку модуля в розділ uses. У цьому розділі через кому описуються імена підключених модулів. Як можна помітити, навіть при наявності порожній форми кілька модулів вже підключені. У цей список і слід додати Math.
Порядок виконання роботи:
Розберемо задачу роботи лінійними структурами, яка б переводила міри довжини з верст до метрів.
Завантажте середовище візуального програмування Delphi.
Збережіть відкритий проект у своїй особистій папці.
Задайте наступні значення властивостей Options (Параметри) об’єкту форма Form1 у вікні Object Inspector:
Caption – Русские меры длины;
Width – 400;
Hight – 200;
Font.Name (тип) =Arial;
Font.Style.fsItalic (начертание шрифта) =true;
Font.Size= (размер)10.
Color – clMoneyGreen;
Cursor – оберіть вигляд вказівника миші на формі, наприклад
crHandPoint.
Після встановлення параметрів, форма повинна мати вигляд як показано на рисунку 1.
Рисунок 1 – Вид форми, після встановлення значень властивостей
Відмовтесь від можливості змінювати розміри вікна програми, надавши властивості форми BorderStyle у вікні Object Inspector значення bsDialog.
Розташуйте у формі текстове поле - об’єкт типу Label1.
Для
цього два рази клацніть мишею на
піктограмі Label
на закладці Standart
палітри компонентів
Delphi.
Розташуйте вставлений об’єкт так, як
показано на рис. 2, перетягуючи його
мишею. Якщо об’єкт Label1
невиокремлений, активізуйте його і у
вікні Object
Inspector
змініть значення властивості Caption
з Label1
на текст „Русские меры длины” (без
лапок); змініть значення його властивостей
як зазначено у табл.1.
Рисунок 2
Зауваження: у вікні Object Inspector відображається список властивостей лише активного на даний момент об’єкта.
Таблиця 1. Властивості компонента Label
Властивість |
Значення |
|||
Name |
Label1 |
Label2 |
Label3 |
Label4 |
Top (відстань від верхньої границі поля до верхньої границі форми) |
16 |
64 |
64 |
64 |
Left (відстань від лівої границі поля до лівої границі форми) |
24 |
41 |
275 |
373 |
Font (шрифт) |
Times New Roman |
|||
Font Style (стиль шрифту) |
Bold |
|||
Size (розмір шрифту) |
15 |
|||
Color (колір шрифту) |
Purple |
|||
AutoSize (приведення меж поля до границь тексту) |
True |
|||
Caption (заголовок) |
Заповніть відповідно рис 2. |
Рис. 3
Аналогічно вставте у форму ще 3 текстових поля. Змініть їх властивості як зазначено у таблиці 1. та на рисунку 3.
Розташуйте у формі поле редагування – об’єкт Edit так, як показано на рисунку 2.
Для
цього клацніть на піктограмі
об’єкта
типу Edit(редагування),
яка знаходиться на закладці Standart
палітри компонентів
головного вікна Delphi, а потім клацніть
на потрібному місці на формі, змініть
значення його властивостей як зазначено
у табл.2.
-
Властивість
Значення
Name
edit1
Top
(відстань від верхньої границі поля до верхньої границі форми)
64
Left
(відстань від лівої границі поля до лівої границі форми)
136
Font
(шрифт)
Times New Roman
Font Style
(стиль шрифту)
Bold
Size
(розмір шрифту)
15
Color
(колір шрифту)
Purple
AutoSize
(приведення меж поля до границь тексту)
True
Розташуйте у формі кнопку – об’єкт типу Button (Button1) так, як показано на рисунку 2.
Піктограма
об’єкта типу Button
(кнопка) знаходиться на закладці Standart
палітри компонентів
головного вікна Delphi.
Поміняйте надпис на кнопці (змініть
властивості Caption)
на „Пересчет”.
Самостійно задайте розмір, стиль та назву шрифту.
Запрограмуйте кнопку „Пересчет” так, щоб після її натискання у введена користувачем довжина у верстах перетворювалась на довжину у метрах.
Для програмування кнопки Button1 двічі клацніть на ній лівою клавішею миші. У результаті активізується вікно тексту програми з заготовкою процедури Button1Click, яка опрацьовується подією клацання на кнопці Button1.
У вікні редактора коду, проміж ключовими словами begin та end, можна вводити інструкції Object Pascal, що реалізують процедуру обробки події.
В тілі процедури опишемо дії, що мають відбуватися у результаті клацання на кнопку „Пересчет”:
-
procedure TForm1. Button1Click (Sender: TObject);
var
vr:real; {длина в верстах}
m:real; {длина в метрах}
begin
if length(edit1.text)=0
then
begin
showmessage('Введите значение длины');
exit;
end;
vr:=strtofloat(edit1.text);
m:= vr/1066.8;
label3.Caption:=floattostrf(m,ffgeneral,4,2);
end;
Початкові дані програма отримує з поля редагування Label1, звертаючись до властивості Text. Властивість Text містить рядок символів, текст, тому, для перетворення рядка у число у програмі використовуються функція Strtofloatf.
Вивід чисельного значення програма здійснює у поле Edit1.
Збережіть створений проект, виконавши команду FileSave All (зберегти все), або натисніть кнопку Save All
на панелі інструментів.
Запустіть створену програму та дослідіть її роботу.
Відкомпілюйте
проект командою Project
Compile project.
Якщо синтаксических
помилок у програмі немає, то
на екрані з’явиться вікно Compiling.
Запустіть проект на виконання командою
RunRun,
або натисніть F9,
або натисніть кнопку
панелі інструментів.
Запустіть
exe-файл з
іменем проекту і
піктограмою
зі своєї власної папки. Дослідіть роботу
програми.
Введіть дані та натисніть кнопку „Пересчет”, результати роботи програми наведені на рисунку 4.
Рисунок 4 – Вікно програмного додатку „Русские меры длины”
На рисунку наведено вікно програмного додатку „Русские меры длины”, при умові, що в поле вводу не введено жодного значення, але кнопка „Пересчет” натиснута.
Рисунок 5– Обробка помилки
Закрийте створений проект, виконавши команду FileClose All.