Алгоритмизация.ppt
- Количество слайдов: 26
Алгоритмизация и программирование
Порядок решения задачи на ЭВМ 1. 2. 3. 4. 5. 6. Постановка задачи Математическая формулировка задачи Составление четкой инструкции последовательности действий, которая называется алгоритмом Составление программы на языке программирования по схеме алгоритма Ввод программы в машину и её отладка Решение задачи на ЭВМ и анализ результатов
Определение алгоритма l Алгоритм – точно определённая последовательность действий для некоторого исполнителя, выполняемых по строго определённым правилам и приводящих через некоторое количество шагов к решению задачи l Алгоритмизация – процесс составления алгоритмов решения задачи
Свойства алгоритмов l l l Определённость – алгоритм не должен содержать неоднозначно понимаемых предписаний Дискретность – описываемый процесс должен быть разбит на последовательность отдельных, понятных исполнителю шагов. Массовость – по одному и тому же алгоритму решаются однотипные задачи и неоднократно; Понятность – алгоритм строится для конкретного исполнителя человеком и должен быть ему понятен. Это облегчает проверку и модификацию по необходимости; Результативность – при точном исполнении всех предписаний алгоритма процесс должен прекратиться через конечное число шагов и при этом должен получиться определенный результат. Вывод о том, что решение не существует – тоже решение.
Основные блоки визуальных алгоритмов l Блок начала алгоритма l Блок ввода или вывода данных l Блок действия начало ввести а, b Y = A*B
Основные блоки визуальных алгоритмов l Блок условия, имеет два выхода l Блок окончания алгоритма X>Y Выход
Основные блоки визуальных алгоритмов l Блок модификации X= Xn, Xk, dx
Общие правила при проектировании визуальных алгоритмов l В начале алгоритма должны быть блоки ввода значений входных данных. l После ввода значений входных данных могут следовать блоки обработки и блоки условия. l В конце алгоритма должны располагаться блоки вывода значений выходных данных l В алгоритме должен быть только один блок начала и один блок окончания. l Связи между блоками указываются направленными или ненаправленными линиями.
Метод структурной алгоритмизации При построении алгоритмов для сложной задачи используют системный подход с применением декомпозиции – метод структурной алгоритмизации. Этот метод основан на визуальном представлении алгоритма в виде последовательности управляющих структурных фрагментов.
Выделяют три базовые управляющие структуры: l Композиция (следование) l Альтернатива (ветвление ) l Итерация(цикл)
1. Композиция(следование) – это линейная управляющая структура, которая применяется для описания обобщенного решения задачи в виде последовательности действий
1. Композиция Задача. Вычислить сумму, разность, произведение заданных X, Y. Начало Ввод х, у Z=x+y C=x-y D=x*y Вывод Z, C, D Конец
2. Разветвленные алгоритмы Альтернатива (разветвление) – это нелинейная управляющая конструкция, предназначенная для описания различных процессов обработки информации, выбор которых зависит от значения вводных данных. Ветвление – это структура, обеспечивающая выбор между альтернативами.
2. 1. Ветвление “ЕСЛИ-ТО-ИНАЧЕ” условие действие 1 действие 2
2. 2. Неполное ветвление “ЕСЛИ-ТООБХОД” условие действие
2. 3. Многоальтернативный выбор условие действие
3. Циклические алгоритмы Цикл - повторное выполнение определенного набора действий при выполнении некоторого условия. Повторяемое действие в цикле называется “телом цикла”. Различают два основных вида циклов: • Определенные • Неопределенные Ø с предусловием Ø с постусловием
3. 1. Определенный цикл X= Xn, Xk, dx Тело цикла
3. 1. Неопределенные циклы Цикл с предусловием Цикл начинается с проверки условия выхода из цикла. Если выражение удовлетворяет условие, то выполняются действия, которые должны повторяться. В противном случае цикл прекращает свои действия.
3. 1. Цикл с предусловием Начальное присваивание управляющей переменной цикла условие тело цикла изменение управляющей переменной цикла выход из цикла
3. 2. Цикл с постусловием Сначала выполняются один раз те действия, которые подлежат повторению, затем проверяется логическое выражение, определяющее условие выхода из цикла. Если условие выхода истинно, то цикл с постусловием прекращает свою работу. В противном случае происходит повторение действий, указанных в цикле.
3. 2. Цикл с постусловием начальное присваивание управляющей переменной цикла тело цикла изменение управляющей переменной цикла условие Выход из цикла
Алгоритмы обработки массивов Массив – это однородная структура однотипных данных, одновременно хранящихся в последовательных ячейках оперативной памяти. Эта структура имеет имя и определяет заданное количество элементов. Доступ к любому элементу массива осуществляется по его номеру (индексу). Поэтому для обращения к элементу массива используют формат: имя массива (номер элемента), например А(5). Массив называется одномерным, если для получения доступа к его элементам достаточно одной индексной переменной.
Алгоритм ввода одномерного массива начало Ввод N I=1 I Ввод A(I) I =I + 1 N –количество элементов; l I – индексная переменная, порядковый номер элемента; l A – имя массива l N обработка и вывод массива
Комментарий к алгоритму ввода одномерного массива l В этом алгоритме условие выхода из цикла определяется значением специальной переменной I, которая называется счётчиком элементов массива А. Эта же переменная определят количество операций ввода элементов массива. На каждом шаге цикла переменная I изменяется на 1, то есть происходит переход к новому элементу массива.
начало Ввод N I=1 I Пример l Составить алгоритм определения в одномерном числовом массиве А из N элементов суммы положительных элементов Р. N I=1 Ввод A(I) I I =I + 1 A(I)>0 N Вывод S Конец S = S + A(I) I =I + 1 Конец