Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
met_AKT1_11.doc
Скачиваний:
3
Добавлен:
01.05.2019
Размер:
1.04 Mб
Скачать

1. Лабораторная работа №1. Вычисление арифметических выра- жений

1.1. Цель работы

- получение навыков в построении алгоритмов линейной структуры;

- изучение правил записи арифметических выражений на алгоритмическом языке Turbo-Pascal;

- получение навыков в использовании встроенных математических функций.

1.2. Краткие теоретические сведения

Программа - это некий набор инструкций, адресованный компьютеру и точно предписывающий ему, как следует решать задачу. Более строгим определением программы является следующее. Программа на Pascal - это последовательность лексических единиц, называемых лексемами, и которые условно можно разделить на несколько классов, а именно: идентификаторы, числа без знака, специальные знаки, символьные константы, директивы, метки[1,2,3].

Идентификатор - это произвольная последовательность букв или цифр, начинающаяся с буквы.

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

Константа - это идентификатор константы, целое или действительное число, строка.

Число без знака является вещественным, если в его состав входит точка или символ Е. Все остальные числа считаются целыми. Например, числа 23, 5, -16 - целые константы, 18.04, 0.02, 0.11Е+01, 3.5Е-03 - вещественные константы.

Именованная константа - это фиксированное значение, которому при объявлении константы в разделе описания дается имя. Например, в разделе описания объявляются следующие константы:

Const

Согласно объявлению, константы и имеют тип integer(целочисленный), а - тип real(вещественный).

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

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

Var

n: integer;

a,b,x: real;

Арифметическое выражение - одна или несколько констант, переменных или функций, объединенных знаками операций и скобками при необходимости.

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

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

Таблица 1.1

Операция

Действие

Тип операндов

Тип результата

+

сложение

integer, real

integer, real

-

вычитание

integer, real

integer, real

умножение

integer, real

integer, real

/

деление

integer, real

real

div

деление нацело

integer

integer

mod

вычисление остатка от деления

integer

integer

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

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

Выполнить в первую очередь операцию с более низким приоритетом можно, если использовать скобки. Например, в выражении , выполнится умножение операндов “ ” и “ ”, а далее вместо операции деления сначала будет выполнена операция сложения операндов “ ” и “ ”, а только потом будет выполнена операция деления произведения .

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

Запрещено последовательное размещение знаков двух арифметических операций.

Операции с более высоким приоритетом выполняются раньше, чем операции с более низким приоритетом.

Если все операции имеют одинаковый приоритет, то они выполняются последовательно слева направо в Pascal 7.0.

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

Операция “ - ” имеет самый низкий приоритет. Поэтому в выражении, сначала вычисляется произведение операндов “ ” и “ ”, а затем изменяется знак результата на противоположный.

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

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

Таблица 1.2

Функция

Назначение

Тип результата

Abs(x)

Абсолютное значение аргумента

Совпадает с типом х

Arctan(x)

Арктангенс аргумента

real

Cos(x)

Косинус аргумента

real

Exp(x)

real

Frac(x)

Дробная часть числа

real

Int(x)

Целая часть числа

real

Ln(x)

Натуральный логарифм

real

Pi

Значение величины

real

Sin(x)

Синус аргумента

real

Sqr(x)

Квадрат аргумента

Совпадает с типом х

Sqrt(x)

Квадратный корень аргумента

real

В Pascal при написании программы используются простые и составные операторы. К числу простых операторов относится оператор присваивания.

В соответствии с оператором присваивания вычисляется выражение, стоящее в левой части, и результат присваивается переменной, стоящей в правой части. Для этого используется специальный знак « - :=» .

Формат

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

Идентификатор переменной в левой части оператора и значение результата выполнения выражения в правой части должны быть одного типа. Однако, разрешается переменной типа real присваивать результат типа integer. Например, операторами присваивания являются

Записанные операторы присваивания позволяют вычислить значения по следующим формулам:

Пример программы на Pascal

Задача 1.

Вычислить значение , если .

Program st1;

Var

a,b,c,x,y:real;

Begin

read(a,b,c,x);

writeln(a,b,c,x);

y:=a x+sqr(b);

y:=y/(a+c);

writeln(y);

End.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]