Разделы презентаций


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

Содержание

Алгоритм – одно из фундаментальных понятий

Слайды и текст этой презентации

Слайд 1Алгоритмизация и программирование

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

Слайд 2

Алгоритм –

одно из фундаментальных понятий
в математике и программировании. Само слово
«алгоритм» (Algorithmi) происходит от имени
арабского математика, астронома и географа,
автора персидского учебника по математике
Абу Абд Аллах Мухаммед ибн Мусса аль- Хорезми (уроженца Хорезма) (750-850 гг.), впервые описавшего правила выполнения четырёх арифметических действий.

7.2. Понятие алгоритма


Слайд 3Алгоритм - это заранее заданное и точное предписание возможному исполнителю

последовательности действий над заданным объектом, приводящее к достижению указанной цели

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

Слайд 4Дискретность (упорядоченность) - все действия исполнителя в алгоритме должны быть

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

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

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

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

Слайд 5Результативность - каждый шаг (и алгоритм в целом) после своего

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

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

Слайд 6На практике в качестве исполнителя алгоритмов чаще всего используют ЭВМ,

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

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

Слайд 7При построении алгоритма для решения сложной задачи используют:
принципы декомпозиции (проектирование

«сверху-вниз») и синтеза («снизу-вверх»). Первое предполагает первоначальную разработку алгоритма в

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

Слайд 8Проектирование алгоритмов и основные их типы
Алгоритм можно представить различными способами:


с помощью словесного описания;
формульно-словесного;
на алгоритмическом языке;
с помощью графики и др.
Графическое

описание называется блок-схемой.
Проектирование алгоритмов и основные их типы Алгоритм можно представить различными способами: с помощью словесного описания;формульно-словесного;на алгоритмическом языке;с

Слайд 9Блок-схема - это ориентированный граф, указывающий порядок исполнения команд алгоритма,

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

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

Слайд 10Основные блоки блок-схемы

Основные блоки блок-схемы

Слайд 11Основные типы алгоритмов 1. Линейный алгоритм (описывает последовательный порядок действий)

Основные типы алгоритмов   1. Линейный алгоритм (описывает последовательный порядок действий)

Слайд 12Линейный алгоритм – описывает последовательный порядок действий, где каждая операция

является самостоятельной, независимой от каких-либо условий (независимо от значений первичных

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

Слайд 132. Разветвляющийся алгоритм ход решения задачи определяется в зависимости от условия

(переход и ветвление)
Если – то - иначе
Если – то (обход)

2. Разветвляющийся алгоритм  ход решения задачи определяется в зависимости от условия (переход и ветвление)Если – то

Слайд 14Выбор направления продолжения вычислительного процесса осуществляется проверкой выполнения заданного условия

(в зависимости от этого в каждом конкретном случае вычислительный процесс

реализуется только по одной ветви, выполнение остальных условий исключается).
Ветвящиеся процессы описываются оператором IF. Его структуру полной формы можно показать так:
IF <условие> THEN <оператор1>
ELSE <оператор2> - условный оператор;
IF <условие> THEN <оператор1> - условный оператор обхода

Выбор направления продолжения вычислительного процесса осуществляется проверкой выполнения заданного условия (в зависимости от этого в каждом конкретном

Слайд 153. Циклический алгоритм (описывает повторяющиеся действия)
да

3. Циклический алгоритм (описывает повторяющиеся действия) да

Слайд 16Циклические процессы описываются таким оператором:
FOR х = 1 ТО n

STEP h

NEXT x



Операторы цикла организуют повторное выполнение одних и тех же операторов несколько раз (при этом повторение происходит не в буквальном смысле, а каждый раз выполнение повторяемого участка программы происходит с использованием новых значений переменных).
Циклические процессы описываются таким оператором:FOR х = 1 ТО n STEP h NEXT x

Слайд 17Автоматическое управление циклом осуществляет переменная, называемая параметром цикла (управляющая переменная).

Задаются первоначальное значение параметра цикла (например i = 1), конечное

значение (например i =< 100), и увеличение параметра на каждом шаге повторения (например, i = i + 1).

Существует две разновидности операторов цикла: оператор цикла с фиксированным числом повторений (детерминированный цикл) и операторы цикла с переменным числом повторений, зависящим от условий (итерационный цикл).
Автоматическое управление циклом осуществляет переменная, называемая параметром цикла (управляющая переменная). Задаются первоначальное значение параметра цикла (например i

Слайд 18При выполнении первых (с известным числом повторений) задаются: начальное и

конечное значения параметров цикла; закономерность изменения параметра цикла на каждом

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

Слайд 19Постановка задачи, определение целей и результатов
Выбор метода решения
Определение информационного

обеспечения
Ввод программы в ЭВМ
Отладка программы
Разработка алгоритма
Запись алгоритма на языке

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

Если есть ошибки

Редактирование программы

Запуск и выполнение программы

Анализ полученных результатов

Конец

Начало

Да

Нет

Постановка задачи, определение целей и результатовВыбор метода решения Определение информационного обеспеченияВвод программы в ЭВМОтладка программыРазработка алгоритма Запись

Слайд 20Какую задачу решает данный алгоритм?

Какую задачу решает данный алгоритм?

Слайд 21Какие значения примут переменные a и b в результате выполнения

алгоритма?

Какие значения примут переменные a и b в результате выполнения алгоритма?

Слайд 22В результате работы алгоритма
Y:=X + 3
X := 2 * Y
Y

:= X + Y
вывод Y
переменная Y приняла значение 18. Укажите

число, которое являлось значением переменной X до начала работы алгоритма
В результате работы алгоритмаY:=X + 3X := 2 * YY := X + Yвывод Yпеременная Y приняла

Слайд 23Языки программирования

Языки программирования

Слайд 24Основные понятия и определения
Языки программирования – это формальные языки специально

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

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

Слайд 25Языки программирования и их классификация
Первые языки программирования возникли в первой

половине XX столетия. Также как и первые ЭВМ они были

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

Языки программирования и их классификация	Первые языки программирования возникли в первой половине XX столетия. Также как и первые

Слайд 26Ранние языки программирования существенно зависели от среды вычислений и приблизительно

соответствовали современным машинным кодам или языкам ассемблера.
Такие языки принято называть

языками низкого уровня (низкоуровневыми языками)
Ранние языки программирования существенно зависели от среды вычислений и приблизительно соответствовали современным машинным кодам или языкам ассемблера.Такие

Слайд 27Языки программирования высокого уровня Императивный подход
На смену низкоуровневым языкам пришли

языки программирования «высокого уровня» (высокоуровневые языки).
Они позволяли повысить эффективность труда

программистов за счет абстрагирования от конкретных деталей аппаратного обеспечения. Один оператор языка высокого уровня соответствовал последовательности из нескольких низкоуровневых команд. Программа – это набор директив, обращенных к компьютеру, такой подход к программированию получил название императивного.
Еще одной особенностью языков высокого уровня была возможность повторного использования ранее написанных программных блоков, выполняющих те или иные действия, посредством их идентификации и последующего обращения к ним, например по имени. Такие блоки получили название функций или процедур.
Языки программирования высокого уровня Императивный подходНа смену низкоуровневым языкам пришли языки программирования «высокого уровня» (высокоуровневые языки).Они позволяли

Слайд 28С появлением языков высокого уровня зависимость программ от аппаратного обеспечения

существенно уменьшилась. Платой за это стало появление специализированных программ, преобразующих

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

Слайд 29трансляторы
Существует два вида трансляторов:
интерпретаторы (это транслятор, который производит пооператорную

обработку и выполнение исходного кода программы),
компиляторы (преобразует всю программу

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

Слайд 30Трансляторы

Трансляторы

Слайд 31Примеры языков высокого уровня
Одним из таких примеров является язык Fortran,

реализующий вычислительные алгоритмы. Другой пример – язык APL, трансформировавшийся в

BPL и затем в C.
Примеры других языков программирования:
ALGOL, COBOL,
Pascal, Basic.
Примеры языков высокого уровняОдним из таких примеров является язык Fortran, реализующий вычислительные алгоритмы. Другой пример – язык

Слайд 32Декларативный подход в программировании
В 60-х годах возникает новый подход к

программированию, который до сих пор успешно конкурирует с императивным, а

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

Слайд 33На начальном этапе развития декларативным языкам программирования было сложно конкурировать

с императивными в силу объективных трудностей эффективной реализации трансляторов. Программы

работали медленнее, однако они могли решать более абстрактные задачи с меньшими трудозатратами.
Примеры декларативных языков программирования: SML, Haskell, Prolog, LISP.
На начальном этапе развития декларативным языкам программирования было сложно конкурировать с императивными в силу объективных трудностей эффективной

Слайд 34Функциональный подход
Одним из путей развития декларативного программирования стал функциональный подход.
Отличительной

особенностью данного подхода является то, что любая программа, написанная на

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

F(x)

вход

выход

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

Слайд 35Функциональный подход
Сложные программы при таком подходе строятся посредством объединения функций.

При этом текст программы представляет собой функцию, некоторые аргументы которой

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

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

Слайд 36Функциональный подход
Важным преимуществом реализации языков функционального программирования является автоматизированное динамическое

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

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

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

Слайд 37Функциональный подход
LISP (ЛИСП) (обработка списков) – самый первый функциональный язык,

разработан и реализован в 1959 г. группой авторов под руководством

пионера в области искусственного интеллекта (ИИ) Джона Маккарти для исследования проблем ИИ.
Функциональный подходLISP (ЛИСП) (обработка списков) – самый первый функциональный язык, разработан и реализован в 1959 г. группой

Слайд 38Недостатки функциональных языков
нелинейная структура программы
относительно невысокая эффективность реализации.
Второй недостаток

успешно преодолен современными реализациями, в частности, рядом последних трансляторов языка

SML, включая и компилятор для среды Microsoft.NET.

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

Слайд 39Логическое программирование
В логическом программировании программа представляет собой совокупность правил или

логических высказываний. Языки логического программирования применимы:
в системах логического вывода, в

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

В 70-х годах возникла еще одна ветвь языков декларативного программирования, связанная с проектами в области искусственного интеллекта, а именно языки логического программирования.

Логическое программирование	В логическом программировании программа представляет собой совокупность правил или логических высказываний. Языки логического программирования применимы:в системах

Слайд 40Логическое программирование
Достоинства:
достаточно высокий уровень машинной независимости,
возможность откатов – возвращения к

предыдущей подцели при отрицательном результате анализа одного из вариантов в

процессе поиска решения (скажем, очередного хода при игре в шахматы), что избавляет от необходимости поиска решения путем полного перебора вариантов и увеличивает эффективность реализации.
Недостатки:
специфичность класса решаемых задач.
сложность эффективной реализации для принятия решений в реальном времени, скажем, для систем жизнеобеспечения.
В качестве примеров языков логического программирования можно привести Prolog (название возникло от слов PROgramming in LOGic) и Mercury.
Логическое программированиеДостоинства:достаточно высокий уровень машинной независимости,возможность откатов – возвращения к предыдущей подцели при отрицательном результате анализа одного

Слайд 41Объектно-ориентированное программирование
Важным шагом на пути к совершенствованию языков программирования стало

появление объектно-ориентированного подхода к программированию (ООП) и соответствующего класса языков.
В

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

Слайд 42Объектно-ориентированное программирование
Первым языком программирования, в котором были предложены принципы объектной

ориентированности, была Симула. В момент своего появления (в 1967 г.),

этот язык программирования предложил поистине революционные идеи: объекты, классы, виртуальные методы и др.
Большинство концепций ООП были развиты Аланом Кэйем и Дэном Ингаппсом в языке Smalltalk. Именно он стал первым широко распространённым объектно-ориентированным языком программирования.
Объектно-ориентированное программированиеПервым языком программирования, в котором были предложены принципы объектной ориентированности, была Симула. В момент своего появления

Слайд 43Объектно-ориентированное программирование
В основе объектно-ориентированного программирования лежит идея объединения в одной

структуре, называемой объектом, данных и программ, которые обрабатывают эти данные.


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

Слайд 44Основные принципы объектно-ориентированного подхода
Программа представляет собой набор объектов, имеющих свое

состояние и поведение. Объекты взаимодействуют посредством сообщений. Естественным образом выстраивается

иерархия объектов: программа в целом — это объект, для выполнения своих функций она обращается к входящим в неё объектам, которые, в свою очередь, выполняют запрошенное путём обращения к другим объектам программы.
Устойчивость и управляемость системы обеспечивается за счёт чёткого разделения ответственности объектов (за каждое действие отвечает определённый объект), однозначного определения интерфейсов межобъектного взаимодействия и полной изолированности внутренней структуры объекта от внешней среды (инкапсуляции).
Основные принципы объектно-ориентированного подхода	Программа представляет собой набор объектов, имеющих свое состояние и поведение. Объекты взаимодействуют посредством сообщений.

Слайд 45Родительский класс объектов
Дочерний класс объектов
Сообщение

Родительский класс объектовДочерний класс объектовСообщение

Слайд 46Объектно-ориентированное программирование
Объектно-ориентированное программирование характеризуется следующими признаками:
абстракция,
инкапсуляция,
наследование,
полиморфизм.

Объектно-ориентированное программирование	Объектно-ориентированное программирование характеризуется следующими признаками: абстракция,инкапсуляция, наследование, полиморфизм.

Слайд 47Абстракция 
Абстрагирование – это способ выделить набор значимых свойств (характеристик) объекта,

исключая из рассмотрения незначимые.

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

Слайд 48Инкапсуляция
Инкапсуляция – это свойство системы, позволяющее объединить данные и методы,

работающие с ними, в классе и скрыть детали реализации от

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

Инкапсуляция	Инкапсуляция – это свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе и скрыть

Слайд 49Наследование
Наследование – это свойство системы, позволяющее описать новый класс на

основе уже существующего с частично или полностью заимствующейся функциональностью.
С

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

Слайд 50Полиморфизм
Полиморфизм – присвоении единого имени процедуре, которая передается по иерархии

объектов, с выполнением этой процедуры способом, соответствующим каждому объекту в

иерархии.

ПолиморфизмПолиморфизм – присвоении единого имени процедуре, которая передается по иерархии объектов, с выполнением этой процедуры способом, соответствующим

Слайд 51Объектно-ориентированное программирование
В объектно-ориентированном программировании при работе с объектами используется определенная

форма записи.
Обращение к свойству объекта:
ОБЪЕКТ. СВОЙСТВО
Объекты характеризуются его

свойствами. Изменять свойства объектов можно с помощью оператора присвоения.
Обращение к методу объекта:
ОБЪЕКТ. МЕТОД
Метод служит для выполнения заданных действий над объектом.

Объектно-ориентированное программирование	В объектно-ориентированном программировании при работе с объектами используется определенная форма записи. 	Обращение к свойству объекта: 	ОБЪЕКТ.

Слайд 52Примеры
Все объекты MS Office находятся на разных уровнях иерархии.

На самом верхнем уровне иерархии находится приложение (Application).
Общие методы

для всех приложений: Add – добавить, Protect - защита, Close - закрыть, Open - открыть, Save – сохранить.
Объектная модель Excel представляет собой иерархию объектов, подчиненных одному объекту Application, который соответствует приложению Excel.
Примеры Все объекты MS Office находятся на разных уровнях иерархии. На самом верхнем уровне иерархии находится приложение

Слайд 53Объекты MS Excel
Workbook – это имя объекта рабочей книги. Каждая

рабочая книга состоит из листов (WorkSheets). Они также являются самостоятельными

объектами, их можно создавать (Add), удалять (Delete) и выделять (Select). Add, Delete и Select – методы объекта WorkSheets.
Для обращения к данным, хранящимся на листах рабочих книг, используются объекты Range (диапазон ячеек) и Cells (ячейка).
Объекты MS ExcelWorkbook – это имя объекта рабочей книги. Каждая рабочая книга состоит из листов (WorkSheets). Они

Слайд 54Преимущества объектно-ориентированного программирования
Концептуальная близость к предметной области произвольной структуры и

назначения. Механизм наследования атрибутов и методов позволяет строить производные понятия

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

Слайд 55Недостатки ООП
Сложность адекватной (непротиворечивой и полной) формализации объектной теории порождает

трудности тестирования и верификации созданного программного обеспечения.

Наиболее известным примером объектно-ориентированного

языка программирования является язык C++, развившийся из императивного языка С. Его прямым потомком и логическим продолжением является язык С#. Другие примеры объектно-ориентированных языков программирования: Visual Basic, Eiffel, Oberon.
Недостатки ООПСложность адекватной (непротиворечивой и полной) формализации объектной теории порождает трудности тестирования и верификации созданного программного обеспечения.	Наиболее

Слайд 56Скриптовые (сценарные) языки программирования
Развитием событийно управляемой концепции объектно-ориентированного подхода стало

появление в 90-х годах целого класса языков программирования, которые получили

название языков сценариев или скриптов.
В рамках данного подхода программа представляет собой совокупность возможных сценариев обработки данных, выбор которых инициируется наступлением того или иного события (щелчок по кнопке мыши, попадание курсора в определенную позицию, изменение атрибутов того или иного объекта, переполнение буфера памяти и т.д.). События могут инициироваться как операционной системой (в частности, Microsoft Windows), так и пользователем.
Основные достоинства языков данного класса унаследованы от объектно-ориентированных языков программирования. Это интуитивная ясность описаний, близость к предметной области, высокая степень абстракции, хорошая переносимость.
Скриптовые (сценарные) языки программированияРазвитием событийно управляемой концепции объектно-ориентированного подхода стало появление в 90-х годах целого класса языков

Слайд 57Скриптовые (сценарные) языки программирования
Широкие возможности повторного использования кода также унаследованы

сценарными языками от объектно-ориентированных предков.
Существенным преимуществом языков сценариев является их

совместимость с передовыми инструментальными средствами автоматизированного проектирования (CASE-средствами) и быстрой реализации программного обеспечения RAD-средствами.
Одним из наиболее передовых инструментальных комплексов, предназначенных для быстрой разработки приложений, является
Microsoft Visual Studio.NET.
Скриптовые (сценарные) языки программированияШирокие возможности повторного использования кода также унаследованы сценарными языками от объектно-ориентированных предков.Существенным преимуществом языков

Слайд 58Недостатки скриптовых языков
Естественно, что вместе с достоинствами объектно-ориентированного подхода языки

сценариев унаследовали и ряд недостатков. Это сложность тестирования и верификации

программ.

Характерные примеры сценарных языков программирования: VBScript, PowerScript, LotusScript, JavaScript.
Недостатки скриптовых языковЕстественно, что вместе с достоинствами объектно-ориентированного подхода языки сценариев унаследовали и ряд недостатков. Это сложность

Слайд 59Языки параллельного программирования
Еще один весьма важный класс языков программирования –

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

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

Слайд 60Достоинства языков параллельных вычислений
Языки параллельных вычислений позволяют достичь заметного выигрыша

при обработке больших массивов информации, поступающих от одновременно работающих пользователей,

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

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

Слайд 61Недостатки языков параллельных вычислений
высокая стоимость разработки программного обеспечения, следовательно, создание

относительно небольших программ широкого (например, бытового) применения зачастую нерентабельно.
Примерами языков

программирования с поддержкой параллельных вычислений могут служить Ada, Modula-2 и Oz.
Недостатки языков параллельных вычисленийвысокая стоимость разработки программного обеспечения, следовательно, создание относительно небольших программ широкого (например, бытового) применения

Слайд 62Классификация языков программирования
Языки программирования также можно разделять на поколения:

языки первого поколения: машинно–ориентированные с ручным управлением памятью компьютеров первого

поколения.
– языки второго поколения: с мнемоническим (символьным) представлением команд, так называемые автокоды.
– языки третьего поколения: общего назначения, используемые для создания прикладных программ любого типа. Например, Бейсик, Кобол, Си и Паскаль.
– языки четвертого поколения: усовершенствованные, разработанные для создания специальных прикладных программ, для управления базами данных.
– языки программирования пятого поколения: языки декларативные, объектно–ориентированные и визуальные. Например, Пролог, ЛИСП (используется для построения программ с использованием методов искусственного интеллекта), Си++, Visual Basic, Delphi.
Классификация языков программированияЯзыки программирования также можно разделять на поколения: – языки первого поколения: машинно–ориентированные с ручным управлением

Слайд 63Классификация языков программирования
Языки программирования также можно классифицировать на процедурные и

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

а результат задается только способом получения его при помощи некоторой процедуры, которая представляет собой определенную последовательность действий.
Среди процедурных языков выделяют в свою очередь структурные и операционные языки.
В структурных языках одним оператором записываются целые алгоритмические структуры: ветвления, циклы и т.д.
В операционных языках для этого используются несколько операций. Широко распространены следующие структурные языки: Паскаль, Си, Ада, ПЛ/1. Среди операционных известны Фортран, Бейсик.
Непроцедурное (декларативное) программирование включает функциональные и логические языки.
Классификация языков программированияЯзыки программирования также можно классифицировать на процедурные и непроцедурные.В процедурных языках программа явно описывает действия,

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика