Программирование на языке Паскаль

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    19,7 Кб
  • Опубликовано:
    2015-02-22
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Программирование на языке Паскаль

ВВЕДЕНИЕ

Несколько слов об истории языка Паскаль стал «наследником» Алгола. Алгоритмический язык Алгол был разработан в 1950-60-х годах. Его разработчиком был швейцарский ученый Николаус Вирт, собиравшийся использовать этот язык для обучения своих студентов методом разработки компиляторов. Время рождения языка Паскаль - начало 70-х годов. По сравнению с Алголом Паскаль проще и яснее. У него намного лучше возможности обработки данных и имеются встроенные процедуры ввода-вывода, которых не было в Алголе. Турбо Паскаль фирмы Borland является расширением стандарта языка и содержит, кроме того, интегрированную среду, намного ускоряющие и облегчающий процесс разработки программ. Этот программный продукт прошел 6 версий, прежде чем появился Турбо Паскаль 7.0. [2].

На нынешнем этапе развития общества и информатизации общественных институтов в РК наиболее актуальной и востребованной становится задача подготовки специалистов высокого уровня. Данные приоритеты обозначены в послании Президента РК Новый Казахстан в новом мире и конкретизированы и государственный программе развития образования в Республике Казахстан на 2005-2010г. [1].

Запуск программы. Будем считать, что компьютер для работы с Турбо Паскаль настроен так, как это сказано в приложении. Для начала работы с Турбо Паскаль удобнее всего поступить следующим образом:

Запустить Norton Commander;

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

Вызвать горячее меню Norton Commander (нажав клавишу F2);

Выбрать строку "Turbo Pascal 7.0";

Если окно редактирования не открылось, то открыть его через пункт меню "File" (нажать Alt+F, выбрать New). Если у вас уже есть некоторый файл с исходным текстом программы (файл с расширением pas), с которым вы хотите продолжить работу, то достаточно навести на него указатель Norton Commander и нажать Enter. В этом случае запустится Turbo Pascal и сразу откроется текст выбранной вами программы.

Окно среды разработчика. Основной экран интегрированной среды разработчика Turbo Pascal 7.0

По функциональному назначению выделяется три области экрана:

) Строка меню

) Рабочая область

) Строка состояния

Строка меню активизируется нажатием клавиши F10. В меню содержатся следующие разделы:

File. Позволяет выполнять все основные действия с файлами (создание, открытие, сохранение)

Edit. Позволяет выполнять все основные операции редактирования текста (копирование, вставка, удаление фрагментов, отмена последних изменений)

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

Run. Позволяет запускать программу, в том числе в пошаговом режиме.

Compile. Позволяет осуществлять компиляцию программы.

Debug. Содержит команды, облегчающие процесс поиска ошибок в программе.

Tools. Содержит некоторые дополнительные средства Турбо Паскаль.

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

Window. Позволяет выполнять все основные операции с окнами (открывать, закрывать, перемещать, изменять размер).

Help. Позволяет получить имеющуюся в системе справочную информацию.

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

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

Ctrl+F9 - запуск программы

Alt+F5 - просмотр пользовательского экрана

F2 - сохранение программы

F3 - открытие сохраненной программы

Alt+F3 - закрытие активного окна

Alt+X - выход из Турбо Паскаль

F1 - контекстная помощь

Ctrl+F1 - справка об операторе, на котором установлен курсор

Alt+Backspace - отмена последнего изменения

Ctrl+Y - удаление строки

Shift+стрелки - выделение блока текста

Ctrl+Insert - копирование выделенного блока в буфер

Shift+Insert - вставка из буфера [4].

I. ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПАСКАЛЬ

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

Прежде всего, следует напомнить, что изучение языка программирования представляет собой знакомство с формальными правилами записи алгоритмов для их последующего выполнения компьютером. Формальность сия проистекает из самих принципов, заложенных в архитектуру вычислительных устройств, и жесткости математической логики. Поэтому, постарайтесь воспринять все довольно строгие правила как неизбежность, настроить себя на серьезную, скрупулезную, порой сложную работу. Однако не стоит бояться, расстраиваться и сетовать на судьбу: немного аккуратности, внимания, знания предыдущего материала - и вы уже программист [4].

Сейчас наиболее широко используются традиционные языки. В их число входят FORTRAN, Pascal, C/C++, Ada, Java и т. п. Это совокупность традиционных языков создает ошибочное впечатление о том, что на всех языках программирования почти одинаково [3].

Основные понятия. Как и любой алгоритм, являющийся, как вы помните, последовательностью инструкций, программа на языке Паскаль состоит из команд (операторов), записанных в определенном порядке и формате. Команды позволяют получать, сохранять и обрабатывать данные различных типов (например, целые числа, символы, строки символов, т.д.). Однако кроме команд в записи программы участвуют еще так называемые "служебные слова". Это и есть элементы формальности, организующие структуру программы. Их не так много, но их значение трудно переоценить. Служебные слова можно использовать только по своему прямому назначению. Переопределять их не разрешается. Вам уже известно, что основное назначение компьютера - облегчить человеку работу с большими объемами информации, поэтому подавляющее большинство программ построено по одному, довольно простому принципу: получение данных из внешнего мира (ввод), обработка их по соответствующему алгоритму, хранение необходимой информации и вывод во внешний (по отношению к компьютеру) мир полученных результатов [4].

С возникновением языков высокого уровня появилась возможность проектирования больших программных систем. Программирование из искусства комбинирования машинных команд, секретами которого владели избранные, превратилось в индустрию производства программного оборудования ЭВМ. К началу 70-х годов затраты на производство программ превысили затраты на производство аппаратуры. Поэтому проблема разработки эффективных и надежных программных систем стала центральной задачей информатики. Использование языков высокого уровня сняло лишь часть проблем (таких, например, как проблема распределения вычислительных ресурсов), породив одновременно новые проблемы (например, в связи с неэффективностью машинного кода, генерируемого транслятором по сравнению с кодом "ручной работы", возникла задача оптимизации). Исследования этих проблем привели, в частности, к формированию научно-обоснованного стиля программирования - структурного программирования. Структурное программирование - это технология проектирования программ, базирующаяся на строгом определении средств языка и методов их использования. К средствам языка относятся стандартные типы данных и операторы управления вычислениями. Совокупность данных, определенных в программе как переменные и константы, называется структурой данных этой программы. Правильное построение структуры данных программы играет такую же важную роль для ее эффективности, как и правильное построение структуры управления. Именно взаимодействие этих двух аспектов определяет программу. Теория структур данных подобна теории структур управления. Именно, существуют основные (стандартные) структуры, каждая из которых определяет один из способов объединения данных в структуру. Данные простых типов при этом играют роль кирпичиков, из которых строится все здание. Структуры данных в языке Pascal, пожалуй, наиболее естественным образом отражают идеологию структурного программирования.

Простые данные: целые числа, вещественные числа, символы, логические значения, данные - имена. Способы структурирования данных: массивы, записи, файлы, множества, ссылки.

Например, определения типов

Word = Array [1..20] of Char;= Record: Word;: Integer;= array [1..n] of Man;

Необходимо понимать, что связь "данные - управление" состоит не только и не столько в похожести правил их построения, сколько в ориентации структур управления на обработку структур данных. Оператор присваивания использует данные простых типов. Логические данные применяют для определения условий. Скалярные типы, определяемые программистом, используют для описания данных-индексов в массивах и селектора варианта в операторе выбора. Для обработки массивов удобно пользоваться оператором цикла с параметром, а для обработки файлов - операторами While и Repeat. Записи с вариантами естественно обрабатывать операторами варианта. Ссылочные (динамические) структуры естественным образом обрабатываются рекурсивно [5].

1.2 Типы данных

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

Например, целые и вещественные числа, даже если они занимают одинаковый объем памяти, имеют совершенно разный диапазон возможных значений; целые числа можно умножать друг на друга, а, к примеру, символы - нельзя. Каждое выражение в программе имеет определенный тип:

Стандартные типы:

логические

целые

вещественные

символьный

строковый

адресный

файловые

Типы, определяемые программистом:

Простые:

перечисляемый

интервальный

адресные

Составные:

массивы

строки

записи

файлы

процедурные типы

объекты

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

Логические типы. Основной логический тип данных Паскаля называется boolean. Величины этого типа занимают в памяти 1 байт и могут принимать всего два значения: true (истина) или false (ложь). Внутреннее представление значения false - 0 (нуль), значения true - 1.

К величинам логического типа применяются логические операции and, or, xor и not. Они описаны ниже. Для наглядности вместо значения false используется 0, а вместо true - 1.

Таблица 1

aba and ba or ba xor bnot a000001010111100110111100

Операция and - "логическое И", логическое умножение. Операция or - "логическое ИЛИ", логическое сложение. Операция xor - так называемое исключающее ИЛИ, или операция неравнозначности. Логическое отрицание not является унарной операцией. Кроме этого, величины логического типа можно сравнивать между собой с помощью операций отношения, перечисленных в таблице:

Таблица 2

ОперацияЗнак операциибольше>больше или равно>=меньше<меньше или равно<=равно=не равно<>

Результат этих операций имеет логический тип.

Целые типы. Целые числа представляются в компьютере в двоичной системе счисления. В Паскале определено несколько целых типов данных, отличающихся длиной и наличием знака:

Таблица 3

ТипНазваниеРазмерЗнакДиапазонintegerцелое2 байтаесть-32768..32767(-215..215-1)shortintкороткое целое1 байтаесть-128..127(-27..27-1)byteбайт1 байтаНет0..255(0..28-1)wordслово2 байтаНет0..65535(0..216-1)lonightдлинное целое4 байтаесть-2147483648..2147483647(-231..231-1)

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

Таблица 4

ОперацииЗнак операциисложение+вычитание-умножение*делениеdivостаток от деленияmod

Кроме этого, к целым величинам можно применять поразрядные операции and, or, xor и not. При выполнении этих операций каждая величина представляется как совокупность двоичных разрядов. Действие выполняется над каждой парой соответствующих разрядов операндов. Например, результатом операции 3 and 2 будет 2, поскольку двоичное представление числа 3 - 11, числа 2 - 10. Для работы с целыми величинами предназначены также и операции сдвига влево shl и вправо shr. Слева от знака операции указывается, с какой величиной будет выполняться операция, а справа - на какое число двоичных разрядов требуется сдвинуть величину. Например, результатом операции 12 shr 2 будет значение 3, поскольку двоичное представление числа 12 - 1100.

Вещественные типы. Вещественные типы данных хранятся в памяти компьютера иначе, чем целые. Внутреннее представление вещественного числа состоит из двух частей - мантиссы и порядка, и каждая часть имеет знак. Например, число 0,087 представляется в виде 0,87*10-1, и в памяти хранится мантисса 87 и порядок -1 (для наглядности мы пренебрегли тем, что данные на самом деле представляются в двоичной системе счисления и несколько сложнее). Существует несколько вещественных типов, различающихся точностью и диапазоном представления данных. Точность числа определяется длиной мантиссы, а диапазон - длиной порядка.

Таблица 5

ТипНазваниеРазмерЗначащих цифрДиапазон значенияrealвещественный611-122.9e-39..1.7e+38singleодинарной точности47-81.5e-45..3.4e+38doubleдвойной точности815-165.0e-324..1.7e+308extendedрасширенный1019-203.4e-4932..1.1e+4923compбольшое целое819-20-9.22e18..9.22e18(-263..263-1)

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

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

Таблица 6

ИмяОписаниеРезультатПоясненияabcмодульВещественный|x| записывается abs(x)arctanарктангенс углаВещественныйarctg x записывается arctan(x)cosкосинус углаВещественныйcos x записывается cos(x)expэкспонентаВещественныйex записывается exp(x)fracдробная часть аргументаВещественныйfrac(3.1) даст в результате 0.1intцелая часть аргументаВещественныйfrac(3.1) даст в результате 3.0lnнатуральный логарифмВещественныйlogex записывается ln(x)piзначение числа пВещественный3.1415926536roundокругление до целогоЦелыйround(3.1) даст в результате 3 round(3.8) даст в результате 4sinсинус углаВещественныйsin x записывается sin(x)sqrквадратЦелыйx2 записывается sqr(x)sqrtквадратный кореньВещественныйзаписывается sqrt(x)truncцелая часть аргументаЦелыйtrunc(3.1) даст в результате 3

Символьный тип. Этот тип данных, обозначаемый ключевым словом char, служит для представления любого символа из набора допустимых символов. Под каждый символ отводится 1 байт. К символам можно применять операции отношения (<, <=, >,>=, =, <>), при этом сравниваются коды символов. Меньшим окажется символ, код которого меньше. Стандартных функций для работы с символами тоже немного:

Таблица 7

ИмяОписаниеРезультатПоясненияordпорядковый номер символаЦелыйord('b') даст в результате 98 ord('ю') даст в результате 238chrпреобразование в символСимвольныйchr(98) даст в результате 'b' chr(238) даст в результате 'ю'predпредыдущий символСимвольныйpred('b') даст в результате 'a'succпоследующий символСимвольныйpred('b') даст в результате 'a'upcaseперевод в верхний регистрСимвольныйupcase('b') даст в результате 'B'

Порядковые типы. В группу порядковых типов объединены целые, символьный, логический, перечисляемый и интервальный типы. Сделано это потому, что они обладают следующими общими чертами:

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

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

к любому порядковому типу могут быть применены стандартные функции Pred и Succ, которые возвращают предыдущее и последующее значения соответственно;

к любому порядковому типу могут быть применены стандартные функции Low и High, которые возвращают наименьшее и наибольшее значения величин данного типа [6].

.3 Операторы языка

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

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

оператор присваивания;

обращение к процедуре;

оператор безусловного перехода GOTO;

пустой оператор.

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

:= Y;:= А + В;:= (I>0) and (I<100);:= Sqr(J) + I*К;

Оператор безусловного перехода GOTO. Использование меток

Оператор GOTO позволяет изменить стандартный последовательный порядок выполнения операторов и перейти к выполнению заданного оператора. Оператор, на который происходит переход, должен быть помечен меткой. Эта же метка должна быть указана и в операторе GOTO. Метки, используемые в Turbo Pascal, могут быть двух типов:

целым числом в пределах от 0 до 9999;

обычным идентификатором.

Все используемые метки должны быть перечислены в разделе объявления меток, начинающемся зарезервированным словом label, например: label 1, 2, Metka;

Одной меткой можно пометить только один оператор. Метка от помеченного оператора отделяется двоеточием. Использовать оператор GOTO следует крайне осторожно. Широкое его применение без особых на то оснований ухудшает понимание логики работы программы. Безусловный переход можно осуществлять далеко не из каждого места программы и не в любое место программы. Так, нельзя с помощью этого оператора перейти из основной программы в подпрограмму или выйти из подпрограммы, не рекомендуется осуществлять переход внутрь структурированного оператора, т. к. он может дать неправильный результат, и т. д.

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

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

К структурированным операторам относятся:

составной оператор;

условный оператор IF;

условный оператор CASE;

оператор цикла REPEAT;

оператор цикла WHILE;

оператор цикла FOR;

оператор над записями WITH.

Составной оператор. Составной оператор представляет собой совокупность последовательно выполняемых операторов, заключенных в операторные скобки begin и end:

begin

<оператор 1>;

<оператор 2>;

. . .

<оператор N>

end;

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

Условный оператор IF. Оператор IF реализует алгоритмическую конструкцию РАЗВИЛКА и изменяет порядок выполнения операторов в зависимости от истинности или ложности некоторого условия. Существует два варианта оператора:

if S then A

else В; {полная развилка}

if S then А; {укороченная развилка}

В этих операторах:

S - Некоторое логическое выражение, истинность которого проверяется;

A - Оператор, который выполняется, если выражение S истинно;

B - Оператор, который выполняется, если выражение S ложно.

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

if X < 0 then X := -Y;

if X < 1.5 then Z := X + Y else Z := 1.5;

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

Оператор цикла WHILE. Оператор цикла WHILE организует выполнение одного оператора неизвестное заранее число раз. Выход из цикла осуществляется, если некоторое логическое выражение окажется ложным. Так как истинность логического выражения проверяется в начале каждой итерации (т. е. раньше, чем выполняется тело), тело цикла может не выполняться ни разу.

Оператор цикла FOR. Оператор цикла FOR организует выполнение одного оператора заранее известное число раз. Существует два варианта оператора:

for <переменная цикла>:=<начальное значение> to <конечное значение> do <оператор>;

for <переменная цикла>:=<начальное значение> downto <конечное значение> do <оператор>;

В этих операторах:

<переменная цикла> - переменная порядкового типа;

<начальное значение> - выражение (порядкового типа), определяющее начальное значение переменной цикла;

<конечное значение> - выражение (порядкового типа), определяющее конечное значение переменной цикла (при этом значении тело цикла (т е <оператор>) выполняется последний раз);

<оператор> - выполняемый оператор.

<начальное значение> и <конечное значение> должны быть совместимы для присваивания с переменной цикла.

Цикл действует таким образом:

Сначала вычисляются и запоминаются начальное и конечное значения.

Далее переменной цикла присваивается начальное значение.

Затем значение переменной цикла сравнивается с конечным значением.

Причём, пока параметр цикла меньше или равен конечному значению (в первом варианте оператора) или больше или равен конечному значению (во втором варианте), выполняется очередная итерация; в противном случае происходит выход из цикла. Выполнение очередной итерации включает в себя сначала выполнение <оператора>, а затем

присваивание переменной цикла следующего большего значения (в первом варианте оператора) или следующего меньшего значения (во втором варианте).

Естественно, что, если в первом варианте <начальное значение> больше чем

<конечное значение> или во втором варианте меньше чем <конечное значение>,

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

Использование стандартных процедур Break и Continue в операторах циклов REPEAT, WHILE и FOR. В версии 7.0 в циклах REPEAT, WHILE и FOR можно использовать две стандартные процедуры

Break и Continue. Процедура Break позволяет досрочно выйти из цикла, не дожидаясь выполнения условия выхода. Процедура Continue позволяет начать новую итерацию цикла, даже если предыдущая не завершена [7].

паскаль язык программирование

II. КЛАССИФИКАЦИЯ КОМПЬЮТЕРНЫХ ИГР

Виды компьютерных игр

Компьютерные и видеоигры могут быть классифицированы по двум признакам: жанр и количество игроков. Классификация игр по жанру. Четкая классификация затруднена из-за того, что подчас трудно отнести игру к какому-нибудь конкретному жанру. Игра может представлять собой как смешение существующих жанров, так и не относиться ни к одному из них. Несмотря на это, в ходе развития компьютерных игр сложилась следующая классификация. [8].

3D Shooter (3D-шутеры, "бродилки"). Название произошло от понятия 3D - 3 dimensions (три измерения) и shooter (англ. «стрелок»). Основной принцип состоит в изображении виртуального пространства и предметов посредством игровой программы, исполняемой на компьютере. При этом игрок может воздействовать на виртуальную игровую среду. Применяется для обозначения всех видов компьютерных игр, содержащих элементы боя в виртуальном трехмерном пространстве. В основном используется техника «шутер от первого лица» - при этом изображение на экране монитора компьютера имитирует вид из глаз игрока. С точки зрения организации игры различаются Singleplayer и Multiplayer - игра в одиночку против компьютера и игра с другими игроками.

Примеры: Doom, Quake, Counter-strike, Half-life, Unreal, Tomb Raider

Arcade (аркада). Игры, в которых игроку приходится действовать быстро, полагаясь в первую очередь на свои рефлексы и реакцию. Аркады характеризуются развитой системой бонусов: начисление очков, постепенно открываемые элементы игры и т.д. Термин «аркада» по отношению к компьютерным играм возник во времена игровых автоматов, которые устанавливались в торговых галереях (arcades). Игры на них были простыми в освоении (чтобы привлечь побольше играющих). Впоследствии эти игры перекочевали в игровые приставки и до сих пор являются основным жанром на них.

Fighting (Драки). В драках два персонажа дерутся на арене, применяя различные удары, броски и комбинации. Характеризуется большим количеством персонажей (бойцов) и ударов (иногда больше ста для каждого персонажа). Жанр мало популярен на PC из-за ориентации на совместную игру, а на клавиатуре довольно проблематично одновременно играть вдвоем. Однако данный жанр хорошо развит на игровых приставках.

Примеры: Mortal Combat, Street Fighter, Tekken

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

Примеры: серия Need for Speed, Descent III, Aviator

Strategy (стратегии). Игра требующая выработки стратегии, например, для победы в военной операции. Игрок управляет не одним персонажем, а целым подразделением, предприятием или даже вселенной. Различают:

пошаговые стратегические игры (Turn-Based Strategy, TBS). Игроки поочерёдно делают ходы, и каждому игроку отводится неограниченное или ограниченное (в зависимости от типа и сложности игры) время на свой ход.

стратегические игры в реальном времени (Real Time Strategy, RTS). Все игроки выполняют свои действия одновременно, и ход времени не прерывается.

Примеры: WarCraft, StarCraft, Dune

Sport (спортивные). Как и следует из названия - имитация какой-либо спортивной игры, например футбола.

Примеры: FIFA, NBA, Tennis

Adventure (приключения), или Quest. Игра-повествование, в которой управляемый игроком герой продвигается по сюжету и взаимодействует с игровым миром посредством применения предметов, общения с другими персонажами и решения логических задач.

Примеры: Space Quest; Myst, Мор. Утопия

Puzzle (головоломки, логические)

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

Примеры: Сапёр (Minesweeper); Sokoban.

Классификация игр по количеству игроков.

Одиночные (single player). Рассчитаны на игру в одиночку, против компьютера.

Многопользовательские (multiplayer). Рассчитаны на игру нескольких человек (обычно до 32) по локальной сети, модему или Интернету.

Массовые (MMO, Massively Multiplayer Onine). Массовые игры по Интернету. Наиболее часто встречающиеся жанры - настольные и ролевые игры (т.н. MMORPG, или Massively Multiplayer Online RPG). Среди них различают также браузерные игры (игры, не требующие установки какого-либо клиента), а также текстовые онлайновые игры - жанр MUD.

III. ИГРЫ НА ЯЗЫКЕ ПАСКАЛЬ

.1 Угадай число

Задача:

Отгадать целое число, которое "загадал" компьютер в определенном диапазоне.

Описание переменных:

x - число, "загаданное" компьютером;

y - Очередное число, вводимое пользователем.

Алгоритм решения задачи:

Программа генерирует псевдослучайное число, которое записывается в переменную x. Пока число x не совпадет с числом y, пользователю будет предлагаться ввести очередное число. При этом, если x > y, то на экран будет выдаваться сообщение "Ваше число меньше задуманного". Иначе будет проверяться условие x < y. При его положительном значении появится сообщение "Ваше число больше задуманного", иначе сообщение "Вы угадали".

Не трудно понять, что если y не больше и не меньше x, то значит оно равно x. В таком случае логическое выражение при while вернет false, и цикл прервется.

Программа на языке Паскаль:

Program Ugaday_chislo;

label 1,2;x,y,k: ineger;

begin

writeln ('У тебя есть 5 попыток');

k:=5; randomize; x:=random (10);

: writeln ('Введи число от одного до десяти');

readln (y); if k<>0 then beginx=y then begin writeln ('Вы угадали!');1;begin if y>x then ('Ваше число больше задуманного')

else writeln ('Ваше число меньше задуманного');

k:=k-1;2;begin writeln ('Число попыток истекло'); 1;

end;

:readln;

end.

Примечания: Угадать число всегда можно не более чем через 5 попыток.

.2 Тир

Программа Тир представляет с собой игровую программу. Мишень в тире имеет круглую форму. Программа выводит приглашение: «Добро пожаловать в тир». После этого пользователю предлагается сделать выстрел, т. е. ввести значимое x и y. Выводит сообщение: «Ваш выстрел, введи значимое x, y». Если это значение удовлетворяет условию x2+y2<=R2, то пользователь попадет в мишень, иначе нет. При промахе программа выводит сообщение о промахе: «Промах, попробуйте еще раз» и предлагает пользователю сделать выстрел еще раз. Программа на языке Pascal:

Program Tir;1,2;R,x,y:integer;

Begin

Writeln (Добро пожаловать в тир);

:writeln (Ваш выстрел, введи значимое x, y);

Readln(x, y); R:=10;SQR(x) + SQR(y)<R*R then begin(Попадание, вы выиграли);; end Else begin writeln (Промах? Попробуй еще раз);2; end; 1Readln; End.

ЗАКЛЮЧЕНИЕ

В курсовой работе были рассмотрены основные вопросы, касающиеся основ структурного программирования в среде Turbo Pascal. Turbo Pascal является одним из наиболее востребованных языков программирования которые используются при обучения студентов основам алгоритмизации и программирования. Он был создан Николаусом Виртом для обучения студентов в 70-х годах прошлого века, но до сих пор пользуется популярностью у начинающих программистов благодаря своей простоте и возможности создавать от простых программ до сложных многострочных кодов.

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

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

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

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

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

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

ИСПОЛЬЗОВАННЫЕ ЛИТЕРАТУРЫ

1.Аубакиров Г.Д., Хмыров А.Г. Языки программирования Pascal, Delphi. Учебное пособие. - Астана: Фолиант, 2007. - 208 с.

2.Глинский Я.Н., Анюхин В.Е., Ряжская В.А. Turbo Pascal 7.0 и Delphi. Учебное пособие - 2-е изд., испр. и доп. СПб: ООО «ДиаСофтЮп», 2003.-208 с.

.Немнюгин С.А. Turbo Pascal. Программирование на языке высокого уровня: 2-е изд. - СПб.: Питер, 2008. - 544 с.: ил.

Похожие работы на - Программирование на языке Паскаль

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!