Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция_1_Методологии_программирования_для_ЭВМ.ppt
Скачиваний:
0
Добавлен:
11.02.2026
Размер:
981.5 Кб
Скачать

Введение в

алгоритмизацию и программирование

ЛЕКЦИЯ 3

Основные методологии программирования. Язык программирования.

Синтаксис и семантика формального языка. Классификация языков программирования. Системы программирования

1

Программирование — процесс создания компьютерных программ.

По выражению одного из основателей языков программирования Никлауса Вирта «Программы = алгоритмы + структуры данных».

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

2

-Большая часть работы программистов связана с написанием исходного кода, тестированием и отладкой программ на одном из языков программирования.

-Различные языки программирования поддерживают различные стили программирования (парадигмы программирования).

-Выбор нужного языка программирования для некоторых частей алгоритма позволяет сократить время написания программы и решить задачу описания алгоритма наиболее эффективно.

-Разные языки требуют от программиста различного уровня внимания к деталям при реализации алгоритма, результатом чего часто бывает компромисс между простотой и производительностью (или между «временем программиста» и «временем пользователя»).

3

Единственный язык, напрямую выполняемый ЭВМ — это машинный язык (также называемый машинным кодом и языком машинных команд).

Изначально все программы писались в машинном коде, но сейчас этого практически уже не делается.

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

Но это справедливо только для языков высокого уровня. Если требуется полный низкоуровневый контроль над системой на уровне машинных команд и отдельных ячеек памяти, программы пишут на языке ассемблера (низкоуровневый язык), мнемонические инструкции которого преобразуются один к одному в соответствующие инструкции машинного языка целевого процессора ЭВМ.

4

Тема 1. Основные методологии

программирования:

Императивное программирование

Структурное программирование

Функциональное программирование

Логическое программирование

Объектно-ориентированное программирован ие

Программирование, основанное на классах

Программирование, основанное на прототипах

Обобщенное программирование

5

Ядро классификации определяет парадигма программирования

Что такое парадигма?

Парадигма программирования — это совокупность идей и

понятий, определяющих стиль написания программ.

Парадигма в первую очередь определяется базовой программной

 

единицей и самим принципом написания программы.

В качестве этой единицы выступают определение (декларативное,

 

 

 

 

 

 

 

 

 

 

 

функциональное программирование), действие (

 

 

 

 

 

 

 

 

 

императивное программирование), правило (продукционное

 

 

 

 

 

 

 

программирование), диаграмма переходов (

 

 

 

 

 

 

автоматное программирование) и др. сущности.

В современной индустрии программирования очень часто

 

парадигма программирования определяется набором

 

инструментов программиста, а именно,

 

языком программирования и используемыми библиотеками.

6

Парадигма программирования определяет то, в каких терминах программист описывает логику программы.

Например,

-в императивном программировании программа описывается как последовательность действий,

-в функциональном программировании программа представляется в виде выражения и множества определений функций (слово определение

(англ. definition) следует понимать в математическом смысле),

-в популярном объектно-ориентированном

программировании (в дальнейшем ООП)

7

программу принято рассматривать как

 

Замечание

Важно отметить, что парадигма

программирования не определяется однозначно языком программирования — многие современные языки

программирования являются

мультипарадигменными, то есть допускают использование различных парадигм.

Так на языке С, который не является объектно-ориентированным, можно писать

объектно-ориентированным образом, а на С+ +, в основу которого в значительной степени

положена объектно-ориентированная

парадигма, можно писать согласно стилю функционального программирования.

8

Примеры мультипарадигмальных языков программирования, разделённых по числу поддерживаемых парадигм

Две парадигмы[

Функциональная, объектно-ориентированная:

oDylan;

oScala.

Функциональная, процедурная:

oAPL.

Функциональная, логическая:

oAFL;

oCurry;

oMercury.

Четыре парадигмы

Функциональная, обобщённая, процедурная,

объектно-ориентированная:

oOCaml.

oCommon Lisp;

Пять парадигм

Объектноориентированная, обобщённая,процедурная, аспектно-ориентированная,конкурентная:

oJava.

Три парадигмы

Функциональная, процедурная, объектно-ориентированная:

oPerl; (с версии 5)

oPython;

oJavaScript;

oTcl;

oPHP; (с версии PHP 5.3 частично поддерживается функциональное программирование)

oRuby.

обобщённая, процедурная, объектно-ориентированная:

oC++;

oD.

Шесть парадигм

Объектно-ориентированная, обобщённая,

процедурная, функциональная, событийно-ориентированная, рефлексивная:

oC#.

Семь парадигм

логическая, программирование с ограничениями, функциона

(как ленивые, так и «энергичные» вычисления), процедурная (императивная), объектно-ориентированная, распределённ параллельная

oOz

9

Процедурное программирование Парадигма: императивная

Императивная парадигма программирования описывает процесс вычислений посредством описания управляющей логики

программы, т.е. в виде последовательности отдельных команд,

которые должен выполнить компьютер. Каждая команда является

инструкцией, изменяющей состояние программы.

Машинный код является наиболее низкоуровневым примером реализации этой парадигмы: состояние программы определяется содержимым памяти, а команды — инструкциями машинного кода. Поскольку эта парадигма естественна для человеческого понимания большинство языков программирования

придерживаются именно ее: Ada, Algol, Basic, C/ C++, Cobol,

Fortran, Java, Modula, Pascal, Perl, ,PHP и так далее.

10

Соседние файлы в предмете Вводный курс программирования