Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Алгоритмы и алгоритмические языки. Учебное пособие
.pdf
31
Рисунок 2.3. Результат выполнения программы ZADANIE_1 в среде TP
9. Выход из среды Turbo Pascal. Выход из среды
программирования можно осуществить, используя пункт меню
File→Exit или клавишами Alt+X. Если изменения в программе не были
сохранены, TP предложит вам осуществить выход из среды с
сохранением (Yes) или без сохранения изменений (No), или отменить
выход (Cancel). После выбора действия необходимо нажать клавишу
Enter.
Алфавит языка Turbo Pascal
Алфавитом языка программирования называют набор символов
(разрешенный к использованию и воспринимаемый компилятором), с
помощью которого могут быть образованы величины, выражения и
операторы данного языка.
Все символы кодировочной таблицы, хранящейся в постоянном
запоминающем устройстве (ПЗУ) компьютера являются символами
алфавита языка. Каждому символу алфавита соответствует
десятичный код от 0 до 255.
К алфавиту языка Turbo Pascal относятся символы, приведенные в
таблице 2.3:
Таблица 2.3. Алфавит TPascal
Латинские буквы
A–Z (прописные)
a–z (строчные)
Арабские цифры
0–9
Специальные символы
+ – * / = < > [ ] . , ( ) : ;{ } ^ @ $ # ‘(апостроф)
Составные символы
:= <= <> >=
Переменные и константы. Типы данных.
Задание типа данных
В языке программирования, как и в математике, используется
понятие величины. Величины могут быть переменными и
постоянными (константами).
Переменная – это величина, которая может меняться при
выполнении программы.
Константа – это заранее объявленная величина, которая не
меняется в ходе выполнения программы. Существуют четыре вида
констант: числовые, логические, символьные, строковые.

32
Любой символ, входящий в алфавит языка и находящийся между
апострофами является символьной константой: ′+′, ′Ц′, ′12′, ′W′. FALSE
(ложь), TRUE (истина) являются логическими константами.
Строковая константа – строка символов, заключенная в
апострофы, например ′TPascal′, ′Программирование′, ′1964′.
Максимальная длина строки – 255 символов.
Числовые константы могут быть вещественными и целыми.
Целая константа представляет собой запись числа без
десятичной точки. Например, , – стандартная
константа.
Вещественная константа – это число с десятичной точкой.
Вещественные константы записываются в естественной или в
экспоненциальной форме (с фиксированной или с плавающей точкой).
Число не может начинаться и оканчиваться точкой.
Например, , ( – мантисса, –основание
10-ой системы счисления, – порядок).
Для обозначения переменных в программе используются имена,
называемые идентификаторами. Идентификатор состоит из
латинских букв, цифр, знака подчеркивания и начинается с буквы.
Имена переменных могут содержать произвольное количество
символов, однако различаются только первыми символами.
Заглавные и прописные буквы не различаются.
Например, Y, XY2, Z, ALFA1, PI.
Имя должно быть уникальным в пределах области определения.
Служебные слова нельзя использовать в качестве имен.
Тип переменных объявляется в разделе описания программы:
VAR
<список переменных_1>: <тип_1>;
…
<список переменных_n>: <тип_n>;
Переменные, как и константы могут быть целыми,
вещественными, строковыми.
Тип данных определяет способ размещения соответствующих
значений в памяти компьютера. Правильное определение типа данных
обеспечивает экономное использование оперативной памяти (ОП),
повышает быстродействие программ и позволяет избежать некоторых
специфических ошибок. Турбо Паскаль характеризуется большим
разнообразием типов данных.

33
Тип переменной определяет объем выделяемой памяти,
структуру переменной, множество значений этой переменной, набор
операций, которые к ней могут быть применены, тип результата
выполнения этих операций. Сведения о простых и вещественных
типах данных ЯП Паскаль приведена в таблице 2.4. В скобках в
таблице для вещественных типов записано количество значащих цифр
мантиссы в десятичной форме числа.
Таблица 2.4. Простые типы данных в ТР
Идентификатор
Длина
(байт)
Диапазон (множество) значений
Целые типы
Integer
2
Byte
1
Word
2
Shortint
1
Longint
4
Вещественные типы
Real
6
(11–12)
Single
4
(7–8)
Double
8
(15–16)
Extended
10
(19–20)
Логический тип
Boolean
1
TRUE, FALSE
Cимвольный тип
Char 1 Все символы кода ASCII
Выражения и операции
Выражения состоят из операндов, знаков операций и круглых
скобок. Операндами являются функции, переменные и константы.

34
Последовательность операций, необходимые произвести над
данными, для получения требуемого значения называется
выражением.
Существуют пять категорий операций:
1. арифметические операции;
2. функциональные операции;
3. операции отношения;
4. логические операции;
5. строковые операции.
1. Арифметические операции в порядке убывания приоритета
выполнения представлены в таблице 2.5.
Таблица 2.5. Арифметические операции в ТР
Арифметические операции
Обозначение
Присваивание знака числу
+, –
Умножение
*
Деление
/
Остаток целочисленного деления
Mod
Целочисленное деление
Div
Сложение
+
Вычитание
–
2. Функциональные операции. При создании программ для
решения различных задач часто возникает необходимость вычислить
значения различных функций, таких как корень квадратный, логарифм
и т.д. Вычисление этих величин осуществляется посредством
встроенных функций в библиотеку стандартных функций системы
программирования (таблица 2.6). Функция задается с помощью
указателя функции, записываемого в виде имени и аргументов,
заключенных в круглые скобки. Если аргумент функции задан в
градусной мере, то его нужно перевести в радианную меру по
формуле:
.

35
Таблица 2.6. Арифметические стандартные функции
Обращение
Тип
аргумента
Тип
результата
Тип действия
Abs(x)
Вещественный,
целый
Вещественный,
целый
Абсолютная величина х
SQR(x)
Вещественный,
целый
Вещественный,
целый
Квадрат х
SIN(x)
Вещественный,
целый
Вещественный
Синус х (х в радианах)
COS(x)
Вещественный,
целый
Вещественный
Косинус х (х в радианах)
ARCTAN(x)
Вещественный,
целый
Вещественный
Арктангенс х (результат
в радианах)
EXP(x)
Вещественный,
целый
Вещественный
Возведение e≈2,71828 в
степень х
LN(x)
Вещественный,
целый
Вещественный
Логарифм натуральный х
(х>0)
SQRT(x)
Вещественный,
целый
Вещественный
Корень квадратный х(≥0)
TRUNC(x)
Вещественный
Целый
Целая часть х
INT(x)
Вещественный
Вещественный
Целая часть х
ROUND(x)
Вещественный
Целый
Округление х до
ближайшего целого
FRAC(x)
Вещественный
Вещественный
Дробная часть х
RANDOM
Вещественный
Равномерное
псевдослучайное число в
диапазоне от 0 до 1
RANDOM(x)
Целый
Вещественный
Равномерное
псевдослучайное число в
диапазоне от 0 до х
RANDOMIZE
Инициализация датчика
псевдослучайных чисел
DEC(x[,n])
Целый
Целый
Уменьшение х на n, при
отсутствии n – на 1
INC(x[,n])
Целый
Целый
Увеличение х на n, при
отсутствии n – на 1
HI(x)
Целый
Байтовый
Старший байт х
LO(x)
Целый
Байтовый
Младший байт х
SWAP(x)
Целый
Целый
Обмен байтов в х
3. Операции отношения используются для сравнения

36
арифметических выражений. В ТР существуют шесть операций
отношения:
.
Результатом операции отношения является либо TRUE (ИСТИНА – 1),
либо FALSE (ЛОЖЬ –0).
4. Логические операции.
– отрицание. Логическая операция имеет значение
истинно в том случае, если ложно.
– логическое умножение. Логическая формула
имеет значение истинно в том случае, если значения логических
переменных истинны.
– логическое сложение. Логическая формула имеет
значение истинно в том случае, если хотя бы одно из значений
логических переменных имеет значение истина.
– исключающее или. Логическая формула имеет
значение истинно в том случае, если значения логических переменных
не совпадают.
– импликация. принимает значение ложь, если
истинно, а ложно, и значение истина в остальных случаях.
– эквивалентность. истинно в том случае, если
одновременно истинны или одновременно ложны.
Порядок выполнения логических операций задается круглыми
скобками и приоритетом логических операций. Установлен
следующий приоритет логических операций: сначала выполняются
операции отношений, затем логические операции в порядке
старшинства: . Результаты логических
операций приведены в таблице 2.7
1.
2.
3.
Таблица 2.7.
A
B
NOT
AND
OR
XOR
IMP
EQV
0 0 1 0 0 0 1 1 1 0 0 0 1 1 0
0
0 1 1 0 1 1 1
0
1 1 0 1 1 0 1
1

37
5. Строковые операции. Над строками можно осуществлять
операции конкатенация и сравнение строк.
Тексты можно «склеивать» с помощью операции конкатенация,
которая обозначается знаком «+» (конкатенация – объединение
последовательностей в одну).
A:= ′FILE′; M:=′34′;
B:=′ NAME′; N:=′0′;
C:=A+B; D:=M+N
Результат выполнения операции конкатенация
C:=′FILE NAME′; D:=′340′;
Для сравнения строк необходимо воспользоваться ASCII-кодами
символов в строках, которые необходимо сравнить. При сравнении
учитываются начальные и конечные пробелы. Например, ′дом′ < ′ком′.
Арифметические выражения
Запись арифметических выражений должна соответствовать
синтаксису языка программирования. Для правильной записи
арифметических выражений, необходимо помнить:
1. выражение должно быть записано в одну строку;
2. операции высокого приоритета выполняются в выражениях
раньше операций низкого приоритета;
3. числитель и знаменатель в дробных выражениях,
содержащие несколько операций, записываются в скобках;
4. необходимо обязательно записывать знак умножения между
сомножителями, иначе компилятор воспримет перемножаемые
переменные, записанные без пробелов, как один идентификатор;
5. аргументы функций записываются в круглых скобках;
6. идентификаторы обозначаются латинскими буквами, могут
включать знак подчеркивания, арабские цифры.
Т.к. в языке Паскаль отсутствует стандартная функция для
вычисления значения выражения () используют
математическое равенство
.
При возведении в небольшую целую степень вместо операции
возведения в степень можно использовать операцию умножения.
Благодаря этому, мы можем обрабатывать отрицательные аргументы,
и операция умножения выполнится на несколько порядков быстрее
операции возведения в степень. Например,
можно записать в виде
или .

38
Примеры записи арифметических выражений в математике и на
языке Турбо Паскаль приведены в таблице 2.8.
Таблица 2.8
Запись арифметического выражения
в математике
на языке TP
A*B/C
(X+2)/(C+D)
3*SQR(A)+B/4+7.5/(1–A)
SQRT(ABS(EXP((2+N)*LN(A)))
EXP((X+Y)/3*LN(A))
SQR(COS(EXP(4*LN(X))))*
COS(EXP(4*LN(X)))+EXP((X+4*Y)*LN(A))
(A+12.55*B)/(C2+1.87E3)+GAMMA
EXP(Y* Z*LN(X))
(A*2.5*EXP(X)+SQRT(ABS(X-1))) /
(ARCTAN(X/SQRT(1-SQR(X))
+EXP(2/3*LN(X))+LN(SQR(X)/(2*A)/LN(10))
((SQR(X)+SQR(Y))<=SQR(R))AND(X*Y>=0)
Вопросы для самоконтроля
1. Как можно сохранить программу, подготовленную в Turbo-
среде?
2. Как производится выход из среды TP?
3. Какие команды редактора TP вам известны?
4. Как называются программы перевода с языка высокого
уровня на низкий?
5. Чем отличаются интерпретаторы от компиляторов?
6. Перечислите этапы решения задач на компьютере.
7. Как производится запуск среды программирования TP?
8. Какова структура среды TP?

39
9. Как создать и отредактировать программу в Turbo-среде?
10. Каким образом осуществляется выполнение программ в
среде TP?
11. Как производится компиляция программы в среде TP?
12. Каково назначение функциональных клавиш среды TP?
13. Что называют алфавитом ЯП?
14. Перечислите символы алфавита языка Паскаль.
15. Дайте определения переменной и константы.
16. Какие типы данных используется в Pascal?
17. Что такое идентификатор? Какие символы может включать
идентификатор?
18. Как может быть задан тип переменных в ТР?
19. Что называют выражением?
20. Какие виды операций существуют в ТР?
21. Какие стандартные функции используются в ТР?
22. Перечислите логические операции.
23. Что такое конкатенация? Над каким типом данных
используется конкатенация?
24. Каков приоритет выполнения операций в арифметических
и логических выражениях?
Задания для самостоятельной работы
Запишите арифметические выражения 1–30 на языке ТР.
1.
;
2.
;
3.
;
4.
;
5.
6. ;
;

40
7.
;
8.
;
9.
;
10.
;
11.
;
12.
;
13.
;
14.
;
15.
;
16.
;
17.
;
18.
19.
;
20.
;
21.
;
22.
;
23.
;
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
