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

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

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

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

Добавлен: 31.03.2023

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

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

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

2. ПРОГРАММИРОВАНИЕ ОСНОВНЫХ КОНСТРУКЦИЙ ЯЗЫКА

2.1. Основы Pascal

Приступая к решению задач следует помнить, что

- каждая переменна программы должна быть объявлена;

- объявление переменных перемещают в раздел, который начинается словом var;

-основными числовыми типами являются integer(целый) и real(дробный);

- инструкции write и writeln предназначены для вывода на экран монитора сообщений и значений переменных;

- для ввода с клавиатуры во время работы программы исходных данных (значений переменных) предназначена инструкция readln [1].

Pascal - это гибкий язык, в котором имеется большое число различных типов. Все имеющиеся в Паскале типы принято делить на группы. Типы, принадлежащие одной группе, имеют сходство. Прежде всего, выделяют простые и структурные типы. Простые типы, в свою очередь, подразделяют на порядковые и вещественные типы [4].

Таблица 2.1.1.

Типы данных

Иденти-фикатор

Длина (байт)

Диапазон значений

Операции

Целые типы

integer

2

-32768..32767

+,-,/,*,Div,Mod,>=, <=, =, <>, <, >

byte

1

0..255

+,-,/,*,Div,Mod,>=, <=, =, <>, <, >

word

2

0..65535

+,-,/,*,Div,Mod,>=, <=, =, <>, <, >

shortint

1

-128..127

+,-,/,*,Div,Mod,>=, <=, =, <>, <, >

longint

4

-2147483648.2147483647

+, -, /, *, Div, Mod, >=, <=, =, <>, <, >

Вещественные типы

real

6

2,9x10-39 - 1,7x1038

+, -, /, *, >=, <=, =, <>, <, >

Окончание таблицы 2.1.1.

Иденти-фикатор

Длина

(байт)

Диапазон значений

Операции

single

4

1,5x10-45 - 3,4x1038

+,-,/,*, >=, <=, =, <>, <, >

double

8

5x10-324 - 1,7x10308

+,-,/,*,>=, <=, =, <>, <, >

extended

10

3,4x10-4932 - 1,1x104932

+,-,/,*,>=, <=, =, <>, <, >

Логический тип

boolean

1

true, false

Not,And,Or,Xor,>=, <=, =, <>, <, >

Символьный тип

char

1

Все символы кода ASCII

+, >=, <=, =, <>, <, >


Источник: Учебное пособие. Изучаем Паскаль. Л. Усольцева, Б. П. Зотьева, И. С. Сергеевой, В. Л. Лецко. Волгоградский государственный педагогический университет. Кафедра алгебры, геометрии и информатики.

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

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

2.2. Линейная структура

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

В Паскале имеются две реализации одной из основных алгоритмических структур - ветвления. Операторы ветвления позволят на основе анализа некоторого условия выбрать нужный вариант продолжения вычислительного процесса. К операторам ветвления относится условный оператор и оператор выбора. Условный оператор if позволяет проверить некоторое условие и в зависимости от результата проверки выполнить то или иное действие. Условный оператор имеет вид:

if <логическое выражение>

then

<Оператор1>

[else

<Оператор 2>]

Оператор выбора case дает возможность выполнить одно из нескольких действий. В общем случае оператор ыбора имеет седующий вид:

Case <селектор> of

<список меток варианта>:< оператор 1>;

<список меток варианта>:< оператор 2>;

<список меток варианта>:< оператор 3>;

[else

<ОператорN>]

end;

2.3. Циклы

Оператор программы — это единое и неделимое предложение выполняющее какое-либо действие, типичный простой оператор – это оператор присваивания. Под любым оператором подразумевается действие. Составной оператор — это последовательность операторов перед которой стоит слово begin, а после end. Составной оператор может содержать любое количество простых операторов.


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

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

Операторы цикла:

- оператор While;

- оператор Repeat;

- оператор For.

При использовании оператора while условие повторения цикла запрашивается в начале цикла:

while выражение do оператор

Выражение после while должно быть логическим выражением. Оператор после do выполняется, если логическое выражение имеет значение true. Если после do, т.е. в цикле, должны быть выполнены несколько операторов, их следует поместить в операторные скобки begin и end. Если логическое выражение в начале имеет значение false, цикл вообще не выполняется.

Число повторений оператора repeat определяется ходом выполнения программы [1]. Оператор выполняется до тех пор, пока условие, стоящее после слова until, ложно.

repeat оператор until выражение

Выражение после repeat должно быть логическим выражением. Выражение после repeat выполняются до тех пор, пока логическое выражение после until не примет значение true [1]. Итак, построенный с помощью оператора repeat цикл выполняется по крайней мере один раз.

Оператор For используется для организации циклов с фиксированным, определяемым во время разработки программы числом повторений. Количество повторений цикла определяется начальным и конечным значениями переменной-счетчика. Переменная-счетчик должна быть целого типа (integer) [1].

for переменная: = выражение to выражение do оператор

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

2.4. Символы и строки

Каждому символу соответствует число – код символа. Получить доступ к отдельному символу строки, можно указав его номер в квадратных скоках после имени переменной (строки) [1].

2.5. Массивы

Массив – это структура дынных, представляющая собой совокупность элементов одного типа. Массив должен быть объявлен в разделе объявления переменных. При объявлении массива удобно использовать именованные константы. Доступ к элементу массива осуществляется путем указания индекса (номера) элемента, в качестве которого можно использовать выражение целого типа, например, целую константу или переменную типа integer. Для ввода, вывода и обработки массивов удобно применять инструкции циклов (for, while, repeat) [1].


2.6. Процедуры и функции

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

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

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

Для передачи данных в функцию надо использовать только параметры (глобальные переменные, т.е. переменные, объявленные вне функции, применять не рекомендуется). Среди выполняемых инструкций функции обязательно должна быть инструкция присваивания значения функции. Тип каждого фактического параметра (константы или переменной) в инструкции вызова функции должен быть таким же, как тип соответствующего формального параметра, указанного при объявлении функции. Если в операторе объявления функции перед именем формального параметра не стоит слово var, то при вызове функции можно использовать в качестве формального параметра константу или переменную соответствующего типа. Если слово var указано, то формальным параметром может быть только переменная. Если параметры функции используются для возврата результата в программу, вызвавшую функцию, то в объявлении функции перед именем соответствующего параметра должно присутствовать слово var [1].

Для передачи информации в процедуру следует использовать параметры, а не глобальные переменные, т.е. объявленные вне процедуры. Тип каждого фактического параметра (константы или переменной) в операторе вызова процедуры должен соответствовать типу соответствующего формального параметра, указанного при объявлении функции. Если в операторе объявления процедуры перед именем формального параметра нет слова var, то в качестве формального параметра в инструкции вызова процедуры можно использовать константу или переменную соответствующего типа. Если слово var присутствует в инструкции, то формальным параметром можно назначить только переменную. Если аргумент процедуры применяется для возврата результата в программу, вызвавшую эту процедуру, то перед именем аргумента нужно поставить слово var [1].


2.7. Графика

В графическом режиме экран представляет собой совокупность точек, каждая из которых может быть окрашена в один из 16 цветов. Координаты точек возрастают слева направо и сверху вниз, левая верхняя точка имеет координаты (0,0), а правая нижняя – (63,479). Для того, чтобы программа могла выводить на экран графические примитивы (линии, окружности, прямоугольники), необходимо инициализировать графический режим [1].

Модуль растровой графики GraphABC обходится без объектов, хотя его возможности практически совпадают с графическими возможностями Borland Delphi. Он доступен в не событийных программах и позволяет легко создавать анимацию без мерцания. Модуль GraphABC содержит константы, типы, процедуры, функции и классы рисования в графическом окне. Они подразделяются на следующие группы:

-графические примитивы;

-действия с цветом;

-действия с пером;

- действия с кистью;

-действия со шрифтом;

-действия с графическим окном;

- задание режимов вывода.

2.8. Файлы

Текстовый файл – это файл, состоящий из компонентов, являющихся строками. Длина строки может изменяться от 0 до 255. Каждая строка завершается маркером конца строки.

Для описания файловых переменных текстового типа используется стандартный идентификатор text.

Для работы с текстовыми файлами предназначены следующие процедуры и функции:

Assign (FV, Str)-присваивание имени текстовому файлу.

Rewrite (FV) – открытие для создания нового текстового файла.

Reset (FV)-открытие уже существующего текстового файла.

Close (FV) – закрытие текстрового файла.

Read (FV, Ch) – считывание символа в Ch из текстового файла FV.

Write (FV, Ch) – занесение символьной переменной Ch в файл FV.

Readln (FV, Str) – чтение из файла FV строки Str.

Частный случай записи процедура: readln(FV); При этом пропускаются все символы, включая пробелы и маркер конца строки, т.е. происходит переход на новую строку. Такой вид записи процедуры может использоваться для подсчета количества компонентов в файле.

Writeln (FV, Str) – запись в файл FV строки Str. Частный случай написания процедуры: writeln (FV); применяется для записи в файл пустой строки, т.е. записывается только маркер конца строки. Это свойство используется для внесения в документы, инструкции, деловые письма строк-пробелов.

Append (FV) – открыть файл и установить указатель на маркер конца файла. Используется только для добавления новых компонентов в текстовые файлы.

Elon (FV) – функция возвращает булевское значение True, если указатель файла достиг маркера конца строки. В противном случае возвращает значение False.