Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабраторная работа №15 Прогр.doc
Скачиваний:
15
Добавлен:
10.11.2018
Размер:
401.92 Кб
Скачать

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

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

Пример. Запишем по правилам Паскаля следующее математическое выражение:

На Паскале это выглядит так:

(2*a+Sqrt(0.5*Sin(x + у)))/(0.2*c-Ln(х - у))

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

  1. Все символы пишутся в строчку на одном уровне. Проставляются все знаки операций (нельзя пропускать знак умножения).

  2. Не допускаются два следующих подряд знака операций (нельзя А+–B; можно А+(–B)):

  3. Операции с более высоким приоритетом выполняются раньше операций с меньшим приоритетом. Порядок убывания приоритетов:

  • вычисление функции;

  • унарная операция смены знака (–);

  • *, /, div, mod;

  • +, –.

  1. Несколько записанных подряд операций одинакового приоритета выполняются последовательно слева направо.

  2. Часть выражения, заключенная в скобки, вычисляется в первую очередь. (Например, (A+B) * (C–D) – умножение производится после сложения и вычитания.)

В Паскале нет операции или стандартной функции возведения числа в произвольную степень. Для вычисления xy рекомендуется поступать следующим образом:

  • если у – целое значение, то степень вычисляется через умножение; например, х3х · х · х; большие степени следует вычислять умножением в цикле;

  • если у – вещественное значение, то используется следующая математическая формула: xy = еyln(х).

На Паскале это будет выглядеть так: Exp(y*Ln(x))

Операторы Паскаля.

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

“: =” – знак присваивания.

Формат оператора:

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

Например:

S:=10+(A*B-2.5)/Sin(X)

Операторы ввода-вывода.

Оператор ввода с клавиатуры имеет следующий формат

Read (<список ввода>)

где <список ввода> – это последовательность имен переменных, разделенных запятыми.

Например, Read(a, b, c, d);

Другой вариант оператора ввода с клавиатуры имеет вид:

ReadLn(<список ввода>)

Этот оператор отличается от Read только тем, что после считывания последнего в списке значения для одного оператора ReadLn данные для следующего оператора будут считываться с начала новой строки. Например:

ReadLn(А,В); ReadLn (С,D);

Ввод значений будет происходить из двух строк:

18234 87 (Enter)

2.62E-02 4.5E+01 (Enter)

Оператор вывода на экран имеет следующий формат:

Write (<список - вывода>)

где <список вывода> – это список переменных вывода, разделенных запятыми. Элементами списка вывода могут быть выражения различных типов (константы и переменные).

Пример:

Write(256); {выводится целая константа}

Write(F+D+50); {выводится результат вычисления выражения}

Write(X,Sum,g1,g2); {выводятся значения переменных}

Write('абвгд'); {выводится текст}

При выводе на экран нескольких чисел в строку они не отделяются друг от друга пробелами. Программист сам должен позаботиться о таком разделении. Пусть, например, I = 1; J = 2; К = 3. Тогда, написав в программе

Write (I,' ',J, ' ',K);

получим на экране строку: 1 2 3. После вывода последнего сим­вола курсор остается в той же строке. Следующий вывод на экран будет начинаться с этой позиции курсора.

Другой вариант процедуры вывода на экран:

WriteLn(<список вывода>)

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

В операторе Write можно использовать формат вывода значений переменных. Формат определяет представление выводимого значения на экране. Он отделяется от соответствующего ему элемента двоеточием. Если указатель формата отсутствует, то машина выводит значение по определенному правилу, предусмотренному по умолчанию.

Если x – целое число оператор write(x:a) обозначает, что под переменную x отводится a позиций. Например:

x:=12; write(x:5);

Результат: _ _ _ 25.

Если x – вещественное число оператор write(x:a:b) обозначает, что под всю переменную x отводится a позиций, а под ее дробную часть – b позиций.

Например:

x:=4.5; y:=-24.123;

write(x:5:2, y:8:2);

Результат: _ 4.50 _ _–24.12