Основы алгоритмизации
презентация к уроку

Презентация по теме: "Основы алгоритмизации"

Скачать:

ВложениеРазмер
Файл osnovy_algoritmizatsii.pptx546.34 КБ

Предварительный просмотр:


Подписи к слайдам:

Слайд 1

Основы алгоритмизации Выполнила преподаватель ГБПОУ МО « Серпуховский колледж» Золотухина Ирина Игоревна Серпухов, 2019

Слайд 2

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

Слайд 3

Понятие алгоритмизации Наряду с понятием алгоритма используют термин алгоритмизация, под которой понимают совокупность приемов и способов составления алгоритмов для решения алгоритмических задач. Алгоритмизация — процесс составления алгоритмов для решения поставленных прикладных задач. Золотухина И.И. 3

Слайд 4

Применение алгоритмов Часто алгоритм используется не как инструкция для автомата, а как схема алгоритмического решения задачи. Это позволяет оценить эффективность предлагаемого способа решения, его результативность, исправить возможные ошибки, сравнить его еще до применения на компьютере с другими алгоритмами решения этой же задачи. Наконец, алгоритм является основой для составления программы, которую пишет программист на каком-либо языке программирования с тем, чтобы реализовать процесс обработки данных на компьютере. Золотухина И.И. 4

Слайд 5

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

Слайд 6

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

Слайд 7

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

Слайд 8

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

Слайд 9

Свойства алгоритмов: массовость Разработка алгоритмов - процесс интересный, творческий, но непростой, требующий многих, часто коллективных, умственных усилий и затрат времени. Поэтому предпочтительно разрабатывать алгоритмы обеспечивающие решение всего класса задач данного типа. Например, если составляется алгоритм решения квадратного уравнения аx 2 + bx + с = 0, он должен быть вариативен, то есть обеспечивать возможность решения для любых допустимых исходных значений коэффициентов: а, b, с. Про такой алгоритм говорят, он удовлетворяет требованию массовости. Золотухина И.И. 9

Слайд 10

Структура описания алгоритма Для записи алгоритма существует общая методика: Каждый алгоритм должен иметь имя, которое раскрывает его смысл. Необходимо обозначить начало и конец алгоритма. Описать входные и выходные данные. Указать команды, которые позволяют выполнять определенные действия над выделенными данными. Общий вид алгоритма: название алгоритма; описание данных; начало; команды; конец. Золотухина И.И. 10

Слайд 11

Способы записи алгоритмов Для записи алгоритма решения задачи применяются следующие изобразительные способы их представления : Словесно-формульное описание. Блок-схема (схема графических символов). Алгоритмические языки. Псевдокод . Золотухина И.И. 11

Слайд 12

Словесно-формульный способ Словесное описание алгоритма представляет собой описание структуры алгоритма на естественном языке. Например, к приборам бытовой техники, как правило, прилагается инструкция по эксплуатации, т.е. словесное описание алгоритма, в соответствии с которым данный прибор должен использоваться . Словесно-формульное описание алгоритма «Оклейка обоями» представляется в виде нумерованной последовательности действий, понятных человеку. Алгоритм «Оклейка обоями » 1. Рассчитать периметр комнаты: р=2*( а+b ). 2. Рассчитать площадь стен с учетом дверей и окон: s1=0,85*p*h. 3. Рассчитать площадь одного рулона обоев: s2=l*d. 4. Вычислить количество рулонов: k= div ( sl /s2)+l, где div — функция определения целой части числа. Конец алгоритма Золотухина И.И. 12

Слайд 13

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

Слайд 14

Алгоритмический язык Алгоритм «Оклейка обоями» в виде программы на школьном алгоритмическом языке Золотухина И.И. 14

Слайд 15

Псевдокод Псевдокод – описание структуры алгоритма на естественном, но частично формализованном языке. В псевдокоде используются некоторые формальные конструкции и общепринятая математическая символика. Строгих синтаксических правил для записи псевдокода не предусмотрено . Пример описания простейшего алгоритма: Начало Ввод чисел: Z, X Если Z > X то Вывод Z Иначе вывод Х Конец Золотухина И.И. 15

Слайд 16

Подходы к разработке алгоритма Создание алгоритмов и программ для ЭВМ – это творческая задача, которая в общем случае требует выработки или привлечения нового знания. В ходе эволюции компьютеров изменялись подходы и требования к созданию алгоритмов. Отметим следующие подходы к построению алгоритмов: Операционный подход Процедурный (процедурно-ориентированный) подход Структурный подход Параллельное программирование Объектно-ориентированный подход Декларативный подход Золотухина И.И. 16

Слайд 17

Операционный подход Принцип структурного программирования: алгоритм любой сложности может быть представлен комбинацией трех базовых структур : −следование; − ветвление (в полной и сокращенной форме); − цикл (с предусловием или постусловием ). Операционный подход требует от программы детального описания решения задачи, т.е. формулировки алгоритма и его специальной записи, но при этом обычно не указываются ожидаемые свойства результата. Оператор и данные – основные понятия языков операционного программирования. Языки программирования: Ассемблер, Бейсик, Фортран . Золотухина И.И. 17

Слайд 18

Процедурный (процедурно-ориентированный) подход В данном подходе, как и в операционном необходимо детальное описание решения задачи. При этом подходе какой-то код программы мог объединяться в отдельные блоки (процедуры). После этого такой блок команд можно вызывать из любой части программы . Языки программирования: Бейсик, Фортран, Паскаль, Си Золотухина И.И. 18

Слайд 19

Структурный подход Структурный подход включает в себя первые два подхода, т.е. операционный и процедурный одновременно. Одним из компонентов структурного подхода к разработке алгоритма является модульность. Модульность . М одуль – последовательность логически связанных операций, оформленных как отдельная часть программы. Преимущества модульной структуры: −возможность разработки программы несколькими программистами; −простота проектирования и модификации программ; −упрощение отладки программ: поиска и устранения ошибок; −возможность использования готовых библиотек подпрограмм и модулей; −лучшая читаемость программ. Детализация или декомпозиция – нисходящее проектирование программ: −построение иерархии модулей программ; −разбиение задач на подзадачи; −детализация до уровня подзадач, решение которых обеспечивается за 3÷5 строк. Золотухина И.И. 19

Слайд 20

Параллельное программирование Параллельное программирование – это раздел программирования связанный с изучением и разработкой методов и средств для распараллеливания обработки информации в многопроцессорных и мультипрограммных ЭВМ с целью ускорения вычислений и эффективного использования ресурсов машины. Современные технологии параллельного программирования ориентированы на кластеры – суперкомпьютеры (технология MPI ). Золотухина И.И. 20

Слайд 21

Объектно-ориентированный подход Для реализации объектно-ориентированного подхода в языки программирования вводятся новые понятия: Объекты — особые программные единицы, состоящие из данных и алгоритмов для обработки именно этих данных . Данные, входящие в состав объекта, называются полями (атрибутами, свойствами, членами). Алгоритмы, входящие в состав объекта, называются методами (сервисами, операциями, функциями-членами). К сожалению, единой устоявшейся терминологии в ООП нет, и в разных языках используются различные термины для обозначения одних и тех же понятий. Классы — это объектные типы данных. Подобно тому, как целые числа принадлежат какому-нибудь целочисленному типу (например, integer или byte ), объекты также принадлежат какому-либо объектному типу — классу. Все объекты одного класса имеют одинаковый набор полей и одинаковый набор методов . И нкапсуляция — сокрытие подробностей функционирования объектов; Н аследование — «сокращенный» способ создания новых классов; П олиморфизм — возможность применения нескольких реализаций одной функции. Золотухина И.И. 21

Слайд 22

Декларативный подход Появился в начале 70-х годов. Направлен на решение задач искусственного интеллекта. При применении декларативного подхода описывается не алгоритм получения результата, а свойства, которыми должен обладать результат. Декларативный подход в разработке компьютерных программ развивается в 2 направлениях: логическом и функциональном. Золотухина И.И. 22

Слайд 23

Эволюция и классификация языков программирования Языки программирования делят на пять поколений: Поколение 1. Входят языки, созданные в начале 50-х г.г . ( машиннозависимые языки, язык Ассемблер). Поколение 2. Конец 50-х-начало 60-х г.г . (Символический ассемблер, в котором появилось понятие переменной. Возросли скорость разработки и надежность программ). Поколение 3. 60-е гг. – 70-е г.г . (Появились универсальные языки высокого уровня, с их помощью удается решать задачи из любых областей. Качества таких языков: относительная простота, независимость от конкретного компьютера, возможность использования мощных синтаксических конструкций. Результат – повышение производительности труда программистов.) (Кобол – для экономической области, Pascal – универсальный язык высокого уровня ( Н.Вирт ), Basic . Поколение 4. Начало 70-х г.г . – по настоящее время. Языки 4-го поколения предназначены для реализации крупных проектов, повышения их надежности и скорости создания – проблемно-ориентированные языки. (C++ – объектно-ориентированный С, Java – начло 90-х г.г . – компиляция в платформо -независимый байт-код). Поколение 5. Середина 90-х г.г . Системы автоматического создания прикладных программ с помощью визуальных средств разработки, без знания программирования. Языки программирования для Интернета, скрипт-языки – HTML , Perl , PHP, XML, Python , Tcl / Tk , JavaScript , VBScript . Золотухина И.И. 23

Слайд 24

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

Слайд 25

Ассемблер, Pascal , C# Золотухина И.И. 25

Слайд 26

Жизненный цикл программы Жизненный цикл программы (ЖЦП) – это период времени начинающийся с момента принятия решения о необходимости создания программы и заканчивающийся в момент его полного изъятия из эксплуатации. Структура ЖЦП составлена их процессов, действий и задач, которые должны быть выполнены в процесса создания программы. Международный стандарт ISO 12207:1995 - базовый стандарт процессов жизненного цикла программного обеспечения, ориентированный на различные (любые!) виды ПО и типы проектов автоматизированных систем (АС) или информационных систем, в которые ПО входит как часть. Стандарт определяет стратегию и общий порядок в создании и эксплуатации ПО. Он охватывает ЖЦ ПО от концептуализации идей до завершения ЖЦ . Под процессом понимают совокупность взаимосвязанных действий преобразующих входные данные в выходные. Золотухина И.И. 26

Слайд 27

ЖЦП Процесс приобретения Процесс поставки Процесс эксплуатации Процесс сопровождения Вспомогательные процессы ЖЦ Организационные процессы ЖЦ Основные процессы ЖЦ Документирование Управление конфигурацией Обеспечение качества Верификация Аттестация Совместный анализ Аудит 3. Решение проблем Управление Создание инфраструктуры Процесс усовершенствования Обучение Документирование – это формализованное описание информации созданной в течение ЖЦП. Управление конфигурацией предполагает применение административных и технических процедур на всем протяжение ЖЦП. Обеспечение качества – это соответствующие гарантии того, что программа соответствует заданным требованиям. Процесс верификации состоит в доказательстве правильности программы. Аттестация представляет определение полноты в соответствии с заданными требованиями. Аудит – это проверка, проводимая компетентным органом в целях обеспечения независимой оценки, степени соответствия программы установленным требованиям. Золотухина И.И. 27

Слайд 28

Этапы решения задач на компьютере Задание на разработку программного обеспечения Постановка задачи Проектирование Кодирование алгоритма Тестирование и отладка Сопровождение и эксплуатация Золотухина И.И. 28 10% 10% 10% 20% 50%

Слайд 29

Золотухина И.И. 29 СПАСИБО ЗА ВНИМАНИЕ!


По теме: методические разработки, презентации и конспекты

Основы алгоритмизации и программирования: методические указания для лабораторных работ

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

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

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

Основы алгоритмизация и программирование на языке Basic

Учебно-методическое пособие по дисциплине «Информатика и ИКТ» Основы алгоритмизация и программирование на языке Basic разработано в соответствии с действующей программой по курсу дисциплины «Информати...

Тест по дисциплине «Основы алгоритмизации и программирования» Раздел: «Программирование на языке СИ/СИ++» специальности 230401 "Информационные системы (по отраслям)"

Тест по дисциплине «Основы алгоритмизации и программирования»  Раздел: «Программирование на языке СИ/СИ++» специальности 230401 "Информационные системы (по отраслям)"...

РАБОЧАЯ ПРОГРАММА ПО ОСНОВАМ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЮ

Рабочая программа учебной дисциплины разработана на основе Федерального государственного образовательного стандарта (далее – ФГОС) по специальности среднего профессионального образования (далее - СПО)...

Презентация на тему "Основы алгоритмизации"

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

ОП.06 "Основы алгоритмизации и программирования" для специальности 09.02.04

Рабочая программа учебной дисциплины ОП.06 "Основы алгоритмизации и программирования" разработана для специальности 09.02.04 "Информационные системы (по отраслям)"...