Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5 Методическое пособие изучения Паскаль.doc
Скачиваний:
10
Добавлен:
01.03.2025
Размер:
743 Кб
Скачать
☆

Вопросы для самоконтроля

1. Какие стандартные типы вам известны?

2. В чем отличие данных действительного и целого типа?

3. Какие значения могут принимать данные логического типа?

4. Какие вы знаете логические операции?

5. Что такое операции отношения?

6. Что понимается под символьными данными?

7. Как описываются в программе константы, обозначенные именем?

8. Как описываются переменные, используемые в программе?

Глава 3 выражения.

3.1. Стандартные функции.

Элементарные функции, такие, как синус, косинус, квадратный корень, логарифм и другие, часто используются в различных задачах и вычислениях. Поэтому язык ПАСКАЛЬ имеет простые средства записи элементарных или, как их называют, стандартных функций. При этом пользователю-программисту не обязательно знать, как вычисляется стандартная функция, ему достаточно правильно записать ее вид.

Правила записи стандартных функций:

  1. Имя функции записывается прописными буквами латинского ал­фавита. Имя состоит не более чем из шести букв.

  2. Аргумент функции записывается в круглых скобках после имени функции.

  3. Аргументом функции может быть константа, переменная или арифметическое выражение.

Основные стандартные функции см. в приложении 5, где указаны типы аргумента и функции. Следует заметить, что в тригонометрических функциях синуса или косинуса аргумент может быть задан только в радианной мере. Если аргумент X дан в градусах, то для перевода его в радианы используется формула Хπ/180.

Рассмотрим некоторые стандартные функции:

SQRT(X) - вычисляет корень квадратный из аргумента X, что соот­ветствует математической записи -√X;

SQR(X) - вычисляет квадрат аргумента X, что соответствует мате­матической записи х2;

SIN(X) - вычисляет синус аргумента X, что соответствует матема­тической записи sin x;

ABS(X) - вычисляет абсолютное значение (модуль) аргумента X, что соответствует математической записи |X|;

ORD(X) - определяет порядковый номер символа X, например ORD ('R') = 82 (см. приложение 2);

CHR(X) - определяет символ, стоящий по порядковому номеру X, например CHR (68)='D' (см. приложение 2);

PRED(X) - определяет предыдущий символ по отношению к X, например PRED ('М') = 'М';

SUCC(X)—определяет последующий символ по отношению к X, например SUCC ('S') ='Т'. При использовании функций PRED(X) и SUCC(X) необходимо помнить, что если в конкретной реализации языка нет для X предыдущего или последующего символа, то значение функций не определено. Аргументами этих функций не могут быть действительные данные, так как для них не существует понятие преды­дущего и последующего элемента.

3.2. Арифметические выражения.

Арифметические выражения строятся из арифметических констант, переменных, функций и операций над ними. Пример арифметического выражения:

А + В *Т1/Т2-2.3*SQRT(X).

Частным случаем выражения является константа, переменная или функция.

Все данные, входящие в арифметические выражения, должны быть одного типа. Однако во многих версиях языка допускается использование в одной операции данных целого и действительного типов. Результат операции при этом будет действительного типа. Например, разрешены операции A + N или А*2, где А - переменная действительного типа, а N — целого типа.

При составлении выражений следует выполнять следующие правила:

1. Записывать все составные части выражений в одну строку. В выражениях двухэтажных и более верхние и нижние индексы не допускаются. Например, формула

a 1x1 + b2x2 + 5a3x3

25d – 14f

должна быть записана в виде следующего выражения:

(A1*X1+B2*X2+5*A3*X3)/(25*D-14*F).

2. Использовать скобки только одного типа — круглые. Применение фигурных и квадратных скобок в выражениях запрещается, так как они имеют особое назначение. Поэтому алгебраической записи

a {b+c[d+e(f+g)]}

в языке ПАСКАЛЬ соответствует выражение

A *(B+C*(D+E*(F+G)))

В правильно записанном выражении число открывающихся скобок всегда должно равняться числу закрывающихся скобок. При записи сложных выражений рекомендуется всегда проверять, соблюдено ли это правило.

3. Нельзя записывать подряд два знака арифметических операций. Например, выражение 3*А*B/-Z неверно. Его следует записать так:

3*А*B/(-Z).

4. Необходимо помнить, что вычисления выполняются слева направо в соответствии со старшинством операций. Самой старшей является операция вычисления значения функции, например SIN(X). Затем идут операции умножения и деления, а также целочисленные операции DIV и MOD. Операции сложения и вычитания обладают самым низким приоритетом и выполняются в последнюю очередь.

Если аргумент функции представляет собой выражение, то сначала определяется значение этого выражения. Например, в выражении

SIN (0.14 +Z)

сначала вычисляется аргумент (0.14 + Z), а затем значение функции SIN. Выражение

ART*2*T+R/T*N -S

будет выполняться в следующем порядке:

  1. ART*2

  2. ART*2*T

  3. R/T

  4. R/T*N

  5. ART*2*T + R/T*N

  6. ART*2*T+R/T*N - S

Если по каким-нибудь причинам требуется изменить этот порядок, то для этого можно использовать круглые скобки. Выражения в скоб­ках вычисляются первыми. Например, в выражении S/(Q + T) сначала выполняется суммирование в скобках (Q+T), а затем только произ­водится более приоритетная (старшая) операция деления.

Если выражений в скобках несколько и они вложены друг в друга:

А* (В + С* (D + E*(F + G))),

то сначала вычисляются выражения в самых внутренних скобках, т. е. в следующем порядке:

  1. (F+G)

  2. E*(F+G)

  3. D+E*(F+G)

  4. C*(D+E*(F+G))

  5. B+C*(D+E*(F+G))

  6. A*(B+C*(D+E*(F+G)))

Если операции, следующие непосредственно одна за другой, обладают одинаковым старшинством, то они выполняются в таком порядке, ; в каком записаны. Например, в выражении А В/С D/E последо­вательность операций будет такой:

1)А*В

2)A*B/C

3)A*B/C*D

4)А*В/С*D/E