Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VT_PAS1.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
202.24 Кб
Скачать

Правила программирования арифметических операций

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

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

Прежде всего отметим, что арифметические выражения могут быть двух типов: целые и вещественные. Тип выражения определяется типом переменной, стоящей в его левой части. Во-вторых, необходимо запомнить, что Паскаль допускает без каких-либо оговорок использование переменных целых типов в выражениях вещественного типа, НО НЕ НАОБОРОТ! Рассмотрим фрагмент программы:

VAR

x : integer;

y : real;

.................

BEGIN

y : =x+2;  допустимо

x : =2.0;  ошибочно

x : =y/x;  ошибочно

.................

END.

Конечно, необходимость использования переменных и констант вещественных типов в выражениях целых типов возникает довольно часто. В этих случаях необходимо осуществлять ПРЕОБРАЗОВАНИЯ ТИПОВ. Для этого в Паскале существуют специальные функции.

Функция ROUND округляет вещественную величину до целой. Функция TRUNC усекает вещественную величину до целой. Например,

round(5./2.)=3, а trunc(5./2.)=2

Привычное нам обозначение операции деления "/" допускается только в выражениях вещественных типов. Для операции деления над целыми числами используются обозначения DIV и MOD. Операция DIV осуществляет целочисленное деление, при этом дробная часть отбрасывается. Рассмотрим пример. Пусть в некоторой программе имеется описание

VAR N: integer; X: real;

Поскольку переменная N описана как целая, то с точки зрения Паскаля запись

N:=1/2 ;

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

N:=1 div 2 ;

что дает ноль. Допустима и такая запись

X:= 1 div 2;

Операция MOD позволяет определить остаток целочисленного деления. Например: 5 mod 2 = 1, а 18 mod 3 = 0.

Арифметические функции

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

Abs(x) - абсолютная величина х;

ArcTan(x) - арктангенс х;

Cos(x) - косинус х;

Exp(x) - экспонента;

Frac(x) - дробная часть х;

Int(x) - целая часть х;

Ln(x) - натуральный логарифм х;

Pi - число пи;

Sin(x) - синус х;

Sqr(x) - квадрат х;

Sqrt(x) - корень квадратный х.

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

Операции отношения (сравнения)

Над данными типов REAL, INTEGER, CHAR, STRING определены следующие операции отношения:

= равно;

<> не равно;

< меньше;

> больше;

<= меньше или равно;

>= больше или равно.

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

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

‘d' > 'c'.

Строки сравниваются так. Первый символ первой строки сравнивается с первым символом второй строки, второй символ первой строки - со вторым символом второй и т. д. Если одна строка короче другой, недостающие символы заменяются нулем. Отношение первой несовпадающей пары принимается за отношение двух строк. Например,

'asc' < 'asd', но 'asdf' > 'asd'.

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