Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Методические указания

Читайте также:
  1. I. Методические указания к изучению курса
  2. I. Общие методические рекомендации по написанию контрольных работ
  3. II. Методические рекомендации
  4. II. УКАЗАНИЯ ГЕНЕРАЛЬНОЙ ПРОКУРАТУРЫ РФ
  5. II.1 Основные указания о последовательности и методах производства работ.
  6. III. Методические рекомендации для преподавателей
  7. III.МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ПРОВЕДЕНИЮ СЕМИНАРСЕИХ ЗАНЯТИЙ

 

8.1. Встроенные функции.

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

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

Таблица 1.

Основные встроенные функции языка Паскаль

Функция Назначение Тип
Аргумента результата
ABS(X) SQR(X) |X| X2 REAL или INTEGER REAL или INTEGER
SIN(X) COS(X) EXP(X) LN(X) SQRT(X) ARCTAN(X) SIN X COS X ex LN X ARCTG X   REAL или INTEGER     REAL
INT(X)   FRAC(X) Вычисление целой части X. Вычисление дробной части X   INTEGER, BYTE, REAL   REAL
TRUNC(X)   ROUND(X) Нахождение целой части X Округление числа   REAL   INTEGER
PRED(X) Нахождение предшествующего элемента INTEGER, CHAR   INTEGER, CHAR  
SUCC(X) Нахождение последующего элемента BOOLEAN перечисляемый BOOLEAN перечисляемый
ORD(X) 1. Определение порядкового номера элемента в перечне допустимых элементов логического и перечисляемого типов (начиная с нуля)     BOOLEAN     NTEGER
  2. ORD(X)=X INTEGER INTEGER
       
       
Продолжение таблицы 1
  3. Определение машинного кода символа языка Паскаль в десятичной системе счисления CHAR INTEGER
CHR(X) Определение символа языка Паскаль по его машинному коду INTEGER CHAR
ODD(X) TRUE, если X – нечетное FALSE, если X – четное INTEGER BOOLEAN

 

При обращении к встроенной функции ABS с аргументом типа INTEGER и REAL получаются следующие результаты: ABS(6) и ABS(-6) дают результат 6; ABS(9.6) и ABS(-9.6) дают результат 9.6.

В тригонометрических функциях SIN(X), COS(X) аргумент может быть задан только в радианной мере. Если аргумент X дан в градусах, то для перевода его в радианы используется формула: X.p/180. Функция ARCTAN(X) вычисляет угол в радианах в диапазоне от -p/2 до p/2. Для преобразования значения угла из радианной меры в градусную необходимо значение угла умножить на число 180/p.

Функция LN(X) вычисляет натуральные логарифмы, в качестве основания у которых принято иррациональное число e=2,71182818284592353...

Для того, чтобы вычислить логарифм по другому основанию, например, , необходимо применить формулу перехода к натуральному логарифму:

Обращение к встроенным функциям TRUNC и ROUND с аргументом X=26.7 позволит получить результаты: TRUNC(26.7)=26, а ROUND(26.7)=27.

Встроенные функции для нахождения предыдущего (PRED) и последующего (SUCC) значений определены для аргумента целого типа, равного 8, функция PRED(8)=7, а SUCC(8)=9. Эти функции в применении к аргументам символьного типа определяют предыдущий и последующий символы. Для буквы латинского алфавита M функции дают значения PRED(M)=L, а SUCC(M)=N. При отсутствии предыдущего или последующего символа значения функций PRED и SUCC не определены.

Для каждого класса ПЭВМ существует набор символов, в котором за каждым символом закреплен порядковый номер символа X, т.е. машинный код символа. Функция ORD(X) определяет машинный код символа. Если аргумент функции - целое число, то значение функции равно аргументу.

Функция CHR(X) возвращает символ стандартного кода обмена информацией с номером, равным X. Например, CHR(105)='i', CHR(70)='F'.

Функция ODD(X) выдает результат типа BOOLEAN: если значение X нечетно, то результат имеет значение TRUE, в противном случае - FALSE.

 

8.2. Выражения.

Выражение задает порядок выполнения действий над элементами данных и состоит из операндов (констант, переменных, обращений к функциям), круглых скобок и знаков операций.

Константы - это элементы данных, значения которых известны заранее и в процессе выполнения программы не изменяются.

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

Таблица 2

Зарезервированные константы

Идентификатор Тип Значение Описание
PI TRUE FALSE MAXINT Real Boolean Boolean Integer 3,1415926536E+00 TRUE FALSE Число з "Истина" "Ложь" Максимальное целое число

Переменные в отличие от констант могут менять свои значения в процессе выполнения программы.

Операции определяют действия, которые необходимо выполнить над операндами.

Например, в выражении (X+Y-10)

X,Y,10 - операнды; "+", "-" - знаки операций сложения и вычитания.

 

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

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

A+B*T1/T2-2.3*SQRT(X).

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

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

Результат операции при этом будет вещественного типа. Список арифметических операций приведен в табл. 3.

Таблица 3

Арифметические операции

Знак Выражение Тип операнда Тип результата Операция
+ A+B Real Integer real,integer real integer real Сложение
Продолжение таблицы 3
- A-B Real Integer real,integer real integer real Вычитание
* A*B Real Integer real,integer real integer real Умножение
/ A/B Real Integer real,integer real real real Деление
div A div B Integer integer Целочисленное деление
mod A mod B Integer integer Деление с остатком
and A and B Integer integer Арифметическое И
or A or B Integer integer Арифметическое ИЛИ
- -A Integer Real integer real Изменение знака

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

1) Записывать все составные части выражений в одну строку. Например, формула:

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

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

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

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

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

3*A*B/(-Z).

4) Вычисления выполняются слева направо в соответствии со старшинством операций. Самой старшей является операция вычисления значения функции, например SIN(X). Затем идут операции умножения (*) и деления (/), а также операции DIV (целочисленное деление), MOD (деление с остатком), AND (арифметическое "И"). Операции сложения (+), вычитания (-) и OR (арифметическое "ИЛИ") обладают самым низким приоритетом и выполняются в последнюю очередь.

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

SIN(0.14+Z),

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

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

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

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

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

Если операции, следующие непосредственно одна за другой, обладают одинаковым старшинством, то они выполняются в таком порядке, в каком записаны.

В языке Паскаль нет операции возведения в степень. При необходимости ее использования применяют встроенные функции.

Например, ax заменяют выражением:

EXP(X*LN(A)).

 

8.2.2. Выражения и операции отношения.

Выражение отношения определяет истинность или ложность результата.

Операции отношения выполняют сравнение двух операндов и определяют, истинно значение выражения или ложно.

Операции отношения приведены в табл.4.

Таблица 4

Операции отношения

Знак Пример Результат Операция
= <> > < >= <= A=B A<>B A>B A<B A>=B A<=B Если А равно В Если А не равно В Если А больше В Если А меньше В если А больше или равно В если А меньше или равно В Равно Не равно Больше Меньше Больше или равно Меньше или равно

Все операции являются бинарными. Приоритет операций в порядке убывания: =,<>,<,>,<=,>=.

Сравниваемые величины могут принадлежать к любому скалярному или перечисляемому типу данных. Результат всегда имеет булевский тип и принимает одно из двух значений: True (истина) или False (ложь). При объединении в одном выражении арифметических операций и операций отношения первыми всегда выполняются арифметические. Например, результат выражения 14<11+4 - истина, так как операция сложения реализуется раньше операции сравнения.

Выражение Результат

12>=12 True

56>10 True

11<=6 False

Сравнивать можно данные любого одинакового типа кроме файлового. Следует избегать выражений отношения, подобных следующему:

1<=X<=50,

так как 1<=X приводит к получению значения "истина" или "ложь", которые не могут сравниваться с величиной 50. В этом случае лучше воспользоваться скобками и логической операцией and (описание and дано ниже):

(1<=X) and (X<=50).

 

8.2.3.Логические выражения и операции.

Логические выражения строятся из логических данных, логических операций и операций отношения. В операциях отношения могут участвовать арифметические и логические выражения, а также символьные данные. Результатом логического выражения является значение TRUE или FALSE.

Список логических операций приведен в табл. 5.

Таблица 5

Логические операции

Операция Пример Значение А Значение В Результат Название
not not A TRUE FALSE   FALSE TRUE Логическое отрицание
and A and B TRUE TRUE FALSE FALSE TRUE FALSE TRUE FALSE TRUE FALSE FALSE FALSE Логическое И
or A or B TRUE TRUE FALSE FALSE TRUE FALSE TRUE FALSE TRUE TRUE TRUE FALSE Логическое ИЛИ

В логическом выражении принят следующий приоритет операций:

1) NOT (логическое отрицание);

2) * (умножение), / (деление), DIV (целочисленное деление), MOD (деление с остатком), AND (логическое "И");

3) + (сложение), - (вычитание), OR (логическое "ИЛИ");

4) < (меньше), <= (меньше или равно), > (больше).

Операции, указанные в одной строке, имеют одинаковый приоритет.

В логическом выражении при наличии скобок сначала выполняются действия в скобках (в первую очередь в самых внутренних), а затем вне скобок. В круглые скобки обязательно заключаются части выражения, стоящие слева и справа от логических операций AND и OR. Например, (A<10) and (B<100).

 

8.3. Программирование алгоритмов линейной структуры.

Операторы программы линейной структуры записываются друг за другом в соответствии с порядком, определяемым алгоритмом.

Для записи программы такой структуры необходимы операторы присваивания, ввода исходных данных и вывода результатов вычислений.

Программа с алгоритмом линейной структуры состоит из:

- заголовка программы (начинается с зарезервированного слова PROGRAM);

- раздела определения констант (начинается с зарезервированного слова CONST);

- раздела описания переменных (начинается с зарезервированного слова VAR);

- раздела операторов (начинается с зарезервированного слова BEGIN и заканчивается зарезервированным словом END с точкой).

 

8.3.1. Оператор присваивания.

Оператор присваивания (:=) предписывает выполнить выражение, заданное в его правой части, и присвоить результат переменной, идентификатор которой расположен в левой части. Переменная и выражение должны иметь один и тот же тип. Исключение представляет случай, когда переменная имеет вещественный тип, а выражение - целочисленный. Присваивание переменной целого типа выражения вещественного типа запрещено. Допустимо присваивание любых типов данных, кроме файловых.

Формат: < идентификатор >:=< выражение >;

Примеры операторов присваивания:

A:=0; B:=15.24; C:=SIN(A)+COS(B); NAZV:='ПРОГРАММА'.

 

8.4. Примеры линейных программ.

 

8.4.1. Вычислить периметр и площадь треугольника по трем сторонам a1,a2,a3.

Решение:

Блок-схема алгоритма решения задачи приведена на рис.1.


Программа:

PROGRAM PL;

VAR

A1,A2,A3,P,P1,S:REAL;

BEGIN WRITELN(' Введите стороны треугольника a1,a2,a3');

READLN (A1,A2,A3);

P:=A1+A2+A3; P1:=P/2;

S:=SQRT(P1*(P1-A1)*(P1-A2)*(P1-A3));

WRITELN ('P=',P,' S=',S)

END.

 

8.4.2. Даны X и Y. Вычислить значение выражения:

 

Решение:

Блок-схема алгоритма решения задачи приведена на рис.2.


Программа:

PROGRAM PRIM;

VAR

X,Y,Z,A,B:REAL;

BEGIN WRITELN('Введите значения X,Y');

READLN (X,Y);

A:=Y-SQRT(ABS(X));

B:=(SQR(COS(PI*X))-ARCTAN(SQR(X)*X))/EXP(X*Y);

Z:=SIN(ABS(A*B));

WRITELN ('Z=',Z)

END.

 


Дата добавления: 2015-07-26; просмотров: 56 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
ДОМАШНЕЕ ЗАДАНИЕ| Или в связи с организационно-штатными мероприятиями

mybiblioteka.su - 2015-2024 год. (0.02 сек.)