close

Вход

Забыли?

вход по аккаунту

?

Алгоритмы

код для вставки
Понятие и свойства алгоритма, способы записи алгоритмов, исполнитель, СКИ, Формальное исполнение алгоритма, алгоритмические структуры
Алгоритм. Исполнитель алгоритма. Формальное исполнение алгоритма. Системы команд исполнителя.
Понятие алгоритма так же фундаментально для информатики, как и понятие информации. Само слово "алгоритм" происходит от имени выдающегося математика средневекового Востока Мухаммеда аль - Хорезми (787 - 850). Им были предложены приемы выполнения арифметических вычислений с многозначными числами. Позже в Европе эти приемы назвали алгоритмами, от латинского написания имени аль - Хорезми - Algorithmi. В наше время понятие алгоритма понимается шире, не ограничиваясь только арифметическими вычислениями.
Алгоритм - последовательность команд, понятных исполнителю, приводящая к получению результата за конечное количество шагов. Назначение алгоритма - последовательное выполнение задания. Режим работы - выполнение последовательно записанных команд. Если что-то не соответствует ограничениям, программа останавливается и указывает на ошибку. Если все верно, исполнитель заканчивает действия успешно. Исполнитель алгоритма - объект или субъект, выполняющий алгоритм (человек, робот, компьютер, собака, музыкальный центр и так далее).
Исполнителем алгоритма может быть, в том числе, и человек. Все мы выполняем разнообразные алгоритмы в своей жизни даже не задумываясь об этом.
Исполнителя характеризуют:
- среда, то есть то, где обитает данный исполнитель
- элементарные действия, другими словами то, что исполнитель "умеет" делать
- система команд, то есть те команды, которые он понимает и может выполнить
- отказы - в каком случае исполнитель не сможет выполнить даже известную ему команду
Для исполнителей - автоматов важно отметить то, что алгоритм будет выполняться ФОРМАЛЬНО, то есть исполнитель не задумывается при выполнении команд, а поэтому в отказах и неправильно выполненных действиях исполнителя виноват не исполнитель, а тот, кто составлял для него алгоритм.
Каждый исполнитель умеет выполнять ограниченное количество команд, все команды, которые известны конкретному исполнителю образуют его систему команд (СКИ - система команд исполнителя). Одним из ярчайших примеров формальных исполнителей алгоритмов является компьютер. Практически все его действие основано именно на алгоритмах. Процессор выполняет всего два действия: сложение и сдвиг, все остальное - алгоритмы, использующие эти две операции. Примером формального исполнителя может служить робот-манипулятор на заводе, управляющая вычислительная машина для запуска межконтинентальных ракет, стиральная машина-автомат и так далее.
Все мы живем в мире не одни. Нас окружают самые разнообразные объекты. Все эти объекты могут быть как реальными (например, стол, учитель, дерево, яма на дороге), так и виртуальные - любые кнопки, картинки, управляющие элементы на экране.
Объекты могут быть одинаковыми, а могут и отличаться друг от друга. Отличаются они своими свойствами. Не путайте объекты и свойства. Например, стул - это объект, болт, которым крышка стула прикреплена - это объект, а вот резьба на этом стуле - не объект, а свойство объекта.
Таким образом:
Объект - законченная часть окружающего нас мира
Свойство объекта - это те признаки или части объекта, которыми он отличается от других объектов, или напоминает нам другие объекты.
Свойства алгоритма. Способы описания алгоритма. Линейный алгоритм (следование).
Для представления алгоритмов используют несколько способов: 1. Словесный - самый простой способ. При данном способе в каждой строке перечисляется определенная команда, последовательное выполнение команд приводит исполнителя к нужному результату. Посмотрим на примере алгоритма "Заварка чая": 1. вскипятить воду; 2. окатить заварочный чайник кипятком;
3. засыпать заварку в чайник; 4. залить кипятком; 5. закрыть крышкой; 6. накрыть полотенцем.
2. Графический - используются геометрически фигуры для обозначения, каких - либо команд, называемых блоками. Каждый блок соответствует конечному этапу процесса. Внутри каждого блока дается описание тех операций, которые необходимо выполнить. Рассмотрим каждый блок: Схемы строятся в соответствии с заданной задачей, в которой с помощью стрелок отслеживается направление движения по алгоритму. В качестве основных базовых структур используются объединенные схемы: линейные, ветвление, цикл.
Например: Дано: катеты прямоугольного треугольника Найти: гипотенузу
3. На языке программирования. Программа - это алгоритм, записанный на языке исполнителя. Алгоритм и программа могут отличаются по форме, но не по содержанию.
Для успешного выполнения любой работы мало иметь ее алгоритм. Всегда требуются какие - то исходные данные, с которыми будет работать исполнитель. Исполнителю, решающему математическую задачу, требуется числовая информация. Задача всегда формулируется так: дана исходная информация, требуется получить какой-то результат.
Например: Дано: катеты прямоугольного треугольника Найти: гипотенузу
Данная задача решена алгоритмически (см. блок-схему), но когда данный алгоритм необходимо применить на практики обязательно следует указать, чему равны катеты (т.е. ввести данные).
Например:
a=3, b=4
Для точного решения задачи необходимо иметь полный набор данных. Если исходные данные неполные, то задачу либо нельзя решить, либо получить неоднозначное решение.
Свойства алгоритма.
Любой алгоритм должен быть построен с соблюдением определенных правил, согласованных с его свойствами: 1. дискретность - разбиение алгоритма на последовательность отдельных законченных действий. 2. понятность - однозначное понимание каждого шага алгоритма для исполнителя.
3. точность - строго определенная последовательность шагов алгоритма. Алгоритм не предусматривает принятие каких-либо самостоятельных решений исполнителем, не предусмотренных составителем алгоритма.
4. результативность (конечность) - выполнение алгоритма за конечное число шагов и обязательное достижение результата.
5. массовость применение алгоритма для решения целого класса однотипных задач.
Разветвляющийся алгоритм (ветвление) Алгоритмы исполняют в естественном порядке: команда за командой (смотрите повторение). Однако жизнь весьма разнообразна. А цели все же хочется достичь.
Например:
Ученик, собираясь в школу, продумывает следующие действия:
Если температура нормальная, то собирается в школу
Иначе - остается дома.
Заметим, что вначале необходимо измерить температуру (т.е. выполнить действие), а уж затем, в зависимости от полученного результата выполнять одно из следующих действий. Такой алгоритм называется разветвляющимся, а именно: алгоритм, в котором те или иные действия выполняются или не выполняются в зависимости от условия (от вопроса, на который можно ответить "да" или "нет" - условие может быть истинным (да), или ложным (нет)).
Разветвляющий алгоритм имеет 2 структуры: полную или неполную
Полная форма - это форма записи разветвляющегося алгоритма, в которой предусмотрены команды в ветви "да" и в ветви "нет". если-то-иначеПример Происходит проверка условия.
Если а>b, то происходит присваивание к переменной "а" значение "а*2", а к переменной "b", значение "1".
Иначе, т.е. если а<=b, происходит присваивание переменной "b" значение "2*b" (переменная а не изменяется).
Неполная форма - это форма записи разветвляющегося алгоритма, в которой предусмотрены команды только в одной ветви.
если-тоПример Происходит проверка условия.
Если x>0, то переменной "y" присваивается значение "sin(x)"
Иначе, т.е. если x<=0, то никакие действия не выполняются.
При словесном способе описания разветвляющего алгоритма обязательно присутствуют служебные слова:
Полная форма ветвления
Если (некоторое условие) то (действия, которые следует выполнить при истинном условии) иначе (действия, которые следует выполнить при ложном условии)
Неполная форма ветвления
Если (некоторое условие) то (действия, которые следует выполнить при истинном условии)
При графическом способе описания алгоритма (блок-схема) - блок ветвления реализуется с помощью ромба, в котором указывается условие. Такой блок имеет один вход и 2 выхода (разветвление пути в зависимости от условия).
На языке программирования ветвление описывается с помощью служебных слов (аналогично словесному описанию).
Циклический алгоритм (цикл) Очень многие алгоритмы, выполнение которых поручается компьютеру, по своей природе являются циклическими. И это не случайно, потому что человек обычно поручает машине рутинную работу, где нужно много считать, и счет производится по некоторым одинаковым правилам.
Цикл - это последовательность операторов, которая может выполняться более одного раза.
Циклический алгоритм - это алгоритм, содержащий один или несколько циклов.
Тело цикла - одно или несколько действий, которые могут выполнятся несколько раз, в зависимости от заданного условия.
Существует 3 вида циклический структур:
1. Цикл "Пока" (Цикл с предусловием). Особенности: * условие проверяется в начале цикла, если условие истинно, то тело цикла выполняется и исполнитель возвращается к условию, если условие ложно, цикл завершается; * возможен вариант, когда команды цикла не выполнятся ни разу (если условие с самого начала окажется ложным). Название цикла "Пока" вытекает из его словесного описания: Пока (условие истинно) делай (тело цикла). 2. Цикл "До" (Цикл с постусловием). Особенности: * условие проверяется в конце цикла, тело цикла выполняется до тех пор, пока условие ложно;
* сколько раз будет выполнено тело цикла заранее не известно, но одно выполнение будет обязательным (до проверки условия).
Название цикла "До" вытекает из его словесного описания: Повторяй (тело цикла) до тех пор, пока (условие истинно). 3. Цикл с параметром (Безусловный цикл). Особенности:
* Заранее известно сколько раз будет выполнятся тело цикла.
* Параметр изменяется после каждого исполнения тела цикла и отвечает за количество повторений.
Словесная форма:
Для (параметра, который меняется) от (начального значения) до (конечного значения) делай (тело цикла).
Документ
Категория
Образование
Просмотров
1 195
Размер файла
92 Кб
Теги
исполнители, алгоритмы
1/--страниц
Пожаловаться на содержимое документа