Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TP_6W.DOC
Скачиваний:
12
Добавлен:
07.06.2015
Размер:
318.98 Кб
Скачать

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

Основной операцией является операция присваивания: Ratio:=A/B. В Паскале оператор присваивания – это комбинация двоеточия и знака равенства: “:=”. В примере значение выраженияA/B, стоящее справа от “:=”, присваивается переменнойRatio, стоящей слева.

4.2. Арифметические операторы

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

  • умножение (*);

  • деление целых (div);

  • деление вещественных с остатком (/);

  • остаток от деления (mod);

  • сложение (+);

  • вычитание (-).

Кроме того, поддерживаются унарные операторы:

  • унарный минус (-b) – меняет знак числа на противоположный;

  • унарный плюс (+b) – ничего не выполняет, введен для полноты.

4.3. Операторы отношений

Операторы отношений сравнивают два значения, возвращая в результате булевское значение TrueилиFalse. В Паскале реализуются операторы:

> - больше, чем;

>= - больше, чем или равно;

< меньше, чем;

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

= - равно;

<> - не равно;

Почему необходимо знать, каков результат: TrueилиFalse?

Введем следующую программу:

Program TestGreater;

Var

A, B: Integer;

Test: Boolean;

Begin

Write(‘Введите два числа: ‘);

ReadLn(A, B);

Test := A > B;

WriteLn(‘A больше чем B’, Test);

End.

Результат программы: True, если А больше В, иFalse, если А меньше или равно В.

4.4. Логические операторы

В Паскале есть четыре логических оператора:

And- логическое И;

Or- логическое ИЛИ;

Xor- исключающее ИЛИ;

Not- логическое отрицание.

Эти операторы работают с логическими значениями (TrueиFalse) позволяя комбинировать выражения отношений, булевские переменные и булевские выражения.

4.5. Строковые операторы

Существует единственный оператор – “+”, который выполняет конкатенацию (соединение) двух строк.

5. Вывод

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

5.1. Процедура WriteLn

Вы уже использовали наиболее распространенную функцию Паскаля – подпрограмму WriteLn. Назначение ее – запись (вывод) информации на экран. Ее формат прост и гибок при использовании:

WriteLn(элемент, элемент, …);

Каждый элемент – это то, что Вы хотите вывести на экран и может быть: значением, таким как целое или вещественное число (3, 42, -1732.3), символом (‘a’, ‘Z’), строкой (‘Здравствуй мир’), булевским значением (True). Кроме того, может быть именованная константа (имя константы), переменная, вызов функции, если она возвращает значение целого типа, вещественное число, символ, строку или булевский тип. Все элементы печатаются в строку в заданном порядке. После вывода курсор устанавливается на начало следующей строки. Если есть необходимость оставить курсор в этой же строке после последнего элемента, то используйте

Write(элемент, элемент, …);

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

WriteLn(элемент,’ ‘, элемент,’ ‘, …);

Следующими операторами описывается вывод:

A := 1; B := 2; C := 3;

Name := ‘Frank’;

WriteLn(A, B, C); 123

WriteLn(A, ‘ ‘, B, ‘ ‘, C); 1 2 3

WriteLn(‘Hi’, Name); HiFrank

WriteLn((‘Hi’,’, ‘, Name, ‘.’); Hi, Frank.

Так же можно использовать параметры определения ширины поля для данного элемента. В этом случае оператор имеет формат:

WriteLn(элемент: длина, …);

Где длина – целое выражение (литерал, константа, переменная, вызов функции), определяющее общий размер поля для вывода элемента.

Рассмотрим следующую программу и полученный в результате вывод:

A := 10; B := 2; C := 100;

WriteLn(A, B, C); 102100

WriteLn(A:2, B:2, C:2); 10 2100

WriteLn(A:3, B:3, C:3); 10 2100

WriteLn(A, B:2, C:4); 10 2 100

Заметим, что элемент дополняется начальными пробелами слева в соответствии с указанной длиной. Само значение выравнивается справа.

Что, если размер поля меньше, чем необходимо? Во втором операторе WriteLnвышеприведенного примера для С=100, длина поля меньше, чем нужно, т.е. задано 2, нужно 3. При выводе Паскаль увеличивает размер до минимально необходимого.

Этот метод применим для всех допустимых элементов: целого типа, вещественных чисел, символов, строк и булевских типов. Однако, при указании ширины (размера) поля для вещественных чисел выравнивание происходит слева и выводится в экспоненциальной форме.

X := 421.53;

WriteLn(x); 4.2153000000E+02

WriteLn(x:8); 4.2E+02

Поэтому, Паскаль позволяет добавить второй операнд длины:

Элемент: длина: количество цифр

Вторая цифра указывает, сколько цифр выводить для числа с фиксированной точкой после точки:

X := 421.53;

WriteLn(x:6:2); 421.53

WriteLn(x:8:2); 421.53

WriteLn(x:8:4); 421.5300

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