- •Оренбург 2008 г.
- •Оренбург
- •Оглавление
- •Введение
- •Краткая характеристика дисциплины
- •Основные требования к уровню освоения содержания дисциплины
- •Основные понятия информатики История развития информатики
- •Структура современной информатики
- •Информатика как единство науки и технологии
- •Структура современной информатики
- •Место информатики в системе наук
- •Социальные аспекты информатики
- •Правовые аспекты информатики
- •Этические аспекты информатики
- •Общая характеристика процессов сбора, передачи, обработки и накопления информации различные уровни представлений об информации
- •Виды и свойства информации
- •Качество информации
- •Восприятие, сбор, передача обработка и накопление информации
- •Единицы измерения информации
- •Семантическая мера информации
- •Прагматическая мера информации
- •Системы счисления
- •Перевод из десятичной системы счисления в двоичную
- •Восьмеричная и шестнадцатеричная системы
- •Арифметические и логические основы цифровых эвм Почему компьютер считает не так, как мы?
- •Отрицательные числа в компьютере
- •Алгоритмизация и программирование Понятие и свойства алгоритма
- •Правила построения алгоритмов
- •Виды алгоритмов
- •Способы записей алгоритмов
- •3. Описание на каком-либо языке программирования (программа).
- •Блок схема
- •Символы блок-схем
- •Структуры алгоритмов
- •Рекомендуемая литература
Виды алгоритмов
Алгоритмы как логико-математические средства отражают указанные компоненты человеческой деятельности и тенденции, а сами алгоритмы в зависимости от цели, начальных условий задачи, путей ее решения, определения действий исполнителя подразделяются следующим образом:
♦ механические алгоритмы, или иначе, детерминированные, жесткие (например, алгоритм работы машины, двигателя и т.п.). Механический алгоритм задает определенные действия, обозначая их в единственной и достоверной последовательности, обеспечивая тем самым однозначный требуемый или искомый результат, если выполняются те условия процесса, задачи, для которых разработан алгоритм;
♦ гибкие алгоритмы:
— вероятностные (стохастические) алгоритмы дают программу решения задачи несколькими путями или способами, приводящими к вероятному достижению результата;
— эвристические алгоритмы (от греч. эврика) — это алгоритмы, в которых достижение конечного результата программы действий однозначно не предопределено, так же как не обозначена вся последовательность действий, не выявлены все действия исполнителя. К эвристическим алгоритмам относят, например, инструкции и предписания. В этих алгоритмах используются универсальные логические процедуры и способы принятия решений, основанные на аналогиях, ассоцияциях и прошлом опыте решения схожих задач.
♦ линейные алгоритмы — наборы команд (указаний), выполняемых последовательно во времени друг за другом;
♦ разветвляющиеся алгоритмы — алгоритмы, содержащие хотя бы одно условие, в результате проверки которого ЭВМ обеспечивает переход на один из двух возможных шагов;
♦ циклические алгоритмы — алгоритмы, предусматривающие многократное повторение одного и того же действия (одних и тех же операций) над новыми исходными данными. К циклическим алгоритмам сводится большинство методов вычислений, перебора вариантов;
♦ вспомогательные (подчиненные) алгоритмы (процедуры) — алгоритмы, ранее разработанные и целиком используемые при алгоритмизации конкретной задачи. В некоторых случаях при наличии одинаковых последовательностей указаний (команд) для различных данных с целью сокращения записи также выделяют вспомогательные алгоритмы.
Способы записей алгоритмов
Существуют следующие способы записи алгоритма:
1. Словесно-формульное описание (на естественном языке с использованием математических формул). Данный способ записи алгоритма состоит из перечня действий (шагов), каждый из которых имеет порядковый номер. Алгоритм должен выполняться последовательно шаг за шагом. Если в тексте алгоритма написано «перейти к шагу с номером L», то это означает, что выполнение алгоритма продолжится с указанного шага с номером L. Словесное описание алгоритмов применяют при решении несложных задач, но оно малопригодно для представления сложных алгоритмов из-за отсутствия наглядности.
2. Графическое описание в виде блок-схемы (набор связанных между собой геометрических фигур). Для обозначения шагов решения в виде схемы алгоритма используются специальные обозначения (символы).
3. Описание на каком-либо языке программирования (программа).
Программа — это набор машинных команд, который следует выполнить компьютеру для реализации того или иного алгоритма.
Программа — это форма представления алгоритма для исполнения его компьютером.