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

Одесский

колледж

компьютерных

технологий

Turbo

Pascal -2

Конспект

лекций

Одесса, 2002

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

Дорогой друг!

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

Мы рады, что Вы выбрали именно этот курс. Ведь это именно тот курс, который поможет Вам в вашей учебе и дальнейшей работе, поможет стать специалистом в самой современной и перспективной области знаний.

Пользовательский курс - позволит освоить основные принципы работы с компьютером. Вы сможете работать с операционной системой Windows,

пакетом Microsoft Office (Word, Excel, Access) и различными файловыми ме-

неджерами. Это должен знать каждый!!!

Интернет – Вы сможете самостоятельно подключиться и настроить свой компьютер на работу в Интернете, общаться с помощью электронной почты.

Программирование –Вы хотите освоить институтский курс ещё до поступления в институт? Вы хотите когда-нибудь написать свою компьютерную игру? В данном курсе Вы изучите современные языки программирования и приемы: от самых простых до объектно-ориентированных. Программист - это профессия настоящего и будущего.

Системный оператор – в этом курсе Вы научитесь собирать компьютеры, настраивать их и устанавливать программное обеспечение.

Системный администратор – изучается системное администрирование операционных систем Windows NT и Linux.

Издательско-графические системы – изучаются мощные инструменты для создания графических публикаций CorelDraw, Photoshop, PageMaker, 3D Studio.

Web-дизайн – Вы сможете разработать свою собственную Интернетстраницу.

Программирование под Интернет – Вы изучите технологии создания программ ориентированных на работу в сети Интернет.

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

Желаем Вам успешной учебы и успехов! Специалисты и преподаватели Колледжа "СЕРВЕР".

2

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

 

Содержание

 

Типы данных. ...............................................................................

4

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

7

Параметры-переменные и параметры-значения.......................

7

Рекурсия........................................................................................

9

Новые графические процедуры и функции.............................

11

Построение звёзд. ......................................................................

13

Вертикально – горизонтальное отношение.............................

13

Поворот фигур. ..........................................................................

13

Вывод текста. .............................................................................

14

Тип данных множество. ............................................................

15

Тип данных записи. ...................................................................

18

Записи с вариантами..................................................................

22

Текстовые файлы. ......................................................................

23

Файлы с прямым доступом. Типизированные файлы............

27

Нетипизированные файлы. .......................................................

28

Модули........................................................................................

29

Рекомендованная литература. ..................................................

35

3

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

Типы данных.

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

При неправильном использовании типов переменных в программе возникают ошибки. Они могут быть связаны:

с использованием совершенно несовместимых типов, например, при попытке присвоить переменной типа STRING переменную типа INTEGER или наоборот;

с неправильным использованием типов INTEGER и REAL, например, при попытке присвоить переменной типа INTEGER вещественное значение (обратное присваивание ошибки не вызывает);

при переполнении, то есть выходе целочисленного результата из предписанного диапазона, например, при попытке при-

своить переменной типа INTEGER значение 35000.

В Паскале практически запрещены автоматические преобразования типов. Исключения составляют числовые типы, при этом должно соблюдаться старшинство типов:

Вещественный тип Тип LONGINT

Типы WORD и INTEGER Тип BYTE

Переменной вышестоящего типа может быть присвоено значение нижестоящего типа, но не наоборот. Кроме того, переменной типа STRING может быть присвоено значение типа CHAR.

Если, например, переменные X и Y описаны следующим образом:

Var

X: Integer; Y: Real;

то оператор

4

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

Y := X+2;

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

X : = 2.0;

будет неверным, так как автоматическое преобразование типа REAL (константа 2.0 содержит десятичную точку и, следовательно, принадлежит к типу REAL) в тип INTEGER в Турбо Паскале запрещено.

Для преобразования типов данных в Турбо Паскале существуют встроенные функции, которые получают в качестве параметра выражение одного типа, а возвращают результат другого типа. В частности, для преобразования REAL в INTEGER имеются даже две встроенные функции такого рода: ROUND и TRUNC.

Например, ошибочным будет оператор

X : = Y/X;

но правильным

X : = round (Y/X);

Рассмотрим несколько примеров.

Пример 1.

Var A : Integer;

BEGIN A : = 25000; Writeln (A*A) END.

Эта программа выводит результат 16832, вместо предполагаемых 625000000. Дело в том, что умножение производится в диапазоне значений типа INTEGER и происходит переполнение.

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

LONGINT, WORD, INTEGER и BYTE и соизмеряйте с ним диа-

пазоны используемых целых типов. Вариант программы:

Var A : Integer; B : Longint;

5

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

BEGIN A : = 25000; B := A*A; Writeln (B) END.

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

Пример 2. (Деление на нуль). Var A : Word; B : Byte;

BEGIN A : = 512; B : = 128; Writeln (1/(A*B)) END.

Значения А и В таковы, что их произведение лишь на 1 больше максимального числа в типе WORD и переполнение даёт 0 в знаменателе.

Пример 3. (Ошибка, вызванная выходом из диапазона типа

BYTE)

Var A, B : Byte;

BEGIN A := 125; B := A*A; Writeln (B) END.

Вместо ожидаемого числа 15625 выводится число 9, но если выражение А*А выводить непосредственно, мы видим 15625. До момента присваивания всё идёт нормально, но тип переменной В таков, что она не может «вместить» значение, которое больше 255. Происходит усечение значения. Переменной В надо задать тип WORD.

Вплоть до завершения исчерпывающей проверки программы используйте контроль выхода из диапазона, включаемый записью директивы {$R+}. Тогда присваивания переменным значений, не соответствующих типу переменных, вызовут сообщение об ошибке типа 201 и останов программы, причём курсор будет находиться в строке с ошибочным оператором.

Директива {$R+} записывается до контролируемых операторов, хотя бы и в отдельной части программы. Так как контроль увеличивает время выполнения, предусмотрена директива {$R-}, выключающая этот контроль и записываемая ниже всех контролируемых операторов. Включения и выключения могут чередоваться.

6