Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Оператор присваивания. Приоритет операций. Стандартные функции.
< имя переменной>: =< выражение>; арифметические логические отношения прочие 1 NOT @-адресное преобразование 2 *, /, DIV, MOD AND, SHL, SHR 3 +, - OR, XOR 4 <; >; =; IN Для повышения приоритета используются ( ). Стандартные функции ТП. ABS(X ) SQR(X) SQRT(X) TRUNG(X) ROUND(X) COS(X) SIN(X) TG(X) ARCTANG(X) EXP(X) LN(X) PRED(X) SUCE(X) ORD(X) CHR(X) ODD(X) INT(X) FRAG(X) +, -, *, / (X)DIV(Y) MOD(X) NOT AND OR XOR = < > I_SHL_J I_SHR_J Операторы и функции безусловного перехода (goto, continue, exit, halt). EXIT; - выход из программы или подпрограммы HALT(COD); - (COD) – необязательный параметр, определяет код HALT; - безусловная остановка программы ERRORLEVEL; - вниз BREAK; - досрочный выход из цикла CONTINUE; - прерывает выполнение текущей операции в цикле, передаёт управление следующему оператору Структуры простой и сложной программ в Турбо-Паскале. PROGRAM< имя программы >; USES< имя модуля>; TYPE< раздел типов>; LABEL< метки>; CONST< константы>; VAR< переменные и их типы>; FUNCTION< имя функции> (имя переменной: тип) BEGIN операторы END; PROCEDURE< имя процедуры> ( параметры) BEGIN операторы END; BEGIN Текст основной программы END. Подпрограммы. Применение. Структура описания. Отличие процедуры от функции. Самостоятельные, законченные фрагменты программы, оформленные особым образом, снабжённые именем – называются подпрограммами Использование подпрограмм позволяет разбить программу на ряд независимых частей. Подпрограммы используются: 1Для экономии памяти, когда некоторая последовательность действий встречается неоднократно на разных участках программы. Каждая подпрограмма существует в ед. экземпляре, но обращаться к ней можно неоднократно из разных точек программы. 2. В сложных программах при модульном проектировании. Подпрограммы делятся на процедуры и функции Результатом исполнения функции является единственное значение простого, строкового или указательного типа. Поэтому обращение к функции можно использовать выраженное наряду с константой и переменные. Процедура обычно возвращает несколько значений, подпрограмма состоит из заголовка и тела подпрограммы. Тело подпрограммы состоит из раздела описаний и раздела операторов. Структура: PROCEDURE< имя процедуры >; FUNCTION< имя функции> (параметр: тип); USES< модули>; LABEL< метки>; CONST< константы>; TYPE< типы>; VAR< переменные>; BEGIN Тело подпрограммы END; Вложенные подпрограммы. Принципы локализации имен (локальные и глобальные переменные). Вложенными являются подпрограммы, вызываемые из других подпрограмм. Если какая либо программа использует некоторые переменные подпрограммы, То данные переменные должны быть описаны не в подпрограмме, а в самой программе. Данные переменные называются глобальными, а переменные, объявленные в модуле или подпрограмме являются локальными, и значения этих временных нельзя использовать в главной программе. Вызов подпрограмм (формальные и фактические параметры). Подпрограммы могут быть вызваны как из тела основной программы, так и из тела другой подпрограммы. Для вызова необходимо написать имя процедуры или функции, а также, если надо, ряд переменных передаваемых в подпрограмму. Пример: PROCEDURE< имя> [(< формальные параметры> )]; FUNCTION< имя> [(< формальные параметры> )]: < тип> Сразу за заголовками может следовать одна стандартных директив: ASSEMBLER < тело подпрограммы на ассемблере>, EXTERNAL< объявление внешней подпрограммы>, FAR, FORWARD, INLINE< встроенные машинные инструменты>, INTERRUPT, NEAR. PROCEDURE SB(a: real< формальный параметр> ); Фактические параметры – это глобальные переменные подставленные в формальные ТИП ФАКТ=ТИП ФОРМ.
Процедуры без параметров и с параметрами. PROCEDURE< имя> Begin < текст процедуры> end; Передача в подпрограмму параметров регулярного типа (массивов, строк). Типом любого формального параметра может быть только стандартный или ранее объявленный тип. Пример: TYPE TYPE ATYPE=ARRAY[1..10]OF REAL; INTYPE=STRING[15]; PROCEDURE S(A: ATYPE); OUTTYPE=STRING[30]; FUNCTION ST(S: INTYPE): OUTTYPE Иной способ для передачи параметров переменных отключением контроля компиляции. Открытый массив PROCEDURE I (A: ARRAY OF REAL); Функции. Описание. Вызов функции. FUNCTION< имя> [(< формальные параметры> )]: < тип> Сразу за заголовками может следовать одна стандартных директив: ASSEMBLER < тело подпрограммы на ассемблере>, EXTERNAL< объявление внешней подпрограммы>, FAR, FORWARD, INLINE< встроенные машинные инструменты>, INTERRUPT, NEAR. FUNCTION< имя функции> (параметр: тип); Begin < тело подпрограммы> end; Рекурсии. Прямая и косвенная рекурсия. Директива FORWARD. Рекурсия – это такой способ организации вычислительного процесса при котором программа в ходе выполнения составляющих её операторов обращается сама к себе. Для избежания переполнения стёка, следует размещать промежуточные результаты во вспомогательной переменной. Begin ………………………… F: =fac(n-1); - вспомогательная переменная ………………………. End; Рекурсивный вызов может быть косвенным, который разрешается опережающим описанием: Procedure b(j: byte); Forward; Procedure a (i: byte); Begin B(i); End; Тип-диапазон. Структурированные типы. Массивы. Любой из структурированных типов (а в ТП их 4: массивы, записи, множества, файлы) характеризуется множественностью образующих этот тип элементов. В ТП Допускается бесконечная глубина вложенности типов, однако Суммой=< 65520 байт (т.к. каждый компонент может представлять структурированный тип). PACKED- осуществляется везде где это возможно. Тип диапазон: TYPE D = array [0..9] of char; Var m: d; Begin < операторы> end. Обычно в качестве идентификатора типа используется тип–диапазон, в котором задаются границы изменения индексов. Тип-диапазон подмножество своего базового типа, в качестве которого может выступать любой порядковый тип, кроме типа-диапазона. < мин. значение >..< макс. значение> TYPE digit = ‘0’..’9’; можно Var date: 1..31; dig2=48..57; month: 1..12; 1CHR: ’a’..’z’; High(x) – максимальное значение типа диапазон Low(x) – минимальное значение типа диапазон. Массивы - формальное объединение нескольких однотипных объектов (чисел, символов, строк и т.д.), рассматриваемое как единое целое. Var a: array [1..10] of real; Компоненты массива состоят из данных одного типа (возможно структурированного). В качестве идентификаторов порядковые типы кроме LongInt и типа диапазон с базисным типом LongInt/ Символьный тип. Значением символьного типа является множество всех символов ПК. Каждому символу присваивается целое число в диапазоне 0..255.Это служит кодом внутреннего представления символа, его возвращает функция ORD. Для кодировки используется код ASCII – 7 битный код, т.е. с его помощью кодируется 128 символов (0..127). В то же время в 8-битном байте, отведённом для хранения символа в ТП, можно закодировать в 2 раза больше символов (0..255). (0-127ASCII, 128-255-может меняться на ПК разных типов). 0-31 – служебные коды (пробелы) Строковый тип. Операции, процедуры и функции Значением строкового типа является любая последовательность символов, т.е. строка. Окончанию строки соответствует символ с кодом 0, и которые называются строками с завершающим нулём или ASCIIZ-строками. Строковый тип соответствует идентификаторам string и PChar. A: array[0..n] of char = a: string Ord(0)=length(a)- длинна строки(не больше 255 символов) Concat (S1 [s2.., SN])- сцепление строк Copy (St, index, count) – копирует из строки ST символ, начиная с index Delete(ST, a, b) – удаление b символов начиная с a Insert (sut, st, b)–вставляет SUT в ST начиная с b Pos (Sut, St) - в строке ST отыскивает Sut если нет 0 Str (X [WIDTH [: DECIMALS]], ST)- из вещественного или целого в строку Val (st, x, code) – обратно str (пробелы не допускаются) Var s: string; Begin ……. S: = ’dsfsdhfjhsdfjshdfjsd’; ………. End. |
Последнее изменение этой страницы: 2020-02-17; Просмотров: 69; Нарушение авторского права страницы