Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
PAGE 3
Практична робота №4.
Поліморфізм.
Мета: засвоїти поняття поліморфізм та навчитися виконувати арифметичні операції в обєктно-орієнтовному середовищі.
Поліморфізм - це властивість класів вирішувати схожі по сенсу проблеми різними способами. Дії, що виконуються однойменними методами, можуть відрізнятися в залежності від того, якому з класів належить той чи інший метод.
В об'єктно-орієнтованому програмуванні можна виконувати будь-які арифметичні дії. Для цього необхідно використовувати не числа, як в математиці, а змінні - символи, які будуть позначати цифри в загальному вигляді. Існують спеціальні знаки, що дозволяють записувати арифметичні дії:
1. : = - Присвоювання (А: = В).
2. операції мови: + - додавання (А: = В + С)
* - множення
- віднімання
/ - ділення
3. знаки операцій відношення: <,>, =, <=,> =, <>
4. {..} або / / - коментарі, тобто необов'язковий текст у вікні програмного коду, який служить для пояснення і не впливає на виконання завдання.
5. ; - Символ для розділення інструкцій мови (операторів)
Для вирішення арифметичних завдань необхідно описувати всі змінні, які використовуються:
Var a, b, c, dude: integer; //цілі числа
x, y, z, max: real; // дійсні числа
Тобто приклад a + b = c ми будемо вирішувати наступним чином:
1. Заведемо 3 змінні a, b, c.
2. Запис c: = a + b буде означати, що результат суми двох чисел, що лежать в комірках a і b буде записаний в змінну с. У мові програмування Delphi запис с = а + b буде означати, що сума чисел а і b дорівнює с.
Тепер, якщо нам необхідно вирішити приклад 2 +4 = 6, при запуску програми ми в змінну a запишими 2, в b - 4 і програма видасть відповідь 6.
Для вирішення прикладів ми будемо використовувати функції IntToStr (<змінна>) (переклад числа з цілого в рядковий тип) і StrToInt (<змінна>) (переклад з строкового в цілий тип). Це необхідно у зв'язку з тим, що при введенні числа в рядок Edit воно стає строкового типу, а з рядками можна виконати арифметичних операцій. Для обчислення необхідно перетворювати тип з строкового в цілий, а для виведення результату потрібно назад переводити з цілого в рядковий тип.
Однак якщо відповідь задачі лежить у змінній речовинного типу, то для виведення його в рядковому поле класів TEdit або TMemo необхідно використовувати функцію FloatToStr (<змінна>).
Вирішимо найпростіший приклад: знайти суму трьох чисел.
1. Описуємо після службового слова VAR кілька змінних цілого типу для зручності рішення: Var a, b, c, s: integer;
2. На форму заводимо 3 мітки: Label1, Label2, Label3. У кожної з них у властивості Caption написати відповідно а =, в =, з =.
3. Наносимо однорядкові елементи управління Edit1, Edit2, Edit3. У них будемо вводити числа. Для цього у властивості Text потрібно видалити написи.
4. Створюємо кнопку, яку називаємо Cума
5. Наносимо елемент управління Memo1 і видаляємо всі написи в багаторядковому редакторі. Для цього у вікні Властивості об'єкта вибираємо властивість Lines і видаляємо всі написи в ньому.
Приблизно ваша форма повинна мати наступний вигляд:
1. Активуємо подвійним клацанням миші кнопку. З'являється процедура TForm1.Button1Click (Sender: TObject);
2. У тілі процедури присвоюємо заведеним змінним значення рядків наступним чином a: = StrToInt (Edit1.text); (аналогічно для b і c)
3. Обчислюємо суму s: = a + b + c;
4. Виводимо результат в Memo1. Для цього записуємо Memo1.Text: = IntToStr (s);
Продумати своє графічне оформлення цього завдання.
Завдання для практичної роботи:
1. Обчислити добуток чотирьох чисел. Графічне оформлення завдання самостійне.
2. Вирішити приклад a = b + c / m * k. Графічне оформлення завдання самостійне.
abs(x) |
Модуль х |
cos(x) |
Косинус х |
exp(x) |
Експонента |
frac(x) |
Дробова чатина від х |
int(x) |
Ціла чатина від х |
random |
Псевдовипадкове число [0,1) |
random(x) |
Псевдовипадкове число [0,x) |
sin(x) |
Синус х |
sqr(x) |
квадрат х |
sqrt(x) |
корінь квадратний |