Введение в программирование. Основы объектноориентированного программирования. Delphi. ваш гид в информатике info-helper.ru Языки программирования. Компиляторы и интерпретаторы. Каждый процессор имеет свою систему команд. Компьютер способен понять только последовательность команд, понятных процессору, - машинный код. Первоначально программы для компьютеров писались с использованием машинного кода. ваш гид в информатике info-helper.ru Язык программирования - формальный язык для записи алгоритмов в виде, допускающем их автоматическую подготовку к выполнению на компьютере. Для преобразования программы в машинный код служит специальное программное средство – транслятор. Трансляторы делятся на две группы по их работе – компиляторы интерпретаторы. ваш гид в информатике info-helper.ru Интерпретатор Преобразует команды исходного текста программы в машинные команды и немедленно их выполняет. Программа выполняется по строкам исходного текста. • Удобство для программирования и отладки • Меньший объем кода • Медленный процесс. • Сложность при интерпретации нескольких модулей. • Для запуска созданной программы на конкретном компьютере необходимо, чтобы на нем была установлена программа-интерпретатор. ваш гид в информатике info-helper.ru Примеры: Лисп, Python, PHP Компилятор просматривает текст программы и создает последовательность данных, которая называется исполнимым кодом. Обычно файл программы с расширением exe. Исполнимый код может запускаться автономно на любом компьютере подходящей платформы. Код, прошедший компиляцию, работает в десятки раз быстрее, чем его эквивалентная программа в режиме интерпретации. • Трудоемкость программирования и отладки. Некоторые системы разработки программ содержат в своем составе, как компилятор, так и интерпретатор для поддерживаемого языка программирования. Примеры: Си, Pascal, ваш Delphi гид в информатике info-helper.ru Язык программирования содержит три основных компонента: алфавит, синтаксис и семантику. Алфавит языка – это набор символов, которые можно применять в инструкциях языка программирования. Другие символы допустимы только в особых случаях, например в строковых константах. Синтаксис языка определяет правила построения операторов. Семантика – смысловое содержание операторов языка программирования. Семантические правила определяют действия, описываемые различными операторами, и, в итоге сущность всего алгоритма. ваш гид в информатике info-helper.ru Уровни языков Языки программирования можно разделить на две группы – • языки высокого уровня • языки низкого уровня (машинные). К языкам низкого уровня относится язык Ассемблер, в котором программа пишется на уровне машинных кодов. ваш гид в информатике info-helper.ru Программировать на языке ассемблера намного проще, чем в машинном коде, но все равно сложно. Поэтому были созданы другие языки программирования, в которых каждая инструкция (оператор) языка преобразуется в группу машинных кодов. Эти языки ориентируются не на систему команд процессора, а на способ мышления, присущий человеку. Языки удобные для людей, называют языками высокого уровня. Достоинства языков высокого уровня: • Машинная независимость. • Использование естественных обозначений. • Готовые библиотеки стандартных подпрограмм для выполнения часто встречающихся действий. ваш гид в информатике info-helper.ru Поколения языков 1 этап. Операционное программирование. (ЭВМ 1-го поколения с 1945-1959 год). ЭВМ того времени понимали только цифровые команды, и программы состояли из множества строк, состоящих из цифр, интерпретируемых центральным процессором. Например, команда 05 825 631 трактовалась как сложение двух чисел (код 05), записанных в ячейки с номерами 825 и 631. Производительность труда программистов того времени была очень невелика, так как вручную было необходимо распределить все переменные программы в оперативной памяти. ваш гид в информатике info-helper.ru 2 этап. Мало отличается от первого. Он связан с ЭВМ 2-го поколения. Появились языки программирования типа Ассемблер и автокод. Теперь команда сложения записывалась с использованием служебных слов – ADD (сложить) PR1, ZET, где ADD – код команды, PR1, ZET – имена ячеек. Перевод программы (трансляция), записанных таким образом в цифровое представление, а только такое понимает ЭВМ, осуществляется с помощью специальных программ, называемых ассемблерами. Технология работы программиста: программа собирается из мелких деталей, отдельных операций и имеет достаточно простую структуру, решаемые задачи в основном расчетные. ваш гид в информатике info-helper.ru 3 этап. Развиваются языки программирования высокого уровня. В них реализуются новые идеи: • подпрограммы и раздельная компиляция (Фортран 2); • блочная структура и типы данных (Алгол 60); • описание данных и работа с файлами (Кобол); • обработка списков и указателей (Лисп). В следующих версиях языков продолжается развитие: PL/1 (Фортран+Алгол+Кобол), Алгол 68 (приемник Алгол 60), Паскаль (развитие Алгол 60), Simula (классы абстрактные данные). Памятник программисту в г. Харьков Скульптурная композиция Студент выполнена в классическом стиле. В композицию входят скульптура студента с открытым ноутбуком на коленях, сидящего на лавочке, слева на лавочке лежит сумка с логотипом Харьковского Университета. Памятник изготовлен из бронзы, длина лавочки - около 250 см, высота скульптуры сидящего ваш гид в информатике info-helper.ru студента - 150 см. 4 этап. Связан с применением объектно-ориентированных языков 4-го поколения. В основе объектно-ориентированного программирования (ООП) лежит идея объединения в одной структуре данных и действий, которые производятся с этими данными. (В терминологии ООП такие действия называются методами). ваш гид в информатике info-helper.ru Delphi Де́льфы (др.-греч. Δελφοί) — древнегреческий город в югозападной Фокиде (Греция), общегреческий религиозный центр с храмом и оракулом Аполлона; в Дельфах происходили общегреческие Пифийские игры. Греческое слово Δελφοί восходит к индоевропейскому корню δελφύς — «лоно», «утроба». Отсюда происходят и слова αδελφός — «брат» или букв. «единоутробный», и дельфин — «новорожденный младенец», «утробный» (возможно из-за внешнего сходства с младенцем или из-за того, что крик дельфина похож на крик ребенка). Причина такого названия видимо связана с тем, что, в представлении древних греков, неподалеку от храма Аполлона ваш гид в информатике info-helper.ru находился Пуп Земли. Первым языком с элементами ООП был язык Симула-67. В Турбо-Паскале, начиная с версии 5.5, появились средства ООП. Итогом развития Турбо-Паскаля в этом направлении стало создание фирмой Borland системы программирования Delphi (Делфи). Использование этой системы, в частности, даёт возможность легко и быстро программировать сложный графический интерфейс. ваш гид в информатике info-helper.ru Андерс Хейлсберг (дат. Anders Hejlsberg; род. в декабре 1960, Копенгаген) — датский инженер-программист. В 1980 году написал свой первый компилятор языка Паскаль, который после портирования под операционную систему MSDOS продал фирме Borland. Эта версия легла в основу Turbo/Borland Pascal, который развивался до 1995 года. До 1996 года Хейлсберг был главным инженером фирмы Borland, где создал новое поколение компиляторов Паскаля — язык Delphi, компилятор которого работал уже под операционной системой Windows. В 1996 году он перешёл в Microsoft, где возглавил группу по созданию и проектированию языка C. ваш гид в информатике info-helper.ru Основы ООП Системы ООП дают возможность визуализировать процесс создания графического интерфейса. Визуальное программирование – это единство двух взаимосвязанных процессов: наглядного конструирования типового Windows-окна приложения и написания кода. Основной единицей в ООП является объект, который объединяет в себе как описывающие его данные, так и средства обработки этих данных, т.е. программные объекты обладают свойствами, могут использовать методы и реагирует на события. ваш гид в информатике info-helper.ru Свойства Каждый объект обладает набором свойств. Значение свойств можно изменить в программном коде. Объект. Свойство = Значение свойства Например, Edit1.Text:=‘Привет’ События Событие представляет собой действие, распознаваемое объектом. Событие может создаваться пользователем или быть результатом взаимодействия других программных объектов. В качестве реакции на событие вызывается определенная процедура. Примеры событий OnClick, OnChange ваш гид в информатике info-helper.ru Визуальное программирование – это единство двух взаимосвязанных процессов: наглядного конструирования типового Windows-окна приложения и написания кода. Интегрированная среда разработки Delphi представляет собой многооконную систему, определяемую настройками пользовательского интерфейса: • Главное окно (Delphi – Project). • Окно Обозреватель дерева объектов (Object Tree View). • Окно Инспектора объектов (Object Inspector). • Окно Конструктора формы (Form). • Окно Редактора кода (Unit.pas) и др. ваш гид в информатике info-helper.ru Модуль служит для размещения кода программы пользователя. Любая программа Delphi состоит из файла проекта (*.dpr), одного или нескольких модулей (*.pas) Имена в Delphi задаются латинскими буквами, цифрами и знаком подчеркивания. Главное окно осуществляет основные функции управления проектом создаваемой программы и состоит из: • Строки заголовка • Строки меню • Панели инструментов • Палитры компонентов ваш гид в информатике info-helper.ru Строка заголовка главного окна отображает имя открытого в данный момент проекта. По заголовку главного окна можно определить, в каком режиме открыт проект. Текст заголовка Режим работы Delphi 6 – Project1 Редактирование Delphi 6 – Project1 [Running] Выполнение Строка меню содержит команды, необходимые для разработки и тестирования приложений и используется так же, как любое стандартное Windows-меню. ваш гид в информатике info-helper.ru Панель инструментов. Панель инструментов представляет собой набор кнопок для быстрого доступа к необходимой функции меню. На этой панели есть, в частности, кнопка сохранения проекта на диске, кнопка открытия проекта, кнопка запуска программы на выполнение. Палитра компонентов устроена в виде наборов пиктограмм. На палитре компонентов, представляющей собой множественные тематические страницы, располагаются визуальные и невизуальные компоненты вашей будущей программы. Они составляют библиотеку визуальных компонентов (VCL – Visual Component Library). Невизуальные компоненты видны только при проектировании приложения. ваш гид в информатике info-helper.ru Окно проектировщика формы – главное место, где происходит сборка программы из компонентов, содержащихся в палитре компонентов. Сама форма – это уже готовая к исполнению программа. В указанное место формы будет вставлен объект - экземпляр компонента выбранного типа. ваш гид в информатике info-helper.ru Окно инспектора объектов (Object Inspector) отображает свойства, активизированного щелчком мыши какого-либо компонента или самой формы. Имя активизированного компонента находится под заголовком окна. Это окно имеет две закладки – Свойства (Properties) и События (Еvents). На первой закладке (Properties) постоянно отображаются все доступные свойства выбранного компонента. В левой колонке содержится список, а в правой – текущие значения по умолчанию. На второй закладке (Events) отображаются возможные обработчики событий для выбранного компонента. В левой колонке названия, а в правой - соответствующие свойства или процедуры. Что же такое свойства и реакции на события? ваш гид в информатике info-helper.ru Каждый объект в Delphi, даже само окно разрабатываемого приложения, имеют определенные свойства: цвет, размер, отображаемый текст и т.п. Эти свойства можно менять еще до запуска проектируемой программы на выполнение. В зависимости от изменяемого свойства результат можно просматривать уже сразу. Реакции на события, это результат произошедшего системного события, например, щелчок мыши, нажатие на кнопку, открытие окна и т.п. Реакцию на событие назначают программно, указывая список действий, которые необходимо произвести. Например, если пользователь выполняет клик по кнопке, производится копирование файла. ваш гид в информатике info-helper.ru Окно редактора кодов По ходу работы система формирует в окне Редактора кодов текст программы на языке Object Pascal, связанной с формой. На момент первого запуска это окно имеет заголовок Unit1. В редакторе кода могут быть открыты сразу несколько файлов. Каждый открытый файл размещается на отдельной странице, а его название отображается на вкладке в верхней части. В окне кода программист непосредственно пишет текстовую часть программы. ваш гид в информатике info-helper.ru Постоянную величину иначе называют константой. Конечно, в программе можно использовать числа и строки непосредственно: 3.1415 или 'Это значение числа пи', но иногда удобнее присвоить их идентификатору. Описание констант аналогично описанию переменных, но используется ключевое слово const, за именем идентификатора следует тип, затем знак равенства и его значение. Причём тип константы допускается не указывать: const pi=3.1415 ; ZnakPi : String = 'Это ваш значение гид в информатикечисла info-helper.ru пи'; Переменные в языке Delphi. Команда объявления переменных в языке Delphi: var имя_переменной : тип_переменной ; Слово var - ключевое. Именем может быть любой идентификатор, если он не был описан ранее и не является одним из ключевых или зарезервированных слов языка Delphi. Если нужно описать несколько переменных одного типа, то их перечисляют, отделяя запятой: var A, B, C : Integer; ваш гид в информатике info-helper.ru Строкой называется последовательность символов, заключённая в одиночные кавычки: 'это текстовая строка' Самый популярный строковый тип - String. Строка типа String может содержать переменное количество символов объёмом до 2 Гбайт. Если нужно ограничить размер строки фиксированным значением, то после ключевого слова String в квадратных скобках указывается число, определяющее количество символов в строке: String[50]. Одиночный символ имеет тип Char и записывается в виде знака в одиночных кавычках: 'a'. ваш гид в информатике info-helper.ru Числа бывают целые и дробные. В следующей таблице перечислены стандартные типы целых чисел и соответствующие им дипазоны допустимых значений. Integer -2147483648 .. +2147483647 Cardinal 0 .. 4294967295 Shortint -128 .. +127 Smallint -32768 .. +32767 Int64 -263 .. +263-1 Byte 0 .. +255 Word 0 .. +65535 Наиболее удобным для использования в программах является тип Delphi Integer. Другие целые типы используются для уменьшения места, занимаемого данными в памяти компьютера. ваш гид в информатике info-helper.ru Дробные числа имеют дробную часть, отделяемую десятичной точкой. Допускается использование символа e (или E), за которым следует число, указывающее, что левую часть нужно умножить на 10 в соответствующей степени: 5e25 - пять умножить на десять в двадцать пятой степени. Ниже приведены стандартные типы дробных чисел и соответствующие им диапазоны допустимых значений. Для большинства типов указан диапазон положительных значений, однако допустимым является аналогичный диапазон отрицательных значений, а также число 0. Байт Тип Диапазон Точность памяти Real от ±2.9*10^-39 до 1.7*10^38 6 11-12 Single от ±1.5*10^-45 до 3.4*10^38 4 7-8 Double от ±5.0*10^-324 до 1.7*10^308 8 15-16 Extended от ±3.4*10^-4951 до 1.1*10^4932 10 19-20 Comp от -2^63+1 до 2^63 -1 8 19-20 Наиболее удобным для использования в программах является тип ваш гид в информатике info-helper.ru Delphi Real. Для вывода данных обычно нужно преобразовать значение переменной из числового в текстовый тип. Для целых чисел есть встроенная функция IntToStr и обратная StrToInt. Аналогично, имеются функции и для преобразования в строку и обратно действительных чисел c плавающей (Floating англ.) запятой, имеющих тип Real. Для преобразования в строку - FloatToStr, обратно StrToFloat. ваш гид в информатике info-helper.ru Логический тип Boolean, состоит из двух значений: True (Истина) и False (Ложь). ваш гид в информатике info-helper.ru 1. Курица может жить без головы — истина Большинство рефлексов тело курицы сохраняет даже теряя голову. Так что, выражение «безмозглая курица» весьма меткое, даже научно обоснованное. 2. Человек использует лишь 10% возможностей мозга — ложь Результаты МРТ-исследований показали, что даже когда человек спит, большая часть коры его мозга работает. 3. Куриный бульон лечит простуду — истина Вернее, почти истина. По мнению ученых, в нем содержатся вещества, имеющие противовоспалительные свойства, так что бульон очень даже способствует излечению от простуды. 4. Молния не попадет в одно и то же место второй раз — ложь, причем опасная. С точностью до наоборот, молния предпочитает определенные «цели», преимущественно возвышенности, деревья и высокие строения. ваш гид в информатике info-helper.ru