Статьи

НОУ ІНТУЇТ | лекція | Загальні відомості про мову програмування Free Pascal

2.6 Стандартні функції

У мові Free Pascal визначені стандартні функції над арифметичними операндами ( табл. 2.6 ).

Певну проблему представляє зведення Певну проблему представляє зведення   в ступінь в ступінь . Якщо значення ступеня - ціле позитивне число, то можна раз перемножити (Що дає більш точний результат і при цілому краще) або скористатися формулой9

яка програмується за допомогою стандартних функцій мови:

Дану ж формулу можна використовувати для зведення Дану ж формулу можна використовувати для зведення   в дробову ступінь   , де   - звичайна правильна дріб виду   , А знаменник   - непарний в дробову ступінь , де - звичайна правильна дріб виду , А знаменник - непарний. якщо знаменник - парний, це означає вилучення кореня парному ступеня, отже, є обмеження на виконання операції (x> 0).

При зведенні числа При зведенні числа   в негативну ступінь слід пам'ятати, що в негативну ступінь слід пам'ятати, що

Таким чином, для програмування виразу, що містить зведення в ступінь, треба уважно проаналізувати значення, які можуть приймати Таким чином, для програмування виразу, що містить зведення в ступінь, треба уважно проаналізувати значення, які можуть приймати   і   , Так як в деяких випадках зведення   в ступінь   нездійсненно і , Так як в деяких випадках зведення в ступінь нездійсненно.

Деякі функції, призначені для роботи з рядками, представлені в табл. 2.7 .

Таблиця 2.7. Функції рядків Позначення Тип аргументів Тип результату Дія Робота з рядками length (S) рядок ціле поточна довжина рядка S concat (S1, S2, ...) рядки рядок об'єднання рядків S1, S2, ... copy (S, n, m ) рядок, ціле, ціле рядок копіювання n символів рядка S починаючи з m -й позиції delete (S, n, m) рядок, ціле, ціле рядок видалення n символів з рядка S починаючи з m -й позиції insert (S, n, m) рядок, ціле, ціле рядок вставка n символів в рядок S починаючи з m -й позиції pos (S1, S2) рядки ціле номер позиції, з якої починається входження S2 в S1 chr (x) ціле символ повертає символ з кодом x ord (c) символ ціле повертає код символу з Перетворення рядків в інші типи StrToDateTame (S) рядок дата і час перетворює символи з рядка s в дату і час StrToFloat (S) рядок речовий перетворює символи з рядка s в дійсне число StrToInt (S) рядок ціле перетворює символи з рядка s в дійсне число Val (S, X, Kod) рядок перетворює рядок символів S у внутрішнє представлення цілої або дійсної змінної X, якщо перетворення пройшло успішно, Kod = 0 Зворотне перетворення DataTimeToStr (V) дата і час рядок перетворює дату і час в рядок. FloatToStr (V) речовий рядок перетворює дійсне число в рядок IntToStr (V) ціле рядок перетворює целочисленное число в рядок FloatToStrF (V, F, P, D) речовий рядок перетворює дійсне число V в рядок символів з урахуванням формату F і параметрів P, D

Пояснимо призначення функції FloatToStrF (V, F, P, D). Зазвичай її використовують для форматованого виведення дійсного числа. Значення параметра F представлені в табл. 2.8 , P - кількість символів в формованої з числа рядку, D - кількість символів у дробовій частині числа.

Прикладом роботи функції FloatToStrF служить фрагмент програми:

var n: integer; m: real; St: string; begin n: = 5; m: = 4. 8; St: = 'Іванов А.'; // Вираз chr (13) - символ закінчення рядка. // Для виведення дійсного числа m відводиться 4 позиції // разом з точкою, дві позиції після точки. Label1. Caption: = 'Студент' + St + 'здав' + IntToStr (n) + 'іспитів. '+ Chr (13) +' Середній бал склав '+ FloatToStrF (m, ffFixed, 4, 2); end;

Його результатом буде фраза:

Студент Іванов А. здав 5 іспитів.

Середній бал склав 4.80.

В табл. 2.9 наведені функції, призначені для роботи з датою і часом.

Якщо в процесі роботи над програмою виникає необхідність в створенні змінної, розмір якої невідомий заздалегідь, використовують динамічну память10. У мові Free Pascal операції розподілу пам'яті здійснюються за засобом представленими в табл. 2.10 .

Таблиця 2.9. Функції для роботи з датою і часом Позначення Тип аргументів Тип результату Дія date без аргументу дата-час повертає поточну дату now без аргументу дата-час повертає поточну дату і час time без аргументу дата-час повертає поточний час Таблиця 2.10. Функції для роботи з пам'яттю Позначення Дія adr (x) Повертає адреса аргументу x. dispose (р) Повертає фрагмент динамічної пам'яті, який раніше був зарезервований за типізованим покажчиком р. Freemen (p, size) Повертає фрагмент динамічної пам'яті, який раніше був зарезервований за Нетипізовані покажчиком р. GetMem (p, size) резервує за Нетипізовані покажчиком p фрагмент динамічної пам'яті розміру size. New (p) складом, що резервує фрагмент динамічної пам'яті для розміщення змінної і поміщає в типізований покажчик p адресу першого байта. SizeOf (x) Повертає довжину в байтах внутрішнього подання зазначеного об'єкта x.
Мал. 2.6. Ілюстрація до задачі 2.1

Новости