Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Pascal / Delphi / Лекции по Turbo Pascal [12].pdf
Скачиваний:
108
Добавлен:
02.05.2014
Размер:
1.06 Mб
Скачать

Одесский колледж компьютерных технологий “СЕРВЕР”

C:=A*2;

A:=A+B

A:=A+3.

END.

8

8

16

 

A

B

C

 

 

 

 

 

16

8

16

 

A

B

C

 

 

 

 

 

19

8

16

 

A

B

C

 

 

 

 

 

 

 

 

 

Присвоили переменной C значение, которое получилось при умножении на 2 значения, хранящегося в переменной A

Старое значение переменной A сложили со значением переменной B и результат записали в переменную A.

К старому значению переменной A прибавили 3 и результат записали в переменную A

При завершении программы ячейки памяти освободились.

Типы данных в Паскале.

Программисту всегда приходится думать о том, каким образом уменьшить потребность программы в памяти. Эту проблему можно решить, ограничивая количество переменных используемых в программе, или уменьшая размер ячеек памяти для их хранения.

Вы уже знаете, как объявляются переменные целого и вещественного типа. Кроме этих переменных в системе TP существует несколько числовых типов. Они отличаются друг от друга только размером памяти, необходимым для их хранения, и соответственно, диапазоном чисел, которые можно хранить в этих переменных. Таким образом, программист может выбрать необходимый числовой тип, и рационально использовать память.

 

 

 

Целые типы.

 

 

 

 

 

Тип

Диапазон

Размер в байтах

 

 

Shortint

-128..127

 

 

1

 

 

 

Integer

-32768..32767

 

 

2

 

 

 

Longint

-2147483648 ..

 

 

4

 

 

 

Byte

2147483647

 

 

 

 

 

 

0 .. 255

 

 

1

 

 

 

Word

0 .. 65535

 

 

2

 

 

 

 

 

Вещественные типы.

 

 

 

Тип

 

Диапазон

 

11-12

 

Размер в

24

Одесский колледж компьютерных технологий “СЕРВЕР”

 

 

 

 

байтах

Real

2.9E-39

.. 1.7E+38

 

6

Single

1.5E-45

.. 3.4E+38

7-8

4

Double

5.0E-324

.. 1.7E+308

15-16

8

Extended

3.4E-4932

.. 1.1E+4932

19-20

10

Comp

E-263+1 .. E263-1

19-20

8

Функции преобразования типов данных

Round(x) - округление вещественного числа до ближайшего целого. Аргумент функции - величина вещественного типа, а результат - округлённая до ближайшего целого числа величина типа Longint. Если результат выходит за диапазон значений Longint, то при выполнении программы возникает ошибка.

Trunc(x) - получение целой части вещественного числа. Тип результата Longint. Если результат выходит за диапазон значений Longint, то при выполнении программы возникает ошибка.

High(x) - получение максимального значения величины данного типа.

Low(x) - получение минимального значения величины данного типа.

Ввод данных (операторы READLN и READ).

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

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

Readln(a); или Read(a);

При выполнении этого оператора на экране монитора возникнет курсор. После этого Вы должны набрать на клавиатуре нужное число и нажать клавишу Enter. Если использован оператор Read, то после этого курсор останется на той же строке, а если Readln, то перейдёт на следующую.

Разветвление действий.

дет Илья Муромец по дороге и видит, что дорога разветвляется, а уразвилки лежит камень, на котором написано: «Направо поедешь

коня потеряешь, налево поедешь голову сложишь

Попробуем запрограммировать эту ситуацию. Тут, как Вы заметили должно выполнится или одно действие или другое, и ожидают Илью Муромца неприятности в обоих случаях. Но для нас, программистов, важно, что

25

Одесский колледж компьютерных технологий “СЕРВЕР”

решение Ильи обозначается переменной Poezdka. Условно обозначим направление направо – 1, налево – 2. Опишем эту сказку таким образом:

IF Poezdka=1 THEN

 

Writeln( ‘Коня потеряешь!’)

действие 1

ELSE

 

Writeln( ‘Голову сложишь!’);

действие 2

Слово IF определяет заголовок команды проверки условия, за этим словом указывается условие, которое необходимо проверить. Если условие соблюдается (т.е. оно истинно), выполняется оператор, записанный после слова THEN. За словом ELSE записывается оператор, который должен выполниться при несоблюдении условия (причем это слово указывать необязательно, если выполнять ничего не требуется). После выполнения либо первого либо второго действия выполняется команда, расположенная после конструкции

IF..

Формальная запись команды IF:

IF <условие> THEN <оператор1> ELSE <оператор2>;

Вкачестве операторов после служебных слов then и else может применяться любой оператор языка, в том числе и условный оператор.

if a>0 then if a<2

then a:=2 else a:=3;

Вэтом примере else относится к ближайшему if. Если же нужно отнести else к первому if, то нужно заключить второй if в операторные скобки begin .. end:

if a>0 then begin

if a<2 then a:=2

end else a:=3;

Важное замечание: Так как условный оператор IF является самостоятельным, единым оператором, то ни перед then, ни перед else точку с запятой ставить нельзя.

Как вы уже заметили, после служебных слов then и else может находиться (выполняться) только один оператор. Но ветви условного оператора,

26

Одесский колледж компьютерных технологий “СЕРВЕР”

состоящие из одного оператора, встречаются довольно редко. Гораздо чаще каждая ветвь условного оператора состоит из нескольких операторов. Для реализации таких ситуаций применяют составной оператор. Он представляет собой группу операторов ограниченных так называемыми операторными скобками Begin End. В этом случае данная группа операторов, состоящая из произвольного количества любых операторов, воспринимается компилятором как один оператор.

Пример составного оператора. Begin

Write('Текущее сообщение'); z:=1;

d:=d+1;

End;

В данном примере три оператора, ограниченные операторными скобками, воспринимаются как один оператор.

Пример использования составного оператора в условном операторе.

Write ('Введите контрольное число'); Readln(x);

if x>=0 then begin

write('Контрольное число положительно'); z:=z+1;

d:=d-1; x:=x+10;

end else begin

write('Контрольное число отрицательно'); z:=z-1;

d:=d+1; x:=x-10;

end;

Логические переменные и операции.

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

Переменная логического типа Boolean может принимать лишь два значения: False (ложь) и True (истина). Иногда говорят, что логическая переменная имеет значение "да" или "+" (истина), "нет" или "-" (ложь).

27

Одесский колледж компьютерных технологий “СЕРВЕР”

Объявляются переменные логического типа в разделе объявления переменных следующим образом:

Var

a: boolean;

d34, Done: boolean;

Изначально логическим переменным присваиваются значения “false”.

Присваивание (определение значения) для переменных логического типа выполняется так: a:=true; Done:=false;

Определить значение логической переменной можно также с помощью оператора ввода информации. Например: Readln(Done);

После этого на экране монитора возникнет курсор, ожидающий ввода одного из допустимых для данной переменной значений, true или false.

Так же как для числовых переменных выполняется ряд арифметических операций, для логических переменных выполняется ряд логических операций.

Логические операции применяются к величинам логического типа, результат операции - тоже величина логического типа. Имеется одна унарная логическая операция not (ОТРИЦАНИЕ) и три бинарные операции and (И), or (ИЛИ), xor (ИСКЛЮЧАЮЩЕЕ ИЛИ).

Логическая операция NOT (не) ставится перед логической переменной (выражением). Она меняет на противоположное значение логической переменной или логического выражения.

Логическая операция AND (и) объединяет две логические переменные (логические выражения). Результат получившегося выражения будет истинным, если истинны обе переменные (оба выражения) составляющие данное выражение. В противном случае выражение ложно.

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

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

Примеры использования логических операций:

a:=false; d34:=true;

 

Done:=not a;

{done = true}

done:=a and d34;

{done = false}

done:=a or d34;

{done = true}

done:=a xor d34;

{done = true}

28