Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatica / Лаб_р_2.doc
Скачиваний:
19
Добавлен:
09.04.2015
Размер:
198.66 Кб
Скачать

Матвеева Евгения, ВР 2-2

Лабораторная работа №2

Программирование линейных вычислительных процессов.

Арифметические выражения и арифметический оператор

присваивания

Теоретическая часть

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

Линейная программа, как правило, составляется для вычисления значений по форму­лам. Эти вычисления выполняются с помощью оператора присваивания – основного оператора любого типа языка программирования. Действие этого оператора состоит в том, что он присваивает переменной значение, полученное в результате вычисления выражения. Оператор присваивания имеет вид:

<переменная>:=<выражение>

В зависимости от типа переменной, стоящей в левой части, операторы присваивания делятся на следующие группы: арифметические, логические и символьные. Арифметичес­кий оператор присваивания служит для присваивания переменной вещественного или целого типа числового значения. В связи с этим в правой части такого оператора должно быть записано арифметическое выражение, задающее правило вычисление числового значения. Например, формула х = а + 2 на языке паскаль записывается в виде оператора присваивания:

х: = а + 2

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

n: = n + 1

увеличит значение переменной nна 1. этот пример подчеркивает различие между симво­лом присваивания и знаком равенства, используемым в математических формулах. Очевидно, что записьn: =n+ 1 не имеет смысла, если ее рассматривать как уравнение.

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

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

Арифметическое выражение является аналогом обычной алгебраической формулы, оно задает правило и определяет порядок выполнения операций при вычислении по формуле. Арифметическое выражение состоит из следующих элементов: числовых констант, переменных, указателей функции, знаков арифметических операций и круглых скобок. Частным случаем арифметического выражения является числовая константа, переменная, указатель функции. Константы, переменные и функции должны быть либо описаны в программе, либо иметь стандартные имена. В арифметическом выражении используются следующие знаки арифметических операций: + (сложение), - (вычитание), * (умножение), / (деление), div(деление нацело с отбрасыванием остатка),mod(нахождение целого остатка при делении нацело).

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

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

Обращение

Выполняемые функции

Тип

аргумента

функции

abs(x)

|x|

Rили I

Rили I

sqr(x)

Rили I

Rили I

sin(x)

sin x

Rили I

R

cos(x)

cos x

Rили I

R

exp(x)

Rили I

R

ln(x)

ln x

Rили I

R

sqrt(x)

Rили I

R

arctan(x)

arctg x

Rили I

R

Pi

число 

Без аргументов

R

Trunk(x)

выделение целой части вещественного числа

R

I

round(x)

округление вещественного числа до ближайшего целого

R

I

Обозначения: I – Integer, R – Real.

В языке Паскаль нет операции возведения в степень. Для возведения переменной х в степень а, т.е. для нахождения хª, используется известное в математике равенство:

хª =

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

exp (a*ln(x)).

При этом необходимо учитывать следующее: 1) нулевое значение основания нельзя возводить в нулевую или отрицательную степень (0° – неопределенность, , т.е. возникает ошибка – деление на 0); 2) отрицательную величину вещественного типа допускается возводить в целую степень, при выполнении операциибудет вычис­лятьсяexp(1.5*ln(-3.1)), что приведет к ошибке (вычисление логарифма отрицательного числа) и прерыванию работы программы.

Если а – константа целого типа, то при записи можно использовать функциюsqr. Например,можно записать так:sqr(sqr(x)), х*sqr(x) или х*х*х и т.д.

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

- выражение записывают в строку без надстрочных или подстрочных символов;

- использовать только круглые скобки, число открывающихся скобок всегда должно рав­няться числу закрывающихся скобок, «лишние» круглые скобки, если они использованы без нарушения правил, не играют никакой роли, поэтому, когда возникает сомнения в последовательности выполнения операций, можно поставить «лишние» скобки;

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

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

Тип результата арифметического выражения зависит от типов операндов, участвую­щих в операции. Тип результата операций «+», «-«, «*» будет Integer, если оба операнда имеют типInteger, в противном случае результат будет типаReal. Результат операции «/» всегда имеет типReal. Операцииdivиmodдопустимы только при целочисленных опе­рандах и дают результат типаInteger. Результаты вычисления арифметических выражений (в том числе промежуточные) не должны выходить из допустимой области значений целых и вещественных величин.

Примеры записи арифметических выражений:

1)

2)

3)

4)

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

можно записать так:

а:=ln(x)-sin(x*x)/(x-1);

b:=sqr(sin(x)/cos(x))+a*a*a+sqrt(x+y);

z:=sqr(sqr(b))).

Соседние файлы в папке Informatica