Высокоуровневые методы информатики и...
DESCRIPTION
Высокоуровневые методы информатики и программирования. Язык программирования высокого уровня Pascal Объектно-ориентированное программирование. История развития языка Pascal. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/1.jpg)
Высокоуровневые методы информатики и программирования
1. Язык программирования высокого уровня Pascal
2. Объектно-ориентированное программирование
![Page 2: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/2.jpg)
История развития языка 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: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/3.jpg)
Структура языка Pascal•фиксированный набор основных символов, из которых должен состоять любой текст на этом языкеАлфавит
•правила построения фраз
Синтаксис
•система правил истолкования отдельных языковых конструкций
Семантика
![Page 4: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/4.jpg)
Алфавит языка Pascal•прописные (A…Z) и строчные (a…z)
буквы латинского алфавита•знак подчеркивания ( _ )•цифры (0…9)•специальные знаки (. : ; ' ^ $ # @ ( ) [ ]
{ } = + - * / > <)•пробельные символы
![Page 5: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/5.jpg)
Лексемы
Лексемы
имена (идентификат
оры)
зарезервированные (ключевые)
слова
Составные символы
Символы
![Page 6: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/6.jpg)
Составные символы образуются из комбинации специальных символов: • := (присвоение)• .. (диапазон значений)•<> (не равно)•<= (меньше или равно)•>= (больше или равно)•(* и *) (альтернатива фигурным
скобкам)•(. и .) (альтернатива квадратным
скобкам)
![Page 7: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/7.jpg)
Зарезервированные (ключевые) словаявляются составной частью языка, имеют фиксированное написание и однозначно определенный смысл, который не может быть изменен•Program•Begin•End•If•Else •…
![Page 8: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/8.jpg)
Правилам составления имен (идентификаторов)1. может состоять из букв латинского
алфавита, цифр и знака подчеркивания
2. не может содержать специальные знаки
3. не может начинаться с цифры4. не может совпадать ни с одним из
зарезервированных слов5. длина может быть произвольной, но
значащими считаются первые 63 символа
![Page 9: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/9.jpg)
В языке Pascal при написании зарезервированных слов и идентификаторов игнорируется различие в высоте букв
• Name• NAME• name
![Page 10: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/10.jpg)
Типы данных •Тип данных определяет внутреннее
представление данных, диапазон их значений и допустимые действия над ними
•Каждое выражение в программе имеет определённый тип
![Page 11: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/11.jpg)
Языки программирования
статически типизируемые
Слабо типизируе
мые
Сильно типизируе
мые
Строго типизируе
мые
динамически типизируемые
![Page 12: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/12.jpg)
Стандартные типы данных
предопределены разработчиками
языка
Пользовательские типы данных
определяются программистом в
программе, на основе стандартных
![Page 13: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/13.jpg)
Классификация типов данных в языке Pascal
ПростыеПорядковыеЦелыеЛогическийСимвольный
ПеречисляемыеТип-диапазонВещественные
СтруктурированныеМассивыЗаписи
МножестваФайлы
ОбъектыУказателиСтроковые
Процедурные
![Page 14: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/14.jpg)
Целочисленные типы данных
Тип
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: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/15.jpg)
Вещественные типы данных
Тип
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: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/16.jpg)
![Page 17: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/17.jpg)
• Логический тип (Boolean) занимают в памяти 1 байт и могут принимать два значения: False (ложь) или True (истина).
• Символьный тип (Char) позволяет работать с символами, которые записываются двумя способами: в одинарных кавычках или по их ASCII коду, например 'b', 'Д', '*' или #98, #132, #42. Под каждый символов отводится 1 байт.
• Указательный тип (Pointer) представляет собой адрес в памяти компьютера.
• Строковый тип (String) представляет собой строку символов и занимает Max+1 байт, где Max – максимальное количество символов в строке.
![Page 18: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/18.jpg)
Строковые типы данных, доступные в Delphi
Тип Максимальная длина (символов)
Занимаемая память
Размер символа
(байт)
ShortString 255 От 2 до 256 байт 1AnsiString ~231 От 4 байт до 2 Гб 1WideString ~230 От 4 байт до 2 Гб 2
![Page 19: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/19.jpg)
Действия, выполняемые над данными• Арифметические действия выполняются
над данными вещественного и целого типов: +, –, *, /, DIV, MOD.
• Операции отношения (сравнения) выполняются над данными вещественного , целого типов , строками и символами: =, <>, <, >, <=, >=. Результат операции сравнения имеет логический тип.
• Логические операции применимые к данным логического и целого типов: NOT – логическое НЕ, AND – логическое И, OR – логическое ИЛИ, XOR - исключающее ИЛИ. Логические операции над данными дают результат логического типа.
![Page 20: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/20.jpg)
Логические операции
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: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/21.jpg)
Выраженияоперанды
Знак операции
выражение
• унарные операции
b:= NOT a;
• бинарные операции
d:=b* b – 4 * a * c;d > (a - b) / c ;
![Page 22: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/22.jpg)
Правила составления выражений в языке Pascal1. два символа арифметических операций не должны
стоять рядом; исключение составляет знак "-" (минус) перед отрицательной константой
2. нельзя опускать знак умножения3. круглые скобки определяют очередность выполнения
операций4. число левых и правых скобок должно быть одинаково5. при отсутствии скобок вычисление выражения
выполняется согласно приоритету операций: • унарные операции: NOT, +, -• операции типа умножения: *, /, DIV, MOD, AND• операции типа сложения: +, -, OR• операции отношения =, <, >, <=, >=, <>
![Page 23: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/23.jpg)
x>=0 AND x<12 Верная запись:
(x>=0) AND (x<12)
![Page 24: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/24.jpg)
Совместимость типов•оба типа одинаковые•оба типа вещественные•оба типа целочисленные•оба типа – поддиапазоны одного
(другого) типа•оба типа образованы от одного
исходного типа•один тип является поддиапазоном
другого
![Page 25: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/25.jpg)
Структура программы на языке Pascal•Нововведением в Delphi является понятие проекта – описания файловой структуры исходного текста программного продукта
•Кроме файлов с исходными текстами, в проект могут входить файлы ресурсов, подключаемых к программе
•Описание проекта находится в основной части программы, генерируется средой автоматически (файле с расширением dpr)
![Page 26: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/26.jpg)
Программа на языке Pascal состоит из 3 разделов:
Program Name; {Заголовок программы}
{Раздел описаний}Begin
{Раздел операторов}End.
Для обозначения конца оператора используется разделитель – точкой с запятой (;)
![Page 27: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/27.jpg)
Комментарий:• {Это комментарий}• (*Это тоже комментарий*)в Delphi также• // До конца строки – комментарий
Ключи компиляции:
• {$E+} – эмулировать математический сопроцессор• {$N+} – использовать математический
сопроцессор• {$R+} – проверять выход за границы диапазонов
$ буква-ключ
+ или
–
![Page 28: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/28.jpg)
Составной операторBegin…
Begin…Begin…End;…End;
…End;
![Page 29: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/29.jpg)
Раздел описаний• внешних модулей (Uses)• меток (Label)• типов (Type)• констант (Const)• переменных (Var)• функций (Function)• процедур (Procedure)
![Page 30: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/30.jpg)
Подраздел описания внешних модулей• Внешние модули – это наборы
констант, типов данных, переменных, процедур и функций, которые можно использовать в программе
• Подключение модуля к программе:
Uses имя_модуля; Например:
Uses CRT;
![Page 31: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/31.jpg)
Подраздел описания меток•Метка – точка перехода, используемая в
операторе безусловного перехода•Описание меток:
Label метка_1, метка_2 … метка_N;
•В качестве меток могут использоваться целые числа без знака (от 0 до 9999):
Label 1, 77, 190;
![Page 32: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/32.jpg)
Подраздел описания типов
Перечислимый
• Type имя_типа = (значение_1, значение_2 … значение_N);• Type Season = (winter, spring, summer, autumn);
Интервальный
• Type имя_типа = (нач_значение .. кон_значение);• Type Hours = (0 .. 23);
![Page 33: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/33.jpg)
Подраздел описания констант•Константа - объект программы, который не
может изменять своего значения•Описание константы:
Const имя = значение;
Const a = 17; {целый тип}b = 3.14; {вещественный тип}c = ‘A’; {символ}Text = ‘Pascal’; {строка}Flag = False; {логический тип}
![Page 34: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/34.jpg)
Подраздел описания переменных• Переменная – объект программы, который
может изменять свое значение в процессе выполнения
• Описание переменных:
Var имя: тип;
Var a: Integer; {целый тип}b: Real; {вещественный тип}c, d: Char; {символ}Text: String; {строка}Flag: Boolean; {логический тип}
![Page 35: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/35.jpg)
Подразделы описания процедур• Описываются процедуры, используемые в
программе
Procedure имя (список параметров); Label ConstTypeVarProcedureFunction Begin…End;
![Page 36: Высокоуровневые методы информатики и программирования](https://reader035.vdocuments.mx/reader035/viewer/2022062310/56816612550346895dd95a53/html5/thumbnails/36.jpg)
Подразделы описания функций• Описываются функции, используемые в программе
Function имя (список параметров): тип результата; Label ConstTypeVarProcedureFunction Begin…End;