Тема 9. Основы объектно-ориентированного программирования 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Тема 9. Основы объектно-ориентированного программирования



 

Программирование - теоретическая и практическая деятельность, связанная с созданием программ.

Программирование (programming) - процесс создания программ с использованием различных языков программирования.

Языки программирования (programming language) – это искусственный (формализованный) язык для написания команд для компьютера, которые он однозначно воспринимает и выполняет. Диапазон языков программирования широк: от машинных языков до языков высокого уровня.

Для компьютеров первого поколения программы писались на так называемых машинных языках (машинных кодах). Каждая команда представляет собой машинный код, то есть команда есть инструкция для программы.

 Команда это есть выполняемый оператор любого языка программирования.

Каждый тип ЭВМ имел уникальный машинный язык. Только и 60-е годы XX века, появилось семейство ЭВМ с единым машинным языком. Машинные языки достаточно сложны и неудобны для пользователя.

Осознание того, что компьютер является универсальным инструментом, который может выполнять любую формализованную работу по обработке информации, в том числе и по переводу программы с одного языка на другой, привело к созданию языков высокого уровня, удобных для записи алгоритмов любых классов. Были разработаны символические языки и соответствующие им трансляторы.

Процесс перевода алгоритма в машинную программу называется трансляцией или автоматический перевод программы на машинный язык (машинные коды) называется трансляцией.

Машинный язык (symbolic language) – язык программирования для представления программ в форме, которая позволяет выполнять их техническими средствами обработки данных.

Машинный язык это внутренний язык компьютера. Программа и данные на машинном языке непосредственно интерпретируются и исполняются аппаратными средствами компьютера.

Используемые данные разделяются:   Входные – поступают в компьютер и используются в качестве условий для решения задачи; Промежуточные или внутренние – используются внутри программы для хранения и обработки информации; Выходные – данные, полученные в результате работы программы по обработке информации.

Машинно-ориентированные языки (computer - sensitive language) программирования учитывают структуру самого компьютера, что обеспечивает высокое быстродействие решения задачи. Недостатки языков этой группы: слабая наглядность программ, необходимость знать структуру компьютера, взаимосвязь блоков при написании программ.

Языки символического кодирования (symbolic language) – промежуточная форма между языками высокого уровня и машинными языками. Для задания машинных операций и операций, выполняемых в Ассемблере, применяются мнемонические символы в виде условных буквенных обозначений, например СД – сложение, ВЧ- вычитание, УМ-умножение, ДЛ-деление и т.д.

Алгоритмический язык (algorithmic language) предназначен для представления алгоритмов. Алгоритмические языки близки к математическим выражениям задачи и вместе с тем к естественным языкам, как правило, к английскому языку. Алгоритмический язык представляет собой совокупность обозначений и правил записи, расширяющих общепринятую арифметико-алгебраическую символику и употребляемых в информатике и вычислительной технике для записи алгоритмов.

Программы, написанные на алгоритмических языках, переводятся на конкретный машинный язык (компиляция).

Компиляция (compilation) – это трансляция программы на язык, близкий к машинному языку. Необходимо различать два понятия: компилятор; интерпретатор.

Компилятор (compiler) – это программа или технические средства, выполняющие компиляцию. Компиляция представляет собой процесс трансляции программы на язык, близкий к машинному языку, то есть компилятор сначала транслирует всю программу на машинный язык, формирует программу в целом в машинных кодах, а затем эта программа существует как завершенный продукт и может выполняться многократно.

Интерпретатор (Interpreter) – преобразует программу в машинный вид и выполняет последовательно каждую команду отдельно, а не транслирует программу целиком. Программа выполняется в процессе ее ввода и не так быстро, как после трансляции. При этом обеспечивается постоянный диалог при разработке и отладке программы.

На сегодняшний день разработаны сотни алгоритмических языков программирования, но широкое применение получили только десятки. Была попытка создать универсальный язык программирования, а результатом этой работы явились языки ПЛ/1 и Алгол-68.Классификация языков программирования не закреплена ГОСТ и в целом они делятся на две группы: операторные; функциональные.

К функциональным языкам программирования относятся Лисп, Пролог, и т.д. Операторные языки программирования делятся: процедурные и непроцедурные (QBE, Fort, Smalltalk).

Процедурные языки в свою очередь делятся: машинно-ориентированные и машинно-независимые (алгоритмические).

К машинно-ориентированным языкам программирования относятся: машинные языки, автокоды, языки символического кодирования и ассемблеры.    Машинно-независимые языки программирования подразделяются на процедурно-ориентированные (Паскаль, Фортран, Бейсик и т.д.), проблемно-ориентированные (Лисп, РПГ, GPSS и т.д.) и объектно-ориентированные языки (Java, Cи++, Ада 95, Visual Basic и т.д.).

Процедурно-ориентированные языки программирования применяются для программирования задач широкого класса. Эти языки (Кобол, Фортран, Паскаль, Ада, ПЛ/1 и т.д.).

Программа на этих языках представляет собой совокупность процедур. Процедуры могут вызывать одна другую, и каждая из них может быть вызвана основной программой, которую можно так же рассматривать как процедуру. Проблемно-ориентированные языки предназначены для использования в определенной области обработки информации. На этих языках программируются задачи в более узкой, специфической области. Например, язык Си в основном применяется для разработки системного программного обеспечения, Пролог - для создания баз знаний, HTML для работы с гипертекстовыми документами, Java – для программирования приложений в Internet. В свое время для решения экономических задач применялся язык Кобол, для научно-технических и инженерных задач – языки Фортран и Паскаль.

Объектно-ориентированные языки явились результатом динамического развития информатики и вычислительной техники. Эти языки относятся к языкам высокого уровня. В них понятия «данные» и «процедуры», которые используются в обычных системах программирования, заменены понятием «объект».

В объектно-ориентированном программировании программа рассматривается как набор дискретных объектов, содержащих в свою очередь наборы структур данных и процедур, взаимодействующих с другими объектами. В этих языках использована объектно-ориентированная архитектура. При этом каждая структура данных должна содержаться в одном программном модуле. Модули объединяют данные и процедуры их обработки. Объектно-ориентированное программирование базируется на понятии абстрактных типов данных.

Абстрактный тип данных (Abstract data type) – тип данных определенный только операциями, применяемыми к объектам данного типа, без учета их внутренней организации и конкретной реализации.

 

Контрольные вопросы по 3 разделу

1. Что такое алгоритм?

2. Свойства алгоритма

3. Что такое алгоритмизация?

4. Способы записи алгоритма

5. типы алгоритмических процессов

6. Классификация языков программирования

7. Что такое компилятор?

8. Что такое интерпретатор?

9. Что такое абстрактный тип данных?

10. Что такое Блок-схема?

11. Способы записи алгоритма?

12. Этапы решения задач на ПК?

13. Основы алгоритмизации линейных, ветвящихся и циклических вычислительных процессов?


 



Поделиться:


Последнее изменение этой страницы: 2021-12-15; просмотров: 34; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.188.66.13 (0.01 с.)