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