Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Алфавит ТР.
Служебные слова языка ТР
Константы.
Выражения, их типы.
Алфавит Тurbо Раsсаl.
Под алфавитом языка понимают совокупность допустимых символов. В языке Турбо Паскаль используются символы ASCII (американский стандартный код обмена информацией). Можно выделить четыре основные группы символов: символы, используемые в идентификаторах, разделители, специальные символы и неиспользуемые символы.
Идентификатор это имя любого объекта языка. Он может состоять из латинских букв (a...z), цифр (0...9) и знака подчеркивания и не должен начинаться с цифры. Прописные и строчные буквы в идентификаторах и зарезервированных словах считаются идентичными, они различаются лишь в строковых константах. Длина идентификатора не ограничена, но значимыми являются лишь первые 63 символа.
Разделители используются для отделения друг от друга идентификаторов, чисел и зарезервированных слов. К разделителям относятся, например, пробел и комментарий. В любом месте программы, где разрешается один пробел, их можно вставить любое количество.
Комментарии заключаются либо в фигурные скобки { комментарий 1 }, либо в символы (* комментарий 2 *) и могут занимать любое количество строк. Последовательность из трех символов (*) начинает комментарий до конца строки. Текст комментария игнорируется при компиляции, если это не директивы компилятора, которые имеют вид {$ }.
специальные символы: |
составные символы: |
|
+ плюс - минус * звездочка / дробная черта = равно > больше < меньше [ ] квадратные скобки ( ) круглые скобки @ коммерческое а |
{} фигурные скобки . точка , запятая : двоеточие ; точка с запятой • апостроф * номер $ знак денежной единицы " тильда пробел (не имеет обозначения) |
:= присваивание <> не равно .. диапазон значений ( * * ) альтернатива {} <= меньше или равно >= больше или равно ( . . ) альтернатива [ ] |
Служебные слова языка Тurbо Раsсаl
Слова подразделяются на зарезервированные слова, стандартные идентификаторы и идентификаторы пользователя .
Зарезервированные слова (служебные слова) являются составной частью языка, имеют фиксированное начертание и раз и навсегда определенный смысл. Зарезервированные слова версии языка Паскаль для персональных ЭВМ приведены в следующем списке:
program |
if |
And |
type |
goto |
uses |
then |
or |
file |
Case |
var |
else |
not |
unit |
nil |
Array |
for |
Div |
inline |
shr |
label |
to |
mod |
interface |
|
Const |
Do |
Absolute |
interrupt |
of |
procedure |
Downto |
set |
record |
string |
function |
while |
in |
external |
implementation |
Begin |
repeat |
with |
forward |
packed |
end |
until |
xor |
shl |
constructor |
Стандартные идентификаторы служат для обозначения заранее определенных разработчиками языка типов данных, констант, процедур и функций. Например, стандартный идентификатор sin вызывает функцию, вычисляющую синус заданного угла. любой из стандартных идентификаторов в отличие от зарезервированных слов можно переопределить, но это чаще всего приводит к ошибкам, поэтому на практике стандартные идентификаторы лучше использовать без каких-либо изменений.
Идентификаторы пользователя применяются для обозначения меток, констант, переменных, процедур и функций, определенных самим программистом. Правильно выбранные идентификаторы значительно облегчают чтение и понимание программы, а также уменьшают вероятность появления ошибок при модификации программ. Например, значение даты удобнее обозначить идентификатором Data, чем просто буквой D или любым другим символом.
Существуют общие правила написания идентификаторов:
При написании идентификаторов можно использовать как прописные, так и строчные буквы. Компилятор не делает различий между ними. Вместо идентификатора nomerotdela лучше написать NomerOtdela, выделив прописными буквами каждую из двух смысловых частей.
Константы.
Любая программа имеет смысл, если она обрабатывает какие-либо данные.
Как и другие языки программирования, Паскаль интерпретирует данные как константы или переменные. Следовательно, в программе каждый элемент данных является константой либо переменной. Константы и переменные определяются идентификаторами (именами), по которым к ним можно обращаться для получения текущих значений.
Константами называются элементы данных, значения которых установлены в описательной части программы и в процессе выполнения программы не изменяются, для определения значения констант служит зарезервированное слово Const.
Формат: Const
<идентификатор> = <значение константы>;
Пример.
Const
Мах = 1000;
Vxod= 'Cегмент 5';
Имеется ряд констант, к значениям которых можно обращаться без предварительного определения. Наиболее употребительные из них приведены в табл. 1.1 .
Идентификатор |
Тип |
Значение |
Описание |
True |
boolean |
True |
Истина |
False |
boolean |
False |
Ложь |
Maxint |
Integer |
32767 |
Макс. целое |
Таблица 1.1. Зарезервированные константы |
Переменные в отличие от констант могут менять свои значения в процессе выполнения программы. Каждая переменная и константа принадлежат к определенному типу данных. Тип констант автоматически распознается компилятором без предварительного описания. Тип переменных должен быть описан перед тем, как с переменными будут выполняться какие-либо действия. Для описания переменных предназначено зарезервированное слово Var
Формат: Var
<идентификатор> : <тип>;
Пример. '
Var
Suml, Sum2 : real;
Имя переменной является "оболочкой", которую можно заполнить различными значениями, что нельзя сделать с константой.
Кроме констант и переменных, существуют так называемые типизированные константы, которые являются как бы промежуточным звеном между переменными и константами. Слово "константа" означает что данные этого типа описываются в разделе Const. а слово "типизированные" указывает, что должен указываться и тип, как у переменных.
Формат: Const
<идентификатор>:<тип>=<значение>;
Пример.
Const
VideoSeg : word = $В800;
В прикладном аспекте типизированная константа равнозначна переменной с заранее инициализированным значением, и в программe действия над ней могут производиться так же, как над переменной
Типы данных.
Понятие типа данных является ключевым в языке ТР.
Тип данных определяет:
Мы с вами рассмотрим простые типы данных, каждый из которых определяет упорядоченное множество значений:
Идентификатор |
Длина, байт |
Диапазон (множество) значений |
Операции |
Целые типы |
|||
integer |
2 |
32768..32767 |
+, , /, *, Div, Mod, >=, <=, =, <>, <, > |
byte |
1 |
0..255 |
+, , /, *, Div, Mod, >=, <=, =, <>, <, > |
word |
2 |
0..65535 |
+, , /, *, Div, Mod, >=, <=, =, <>, <, > |
shortint |
1 |
128..127 |
+, , /, *, Div, Mod, >=, <=, =, <>, <, > |
longint |
4 |
2147483648..2147483647 |
+, , /, *, Div, Mod, >=, <=, =, <>, <, > |
Вещественные типы |
|||
real |
6 |
2,9*1039 1,7*1038 |
+, , /, *, >=, <=, =, <>, <, > |
single |
4 |
1,5*1045 3,4*1038 |
+, , /, *, >=, <=, =, <>, <, > |
double |
8 |
5*10324 1,7*10308 |
+, , /, *, >=, <=, =, <>, <, > |
extended |
10 |
3,4104932 1,1*104932 |
+, , /, *, >=, <=, =, <>, <, > |
Логический тип |
|||
Boolean |
1 |
true, false |
Not, And, Or, Xor, >=, <=, =, <>, <, > |
Символьный тип |
|||
char |
1 |
все символы кода ASCII |
+, >=, <=, =, <>, <, > |
Стандартные процедуры и функции, применяемые к целым типам:
Обращение |
Тип результата. |
Действие. |
Abs(x) |
х |
Возвращает модуль х |
Chr (b) |
Char |
Возвращает символ по его коду |
Dec (vx [,i]) |
|
Уменьшает значение vx на i, а при отсутствии i на 1. |
Inc (vx [,i]) |
|
Увеличивает значение vx на i, а при отсутствии i на 1. |
Hi (w) |
Byte |
Возвращает старший байт аргумента |
Hi (I) |
То же |
Возвращает третий по счету байт |
Lo (i) |
То же |
Возвращает младший байт аргумента |
Lo (w) |
То же |
То же |
Odd (l) |
Boolean |
Возвращает True, если аргумент нечетное число |
Random (w) |
Как у параметра |
Возвращает псевдослучайное число, равномерно распределенное в диапазоне 0…(w-1). |
Sqr (x) |
х |
Возвращает квадрат аргумента |
Swap (i) |
Integer |
Меняет местами байты в слове |
Swap (w) |
Word |
То же |
Буквами b, s, w, I, l обозначены выражения соответственно типа Byte, ShortInt, Word, Integer, LongInt, х выражение любого из этих типов; буквы vb, vs, vw, vi, vl, vx обозначают переменные соответствующих типов. В квадратных скобках указывается необязательный параметрэ
Стандартные процедуры и функции, применяемые к вещественным типам:
В данной таблице Real любой вещественный тип, Integer любой целый тип.
Обращение |
Тип параметра |
Тип результата |
Примечание |
Abs (x) |
Real, Integer |
Тип аргумента |
Модуль аргумента |
ArcTan(x) |
Real |
Real |
Арктангенс (значение в радианах) |
Cos (x) |
То же |
То же |
Косинус, угол в радианах |
Exp (x) |
То же |
То же |
Экспонента |
Frac (x) |
То же |
То же |
Дробная часть числа |
Int (x) |
То же |
То же |
Целая часть числа |
Ln (x) |
То же |
То же |
Логарифм натуральный |
pi |
|
То же |
3.141592653… |
Random |
|
То же |
Псевдослучайное число, равномерно распределенное в диапазоне 0…[1] |
Random (x) |
Integer |
Integer |
Псевдослучайное число, равномерно распределенное в диапазоне 0…(х-1) |
Randomize |
|
|
Инициализация генератора псевдослучайных чисел |
Sin (x) |
Real |
Real |
Синус, угол в радианах |
Sqr (x) |
То же |
То же |
Квадрат аргумента |
Sqrt (x) |
То же |
То же |
Корень квадратный |
Random получает некоторое целое число, называемое базовым, изменяет его разряды по определенному алгоритму и выдает новое число как результат. Одновременно с этим новое число становится базовым при следующем обращении к функции и т.д.
Структура типов данных. |
Выражения, их типы.
Как уже отмечалось язык программирования ТР предназначен для решения задач различного характера, в том числе и для нахождения значения различных выражений.
Выражение это синтаксическая единица языка, задающая порядок и способ вычисления некоторого значения.
В соответствии с правилами формирования выражения представляет собой последовательность операндов, соединенных друг с другом знаками операций. Некоторые фрагменты выражения могут быть заключены в круглые скобки. Выражение записывается в линейной форме.
Операция |
Типы величин |
Тип результата |
a*b |
integer, integer |
integer |
a*b |
integer, real |
real |
a*b |
real, real |
real |
а/b |
integer, integer |
real |
а/b |
integer, real |
real |
а/b |
real, real |
real |
a+b |
integer, integer |
integer |
a+b |
integer, real |
real |
a+b |
real, real |
real |
a-b |
integer, integer |
integer |
a-b |
integer, real |
real |
a-b |
real, real |
real |