36
Высокоуровневые методы информатики и программирования 1. Язык программирования высокого уровня Pascal 2. Объектно-ориентированное программирование

Высокоуровневые методы информатики и программирования

  • Upload
    johnda

  • View
    70

  • Download
    0

Embed Size (px)

DESCRIPTION

Высокоуровневые методы информатики и программирования. Язык программирования высокого уровня Pascal Объектно-ориентированное программирование. История развития языка Pascal. - PowerPoint PPT Presentation

Citation preview

Page 1: Высокоуровневые методы информатики и программирования

Высокоуровневые методы информатики и программирования

1. Язык программирования высокого уровня Pascal

2. Объектно-ориентированное программирование

Page 2: Высокоуровневые методы информатики и программирования

История развития языка Pascal• 1967 г. Николаус Вирт на базе языка Algol начинает разработку

нового языка программирования, который назвал его в честь Блеза Паскаля

• 1979 г. Британский стандарт языка программирования Pascal BS6192

• 1982 г. международный стандарт языка ISO 7185• 1983 г. фирма Borland выпускает Turbo Pascal версии 1.0• 1992 г. фирма Borland выпустила два пакета: Borland Pascal 7.0 и

Turbo Pascal 7.0• последующее развитие Pascal привело к появлению языка Object

Pascal, который впоследствии стал основой для создания Delphi• 2006 г. фирма Borland выделяет разработчиков Delphi в

отдельную компанию CodeGear• Аналогом Delphi для операционной системы Unix является Kylix

Page 3: Высокоуровневые методы информатики и программирования

Структура языка Pascal•фиксированный набор основных символов, из которых должен состоять любой текст на этом языкеАлфавит

•правила построения фраз

Синтаксис

•система правил истолкования отдельных языковых конструкций

Семантика

Page 4: Высокоуровневые методы информатики и программирования

Алфавит языка Pascal•прописные (A…Z) и строчные (a…z)

буквы латинского алфавита•знак подчеркивания ( _ )•цифры (0…9)•специальные знаки (. : ; ' ^ $ # @ ( ) [ ]

{ } = + - * / > <)•пробельные символы

Page 5: Высокоуровневые методы информатики и программирования

Лексемы

Лексемы

имена (идентификат

оры)

зарезервированные (ключевые)

слова

Составные символы

Символы

Page 6: Высокоуровневые методы информатики и программирования

Составные символы образуются из комбинации специальных символов: • := (присвоение)• .. (диапазон значений)•<> (не равно)•<= (меньше или равно)•>= (больше или равно)•(* и *) (альтернатива фигурным

скобкам)•(. и .) (альтернатива квадратным

скобкам)

Page 7: Высокоуровневые методы информатики и программирования

Зарезервированные (ключевые) словаявляются составной частью языка, имеют фиксированное написание и однозначно определенный смысл, который не может быть изменен•Program•Begin•End•If•Else •…

Page 8: Высокоуровневые методы информатики и программирования

Правилам составления имен (идентификаторов)1. может состоять из букв латинского

алфавита, цифр и знака подчеркивания

2. не может содержать специальные знаки

3. не может начинаться с цифры4. не может совпадать ни с одним из

зарезервированных слов5. длина может быть произвольной, но

значащими считаются первые 63 символа

Page 9: Высокоуровневые методы информатики и программирования

В языке Pascal при написании зарезервированных слов и идентификаторов игнорируется различие в высоте букв

• Name• NAME• name

Page 10: Высокоуровневые методы информатики и программирования

Типы данных •Тип данных определяет внутреннее

представление данных, диапазон их значений и допустимые действия над ними

•Каждое выражение в программе имеет определённый тип

Page 11: Высокоуровневые методы информатики и программирования

Языки программирования

статически типизируемые

Слабо типизируе

мые

Сильно типизируе

мые

Строго типизируе

мые

динамически типизируемые

Page 12: Высокоуровневые методы информатики и программирования

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

предопределены разработчиками

языка

Пользовательские типы данных

определяются программистом в

программе, на основе стандартных

Page 13: Высокоуровневые методы информатики и программирования

Классификация типов данных в языке Pascal

ПростыеПорядковыеЦелыеЛогическийСимвольный

ПеречисляемыеТип-диапазонВещественные

СтруктурированныеМассивыЗаписи

МножестваФайлы

ОбъектыУказателиСтроковые

Процедурные

Page 14: Высокоуровневые методы информатики и программирования

Целочисленные типы данных

Тип

Turbo Pascal Object Pascal

ДиапазонРазме

р(байт)

Диапазон Размер(байт)

Shortint -128..127 1 такжеInteger -32768..32767 2 -2147483648..2147483647 4Longint -2147483648..2147483647 4 такжеByte 0..255 1 такжеWord 0..65535 2 такжеCardinal 0..4294967295 4Smallint -32768..32767 2Int64 -263 .. 263-1 8Longword 0..4294967295 4

Page 15: Высокоуровневые методы информатики и программирования

Вещественные типы данных

Тип

Turbo Pascal Object Pascal

Диапазон

Размер

(байт)

Точность

ДиапазонРазме

р(байт)

Точность

Real -2.9x1039.. 1.7x1038 6 11-12 -5.0х10324..1.7х10308 8 15-16Single -1.5x1045..3.4x1038 4 7-8 такжеDouble -5.0x10324..1.7x10308 8 15-16 такжеExtended -3.4х104932..1.1х104932 10 19-20 -3.6x104951.. 1.1x104932 10 19-20Comp -9.2х1018..9.2х1018 8 19-20 -263+1 .. 263-1 8 19-20Real48 -2.9x1039.. 1.7x1038 6 11-12Currency -922337203685477.5808

922337203685477.58078 19-20

Page 16: Высокоуровневые методы информатики и программирования
Page 17: Высокоуровневые методы информатики и программирования

• Логический тип (Boolean) занимают в памяти 1 байт и могут принимать два значения: False (ложь) или True (истина).

• Символьный тип (Char) позволяет работать с символами, которые записываются двумя способами: в одинарных кавычках или по их ASCII коду, например 'b', 'Д', '*' или #98, #132, #42. Под каждый символов отводится 1 байт.

• Указательный тип (Pointer) представляет собой адрес в памяти компьютера.

• Строковый тип (String) представляет собой строку символов и занимает Max+1 байт, где Max – максимальное количество символов в строке.

Page 18: Высокоуровневые методы информатики и программирования

Строковые типы данных, доступные в Delphi

Тип Максимальная длина (символов)

Занимаемая память

Размер символа

(байт)

ShortString 255 От 2 до 256 байт 1AnsiString ~231 От 4 байт до 2 Гб 1WideString ~230 От 4 байт до 2 Гб 2

Page 19: Высокоуровневые методы информатики и программирования

Действия, выполняемые над данными• Арифметические действия выполняются

над данными вещественного и целого типов: +, –, *, /, DIV, MOD.

• Операции отношения (сравнения) выполняются над данными вещественного , целого типов , строками и символами: =, <>, <, >, <=, >=. Результат операции сравнения имеет логический тип.

• Логические операции применимые к данным логического и целого типов: NOT – логическое НЕ, AND – логическое И, OR – логическое ИЛИ, XOR - исключающее ИЛИ. Логические операции над данными дают результат логического типа.

Page 20: Высокоуровневые методы информатики и программирования

Логические операции

A NOT A

B NOT B

A AND B

A OR B

A XOR B

False

True False

True False False False

False

True True False False True True

True False False

True False True True

True False True False True True False

Page 21: Высокоуровневые методы информатики и программирования

Выраженияоперанды

Знак операции

выражение

• унарные операции

b:= NOT a;

• бинарные операции

d:=b* b – 4 * a * c;d > (a - b) / c ;

Page 22: Высокоуровневые методы информатики и программирования

Правила составления выражений в языке Pascal1. два символа арифметических операций не должны

стоять рядом; исключение составляет знак "-" (минус) перед отрицательной константой

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

операций4. число левых и правых скобок должно быть одинаково5. при отсутствии скобок вычисление выражения

выполняется согласно приоритету операций: • унарные операции: NOT, +, -• операции типа умножения: *, /, DIV, MOD, AND• операции типа сложения: +, -, OR• операции отношения =, <, >, <=, >=, <>

Page 23: Высокоуровневые методы информатики и программирования

x>=0 AND x<12 Верная запись: 

(x>=0) AND (x<12)

Page 24: Высокоуровневые методы информатики и программирования

Совместимость типов•оба типа одинаковые•оба типа вещественные•оба типа целочисленные•оба типа – поддиапазоны одного

(другого) типа•оба типа образованы от одного

исходного типа•один тип является поддиапазоном

другого

Page 25: Высокоуровневые методы информатики и программирования

Структура программы на языке Pascal•Нововведением в Delphi является понятие проекта – описания файловой структуры исходного текста программного продукта

•Кроме файлов с исходными текстами, в проект могут входить файлы ресурсов, подключаемых к программе

•Описание проекта находится в основной части программы, генерируется средой автоматически (файле с расширением dpr)

Page 26: Высокоуровневые методы информатики и программирования

Программа на языке Pascal состоит из 3 разделов:

Program Name; {Заголовок программы}

{Раздел описаний}Begin

{Раздел операторов}End.

Для обозначения конца оператора используется разделитель – точкой с запятой (;)

Page 27: Высокоуровневые методы информатики и программирования

Комментарий:• {Это комментарий}• (*Это тоже комментарий*)в Delphi также• // До конца строки – комментарий

Ключи компиляции:

• {$E+} – эмулировать математический сопроцессор• {$N+} – использовать математический

сопроцессор• {$R+} – проверять выход за границы диапазонов

$ буква-ключ

+ или

Page 28: Высокоуровневые методы информатики и программирования

Составной операторBegin…

Begin…Begin…End;…End;

…End;

Page 29: Высокоуровневые методы информатики и программирования

Раздел описаний• внешних модулей (Uses)• меток (Label)• типов (Type)• констант (Const)• переменных (Var)• функций (Function)• процедур (Procedure)

Page 30: Высокоуровневые методы информатики и программирования

Подраздел описания внешних модулей• Внешние модули – это наборы

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

• Подключение модуля к программе:

Uses имя_модуля; Например:

Uses CRT;

Page 31: Высокоуровневые методы информатики и программирования

Подраздел описания меток•Метка – точка перехода, используемая в

операторе безусловного перехода•Описание меток:

Label метка_1, метка_2 … метка_N;

•В качестве меток могут использоваться целые числа без знака (от 0 до 9999):

Label 1, 77, 190;

Page 32: Высокоуровневые методы информатики и программирования

Подраздел описания типов

Перечислимый

• Type имя_типа = (значение_1, значение_2 … значение_N);• Type Season = (winter, spring, summer, autumn);

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

• Type имя_типа = (нач_значение .. кон_значение);• Type Hours = (0 .. 23);

Page 33: Высокоуровневые методы информатики и программирования

Подраздел описания констант•Константа - объект программы, который не

может изменять своего значения•Описание константы:

Const имя = значение;

Const a = 17; {целый тип}b = 3.14; {вещественный тип}c = ‘A’; {символ}Text = ‘Pascal’; {строка}Flag = False; {логический тип}

Page 34: Высокоуровневые методы информатики и программирования

Подраздел описания переменных• Переменная – объект программы, который

может изменять свое значение в процессе выполнения

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

Var имя: тип;

Var a: Integer; {целый тип}b: Real; {вещественный тип}c, d: Char; {символ}Text: String; {строка}Flag: Boolean; {логический тип}

Page 35: Высокоуровневые методы информатики и программирования

Подразделы описания процедур• Описываются процедуры, используемые в

программе

Procedure имя (список параметров); Label ConstTypeVarProcedureFunction Begin…End;

Page 36: Высокоуровневые методы информатики и программирования

Подразделы описания функций• Описываются функции, используемые в программе

Function имя (список параметров): тип результата; Label ConstTypeVarProcedureFunction Begin…End;