Уровни языков

ГУ в области юстиции.

Управление иностранными делами.

Управление в области внутренних дел.

Управление в области иностранных дел.


[1] АПО – административные правоотношения.

[2] АПС – административно-правовой статус

[3] Нормативно-правовой акт

Язык программирования содержит три основных компонента: алфавит, синтаксис и семантику. Эти компоненты определяют правила записи программ. Алфавит языка – это набор символов, которые можно применять в инструкциях языка программирования. Другие символы допустимы только в особых случаях, например в строковых константах. Синтаксис языка определяет правила построения операторов. Семантика – это смысловое содержание операторов языка программирования. Семантические правила определяют действия, описываемые различными операторами, и, в итоге сущность всего алгоритма.

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

  • Символические мнемоники запоминаются легче, чем шестнадцатеричные коды команд.
  • Для регистров и областей памяти также можно использовать символические имена.
  • Нет необходимости работать с физическими адресами памяти.
  • Числовые константы и строки представляются в программе в привычном виде.

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

  • Машинная независимость.
  • Использование естественных обозначений.
  • Эффективное представление этапов обработки данных средствами языка.
  • Готовые библиотеки стандартных подпрограмм для выполнения часто встречающихся действий.

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

Поколения языков
1 этап.
Операционное программирование. (ЭВМ 1-го поколения с 1945-1959 год). ЭВМ того времени понимали только цифровые команды, и программы состояли из множества строк, состоящих из цифр, интерпретируемых центральным процессором. Например, команда 05 825 631 трактовалась как сложение двух чисел (код 05), записанных в ячейки с номерами 825 и 631. Производительность труда программистов того времени была очень невелика, так как вручную было необходимо распределить все переменные программы в оперативной памяти.
2 этап.
Мало отличается от первого. Он связан с ЭВМ 2-го поколения. Появились языки программирования типа Ассемблер и автокод. Теперь команда сложения записывалась с использованием служебных слов – ADD (сложить) PR1, ZET, где ADD – код команды, PR1, ZET – имена ячеек. Перевод программы (трансляция), записанных таким образом в цифровое представление, а только такое понимает ЭВМ, осуществляется с помощью специальных программ, называемых ассемблерами. Технология работы программиста: программа собирается из мелких деталей, отдельных операций и имеет достаточно простую структуру, решаемые задачи в основном расчетные.
3 этап.
Развиваются языки программирования высокого уровня. В них реализуются новые идеи: подпрограммы и раздельная компиляция (Фортран 2); блочная структура и типы данных (Алгол 60); описание данных и работа с файлами (Кобол); обработка списков и указателей (Лисп). В следующих версиях языков продолжается развитие: PL/1 (Фортран+Алгол+Кобол), Алгол 68 (приемник Алгол 60), Паскаль (развитие Алгол 60), Simula (классы абстрактные данные).
Возможности языков программирования обеспечивают поддержку нисходящей технологии конструирования программ. Суть нисходящего конструирования программ – разбиение большой задачи на подзадачи, которые могут рассматриваться отдельно.

Основные правила применения данной технологии:

  • формализованное и строгое описание программистом входов функций и выходов всех модулей программы и системы;
  • согласованная разработка структур данных и алгоритмов;
  • ограничение на размер модулей;

Восходящая технология конструирования программ – решение складывается «из отдельных кирпичиков», из известных решений подзадач. Таким образом, данной технологией оговаривается определенный принцип декомпозиции и иерархическая структура программы. Важнейшей составляющей этой технологии является структурное программирование (языки программирования Паскаль, Модула –2). Пионером структурного программирования был Э. Дейкстра, который в 1965 году предположил, что оператор GOTO может быть исключен из языков программирования.
Характерные черты структурного стиля программирования:

  • простота и ясность (программа легко читается и анализируется);
  • использование только базовых конструкций;
  • отсутствие сетевых структур в программе;
  • отсутствие многоцелевых функциональных блоков;
  • отсутствие неоправданно сложных арифметических и логических конструкций;
  • расположение в строке программы не более одного оператора языка программирования;
  • содержательность имен переменных.

При этом процесс нисходящей разработки программы может продолжаться до тех пор, пока не будет, достигнут уровень «атомарных» блоков, т.е. базовых конструкций.
К нисходящей технологии следует отнести и то, что называется модульным программированием. Достаточно независимые фрагменты задачи оформляются как модули. Создаются библиотеки модулей, определяется механизм включения модулей в разрабатываемую программу. Модуль должен иметь строго определенный интерфейс и скрытую часть, одну точку входа и одну точку выхода.Структурная технология предоставила в распоряжение разработчиков строгие, формализованные методы описания программ и принимаемых технических решений. При этом использовалась наглядная графическая техника (схемы, диаграммы). Программы имели последовательную структуру, идеи Э. Дейкстры были реализованы в полной мере, что определило новый этап в развитии технологии программирования.
4 этап.
Связан с применением объектно-ориентированных языков 4-го поколения. В основе объектно-ориентированного программирования (ООП) лежит идея объединения в одной структуре данных и действий, которые производятся с этими данными. (В терминологии ООП такие действия называются методами). При таком подходе организация данных и программная реализация действий над ними оказываются гораздо сильнее связаны, чем при традиционном структурном программировании.
ООП базируется на трех основных понятиях:

  • Инкапсуляция – комбинирование данных с процедурами и функциями, которые манипулируют этими данными. В результате получается новый тип данных – объект.
  • Наследование – это возможность использования уже определенных объектов для построения иерархии объектов производных от них. Каждый из «наследников» наследует описание данных «прародителя» и доступ к методам их обработки.
  • Полиморфизм – это возможность определения единого по имени действия (процедуры или функции), применимого одновременно ко всем объектам иерархии наследования, причем каждый объект иерархии может «заказывать» особенность реализации этого действия над «самим собой».

ООП может заметно упростить написание сложных программ, придать им гибкость. Одним из его главных преимуществ можно назвать возможность расширять область их применения, не переделывая программу, а лишь добавляя в нее новые уровни иерархии.
Первым языком с элементами ООП был язык Симула-67. В Турбо-Паскале, начиная с версии 5.5, появились средства ООП. Итогом развития Турбо-Паскаля в этом направлении стало создание фирмой Borland системы программирования Delphi (Делфи). Использование этой системы, в частности, даёт возможность легко и быстро программировать сложный графический интерфейс.
5 этап.
ЭВМ будущего 5-го поколения называют машинами «искусственного интеллекта». Прототипы языков для этих машин были созданы много раньше их физического появления. Это языки Лисп и Пролог. Эти языки относятся к языкам логического программирования.
Язык Пролог разработан в 70-ых годах во Франции. Его появление связано с первыми работами в области создания искусственного интеллекта (экспертных систем, программ-переводчиков, интеллектуальных игр и пр.). Базируется на логической модели знаний.

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

  • Классы объектов

Классы объектов являются шаблонами, определяющими наборы свойств, методы и событий. По этим шаблонам создаются объекты. Каждый из классов обладает специфическим набором свойств, методов и событий.

  • Экземпляры классов

Объект, созданный по "шаблону" класса объектов, является экземпляром класса и наследует весь набор свойств, методов и событий данного класса. Каждый экземпляр класса имеет уникальное для данного класса имя. Экземпляры обладают одинаковым набором свойств, но значения свойств у них могут отличаться.

  • Свойства объектов

Семейство объектов представляет собой объект, содержащий несколько объектов, экземпляров одного класса.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: