Автор работы: Пользователь скрыл имя, 03 Марта 2015 в 12:13, курсовая работа
Объектом исследования данной курсовой работы является язык программирования высокого уровня Pascal ABC. Язык программирования Паскаль (Pascal) является одним из первых языков, который отличался строгой типизацией и наличием средств структурного (процедурного) программирования. Этот язык представляет собой процедурный язык, включает в себя множество структур и конструкций наподобие if, then, while, еlsе и так далее.
СОДЕРЖАНИЕ
Объектом исследования данной курсовой работы является язык программирования высокого уровня Pascal ABC. Язык программирования Паскаль (Pascal) является одним из первых языков, который отличался строгой типизацией и наличием средств структурного (процедурного) программирования. Этот язык представляет собой процедурный язык, включает в себя множество структур и конструкций наподобие if, then, while, еlsе и так далее. Но также Паскаль содержит достаточно большое количество возможностей для структурирования абстракций и информации (записи, указатели, множества, определение типов и перечисления).
Мне предстоит рассмотреть алгоритмы решения задач по таким темам как:
Освоить навыки создания блок-схем и программных кодов. Справится со всеми сложностями в написание программ и их отладке.
Паскаль, как язык программирования высокого уровня, имеет определенную структуру программы. При написании программы в среде используется строго определённые правила составления структуры. В Паскале описывается каждый раздел структуры программы следующим образом: раздел описания, раздел выполнения и конец. Каждый раздел, который может присутствовать в программе, является обязательным и несёт свою смысловую нагрузку.,.
Программа на языке Паскаль состоит из следующих частей:
Заголовок
Подключение модулей
Раздел описаний
Begin
Раздел операторов
End.
Заголовок – необязателен. Начинается с ключевого слова program.
Program <имя>;
Подключение модулей – ключевое слово uses.
Uses <имя1>, <имя2>, …, <имя n>;
Раздел описаний – состоит из нескольких подразделов.
Подраздел Label – описание меток.
Label <имя>, <число>;
Const – описание констант.
Type – описание типов.
Var – описание переменных.
Function – описание функций.
Procedure – описание процедур.
Раздел операторов – содержит действия, предписанные алгоритмом.
Раздел описаний совместно с разделом операторов называется блоком.
Program My_First_program;
Var n1, n2: integer;
x: real;
Begin
Write(‘n1=’); readln(n1);
Write(‘n2=’); readln(n2);
x := n1 / n2;
Writeln(‘n1/n2= ‘, x);
End.
Системы типов языка. Стандартные типы. В языке Паскаль любая константа, переменная, значение выражения характеризуется своим типом. Тип данных определяет множество значений, которые может принимать переменная, а также множество операций, допустимых над данной переменной. Кроме того, тип данных определяет внутреннее представление переменной. Все типы языка Паскаль можно разделить на две категории: стандартные и определяемые программистом.
Системы типов языка Паскаль.
Логический (булевский) тип.
Boolean – идентификатор логического типа. Может принимать два значения: False (0) или True (1). Занимает 1 байт.
ByteBool – 1 байт.
WordBool – 2 байта.
LongBool – 4 байта.
Операции отношения: >, <, >=, <=, =, <>. Результаты этих операций имеют логический тип.
В Паскале существуют четыре логические операции: and (логическое И), or (логическое ИЛИ), xor (исключающее ИЛИ, сложение по модулю 2, отрицание равнозначностей), not (отрицание).
(x > 1) and (x < 2) – пример логических операций.
Целые типы.
Эта группа типов обозначает множество целых чисел в различных диапазонах.
Integer – длина 2 байта. От -32768 до 32767.
Byte – длина 1 байт. От 0 до 255.
Word – длина 2 байта. От 0 до 65535.
Shortint – длина 1 байт. От -128 до 127.
Longint – длина 4 байта. От -2^31 до 2^31-1.
Операции: +, -, *, /, div, mod.
Все операции, кроме деления, для целых данных дают результат целого типа. Деление всегда даёт результат вещественного типа.
Стандартные процедуры и функции, применимые к данным целого типа.
Odd(x):
boolean – функция возвращает True, если число нечётное, и False – в противном случае.
Порядковыми называются типы, значения которых можно перечислить по порядку. Boolean тоже относится к порядковому типу.
Pred(x) – предыдущее значение. Тип результата – целый.
Succ(x) – следующее значение. Тип результата – целый.
Inc(x) – функция увеличения на единицу.
Inc(x, n) – процедура увеличивает значение первого параметра на n.
Dec(x) – функция уменьшения на единицу.
Dec(x, n) – процедура уменьшает первый параметр на n.
Вещественный тип.
Эта группа типов обозначает множество вещественных значений в различных диапазонах.
Real – идентификатор вещественного типа. Длина памяти – 6 байт. Диапазон: от 2,9*10^-39 до 1,7*10^38. В памяти машины величины типа Real представляются так: знак порядка, порядок, мантисса.
Single – длина 4 байта. От 1,1*10^-45 до 3,4*10^38. Представляется так: знак порядка, мантисса, порядок.
Double – длина 8 байт. От 5,0*10^-324 до 1,7*10^308.
Extended – длина 10 байт. От 3,4*10^-4932 до 1,1*10^4932.
Comp – длина 8 байт. От -2^63 до 2^63-1.
Операции: Арифметические: +, -, *, /. Результат – вещественного типа.
Процедура – некоторая последовательность операторов языка Паскаль, к которой можно обратиться по имени.
Раздел определения констант.
Константы – это данные, которые в процессе выполнения программы нельзя менять.
Все константы делятся на литеральные и именованные.
Литеральные константы – это все числа, символы и строки символов в тексте программы.
Именованные константы – фиксированное значение, которому даётся имя.
Сonst – идентификатор раздела констант.
const <имя> = <значение>;
ип константы определяется её изображением (способом её записи). Константы бывают целые, вещественные, символьные и строковые.
Целые константы – задаются десятеричным или шестнадцатеричным числом (шестнадцатеричные – со знаком $ в начале).
Вещественные константы могут создаваться форматом с фиксированной точкой или с плавающей точкой.
Символьные константы – одиночный символ с апострофами или строка с апострофами.
Базовые типы: все целые типы и тип Char.
Перечислимые типы – задаются перечислением тех значений, которые он может получать. Каждое значение именуется идентификатором и располагается в списке, обрамлённом круглыми скобками.
Пример: Color = (Red, Yellow, Green);
За каждым именем из этого списка закреплено определённое значение. Самим задать значение этих констант в Паскале нельзя.
var z: letters;
index: interval;
my_letter:‘a’..’z’;
Процедура – некоторая последовательность операторов языка Паскаль, к которой можно обратиться по имени.
Константа может иметь только предопределенный (стандартный) тип данных. Тип присваивается константе по внешнему виду значения и в соответствии с этим типом отводится память для хранения значения константы.
В качестве расширения стандартного Паскаля разрешено использовать выражения, составленные из ранее определенных констант и некоторых стандартных функций (Abs, Chr, Hi, Length, Lo, Odd, Ord, Pred, Prt, Round, SizeOf, Succ, Swap, Trunc). Примеры использования константных выражений:
CONST
Min = 0;
Max = 250;
Centr = (Max-Min) div 2;
Beta = Chr(225);
NumChars = Ord('2') - Ord('A')+l;
Message = 'не хватает памяти';
ErrStr = 'Ошибка:' + Message + '.';
Ln10 - 2.302585092994045884;
Ln10R = 1/Ln10;
Константные выражения вычисляются компилятором без выполнения программы на этапе ее создания.
Стандартные типы данных (REAL, INTEGER, BOOLEAN, CHAR) не требуют описаний в этом разделе. Описания требуют только типы, образованные пользователем.
Концепция типов — одно из основных понятий в языке. С каждым данным связывается один и только один определенный тип.
Тип — это множество значений + множество операций, которые можно выполнять над этими значениями, то есть правила манипулирования данными. Использование типов позволяет выявлять многочисленные ошибки, связанные с некорректным использованием значений или операций еще на этапе трансляции без выполнения программ.
О Паскале говорят, что он строго типизирован, то есть программист должен описать все объекты, указывая их типы, и использовать в соответствии с объявленными типами. Программы становятся более надежными и качественными. При компиляции информация используется для уточнения вида операции. Так знаком + для данных типа REAL и INTEGER обозначается операция сложения, а для множеств (тип SET) — объединение. Структура раздела описания типов имеет вид:
TYPE
<имя 1=""> = <значение 1="">;
<имя 2=""> = <значение 2="">;
…
<имя l=""> = <значение l="">;
Имя типа представляет собой идентификатор, который может употребляться в других типах, описанных вслед за данным типом. Раздел TYPE не является обязательным, так как тип можно описать и в разделе переменных VAR. Примеры описания пользовательских типов:
TYPE
DAY = 1..31; Year = 1900.. 2000; {Интервальный тип}
LatBukv = ('А', 'С, 'D', 'G, 'Н'); {Перечисляемый тип}
Matr = array[-1..12, 'А'.. 'F'] of real; {Регулярный тип}
Это обязательный раздел. Любая встречающаяся в программе переменная должна быть описана. В языке нет переменных, объявляемых по умолчанию. Основная цель этого раздела определить количество переменных в программе, какие у них имена (идентификаторы) и данные каких типов хранятся в этих переменных. Таким образом, переменная это черный ящик, а тип показывает, что мы в него можем положить.
Структура раздела имеет вид:
VAR
<список 1="">:<тип 1="">;
<список 2="">:<тип 2="">;
…
<список n="">:<тип n="">;
Тип переменных представляет собой имя (идентификатор), описанный в разделе TYPE при явном описании типа, или собственно описание типа в случае его неявного задания. Примеры описания переменных:
TYPE
DAY= 1..31; Matr = ARRAY[1..5,1..8] OF INTEGER;
VAR
A, B: DAY; X, Y: Matr; {явное описание типов }
YEAR: 1900.. 2000; LES: (LPT, PRN); {неявное описание типов }
А, В, CD, FER51: REAL; {описание переменных стан-}
EQUAL: BOOLEAN; SH: CHAR; {дартных типов производится }
I, J, К: INTEGER; {только в разделе VAR}
Стандартные процедуры и функции, имена которых включены в список зарезервированных слов, в этом разделе не описываются. Описанию подлежат только процедуры и функции, определяемые пользователем.
PROCEDURE <имя> (<параметры>); {заголовок процедуры}
<разделы> {тело процедуры }
BEGIN
<раздел>
END;
FUNCTION <имя>(<параметры>): <тип>; { заголовок }
<разделы> {тело функции}
BEGIN
<раздел>
Структура процедур и функций та же самая, что и у основной программы. Отличие описаний состоит в том, что идентификаторы констант, переменных, процедур и функций, описанных в соответствующих разделах описаний пользовательских процедур и функций, распространяются только на блоки, где они описаны и на блоки внутренние по отношению к ним. На внешние блоки, в том числе на тело основной программы, они не распространяются.
Это основной раздел, именно в нем в соответствии с предварительным описанием переменных, констант, функций и процедур выполняются действия, позволяющие получать результаты, ради которых программа и писалась.
Информация о работе Язык программирования высокого уровня Pascal ABC