Классификация алгоритмических языков программирования. Особенности языков программирования.
1. По уровню связи с аппаратурой ЭВМ, ПК.
- низкоуровневые языки программирования (машинозависимые), максимально приближены к аппаратуре, к системе команд процессора. Двоичный язык не используется, используется Ассемблер.
- Высокоуровневые языки (машинонезависимые) Pascal, Fortran, Basik, Algol, Ci и др. Они не привязаны к аппаратуре ПК. Программа будет работать на любой платформе (IBM, Apple, Macintosh).
2. По назначению
- системное программирование (разработка операционной системы, утилитов, драйверов). Ассемблер, Си – на них написаны ОС UNIX, Windows, FoxPro.
- Обучение программированию (Бейсик и Паскаль).
- Вычислительные научно-технические и научно-исследовательские задачи. Фортран – транслятор формул. Язык высокого уровня, год его разработки 1954. Паскаль, Си, Кобол – ориентированы на финансово-экономические задачи. MatCad – включает разделы высшей математики; MatLab – специализированный математический пакет (интерпретаторы).
- Языки управления базами данных (FoxPro, Clipper).
- Языки логического программирования – для разработки экспертных (интеллектуальных) систем (Лисп, Пролог).
- Языки для систем автоматического проектирования каких-либо объектов, узлов (AutoCad).
- Языки программирования для Internet (HTML, XML, JAVA, ASP, PHP).
3. По стилю программирования
- процедурное программирование (Фортран, Кобол, Паскаль, Бейсик)
а) основное внимание разработке наилучших алгоритмов решения.
б) программа оформлялась с большим количеством процедур (подпрограмм) в одном файле. Недостаток: неэффективная трансляция изменений в одной подпрограмме.
в) для вызова процедур, для перехода в другие точки программы используется оператор GOTO.
- структурное программирование (модульное)
а) основное внимание уделяется организации структур данных.
б) данные, определенного типа и процедуры, обрабатывающие эти данные оформляются в виде одного файла. Увеличивается эффективность трансляции, т.е. происходит перетрансляция одного модуля.
в) исключает использование оператора GOTO. Это доказано в теореме о структурном программировании.
Теорема: Любую вычислительную задачу можно реализовать с помощью основных конструкций алгоритма (линейная, разветвленная, циклическая).
– объектно-ориентированное программирование (Object Pascal, C++); – Визуальное программирование (Delphi (Borland), C++ Builder).
3.22. Визуальный интерфейс приложений. Стандартные управляющие объекты (кнопка, текстовое поле …): назначение, основные характеристики.
Стандартные управляющие объекты предназначены для построения визуального интерфейса пользователя и создания основы функционирования программы.
Все объекты имеют характеристики двух групп:
- свойства – это значение какого-либо параметра объекта;
- методы – это способности объектов к каким-либо действиям;
Объекты:
1. TextBox – текстовое поле, позволяет вводить исходные данные и выводить результаты работы программы. Содержимое хранится в свойстве Text.
2. Label – текстовое поле, во время работы программы позволяет только вывод информации. Пользователь не может вводить информацию. Значение хранится в свойстве Caption.
3. PictureBox – окно рисунка – для формирования изображения программным способом (динамически).
4. ImageBox – окно изображения – для вывода готовой картинки (статично).
5. CommandButton – объект активизирует, вызывает какие-либо действия.
6. OptionButton – кнопка выбора – организация списка с возможностью выбора единственного элемента. Значение хранится в свойстве Velue.
7. CheckBox (флажок) – организация списков с возможностью выбора нескольких элементов одновременно.
8. ComboBox – раскрывающийся изменяемый список элементов, может существовать в двух состояниях. Во время работы программы позволяет вводить новые значения. Набор элементов находится в свойстве List. Значение видимое при загрузке формы находится в свойстве Text.
9. ScrollBox – линейная прокрутка. Визуальный способ задания значений в определенном диапазоне. Значение хранится в свойстве Value.
10. Timer – инициирует события через заданные промежутки времени. Обычно побуждает к действию другие объекты или выдает информацию о ходе времени.
11. Data – линия доставки данных, обеспечивает обмен информацией между каким-либо объектом приложения и базой данных (только передает данные, сам отображать их не может).
12. Grid (сетка) – таблица пустографка (много разновидностей). Может позволять вводить, хранить и изменять данные (не зависимо). Так же может показывать данные из какой-либо базы (данные доставляются объектом Data).
13. Shape (фигура) – заготовка геометрической фигуры. Для визуального выделения части формы.
14. Line (линия) – для украшения внешнего вида формы.
3.23. Объектно-ориентированное программирование. Свойства ООП. Элементы объектной модели.
В объектно–ориентированных языках данные объединяются со свойственными им операциями обработки в некоторые объекты (Инкапсулирование). Например, данным «Человек» присуща операция «идти». При этом свойства одних объектов могут передаваться другим.
Элементы объектной модели:
Объект – структура данных, которая содержит набор свойств и методов, оперирующих с этими свойствами. Пример объекта в Windows – окно, которое имеет и свойства и методы (свойства – размер, цвет и др.; методы – свернуть, развернуть и др.).
Свойства– размер, цвет и т.д.
Методы – свернуть, развернуть и т.д.
Свойства ООП:
ИНКАПСУЛЯЦИЯ – это объединение записей с процедурами и функциями, работающими с полями этих записей, которое формирует новый тип данных – объект. Для определения новых типов данных, содержащих набор свойств и набор методов.
- свойства объектов доступны, как правило, только для собственных объектов (совокупность информации);
- методы объектов являются общедоступны, т.е. можно вызывать из других объектов.
НАСЛЕДОВАНИЕ – определение объекта и дальнейшее использование всех его свойств для построения иерархии порожденных объектов с возможностью для каждого порожденного объекта, относящегося к иерархии, доступа к коду и данным всех порождающих объектов. Механизм, позволяющий строить иерархию типов объектов.
- производные объекты наследуют свойства и методы базовых объектов;
- в производных допускается создание новых свойств и методов; допускается переопределение методов базового объекта;
- базовые типы, как правило, абстрактны и содержат общие черты и общие методы для группы схожих объектов;
- производные тоже могут быть абстрактными типами и выступать в роли базовых для следующего уровня.
ПОЛИМОРФИЗМ – присваивание определенному действию одного имени, которое затем совместно используется по всей иерархии объектов сверху донизу, причем каждый объект иерархии выполняет это действие характерным именно для него способом.
Программы, написанные ООП, являются более гибкими и более открытыми для внесения изменений.
Объектно-ориентированное программирование – это технология разработки программ с определением и использованием объектов, представляющих программную систему. После того как объекты, составляющие систему, зафиксированы и описаны, можно определить операции, которые должны выполняться с этими объектами. Напр., в случае такого объекта как документ естественный набор операций объекта может включать «печать», «проверку орфографии», «передачу по факсу» или «удаление».
Объектно-ориентированное программирование (далее ООП) само по себе не требует специального языка программирования. Объектно-ориентированные программы могут быть написаны практически на любом языке программирования. Языки, представленные как объектно-ориентированные, обычно обеспечивают специальную структуру данных - класс, позволяющую группировать данные и методы внутри одной переменной.
Т.е. класс представляет собой описание общей структуры и функций некоторой совокупности объектов.
Иначе, в ООП задачи решаются путем созданием определенных классов и дальнейшей работой с этими классами. Большая часть затрат приходится на разработку соответствующего класса для представления объекта. Программа, использующая разработанный класс значительно упрощается, т.к. при описании класса задаются его методы, точно ограничивающие корректные действия программы. Внутренняя организация класса при этом может быть неизвестна программисту, использующему данный класс в программе ( библиотеки классов).
Объектно-ориентированное программирование имеет много преимуществ :
- возможность, повторного использования описания класса;
- легко разрабатывать типы данных, используя концепции наследования и полиморфизма;
- снизить возможность ошибочных действий благодаря инкапсуляции;
- улучшение читаемости программы.
Классы разработанные для одной программы, м.б. использованы для другой. Ведь гораздо удобней строить библиотеки классов, чем множества библиотек функций. За счет группирования данных и методов Объектно-ориентированные программы часто более понятны для чтения, чем их не объектно-ориентированные варианты (по крайней мере, после того как изучен синтаксис используемого языка программирования).
Класс лучше всего рассматривать, как некоторое расширение понятия структуры. Класс, как и структура, описывает шаблон для будущих объявлений переменных: память при объявлении класса не выделяется. Класс имеет имя (тег) и состоит из полей, представляющих его члены.
Проще говоря, классы представляют собой описание общей структуры и функций некоторой совокупности объектов.
Инкапсуляция - это хранение данных и методов в одной структуре данных. Инкапсуляция группирует все компоненты объекта а также определяет каким образом можно ссылаться на объект (прим. Public или Private). Это защищает данные объекта от их неправильного употребления.
Проще говоря, это - сокрытие информации в объекте, позволяет создавать набор данных и функций в объекте.
Абстракция. Обозначает описание внешних свойств объекта без учета его внутренней организации и конкретной реализацией. Данное понятие чаще всего применяется при создании классов и означает, что класс представляется в виде «черного ящика». Это облегчает использование класса, но не скрывает его сущность (синонимы: сокрытие информации, инкапсуляция).
Полиморфизмозначает возможность применять в программе один и тот же оператор для объектов различных типов.
3.24. Понятие класса и объекта. Составные элементы модуля класса (внутренние переменные, свойства, методы), назначение, реализация.
Понятие абстракция, сущность и класс тождественны. Это теоретически модель рассматриваемой системы или реального объекта. Обычно абстракция в реальном мире существовать не может. Теоретическая абстракция в реальном виде проявляется в виде объекта. Любой объект является экземпляром (представителем) какого-либо класса, т.е. абстракции.
Класс – это шаблон, а объект, созданный по этому шаблону, элемент. Если существует несколько совершенно одинаковых объектов, то встает вопрос по их различимости. Если объекты различить невозможно, то они считаются проявлением одного и того же объекта.
Природа объекта Объект– это нечто, имеющее четко очерченные границы.
Объект – это конкретный опознаваемый предмет, единица или сущность (реальная или абстрактная), имеющая четко определенное функциональное назначение в предметной области. Осязаемые – это и/или видимый предмет. Нечто не видимое и не осязаемое, но воспринимаемое мышлением. Нечто на что направлена мысль или действие.
Основные характеристики объекта
1. Идентичность – отличия от других объектов. Это совокупность характеристик объекта, отличающих его от всех других объектов.
2. Состояние – текущее состояние, мгновенное значение всех параметров объекта. Характеризуется перечнем всех свойств и текущим значением каждого свойства. Набор свойств обычно не меняется, а значения – могут. Свойства – это постоянные неотъемлемые характеристики объекта, которые не могут исчезнуть при нормальных условиях.
3. Поведение – проявление внутреннего состояния объекта в результате взаимодействия с другими объектами. Поведение определяется состоянием объекта, его предысторией.
Программирование классов и объектов
Классы стандартных объектов (текстовые поля, кнопки, …) встроены в язык программирования и не требуют создания в программе дополнительных модулей, процедур и функций. Для создания и использования нестандартного объекта в проект приложения нужно добавить модуль классов таких объектов.
Характеристики всех объектов одного и того же класса описываются в единственном модуле класса. Создаваемые в программе объекты одного и того же класса друг от друга отличаются только значениями свойств.
При выполнении какого-либо оператора в программе, с упоминанием нестандартного объекта, управление передается в модуль класса этого объекта.
Внутри модуля класса находится обычный программный код, который описывает принципы функционирования объекта. Сами объекты порождаются (объявляются) не в модуле класса, а в других модулях проекта, аналогично объявлению переменных. Dim ИмяОбъекта As New ИмяКласса
При этом порождается новый объект с таким набором свойств и значений, как он задан в модуле класса.
Свойства и методы класса
Интерфейс класса – это механизм, с помощью которого он общается с внешней средой. Интерфейс виден другим объектам, которые могут: - считывать значение какого-либо свойства y=CmdGo.Caption;
- изменять значения свойства; - заставлять объект выполнять какие-то действия.
Процедуры свойств Текущее значение каждого свойства хранится внутри модуля класса в переменных. Объекты из внешней среды не могут изменить ее значение самостоятельно.
Для безопасности объект всегда проверяет предлагаемые ему значения с помощью специальных процедур свойств. Сильное изменение значения может привести к разрушению объекта.
Процедуры свойств проверяют корректность присеваемого значения и отслеживают или проводят изменение других характеристик объекта, связанных с этим свойством.
Виды процедур свойств
Let – проверка присваемого свойству значения. Активизируется при выполнении оператора Object.Свойства=…
Проверяет присваемое значение и присваивает его внутренней переменной, хранящей текущее значение свойств. Get – процедура активизируется при считывании значения свойства внутренней переменной y=Об.Свойства и передает его во внешнюю среду.
Методы объекта Реализуются процедурами или функциями (в модуле класса создается функция или процедура) и обращение к ним идет по всем правилам как обычно.
3.25. Событийное программирование. Понятие события. Особенности программ на основе событий.
В традиционных программах выполнение начиналось с первой строки и шло последовательно до конца программы. Это присуще объектно-ориентированному программированию. Событийное программирование – процедуры-обработчики вызываются при возникновении событий. Все действия пользователя обычно рассматриваются как события, связанные с конкретными элементами управления.
Событие (event) – это изменение состояния объекта. При возникновении события производится его обработка.
Дата добавления: 2015-07-30; просмотров: 24410;