Язык программирования Turbo Pascal

Автор работы: Пользователь скрыл имя, 28 Января 2013 в 18:43, курсовая работа

Описание

Цель работы - Изучить язык программирования Турбо Паскаль. Написать игру "Змейка". Правила игры: на поле размером 25*80 движется змейка, состоящая из нескольких сегментов и разбросана еда. Цель игры - двигаться по полю буквами w (вверх), s(вниз), a(влево), d(вправо) и собирать еду. Каждая собранная еда увеличивает длину змейки на один сегмент. Если змейка ударяется о стену, игра заканчивается.

Содержание

Введение
3
1 Язык программирования Turbo Pascal
5
1.1 Процедуры и функции
8
1.2 Операторы. Выражения
10
2 Лексические основы языка Pascal
12
2.1 Структура программы на языке Pascal
14
2.2 Типы данных, используемые в Pascal
18
2.3 Стандартные функции языка Pascal
23
2.4 Построение арифметических выражений
25
2.5 Встроенные константы. Элементы структурного программирования
26
3 Описание алгоритма программы
28
3.1 Структурное описание разработки
28
3.2 Функциональное описание
29
Заключение
31
Список литературы
32
Приложение

Работа состоит из  6 файлов

Презентация.ppt

— 982.00 Кб (Скачать документ)

Содержание.docx

— 12.58 Кб (Открыть документ, Скачать документ)

Титулки по кур.работе.doc

— 62.50 Кб (Открыть документ, Скачать документ)

Язык программирования Turbo Pascal.rtf

— 548.55 Кб (Скачать документ)

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

'Строка символов'

' ' ' '

';'

'' {пустая строка}

' ' {пробел}

Разрешается вставлять в строку символов управляющие символы, которые начинаются со знака #, за которым без пробела следует целая константа без знака в диапазоне от 0 до 255. Константа обозначает соответствующий этому значению символ в коде ASCII. Аналогично, если несколько управляющих символов входит строку символов, то между ними не должно быть разделителей. Например:

#13#10 'Перевод строки и возврат каретки'

'Строка 1'#13'Строка 2'

Символы разделители используются для отделения одних выражений от других (;), меток от операторов, переменных от типов (:), для завершения программы (.).

В программе могут использоваться комментарии. Они игнорируются компилятором и применяются для пояснения исходных текстов программы. Комментарий может начинаться символами { и (*, соответственно заканчиваться } *). Например:

{Это комментарий}

(* И это комментарий *)

В Turbo Pascal строки программы могут иметь максимальную длину в 126 символов.

 

2.1 Структура программы на языке Pascal

 

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

Program Name (Input, Output); {Заголовок программы}

Uses {Описание используемых модулей}

Label {Описание меток}

Const {Описание констант} Раздел описаний

Type {Описание типов}

Var {Описание переменных}

Procedure {Описание процедур}

Function {Описание функций}

Begin

Оператор 1;

Оператор 2; {Раздел операторов ... (тело программы)}

Оператор n

End.

Заголовок программы начинается служебным словом Program, за которым записывается идентификатор программы (имя). Имя программы строится в соответствии с правилами записи идентификаторов, после имени программы иногда указывают в круглых скобках имена стандартных файлов ввода и вывода, связанных соответственно с клавиатурой и экраном монитора (Input, Output). Заканчивается описание заголовка символом " ; ". Например:

Program MyProgram (Input, Output);

Program MyProgram;

Затем после служебного слова uses через запятую перечисляются модули, процедуры и функции которые, используются в программе. В конце ставится    " ; ". Это могут быть как стандартные модули Pascal - Crt, Graph, так и модули, разработанные пользователем. Например:

Uses Crt, Graph;

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

Метка - это идентификатор, заканчивающийся двоеточием " : ", помечающий место в программе, на которое передаётся управление при помощи оператора безусловного перехода.

Label M1, M2, M3;

Следом располагается раздел описаний констант, начинающийся служебным словом Const. Идентификатор константы отделяется от значения знаком "=". После каждой константы ставится " ; ".

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

const

A = 12; {целочисленная константа A}

B: Real = 23.05; {типизированная константа B}

S= Строка ; {строковая константа}

Типы данных, вводимые пользователем, описываются после служебного слова Type. Новый тип данных вводится своим идентификатором, за которым после знака равенства " = ", записывается расшифровка типа. Например:

Type

Color = (Red, Green, Blue); {Перечисляемый тип}

Scale = 2 * (A - B).. (A + B); {Тип диапазон}

MassivReal=array[1..100] of Real; {Массив из ста элементов типа Real}

MassivChar=array[0..19] of Char; {Массив из 20 элементов типа Char}

Раздел описания переменных начинается служебным словом Var. Значения переменных могут изменяться во время выполнения программы. Переменные идентифицируются по именам (идентификаторам), с каждой переменной программы связывается один тип данных. При описании они отделяются двоеточием " : ". Если необходимо различным переменным назначить один тип данных, то они перечисляются через запятую, после последнего идентификатора ставится двоеточие, за которым указывается тип данных.

Тип - это множество значений переменной вместе с множеством операций, которые можно выполнять над элементами этого множества. Заданием переменной некоторого типа, явно определяется множество значений, которые можно присваивать этой переменной, а также операции, с помощью которых можно манипулировать ее значениями. Число отдельных значений, принадлежащих некоторому типу, называется мощностью типа. Так, например, мощность типа Boolean - 2.

Var

X,Y,Z: real; {переменные типа Real}

I,J,K: integer; {переменные типа Integer}

Digit: 0..9; {переменная перечисляемого типа}

C: Color; {переменная типа Color, который описан в разделе Type}

Done, Error: boolean; {переменные типа boolean }

Operator: (plus, minus, times); {переменная перечисляемого типа}

Matrix: array[1..10,1..10] of Real; {переменная - массив}

Следом идёт раздел описания процедур и функций. Он будет рассмотрен позднее при рассмотрении вопросов, связанных с организацией подпрограмм.

Тело программы начинается служебным словом Begin, которое определяет точку начала выполнения программы. Затем следуют операторы, описывающие алгоритм решения задачи. Они отделяются друг от друга точкой с запятой " ; ". Завершается тело программы служебным словом End за которым ставится точка.

Кроме описаний и операторов Pascal-программа может содержать комментарии, которые представляют собой произвольную последовательность символов, расположенную между открывающей скобкой комментариев {и закрывающей скобкой комментариев}.

 

 

 

2.2 Типы данных, используемые в Pascal

 

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

В языке Pascal существует такое правило: тип явно задается в описании переменной или функции, которое предшествует их использованию. Концепция типа языка Pascal имеет следующие основные свойства:

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

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

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

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

Тип определяет:

возможные значения переменных, констант, функций, выражений, принадлежащих к данному типу;

внутреннюю форму представления данных в ЭВМ;

операции и функции, которые могут выполняться над величинами, принадлежащими к данному типу.

В Pascal все типы данных разделятся на следующие группы:

скалярные (к скалярным относятся типы данных, значения которых не содержат составных частей, то есть простые типы: целочисленный, вещественный, логический, символьный, перечисляемый, интервальный (тип диапазон));

ссылочный (являются указателями на данные других типов);

структурированные (в своей основе имеет один или несколько скалярных типов данных: строковые, регулярные - массивы, множественные, комбинированные - записи, файловые);

процедурные и объектные (используются в объектно-ориентированном программировании).

Рассмотрим скалярные типы данных. Они определяют упорядоченные множества значений. Ниже описаны скалярные типы, записанные по группам.

В Turbo Pascal пять предопределенных целочисленных типов: Shortint (короткое целое), Integer (целое), Longint (длинное целое), Byte (длиной в байт беззнаковый) и Word (длиной в слово беззнаковый). Каждый тип обозначает определенное подмножество целых чисел.

Byte. Диапазон значений типа: 0..255. Занимает размер памяти 1 байт.

Word. Диапазон значений типа Word: 0..65535. Занимает размер памяти 2 байта.

Shortint. Диапазон значений типа: -128…127. Занимает размер памяти 1 байт.

Integer. Диапазон значений типа: -32768..32767. Занимает размер памяти 2байта.

Longint. Диапазон значений типа: -2147483648…2147483647. Занимает размер памяти 4 байта.

К данными целого типа применимы следующие операции:

сравнения ("=" равенство, "<>" неравенство, "<" меньше, "<=" меньше либо равно, ">" больше, ">=" больше либо равно);

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

одноместный (унарный) плюс (+);

вычитание (-);

одноместный (унарный) минус (-);

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

деление на цело (получение частного) (DIV);

получение остатка от деления на цело (для беззнаковых второй операнд должен быть положительным) (MOD);

логический сдвиг влево (ShL);

логический сдвиг вправо (ShR).

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

К вещественному типу относится подмножество вещественных чисел, которые могут быть представлены в формате с плавающей точкой с фиксированным числом цифр. Имеется пять видов вещественных типов: вещественное (Real), с одинарной точностью (Single), с двойной точностью (Double), с повышенной точностью (Extended) и сложное (Comp). Действия над типами с одинарной точностью, с двойной точностью и с повышенной точностью и над сложным типом могут выполняться только при наличии математического сопроцессора.

Real. Диапазон значений типа: 2.9E-39..1.7E+38 (здесь и далее значения приводятся по абсолютной величине). Данные типа Real имеют точность 11-12 значащих цифр после запятой. Занимают размер в памяти 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. Точность 15-16 значащих цифр после запятой. Занимают размер в памяти 10 байт.

Comp. Диапазон значений типа: -9.2E+18…9.2E+18. Это 64-битное целое число. Занимают размер в памяти 8 байт.

Над данными вещественных типов допустимы следующие операции:

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

одноместный (унарный) плюс (+);

вычитание (-);

одноместный (унарный) минус (-);

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

деление (получение частного) (/);

Множеством значений типа данных Char являются символы, упорядоченные в соответствии с расширенным набором символов кода ASCII. При вызове функции Ord(Ch), где Ch - значение символьного типа, возвращается порядковый номер Ch. Строковая константа с длиной 1 может обозначать значение константы символьного типа. Любое значение символьного типа может быть получено с помощью стандартной функции Chr(N), где N - порядковый номер символа кода ASCII. Над данными типа Char допустимы операции сравнения (= , <>, <, <=, >, >=).

Данные типа Boolean могут принимать два значения: True (Истина) и False (Ложь). Над данными типа Boolean допустимы следующие операции:

сравнения (=, <>, <, <=, >, >=);

And (логическое И);

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

Xor (логическое исключающее ИЛИ);

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

Перечислимые типы определяют упорядоченные множества значений через перечисление идентификаторов, которые обозначают эти значения. Упорядочение множеств выполняется в соответствии с последовательностью, в которой перечисляются идентификаторы. При указании идентификатора в списке идентификаторов перечислимого типа он описывается как константа для блока, в котором указано описание перечислимого типа. Типом этой константы является описанный перечислимый тип. Порядковый номер перечислимой константы определяется её позицией в списке идентификаторов при описании. Перечислимый тип, в котором описывается константа, становится ее типом. Первая перечислимая константа в списке имеет порядковый номер 0. Пример перечислимого типа:

Анотация.docx

— 12.87 Кб (Открыть документ, Скачать документ)

Информация о работе Язык программирования Turbo Pascal