Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОСНОВЫ ПРОГРАММИРОВАНИЯ 2012.doc
Скачиваний:
23
Добавлен:
09.11.2019
Размер:
5.04 Mб
Скачать

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

К арифметическим типам данных относятся группы вещественных и целых типов. К ним применимы арифметические операции и операции отношений.

Операции над данными бывают унарными (применимые к одному операнду) и бинарными (применимые к двум операндам). Унарная арифметическая операция одна. Это операция изменения знака. Ее формат:

Бинарные арифметические операции стандартного Паскаля описаны в табл. 3.3. В ней I обозначает целые типы, R — вещественные типы.

Таблица 3.3

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

Структура обращения к функции представлена на рис. 16.

Функция выступает как операнд в выражении. Например, в следующем операторе присваивания

операндами являются три функции: sin, ln, cos. Их запись такая же, как в математике. Аргументы называются фактическими параметрами и являются в общем случае выражениями арифметического типа. Аргументы записываются в круглых скобках. Результат вычисления функции — величина соответствующего типа.

Табл. 3.4 содержит описания математических стандартных функций Турбо Паскаля.

Таблица 3.4

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

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

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

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

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

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

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

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

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

• *, /, div, mod;

• +, -.

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

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

3.6. Ввод с клавиатуры и вывод на экран

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

Основными устройствами ввода-вывода у персонального компьютера являются клавиатура и дисплей (экран монитора). Именно через эти устройства главным образом осуществляется диалог между человеком и ПК.

Процедура ввода с клавиатуры имеет следующий формат:

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

где <список ввода> — это последовательность имен переменных, разделенных запятыми. Слово read переводится как читать. (Точнее говоря, Read — это оператор обращения к стандартной процедуре ввода.)

Например,

При выполнении этого оператора происходит прерывание работы компьютера, после чего пользователь должен набрать на клавиатуре значения переменных а, b, с, d, отделяя их друг от друга пробелами. При этом вводимые значения высвечиваются на экране. В конце нажимают клавишу Enter. Значения должны вводиться в строгом соответствии с синтаксисом Паскаля.

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

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

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

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

Пример:

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

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

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

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

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

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

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

I, Р, Q — целочисленные выражения;

R — выражение вещественного типа;

В — выражение булевского типа;

Ch — символьная величина;

S — строковое выражение;

# — цифра;

* — знак «+» или «—»;

_ — пробел.

Форматы процедуры Write

I — выводится десятичное представление величины I, начиная с позиции расположения курсора:

I:Р— выводится десятичное представление величины I в крайние правые позиции поля шириной Р:

R — в поле шириной 18 символов выводится десятичное представление величины R в формате с плавающей точкой. Если R ≥ 0,0, используется формат _#.##########Е*##. Если R < 0,0, то формат имеет вид _-#.##########Е*##:

R:Р — в крайние правые позиции поля шириной Р символов выводится десятичное представление значения R в нормализованном формате с плавающей точкой. Минимальная длина поля вывода для положительных чисел составляет 7 символов, для отрицательных — 8 символов. После точки выводится по крайней мере одна цифра:

R:P:Q — в крайние правые позиции поля шириной Р символов выводится десятичное представление значения R в формате с фиксированной точкой, причем после десятичной точки выводится Q цифр (0 ≤ Q ≤ 24), представляющих дробную часть числа. Если Q = 0, то ни дробная часть, ни десятичная точка не выводятся. Если Q > 24, то при выводе используется формат с плавающей точкой: