Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_k_zachetu_po_informatike.doc
Скачиваний:
41
Добавлен:
27.03.2015
Размер:
355.33 Кб
Скачать
  1. Объектно-ориентированное программирование.

Объектно-ориентированное программирование (ООП)- совокупность принципов, технологий, а также инструментальных средств, для создания программных систем на основе взаимодействия объектов.

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

Класс- набор однотипных объектов, обладающих одинаковыми свойствами и методами(действия).

Основные принципы построения объектной модели:

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

Инкапсуляция — физическая локализация свойств и поведения в рамках единственной абстракции (рассматриваемой как «черный ящик»), скрывающая их реализацию за общедоступным интерфейсом.

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

Полиморфизм - это способность использовать множество различных реализаций под единственным общим интерфейсом.

Наследование – способность использовать свойства и методы родительского класса в некоторых производных от них классах.

  • Достоинства: высокая скорость разработки, снижение стоим. программы, улучш. сопровождения программы

  • Недостатки: увеличение размера готовой программы

  1. Эволюция и классификация языков программирования.

Язык программирования - искусственный (формальный) язык, предназначенный для записи алгоритмов. Язык программирования задается своим описанием и реализуется в виде специальной программы – транслятора.

Поколения языков: 1 этап.Операционное программирование. (ЭВМ 1-го поколения с 1945-1959 год).  ЭВМ того времени понимали только цифровые команды, и программы состояли из множества строк, состоящих из цифр, интерпретируемых центральным процессором. 2 этап.Связан с ЭВМ 2-го поколения. Появились языки программирования типа Ассемблер и автокод. Теперь команды записывались с использованием служебных слов. Перевод программы (трансляция), в цифровое представление, а только такое понимает ЭВМ, с помощью спец. прог., ассемблеров. 3 этап.Развиваются языки программирования высокого уровня. В них реализуются новые идеи: подпрограммы и раздельная компиляция (Фортран 2); блочная структура и типы данных (Алгол 60); описание данных и работа с файлами (Кобол); обработка списков и указателей (Лисп). 4 этап.Связан с применением объектно-ориентированных языков 4-го поколения. В основе лежит идея объединения в одной структуре данных и действий, которые производятся с этими данными. Даёт возможность легко и быстро программировать сложный графический интерфейс. 5 этап.ЭВМ будущего 5-го поколения называют машинами «искусственного интеллекта». Это языки Лисп и Пролог. Они относятся к языкам логического программирования.  Язык Пролог разработан в 70-ых годах во Франции. Его появление связано с первыми работами в области создания искусственного интеллекта.

Классификация:

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

Машинные языки и машинно-ориентированные языки — это языки низкого уровня, требующие указания мелких деталей процесса обработки данных. Языки высокого уровня (машинно-независимые)– языки программирования, которые обеспечивают описание задачи в наглядном, легко воспринимаемом виде, удобном для программиста. Они делятся на:

(структурные)Процедурные (алгоритмические) языки (Fortran, Cobol, Algol, Basic, Pascal, C и др.) - предназначены для однозначного описания алгоритмов. Программа состоит из последовательности операторов (инструкций), задающих те или иные действия. Функциональные языки (LISP, ML, Erlang, Haskell) - программа представляет  собой совокупность описаний функций и выражений, которые необходимо вычислить. Логические языки (Prolog) - ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания. В логическом программировании нужно только специфицировать факты, на которых алгоритм основывается. Объектно-ориентированные (C++, С#, Java и др.) - в основе этих языков лежит понятие объекта, сочетающего в себе данные и действия над ними.

2. По возможности дополнения новыми типами данных и операциями: расширяемые; нерасширяемые. 3. По возможности управления реальными объектами и процессами: языки систем реального времени и условного времени. 4. По способу получения результата: процедурные; непроцедурные. 5. По типу решаемых задач: языки системного программирования и прикладного программирования.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]