Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Встроенные функции и процедуры




Доп. материалы к лекциям по Информатикен и программированию

 

 

Для повышения производительности и эффективности программирования полезно применять т.н. встроенные (стандартные) функции и процедуры. Их не надо объявлять. Должны быть объявлены только используемые в них параметры.

Хранятся такие процедуры и функции в 8-ми стандартных библиотечных модулях Турбо-Паскаля, в т.ч. SYSTEM, DOS, CRT. Доступ к модулю SYSTEM обеспечен всегда. А остальные надо подключать при написании программы. Тогда станут доступными расположенные в них встроенные процедуры и функции. Это делается записью оператора USES после заголовка программы:

 

USES <список имен стандартных модулей через запятую>;

Например:

PROGRAM …

USES CRT, DOS;

В программе имена вызываемых встроенных процедур записываются как обычные операторы, а имена функций – как операнды.

 

В языке Турбо-Паскаль используются следующие встроенные функции и процедуры:

 

А) математические:

 

№ п/п Имя функции или процедуры Тип аргумента (параметра) Результат Тип результата
  Функции:      
1. ABS(x) Целый, веществ.-й Модуль (абсолютное значение) x Целый, веществ.-й
2. ARCTAN(x) Веществ.-й Арктангенс угла (х – в радианах) Веществ.-й
3. SIN(x) - «- Синус угла (х – в радианах) - «-
4. COS(x) - «- Косинус угла (х – в радианах) - «-
5. CHR(x) BYTE Символ с порядковым номером x CHAR
6. EXP(x) Веществ.-й Экспонента (е в степени х) - «-
7. FRAC(x) - «- Дробная часть х - «-
8. INT(x) - «- Целая часть х - «-
9. LN(x) - «- Натуральный логарифм х (где х >0) - «-
10. ODD(x) Порядк.-й TRUE, если х – нечетно, FALSE, если х – четно BOOLEAN
11. ORD(x) - «- Порядковый номер, соответствующий значению х LONGINT
12. SUCC(x) - «- Последующее значение аргумента Порядк.-й
13. SQRT(x) Целый, веществ.-й Квадратх (где х >0) - «-
14. SQRT(x) Веществ.-й Корень квадратный х - «-
15. PI   Число π=3.1415926535897932385 - «-
16. PRED(x) Порядк.-й Предшествующее значение аргумента Порядк.-й
17. ROUND(x) Веществ.-й Ближайшее (округленное) целое х LONGINT
18. TRUNC(x) - «- Целое от х (усеченное целое) LONGINT
  Процедуры:      
1. DEC(x,[s]) Порядк.-й х, уменьшенное на 1 или s, если s задано Порядк.-й
2. INC(x,[s]) - «- х, увеличенное на 1 или s, если s задано - «-

 

Пример:

 

(N - ABS (a -b)* SQR (b))/(π + SQRT (2*a – SQR (c -d)))

 

Б) cтроковые:

 

№ п/п Имя функции или процедуры Результат Тип результата
  Функции:    
1. CONCAT(s1[,s2,…,sN]) Строка как сцепление подстрок s1 … sN STRING
2. COPY(st,n,k) Подстрока в строке st длиной к символов, начиная с позиции n - «-
3. LENGTH(st) Длина строки st INTEGER
4. POS(pst,st) Номер начальной позиции первого вхождения подстроки pst в строке st или ноль, если вхождение не обнаружено - «-
5. UPCASE(ch) Заглавная латинская буква, соответствующая аналогичной строчной из выражения ch. Другие символы не преобразовываются CHAR
  Процедуры:      
1. DELETE(st,n,k) Cтрока st после удаления из нее к символов, начиная с позиции n STRING
2. INSERT(pst,st,n) Cтрока st после вставки в нее подстроки pst, начиная с позиции n - «-
3. STR(cv[:w[,d]],st) Cтрока st (общей длиной w c d cимволами для дробной части) как результат преобразования целого или вещественного числа cv - «-
4. VAL(st,cv,kod) Результат внутреннего преобразования строки st в переменную cv целого или вещественного типа. Коd =0, если преобразование было успешным. Иначе в коd фиксируется номер позиции в st с ошибочным символом  

 

С) специальные: они обеспечивают выполнение вспомогательных операций в программе, таких как:

- прерывание выполнения программы;

- задержку выполнения определенных шагов программы;

- генерацию случайных чисел;

- подачу звукового сигнала;

- определение объема памяти в байтах, занимаемой переменной;

- копирование блоков информации в оперативной памяти;

- работу с экраном дисплея;

- редактирование отображаемой информации и др.

Отметим наиболее употребимые специальные встроенные функции и процедуры.

 

Из модуля SYSTEM:

 

функции:

1. IORESULT – возвращает код состояния последней операции

ввода-вывода;

2. RANDOM и RANDOM(n) –возвращают случайное число типа

REAL в диапазоне от 0 до 1 (в первом случае) или от 1 до n-1,

где n – целое.

Использованию этих функций должен предшествовать вызов

процедуры RANDOMIZE.

процедуры:

1. EXCLUDE(s,e); - исключает элемент е из множества s того же типа;

2. EXIT; - осуществляет выход из выполняемого блока, передавая управление по метке, помещенной перед служебным словом END, закрывающим блок; при вызове из подпрограммы – возвращает управление в основную программу; при вызове из основной программы – прекращает ее работы;

3. FILLCHAR(p,n,v);заполняет n байтов в переменной p любого типа выражением v любого порядкового типа;

4. HALT[(k)]; - останавливает работу программы, возвращая управление операционной системе и, если к указано, отображая код завершения программы;

5. INCLUDE(s,e); - включает во множество s элемент е того же типа;

6. RANDOMIZE; - инициализирует некоторым случайным значением генератор случайных чисел;

 

Из модуля CRT:

 

функции:

1. KEYPRESSED – возвращает TRUE, если была нажата какая-

либо клавиша на клавиатуре; иначе – FALSE;

1. READKEYчитает (но не выводит на экран) символ с

клавиатуры, приостанавливая выполнение программы до

момента нажатия любой клавиши (исключая регистровые);

2. WHERE X и WHERE Y – возвращают соответственно

горизонтальную и вертикальную координаты текущей позиции

курсора на активном окне;

 

процедуры:

1. CLRSCR;очищает экран, помещая курсор в левый нижний угол;

2. DELEY(t);- задерживает выполнение программы на t миллисекунд;

3. GOTOXY(x,y); - перемещает курсор в позицию экрана, определяемую координатами Х (по горизонтали) и Y 0о вертикали);

4. SOUND(g); -включает подачу звукового сигнала частотой g – герц.

5. TEXTBACKGROUND(c); - устанавливает цвет фона, определяемый параметром с байтового типа;

6. TEXTCOLOR(c); - устанавливает цвет символов, определяемый параметром с байтового типа;

7. WINDOW(x1,y1,x2,y2); - формирует текстовое окно, определяемое координатами левого верхнего (x1,y1) и нижнего правого (x2,y2) углов;

 

 

Тема 6. Сложные или структурированные типы данных.

 

1. Массивы и работа с ними.

2. Множества и выражения над ними.

 

* - *

 

К сложным или структурированным типам относят массивы, записи, множества и файлы. Характерной их особенностью является то, что они описывают множественные объекты, т.е. состоящие из нескольких компонентов. Причем каждый из компонентов также может быть структурированным, образуя т.н. вложенность типов произвольной глубины. Общая длина такого компонента не может быть больше 65520 байт.

Каждому сложному типу свойственен и свой метод объединения компонентов.

 




Поделиться с друзьями:


Дата добавления: 2014-01-15; Просмотров: 535; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.037 сек.