Файл: Основы программирования на языке Pascal, игры.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 13.03.2024

Просмотров: 29

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Содержание:

Введение

Актуальность исследования. Когда человек впервые задумывается начать программировать, то перед ним встаёт сложный вопрос, с какого языка стоит начать обучение. Ведь выбор очень богат, так как языков существует великое множество. В ВУЗах и школах часто предлагается Pascal. Он был изобретён в целях изучения программирования Н. Виртом. Но предпочтительнее начать изучение с языка C, который изначально разрабатывался для профессионального программирования. К тому же это будет наиболее дальновидным выбором, который в дальнейшем поможет с лёгкость переключиться на C подобные языки, как Java, C++, C# и другие. Тем не менее, язык C является своеобразным фундаментом, на который можно опереться при изучении других языков. Язык C формируют «правильное» программистское мышление.

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

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

- провести сравнение языков Паскаль и С;

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

Объект исследования - язык Паскаль.

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

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

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

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

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

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


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

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

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

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


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

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

Word = Array [1..20] of Char;

Man = Record

Name: Word;

Age: Integer

end;

Notebook = 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.

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

Таблица 1 - Операция отношений

a

b

a and b

a or b

a xor b

not a

0

0

0

0

0

1

0

1

0

1

1

1

1

0

0

1

1

0

1

1

1

1

0

0

Таблица 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

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

6

11-12

2.9e-39..1.7e+38

single

одинарной точности

4

7-8

1.5e-45..3.4e+38

double

двойной точности

8

15-16

5.0e-324..1.7e+308

extended

расширенный

10

19-20

3.4e-4932..1.1e+4923

comp

большое целое

8

19-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.1

int

целая часть аргумента

Вещественный

frac(3.1) даст в результате 3.0

ln

натуральный логарифм

Вещественный

logex записывается ln(x)

pi

значение числа п

Вещественный

3.1415926536

round

округление до целого

Целый

round(3.1) даст в результате 3

round(3.8) даст в результате 4

sin

синус угла

Вещественный

sin x записывается sin(x)

sqr

квадрат

Целый

x2 записывается sqr(x)

sqrt

квадратный корень

Вещественный

записывается sqrt(x)

trunc

целая часть аргумента

Целый

trunc(3.1) даст в результате 3