Алгоритм, способы его описания
Определение алгоритма, его свойства, система команд. Графическое и словесное описание алгоритма. Базовые структуры блок-схем, линейные и разветвляющиеся, циклические структуры, типы циклов. Предопределенные процессы, рекурсия, рекурсивные подпрограммы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 12.11.2012 |
Размер файла | 134,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
1. Определение алгоритма
2. Свойства алгоритмов
3. Способы описания алгоритма
4. Базовые структуры блок-схем, линейные и разветвляющие структуры, циклические структуры, типы циклов
5. Структурированные блок-схемы
6. Предопределенные процессы. Рекурсия
1. Определение алгоритма
Алгоритм - конечная последовательность команд, предназначенная исполнителю и направленная на достижение определенной цели.
В основе каждой программы заложен свой алгоритм. Перечень команд, которые воспринимает и может выполнить исполнитель, называется системой команд. Исполнять алгоритм начинают с первой команды. После нее переходят ко второй и т.д.
2. Свойства алгоритмов
алгоритм блок схема цикл рекурсия
Алгоритм имеет следующие свойства:
1 Дискретность - значения новых величин (данных) вычисляются по определенным правилам из других величин с уже известными значениями.
2 Определенность (детерминированность) - каждое правило из системы однозначно, а данные однозначно связаны между собой, т.е. последовательность действий алгоритма строго и точно определена.
3 Результативность (конечность) - алгоритм решает поставленную задачу за конечное число шагов.
4 Массовость - алгоритм разрабатывается так, чтобы его можно было применить для целого класса задач, например, алгоритм вычисления определенных интегралов с заданной точностью.
3. Способы описания алгоритма
Наиболее распространенными способами описания алгоритмов являются словесное и графическое описания алгоритма.
Словесное описание алгоритма рассмотрим на конкретном примере: необходимо найти корни квадратного уравнения a*x2+b*x+c=0
1) вычислить D = b2 - 4ac;
2) если D < 0, перейти к 4;
3) вычислить корни уравнения x1=(-b+)/(2a); x2=(-b-)/(2a);
4) конец.
Здесь алгоритм описан с помощью естественного языка, а объекты обработки, являющиеся числами, обозначены буквами.
Графическое описание алгоритма - это представление алгоритма в виде схемы, состоящей из последовательности блоков (геометрических фигур), каждый из которых отображает содержание очередного шага алгоритма. Внутри фигур кратко записывают выполняемое действие. Такую схему называют блок-схемой алгоритма.
Схема содержит: символы данных (могут отображать тип носителя данных); символы процесса, который нужно выполнить над данными; символы линий, указывающих потоки данных между процессами и носителями данных; специальные символы (для удобства чтения схемы).
4. Базовые структуры блок-схем, линейные и разветвляющие структуры, циклические структуры, типы циклов
Алгоритмы можно представлять как некоторые структуры, состоящие из отдельных базовых (т.е. основных) элементов. Логическая структура любого алгоритма может быть представлена комбинацией трех базовых структур: следование, ветвление, цикл. Характерной особенностью базовых структур является наличие в них одного входа и одного выхода.
1 Базовая структура "следование". Образуется последовательностью действий, следующих одно за другим:
2. Базовая структура "ветвление". Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. Структура "ветвление" существует в четырех основных вариантах:
1. "если - то";
2. "если - то - иначе";
3. "выбор";
4. "выбор - иначе".
3. Базовая структура "цикл". Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла. Основные разновидности циклов:
- Цикл типа "пока". Предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока.
- Цикл типа "для". Предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне.
5. Структурированные блок-схемы
Структурированные блок-схемы могут использоваться для показа межмодульных связей, для отображения структур данных, программ и систем обработки данных. Существуют различные структурные диаграммы: диаграммы Насси - Шнейдермана, диаграммы Варнье, Джексона, МЭСИД и др.
Рассмотрим пример использования диаграмм МЭСИД.
Задан одномерный массив из положительных и отрицательных чисел. Требуется определить частное от деления суммы положительных элементов на сумму отрицательных элементов этого массива.
6. Предопределенные процессы. Рекурсия
Предопределенными процессами называются процессы, определенные в системе заранее (до начала их прямого использования). Для языка С таким процессом является функция, имеющая прототип, то есть определенная и несущая сведения о своем существовании в систему до начала работы самой системы.
Функция называется рекурсивной, если во время ее обработки возникает ее повторный вызов, либо непосредственно, либо косвенно, путем цепочки вызовов других функций.
Прямой (непосредственной) рекурсией является вызов функции внутри тела этой функции.
Косвенной рекурсией является рекурсия, осуществляющая рекурсивный вызов функции посредством цепочки вызова других функций. Все функции, входящие в цепочку, тоже считаются рекурсивными.
Обращение к рекурсивной подпрограмме ничем не отличается от вызова любой другой подпрограммы. При этом при каждом новом рекурсивном обращении в памяти создаётся новая копия подпрограммы со всеми локальными переменными. Такие копии будут порождаться до выхода на граничное условие. Очевидно, в случае отсутствия граничного условия, неограниченный рост числа таких копий приведёт к аварийному завершению программы за счёт переполнения стека.
Порождение все новых копий рекурсивной подпрограммы до выхода на граничное условие называется рекурсивным спуском. Максимальное количество копий рекурсивной подпрограммы, которое одновременно может находиться в памяти компьютера, называется глубиной рекурсии. Завершение работы рекурсивных подпрограмм, вплоть до самой первой, инициировавшей рекурсивные вызовы, называется рекурсивным подъёмом.
Размещено на Allbest.ru
Подобные документы
Основные свойства алгоритма. Формальный и неформальный исполнитель алгоритма, система его команд. Способы записи алгоритма. Словесное описание, построчная запись, опорный конспект. Характеристики алгоритмического языка. Выполнение алгоритма компьютером.
презентация [2,0 M], добавлен 04.04.2014Изучение понятия и свойств алгоритма. Определение сущности технологии Robson. Исполнитель, а также блок-схема алгоритма или его графическое представление, в котором он изображается в виде последовательности связанных между собой функциональных блоков.
реферат [155,9 K], добавлен 19.10.2013Сущность и основные свойства алгоритма, способы и методы описания. Линейные и ветвящиеся вычислительные процессы, характеристика и отличительные черты. Основные понятия языка Паскаль. Структура и компоненты программы. Назначение структурных операторов.
контрольная работа [20,6 K], добавлен 13.09.2009Решение задачи вычисления и вывода значений функций. Разветвляющиеся и циклические вычислительные процессы. Задача табулирования. Блок схема и код программы. Вычисления по рекуррентным формулам. Программирование вложенных циклов. Сумма элементов матрицы.
контрольная работа [1,1 M], добавлен 10.12.2013Понятие алгоритма, его свойства. Дискретность, определенность, результативность, формальность как свойства алгоритма. Программа как описание структуры алгоритма на языке алгоритмического программирования. Основные структурные алгоритмические конструкции.
реферат [1,3 M], добавлен 18.11.2010Понятие алгоритма, его назначение, представление (изобразительные средства для описания), типы, способы записи, схемы. Основные принципы разработки алгоритмов и программ. Характеристика языков программирования. Средства и правила построения блок-схем.
реферат [87,9 K], добавлен 26.03.2010Элементы и переменные, используемые для составления записи в Паскале. Основные числовые типы языка Turbo Pascal. Составление блок-схемы приложения, программирование по ней программы для вычисления функции. Последовательность выполнения алгоритма.
лабораторная работа [256,9 K], добавлен 10.11.2015Алгоритм как четкая последовательность действий, направленная на решение задачи. Свойства алгоритмов и их характеристика. Способы описания алгоритма. Понятия алгебры логики. Логические переменные, их замена конкретными по содержанию высказываниями.
презентация [337,7 K], добавлен 18.11.2012Свойства алгоритма как определенного содержания и порядка действий над объектами. Базовые алгоритмические структуры: следование, ветвление, повторение. Структурированные типы данных. Реализация на языке программирования задач при помощи алгоритмов.
контрольная работа [598,6 K], добавлен 06.12.2014Разработка алгоритма решения задачи численного интегрирования методом трапеции. Словесное описание и блок-схема разработанного алгоритма программы. Описание интерфейса, главного окна и основных форм программы. Проверка работоспособности программы.
курсовая работа [1,4 M], добавлен 16.03.2012