Презентация, доклад на тему Урок, Презентация Информатика Тема 2.2.2. Алгоритмы и способы их описания

Содержание

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

Слайд 1Тема 2.2.2. Алгоритмы и способы их описания.
Преподаватель Шмелев Д.О.
"ГАПОУ ТО Агротехнологический

колледж г.Ялуторовск, Тюменская область "
Тема 2.2.2. Алгоритмы и способы их описания.Преподаватель Шмелев Д.О.

Слайд 2Алгоритм — это точное предписание, которое определяет процесс, ведущий от исходных

данных к требуемому конечному результату.

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

Пример: правила сложения, умножения, решения алгебраических уравнений, умножения матриц и т.п.

К сведению: Слово алгоритм происходит от algoritmi, являющегося латинской транслитерацией арабского имени хорезмийского математика IX века аль-Хорезми. Благодаря латинскому переводу трактата аль-Хорезми европейцы в XII веке познакомились с позиционной системой счисления, и в средневековой Европе алгоритмом называлась десятичная позиционная система счисления и правила счета в ней.

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

Слайд 3Применительно к ЭВМ алгоритм определяет вычислительный процесс, начинающийся с обработки некоторой

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

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

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

Слайд 4Результативность означает возможность получения результата после выполнения конечного количества операций.

Определенность

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

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

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

Основные свойства алгоритмов

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

Слайд 5Для задания алгоритма необходимо описать следующие его элементы:

набор объектов, составляющих совокупность

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

правило начала;

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

правило окончания;

правило извлечения результатов.

Задание алгоритма

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

Слайд 6Словесно - формульный;

структурный или блок - схемный;

с помощью графов

- схем;

с помощью сетей Петри.

Способы описания алгоритмов

Словесно - формульный; структурный или блок - схемный; с помощью графов - схем; с помощью сетей Петри.Способы

Слайд 7При словесно-формульном способе алгоритм записывается в виде текста с формулами по

пунктам, определяющим последовательность действий.

Словесно – формульный алгоритм

Пример: необходимо найти значение следующего выражения: у = 2а – (х+6).

Словесно-формульным способом алгоритм решения этой задачи может быть записан в следующем виде:

1. Ввести значения а и х.
2. Сложить х и 6.
3. Умножить a на 2.
4. Вычесть из 2а сумму (х+6).
5. Вывести у как результат вычисления выражения.

При словесно-формульном способе алгоритм записывается в виде текста с формулами по пунктам, определяющим последовательность действий.Словесно – формульный

Слайд 8При блок - схемном описании алгоритм изображается геометрическими фигурами (блоками), связанными

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

Блок - схемы

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

К сведению: Оформление программ должно соответствовать определенным требованиям. В настоящее время действует единая система программной документации (ЕСПД), которая устанавливает правила разработки, оформления программ и программной документации. В ЕСПД определены и правила оформления блок-схем алгоритмов (ГОСТ 10.002-80 ЕСПД, ГОСТ 10.003-80 ЕСПД).

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

Слайд 9Пример блок - схемы
Алгоритм нахождения суммы 10-ти чисел

Пример блок - схемыАлгоритм нахождения суммы 10-ти чисел

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


Блоки на блок - схемах

Большая часть блоков по построению условно вписана в прямоугольник со сторонами а и b. Минимальное значение а = 10 мм, увеличение а производится на число, кратное 5 мм. Размер b=1,5a. Для от дельных блоков допускается соотношение между а и b, равное 1:2. В пределах одной схемы рекомендуется изображать блоки одинаковых размеров. Все блоки нумеруются.

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

Слайд 11Виды блоков

Виды блоков

Слайд 12Виды блоков

Виды блоков

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

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

Правила создания блок - схем

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

Слайд 14Последовательность двух или более операций;
выбор направления;
повторение.

Структурные схемы алгоритмов
Любой вычислительный

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

Слайд 15линейные;
ветвящиеся;
циклические.

Виды алгоритмов

линейные; ветвящиеся; циклические.Виды алгоритмов

Слайд 16В линейном алгоритме операции выполняются последовательно, в порядке их записи. Каждая

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

Линейные алгоритмы

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

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

Слайд 17Составить блок – схему алгоритма вычисления арифметического выражения

у=(b2-ас):(а+с)

Пример линейного алгоритма

Составить блок – схему алгоритма вычисления арифметического выражения      у=(b2-ас):(а+с)Пример линейного алгоритма

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

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

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

Алгоритм с ветвлением

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

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

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



«да» — условие выполнено
«нет» — условие не выполнено.

Алгоритм с ветвлением

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

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

Направление ветвления выбирается логической проверкой, в результате которой возможны два ответа: «да» — условие выполнено «нет» —

Слайд 20Пример алгоритма с ветвлением
Составить блок-схему алгоритма с ветвлением для вычисления следующего

выражения:


Y = (а+b), если Х <0;
с/b, если Х>0.
Пример алгоритма с ветвлениемСоставить блок-схему алгоритма с ветвлением для вычисления следующего выражения:Y = (а+b), если Х 0.

Слайд 21Циклическими называются алгоритмы, содержащие циклы.

Цикл — это многократно повторяемый участок

алгоритма.

Циклические алгоритмы

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

Слайд 22подготовка (инициализация) цикла (И);
выполнение вычислений цикла (тело цикла) (Т);
модификация

параметров (М);
проверка условия окончания цикла (У).

Этапы организации цикла

Порядок выполнения этих этапов, например, Т и М, может изменяться.

подготовка (инициализация) цикла (И); выполнение вычислений цикла (тело цикла) (Т); модификация параметров (М); проверка условия окончания цикла

Слайд 23Типы циклов
В зависимости от расположения проверки условия окончания цикла различают циклы

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

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

Типы цикловВ зависимости от расположения проверки условия окончания цикла различают циклы с нижним и верхним окончаниями. Для

Слайд 24Цикл называется детерминированным, если число повторений тела цикла заранее известно или

определено.

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

Виды циклов

Цикл называется детерминированным, если число повторений тела цикла заранее известно или определено. Цикл называется итерационным, если число

Слайд 25Пример циклического алгоритма
Алгоритм нахождения суммы 10-ти чисел

Пример циклического алгоритмаАлгоритм нахождения суммы 10-ти чисел

Слайд 26На ЭВМ могут решаться задачи различного характера, например:

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

Этапы подготовки и решения задач на ЭВМ

В процессе подготовки и решения на ЭВМ научно -инженерных задач можно выделить следующие этапы:

постановка задачи;
математическое описание задачи;
выбор и обоснование метода решения; 
алгоритмизация вычислительного процесса;
составление программы;
отладка программы;
решение задачи на ЭВМ и анализ результатов. 

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

На ЭВМ могут решаться задачи различного характера, например:    научно-инженерные; разработки системного программного обеспечения; обучения;

Слайд 27На данном этапе формулируется цель решения задачи и подробно описывается ее

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

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

Постановка задачи

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

Слайд 28Настоящий этап характеризуется математической формализацией задачи, при которой существующие соотношения между

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

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

Математическое описание задачи

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

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

Слайд 29Модель решения задачи с учетом ее особенностей должна быть доведена до

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

Выбор и обоснование метода решения

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

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

Слайд 30На данном этапе составляется алгоритм решения задачи согласно действиям, задаваемым выбранным

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

Алгоритмизация

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

Слайд 31При составлении программы алгоритм решения задачи переводится на конкретный язык программирования.



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

Составление программы

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

Слайд 32Отладка заключается в поиске и устранении синтаксических и логических ошибок в

программе.

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

Отладка программы

Отладка заключается в поиске и устранении синтаксических и логических ошибок в программе.В ходе синтаксического контроля программы транслятором 

Слайд 33После отладки программы ее можно использовать для решения прикладной задачи. При

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

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

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

Решение задачи на ЭВМ и анализ результатов

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

Слайд 34ЭВМ непосредственно выполняет программы на машинном языке программирования данной ЭВМ.

Программа

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

Компиляция и интерпретация программ

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

Слайд 35Машинные языки были первыми языками программирования.

Программирование на них затруднительно ввиду

того, что:

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

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

Компиляция и интерпретация программ

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

Слайд 36Человеку свойственно формулировать и решать задачи в выражениях более общего характера,

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

Эти языки получили название языков высокого уровня. Их теоретическую основу составляют алгоритмические языки, например, Паскаль, Си, Бейсик, Фортран, PL/1.

Компиляция и интерпретация программ

Человеку свойственно формулировать и решать задачи в выражениях более общего характера, чем команды ЭВМ. Поэтому с развитием

Слайд 37Для перевода программы, написанной на языке высокого уровня, в соответствующую машинную

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

Виды процессоров

Различают два вида языковых процессоров:
интерпретаторы
трансляторы.

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

Слайд 38Интерпретатор — это программа, которая получает исходную программу и по мере

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

Интерпретатор

Интерпретатор — это программа, которая получает исходную программу и по мере распознавания конструкций входного языка реализует действия,

Слайд 39Транслятор — это программа, которая принимает исходную программу и порождает на

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

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

Транслятор

Транслятор с языка высокого уровня называют компилятором.

Транслятор — это программа, которая принимает исходную программу и порождает на своем выходе программу, записываемую на объектном

Слайд 40Одним из важнейших признаков классификации языков программирования является принадлежность их к

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

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

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

Слайд 41Процедурное (императивное) программирование является отражением архитектуры традиционных ЭВМ, которая была предложена

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

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

Процедурное (императивное) программирование является отражением архитектуры традиционных ЭВМ, которая была предложена фон Нейманом в 40-х годах. Теоретической

Слайд 42Процедурные языки характеризуются следующими особенностями:

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

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

Одним из важнейших классификационных признаков процедурного языка является его уровень. Уровень языка определяется семантической (смысловой) емкостью его конструкций и степенью его ориентации на программиста.
Язык программирования частично ликвидирует разрыв между методами решения различного рода задач человеком и вычислительной машиной.

Чем более язык ориентирован на человека, тем выше его уровень.

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

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

Слайд 43Ваsic (Бэйсик) (Beginners All-purpose Symbolic Instruction Code) — многоцелевой язык символических

инструкций для начинающих) представляет собой простой язык программирования, разработанный в 1964 году для использования новичками. Он был разработан как простейший язык для непосредственного общения человека с ЭВМ. Поэтому первоначально работа велась в интерактивном режиме с использованием интерпретаторов. В настоящее время для этого языка имеются также и компиляторы.
Согласно концепциям, заложенным в Basic, этот язык в смысле строгости и стройности является антиподом языка Pascal. В частности, в нем широко распространены различные правила умолчания, что считается плохим тоном в большинстве языков программирования подобного типа.
Basic широко распространен на ЭВМ различных типов и очень популярен в среде программистов, особенно начинающих. Существует множество версий этого языка, мало совместимых между собой. Basic активно поглощает многие концепции и новинки из других языков. Поэтому он достаточно динамичен, и нельзя однозначно определить его уровень.

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

Ваsic (Бэйсик) (Beginners All-purpose Symbolic Instruction Code) — многоцелевой язык символических инструкций для начинающих) представляет собой простой

Слайд 44Pascal (Паскаль) является одним из наиболее популярных среди прикладных программистов процедурным

языком программирования, особенно для ПЭВМ.

Разработанный в 1970 году швейцарским специалистом в области вычислительной техники профессором Н. Виртом, язык назван в честь французского математика и по замыслу автора предназначался для обучения программированию. Однако язык получился настолько удачным, что стал одним из основных инструментов прикладных и системных программистов при решении задач вычислительного и информационно-логического характера. В 1979 году был подготовлен проект описания языка — Британский стандарт языка программирования Pascal BS6192, который стал также и международным стандартом ISO 7185.

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

Pascal (Паскаль) является одним из наиболее популярных среди прикладных программистов процедурным языком программирования, особенно для ПЭВМ. Разработанный

Слайд 45В Pascal реализован ряд концепций, рассматриваемых как основа «дисциплинированного» программирования и

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

Pascal характеризуется:
высоким уровнем;
широкими возможностями;
стройностью, простотой и краткостью;
строгостью, способствующей написанию эффективных и надежных программ;
высокой эффективностью реализации на ЭВМ.

Pascal реализован на ЭВМ различных типов, но наиболее распространен и развит для ПЭВМ. В настоящее время широко используются такие версии этого языка для ПЭВМ, как Borland Pascal и Turbo Pascal.

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

В Pascal реализован ряд концепций, рассматриваемых как основа «дисциплинированного» программирования и заимствованных впоследствии разработчиками многих языков. Одним

Слайд 46Сущность функционального (аппликативного) программирования определена А. П. Ершовым как «... способ

составления программ, в которых единственным действием является вызов функции, единственным способом расчленения программы на части является введение имени для функции, а единственным правилом композиции — оператор суперпозиции функции. Никаких ячеек памяти, ни операторов присваивания, ни циклов, ни, тем более, блок-схем, ни передачи управления».
Роль основной конструкции в функциональных языках играет выражение: К выражениям относятся скалярные константы, структурированные объекты, функции, тела функций и вызовы функций. Функция трактуется как однозначное отображение из X в X, где X — множество выражений.

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

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

Сущность функционального (аппликативного) программирования определена А. П. Ершовым как «... способ составления программ, в которых единственным действием

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

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

Первым таким языком был LISP(Лисп) (LISt Processing — обработка списков), созданный в 1959 году. Цель его создания состояла в организации удобства обработки символьной информации. Существенная черта этого языка — унификация программных структур и структур данных: все выражения записываются в виде списков.

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

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

Слайд 48Логическое, или реляционное программирование открыло появление языка PROLOG (Пролог) (PROgramming in

LOGic — программирование в терминах логики). Этот язык был создан французским ученым А. Кольмероэ в 1973 году.

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

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

Формула Р. Ковальского: «алгоритм = логика + управление»

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

Логическое, или реляционное программирование открыло появление языка PROLOG (Пролог) (PROgramming in LOGic — программирование в терминах логики).

Слайд 49Языки логического программирования характеризуются:
высоким уровнем;
строгой ориентацией на символьные вычисления;
возможностью

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

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

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

Языки логического программирования характеризуются:высоким уровнем; строгой ориентацией на символьные вычисления; возможностью инверсных вычислений, то есть переменные в

Слайд 50Прототипом объектно-ориентированного программирования послужил ряд средств, входящих в состав языка SIMULA-67.

Но в самостоятельный стиль оно оформилось с появлением языка SMALLTALK, разработанного А. Кеем в 1972 году и первоначально предназначенного для реализации функций машинной графики.

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

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

Прототипом объектно-ориентированного программирования послужил ряд средств, входящих в состав языка SIMULA-67. Но в самостоятельный стиль оно оформилось

Слайд 51Для описания объектов служат классы. Класс определяет свойства и методы объекта,

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

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

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

К наиболее современным объектно-ориентированным языкам программирования относятся C++ и Java.

Для описания объектов служат классы. Класс определяет свойства и методы объекта, принадлежащего этому классу. Соответственно, любой объект

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

процедурных языках. Так, например, в состав интегрированной системы программирования на языке Borland PASCAL в. 5.5 входит специальная библиотека объектно-ориентированного программирования Turbo Vision.

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

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

К числу объектно-ориентированных систем визуального программирования относятся: Visual Basic, Delphi, C++Builder и Visual C++.

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

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

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

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


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

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

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

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