Автор работы: Пользователь скрыл имя, 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
Приложение
Введение
Паскаль - язык профессионального программирования, который назван в честь французского математика и философа Блеза Паскаля (1623-1662) и разработан в 1968-1971 гг. Никлаусом Виртом, для обучения студентов методам разработки программ, таким как "программирование сверху вниз", "структурное программирование" и т. д. Вирту не понравился не один из существующих на тот момент языков, и в 1968 году он приступил к разработке своего собственного. Первая версия языка была создана для компьютера CDC 6000.Благодаря своей четкости, логичности и другим особенностям Паскаль надолго занял свою нишу, являясь прекрасным языком для обучения программированию. Паскаль использовался и для разработки серьезных программ- приложений. Шутили, что Вирт разработал игрушку, но многие отнеслись к ней слишком серьезно
Впоследствии появились различные версии языка и его расширения. Наиболее известным расширением стал пакет Турбо Паскаль фирмы Borland, появившийся в 1983 году и сразу ставший событием в мире компьютерных технологий.
Турбо Паскаль - это система программирования, созданная для повышения качества и скорости разработки программ (80-е гг.). Слово Турбо в названии системы программирования - это отражение торговой марки фирмы-разработчика Borland International (США).
Систему программирования Турбо Паскаль называют интегрированной (integration - объединение отдельных элементов в единое целое) средой программирования, т.к. она включает в себя редактор, компилятор, отладчик, имеет сервисные возможности.
Первое упоминание о нем содержалось в рекламе опубликованной в журнале Byte, а сам пакет предназначен для операционной системы CP/M. В начале 1984 года он был перенесен в среду MS-DOS и приобрел огромную популярность. С тех пор появилось несколько версий Турбо Паскаля, последняя- седьмая.
Цель работы - Изучить язык программирования Турбо Паскаль. Написать игру "Змейка". Правила игры: на поле размером 25*80 движется змейка, состоящая из нескольких сегментов и разбросана еда. Цель игры - двигаться по полю буквами w (вверх), s(вниз), a(влево), d(вправо) и собирать еду. Каждая собранная еда увеличивает длину змейки на один сегмент. Если змейка ударяется о стену, игра заканчивается.
1 Язык программирования Turbo Pascal
Язык программирования Pascal (назван в честь выдающегося французского математика и философа Блеза Паскаля (1623 - 1662)), разработан в 1968-1971 гг. Никлаусом Виртом, профессором, директором Института информатики Швейцарской высшей политехнической школы. Язык Pascal, созданный первоначально для обучения программированию как систематической дисциплине, скоро стал широко использоваться для разработки программных средств в профессиональном программировании.
Широкой популярности Pascal среди программистов способствовали следующие причины:
благодаря своей компактности, удачному первоначальному описанию Pascal оказался достаточно легким для обучения.
язык программирования Pascal отражает фундаментальные и наиболее важные концепции (идеи) алгоритмов в очевидной и легко воспринимаемой форме, что предоставляет программисту средства, помогающие проектировать программы.
язык Pascal позволяет четко реализовывать идеи структурного проектирования и структурной организации данных.
язык Pascal сыграл большую роль в развитии методов аналитического доказательства правильности программ и позволил реально перейти от методов отладки программ к системам автоматической проверки правильности программ.
применение языка Pascal значительно подняло «планку» надежности разрабатываемых программ за счет требований Pascal к описанию используемых в программе переменных, проверки согласованности программы при компиляции без ее выполнения.
использование в Pascal простых и гибких структур управления: ветвлений циклов.
Для повышения качества и скорости разработки программ в середине 80-х гг. была создана система программирования Turbo Pascal. Слово Турбо в названии системы программирования - это отражение торговой марки фирмы-разработчика Borland International, Inc. (США).
Систему программирования Turbo Pascal называют интегрированной (integration - объединение отдельных элементов в единое целое) средой программирования, так как она объединяет в себе возможности ранее разрозненных средств, используемых при разработке программ: редактора текстов, компилятора, комповщика, отладчика, и при этом обеспечивает программисту великолепные сервисные возможности. Часто ее кратко называют IDE (Integrated Development Envirinment - интегрированная среда разработки).
Интегрированная среда программирования Turbo Pascal версий 6.0 и 7.0 имеет следующие возможности:
множество накладывающихся окон;
поддержка мыши, меню, диалоговых окон;
многофайловый редактор, который может редактировать файлы до 1Мбайта;
расширенные возможности отладки;
полное сохранение и восстановление среды разработки.
К ее существенным отличиям от среды программирования Turbo Pascal более ранних версий относятся:
объектно-ориентированная среда разработки прикладных программ Turbo Vision;
полные возможности встроенного ассемблера;
директива расширенного синтаксиса $ X, которая позволяет вам интерпретировать функции как процедуры (и игнорировать результаты функций);
генерация кода 286;
адресные ссылки в типизированных константах;
директивы ближних и дальних процедур;
редактирование инициализированных данных из объектных файлов;
более быстрый монитор кучи, сокращающий фрагментацию (FreeMin и FreeList удалены);
расширенные возможности встроенной справочной системы с использованием вырезки и вставки кода примеров для каждой библиотечной процедуры и функции.
В своей простейшей форме программа Borland Pascal состоит из заголовка программы, который именует программу, и основного программного блока, выполняющего назначение программы. В основном программном блоке находится секция кода, заключенная между ключевыми словами begin и end. Приведем простейшую программу, иллюстрирующую эти принципы:
program Privet;
begin
Writeln('Добро пожаловать в Borland Pascal');
end.
Первая строка - это заголовок программы, который именует данную программу. Остальная часть программы - это исходный код, который начинается ключевым словом begin и заканчивается end. Хотя данная конкретная программа содержит только одну строку, их может быть много. В любой программе Borland Pascal все действия выполняются между begin и end.
Код между последними операторами begin и end программы управляет логикой программы. В очень простой программе в этой секции кода может содержаться все, что вам нужно. В более крупных и сложных программах размещение в этой секции всего программного кода может затруднить чтение и понимание программы. К тому же еебудет труднее разрабатывать.
Процедуры и функции позволяют разделить логику программы на более мелкие и управляемые фрагменты и аналогичны подпрограммам в других языках. Как и в основном блоке программы, все действия в процедурах и функциях заключаются в begin и end. Каждый из этих сегментов кода выполняет конкретную задачу.
Если вы обнаружите, что в вашей диаграмме одни и те же действия выполняются многократно, такую логику желательно выделить в процедуру или функцию. Вы можете один раз записать этот код в процедуре или функции, а затем многократно вызывать его в программе.
Приведем пример функции. Следующая функция GetNumber получает число от пользователя:
function GetNumber: Real;
var
Responce: Real;
begin
Write('Введите число: ');
Readln(Response);
GetNumber := Response;
end;
Процедура или функция должна содержаться в программе перед секцией основного кода. В основном коде она может затем использоваться (вызываться).
В следующем примере дается набросок программы, в которой используется функция GetNumber. Программист разделил логику программы на три задачи:
Получение числа от пользователя.
Выполнение с этим числом необходимых вычислений.
Печать отчета.
Основная логика программы заключена в последнем блоке begin..end.
Program Report;
var
A: Real;
{ другие описания }
..
function GetNumber: Real;
var
Responce: Real;
begin
Write('Введите число: ');
Readln(Response);
GetNumber := Response;
end;
procedure Calculate(X: Real);
.procedure PrintReport;
..
begin
A: = GetNumber;
Calculate(A);
PrintReport;
end.
Основная логика программы достаточно проста для понимания. Все детали убраны в тела процедур и функций. Использование процедур и функций позволяет вам рассматривать программу более удобным и модульным способом.
Исходный код между begin и end содержит операторы, которые описывают выполняемые программой действия. Это называются операторной частью программы. Приведем примеры операторов:
A := B + C; { присвоить значение }
Calculate(Length, Height); { активизировать процедуру }
if X < 2 then { оператор условия }
Answer := X * Y;
begin { составной оператор }
X := 3;
Y := 4;
Z := 5;
end;
while not EOF(InFile) do { оператор цикла }
begin
ReadLn(InFile, Line);
Process(Line);
end;
В простых операторах можно присваивать значение, активизировать процедуру или функцию или передавать управление на другую часть кода. Структурные операторы могут быть составными и содержать несколько операторов, оператор цикла или оператор условия, управляющий логикой программы, а также операторы with, упрощающие доступ к данным в записи.
Оператор Паскаля состоит из выражений. Выражения оператора могут состоять из операндов и операций. Обычно в выражениях выполняется сравнение либо арифметические, логические или булевские операции.
Выражения Паскаля могут состоять из более простых выражений. Они могут быть достаточно сложными. Приведем некоторые примеры выражений:
X + Y
Done <> Error
I <= Length
-X
2 Лексические основы языка Pascal
Структура языка программирования зависит от множества исходных символов, совокупности правил образования из них языковых конструкций и семантических пояснений. Правила построения языковых конструкций называется синтаксисом языка.
Алфавит языка Pascal включает буквы английского алфавита от A до Z и от a до z. Арабские цифры от 0 до 9. Специальные символы: + - / * . , : ; ( ) [ ] { } & @ # ^ = < > Символ подчёркивания _ , считающийся буквой.
Из символов алфавита формируются минимальные единицы языка, имеющие определённый смысл - лексемы. Лексемы бывают пяти видов: служебные слова, идентификаторы (имена) переменных, знаки операций, числа и строки, заданные непосредственно в программе, символы разделители. Pascal не различает заглавных и строчных букв, поэтому идентификаторы MyVAR и myvar обозначают одну и ту же переменную.
Служебные слова являются зарезервированными и переназначать их действие нельзя. Их нельзя использовать в качестве идентификаторов. Например: Program, Begin, End, While. Служебные слова будут вводиться по ходу изучения языка.
Идентификаторы используются для определения переменных, констант, типов данных, вводимых пользователем, функций, процедур, модулей, программ и полей в записях. Идентификатор может иметь любую длину, однако только первые его 63 символа являются значимыми. Идентификатор должен начинаться с буквы и не может содержать пробелов. После первого символа идентификатора можно использовать буквы, цифры и символы подчеркивания.
Знаки операций определяются специальными символами, и предназначены для выполнения тех или иных действий с данными (например, сложение операндов).
Для изображения чисел, представляющих собой константы целого и вещественного типа, используется обычная десятичная запись. Целая константа в шестнадцатеричном формате записывается, начиная со знака доллара ($). Для экспоненциальной формы записи чисел используется буква "E" или "e" Например, 9E-6 означает 9*10-6, а 24.337E+6 или 24.337E6 обозначают 24.337*106. Для отделения целой части от дробной используется символ "точка". Числа с десятичными точками или показателями степени представляют собой константы вещественного типа. Остальные десятичные числа обозначают константы целого типа. Их значения должны находится в диапазоне от -2147483648 до 2147483647. Шестнадцатеричные числа обозначают константы целочисленного типа. Они должны находиться в диапазоне от $00000000 до $FFFFFFFF.