370 likes | 628 Views
Высокоуровневые методы информатики и программирования. Язык программирования высокого уровня Pascal Объектно-ориентированное программирование. История развития языка Pascal.
E N D
Высокоуровневые методы информатики и программирования Язык программирования высокого уровня Pascal Объектно-ориентированное программирование
История развития языка Pascal • 1967 г. Николаус Вирт на базе языка Algol начинает разработку нового языка программирования, который назвал его в честь Блеза Паскаля • 1979 г. Британский стандарт языка программирования Pascal BS6192 • 1982 г. международный стандарт языка ISO 7185 • 1983 г. фирма Borland выпускает TurboPascal версии 1.0 • 1992 г. фирма Borland выпустила два пакета: Borland Pascal 7.0 и Turbo Pascal 7.0 • последующее развитие Pascal привело к появлению языка ObjectPascal, который впоследствии стал основой для создания Delphi • 2006 г. фирма Borland выделяет разработчиков Delphi в отдельную компанию CodeGear • Аналогом Delphi для операционной системы Unix является Kylix
Алфавит языка Pascal • прописные (A…Z) и строчные (a…z) буквы латинского алфавита • знак подчеркивания ( _ ) • цифры (0…9) • специальные знаки (. : ; ' ^ $ # @( ) [ ] { } = + - * / > <) • пробельные символы
Составные символы образуются из комбинации специальных символов: • := (присвоение) • .. (диапазон значений) • <> (не равно) • <= (меньше или равно) • >= (больше или равно) • (* и *) (альтернатива фигурным скобкам) • (. и .) (альтернатива квадратным скобкам)
Зарезервированные (ключевые) слова являются составной частью языка, имеют фиксированное написание и однозначно определенный смысл, который не может быть изменен • Program • Begin • End • If • Else • …
Правилам составления имен (идентификаторов) • может состоять из букв латинского алфавита, цифр и знака подчеркивания • не может содержать специальные знаки • не может начинаться с цифры • не может совпадать ни с одним из зарезервированных слов • длина может быть произвольной, но значащими считаются первые 63 символа
В языке Pascal при написании зарезервированных слов и идентификаторов игнорируется различие в высоте букв • Name • NAME • name
Типы данных • Тип данных определяет внутреннее представление данных, диапазон их значений и допустимые действия над ними • Каждое выражение в программе имеет определённый тип
Классификация типов данных в языке Pascal
Логический тип (Boolean) занимают в памяти 1 байт и могут принимать два значения: False (ложь) или True (истина). • Символьный тип (Char) позволяет работать с символами, которые записываются двумя способами: в одинарных кавычках или по их ASCII коду, например 'b', 'Д', '*' или #98, #132, #42. Под каждый символов отводится 1 байт. • Указательный тип (Pointer)представляет собой адрес в памяти компьютера. • Строковый тип (String) представляет собой строку символов и занимает Max+1 байт, где Max – максимальное количество символов в строке.
Строковые типы данных, доступные в Delphi
Действия, выполняемые над данными • Арифметические действия выполняются над данными вещественного и целого типов: +, –, *, /, DIV, MOD. • Операции отношения (сравнения) выполняются над данными вещественного , целого типов , строками и символами: =, <>, <, >, <=, >=. Результат операции сравнения имеет логический тип. • Логические операции применимые к данным логического и целого типов: NOT – логическое НЕ, AND – логическое И, OR – логическое ИЛИ, XOR - исключающее ИЛИ. Логические операции над данными дают результат логического типа.
Выражения • унарные операции b:= NOT a; • бинарные операции d:=b* b – 4 * a * c; d > (a - b) / c ;
Правила составления выражений в языке Pascal • два символа арифметических операций не должны стоять рядом; исключение составляет знак "-" (минус) перед отрицательной константой • нельзя опускать знак умножения • круглые скобки определяют очередность выполнения операций • число левых и правых скобок должно быть одинаково • при отсутствии скобок вычисление выражения выполняется согласно приоритету операций: • унарные операции: not, +, - • операции типа умножения: *, /, div, mod, and • операции типа сложения: +, -, or • операции отношения =, <, >, <=, >=, <>
x>=0 and x<12 Верная запись: (x>=0) and (x<12)
Совместимость типов • оба типа одинаковые • оба типа вещественные • оба типа целочисленные • оба типа – поддиапазоны одного (другого) типа • оба типа образованы от одного исходного типа • один тип является поддиапазоном другого
Структура программы на языке Pascal • Нововведением в Delphi является понятие проекта – описания файловой структуры исходного текста программного продукта • Кроме файлов с исходными текстами, в проект могут входить файлы ресурсов, подключаемых к программе • Описание проекта находится в основной части программы, генерируется средой автоматически (файле с расширением dpr)
Программа на языке Pascal состоит из 3 разделов: ProgramName; {Заголовок программы} {Раздел описаний} Begin {Раздел операторов} End. Для обозначения конца оператора используется разделитель – точкой с запятой (;)
Комментарий: • {Это комментарий} • (*Это тоже комментарий*) в Delphi также • // До конца строки – комментарий Ключи компиляции: • {$E+} – эмулировать математический сопроцессор • {$N+} – использовать математический сопроцессор • {$R+} – проверять выход за границы диапазонов
Составной оператор Begin … Begin … Begin … End; … End; … End;
Раздел описаний • внешних модулей (Uses) • меток (Label) • типов (Type) • констант (Const) • переменных (Var) • функций (Function) • процедур (Procedure)
Подраздел описания внешних модулей • Внешние модули – это наборы констант, типов данных, переменных, процедур и функций, которые можно использовать в программе • Подключение модуля к программе: Usesимя_модуля; Например: Uses CRT;
Подраздел описания меток • Метка – точка перехода, используемая в операторе безусловного перехода • Описание меток: Label метка_1, метка_2 … метка_N; • В качестве меток могут использоваться целые числа без знака(от 0 до 9999): Label 1, 77, 190;
Подраздел описания констант • Константа - объект программы, который не может изменять своего значения • Описание константы: Const имя = значение; Consta = 17; {целый тип} b = 3.14; {вещественный тип} c = ‘A’; {символ} Text = ‘Pascal’; {строка} Flag = False; {логический тип}
Подраздел описания переменных • Переменная – объект программы, который может изменять свое значение в процессе выполнения • Описание переменных: Var имя: тип; Vara: Integer; {целый тип} b: Real; {вещественный тип} c, d: Char; {символ} Text: String; {строка} Flag: Boolean; {логический тип}
Подразделы описания процедур • Описываются процедуры, используемые в программе Procedure имя (список параметров); Label Const Type Var Procedure Function Begin … End;
Подразделы описания функций • Описываются функции, используемые в программе Function имя (список параметров): тип результата; Label Const Type Var Procedure Function Begin … End;