ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.12.2024
Просмотров: 1399
Скачиваний: 2
стр. 31
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
5.Результативность (отсутствие ошибок, алгоритм должен приводить к правильному результату для всех допустимых входных значениях).
Замечание: Иногда детерминированность разделяют на понятность(исполнитель алгоритма должен понимать, как выполнять каждое действие) и точность, а конечность и массовость объединяет в одно свойство.
Виды алгоритмов:
1.Линейный алгоритм (описание действий, которые выполняются однократно в заданном порядке);
2.Циклический алгоритм (описание действий, которые должны повторятся указанное число раз или пока не выполнено заданное условие);
3.Разветвляющийся алгоритм (алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий);
4.Вспомогательный алгоритм (алгоритм, который можно использовать в других алгоритмах, указав только его имя).
На практике наиболее распространены следующие формы представления алгоритмов:
●В устной форме.
●В письменной форме на естественном языке.
●В письменной форме на формальном языке.
●Для более наглядного представления алгоритма широко используется графическая форма – блок-схема, которая составляется из стандартных графических объектов.
При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий. В блок-схеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т.п.) соответствует геометрическая фигура.
Стандартные графические объекты блок-схемы:
Вид стандартного графического объекта |
Назначение |
|||||
Начало |
Начало алгоритма |
|||||
Конец |
Конец алгоритма |
|||||
Выполняемое действие записывается внутри |
||||||
Гуляю |
||||||
прямоугольника |
||||||
Условие выполнения действий записывается |
||||||
Встречу? |
внутри ромба |
|||||
Счетчик |
Счетчик кол-во повторов |
|||||
Последовательность выполнения действий |
||||||
стр. 32
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Пример записи алгоритма в виде блок-схемы:
начало
ввод a,b
да |
нет |
||||||
a > b |
|||||||
c := a |
c := b |
||||||
вывод c
конец
Стадии создания алгоритма:
1.Алгоритм должен быть представлен в форме, понятной человеку, который его разрабатывает (определить цель, наметить план действий).
2.Алгоритм должен быть представлен в форме, понятной тому объекту (в том числе и человеку), который будет выполнять описанные в алгоритме действия (выбрать среду и объект алгоритма, детализировать алгоритм).
Объект, который будет выполнять алгоритм, обычно называют исполнителем. Исполнитель - объект, который выполняет алгоритм.
Назначение исполнителя точно выполнить предписания алгоритма, подчас не задумываясь о результате и целях, т.е. формально. Идеальными исполнителями являются машины, роботы, компьютеры...
Компьютер – автоматический исполнитель алгоритмов.
Алгоритм, записанный на «понятном» компьютеру языке программирования, называется
программой.
Каждый исполнитель характеризуется средой («местом обитания») и системой команд.
Основными характеристиками исполнителя являются: среда, система команд, элементарные действия, отказы.
Среда (или обстановка) — это "место обитания", множество объектов, которые окружают исполнителя.
Каждый исполнитель может выполнять команды только из некоторого строго заданного списка — системы команд исполнителя. Совокупность всех команд, которые исполнитель
стр. 33
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
может выполнить, называется системой команд исполнителя (СКИ). Для каждой команды должны быть заданы условия применимости (в каких состояниях среды может быть выполнена команда) и описаны результаты выполнения команды.
За каждой командой из системы команд исполнителя закреплено конкретное элементарное действие. Исполнителя можно представить в виде устройства с кнопочным управлением. Каждая кнопка соответствует одной команде исполнителю, и нажатие означает вызов этой команды. После вызова команды исполнитель совершает элементарное действие, соответствующее данной команде. Важно отметить, что нас интересует результат, а не механизм выполнения команды.
Отказы исполнителя возникают при вызове команды в недопустимом для данной команды состоянии среды. Другими словами – это случай, когда попытка выполнить команду приводит к аварии.
Учебными исполнителями называют различные образы экране компьютера, которыми можно управлять, отдавая команды. Используются они для обучения составлению управляющих алгоритмов.
Есть много различных учебных исполнителей, придуманных для занятий по информатике. У них разные, часто забавные названия: Черепашка, Робот, Чертежник, Кенгуренок, Пылесосик, Муравей, Кукарача и др. Одни исполнители создают рисунки на экране, другие складывают слова из кубиков с буквами, третьи перетаскивают предметы из одного места в другое. Все эти исполнители управляются программным путем. Любому из них свойственна определенная среда деятельности, система команд управления, режимы работы. С помощью каждого из таких исполнителей можно учиться строить алгоритмы управления.
Многие из учебных исполнителей занимаются рисованием на экране компьютера. Из названных выше, это Черепашка, Кенгуренок, Чертежник. Эту группу можно назвать графическими исполнителями. Пусть наш гипотетический (т.е. придуманный) исполнитель тоже будет из этой компании. Назовем его ГРИС, что значит Графический Исполнитель.
Что умеет делать ГРИС? Он может перемещаться по полю и своим хвостом рисовать на этом поле (предположим, что у него есть хвост, к которому привязан кусочек мела).
Среда графического исполнителя это лист (страница экрана) для рисования. ГРИС может перемещаться в горизонтальном и вертикальном направлениях с постоянным шагом. Исполнитель может двигаться только по линиям сетки листа и не может выходить за границы. Состояние исполнителя на поле определяется, во-первых, его местоположением (в какой точке поля он находится) и направлением (куда он смотрит).
стр. 34
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Пусть система команд ГРИСа: шаг, поворот, прыжок. Шаг – перемещение ГРИС на один шаг вперед с рисованием линии; поворот – поворот на 900 против часовой стрелки; прыжок – перемещение на один шаг вперед без рисования линии. Эти команды будем называть простыми командами.
Составим алгоритм по которому ГРИС нарисует на поле букву «Т». Исходное состояние – чистый лист. Исполнитель находится в точке, где будет находится левый конец горизонтального отрезка буквы «Т», направление вправо. Можно использовать только указанные команды из СКИ: шаг, поворот, прыжок.
Алгоритм Буква «Т» начало шаг шаг шаг шаг шаг шаг поворот поворот прыжок прыжок прыжок поворот поворот шаг шаг шаг шаг шаг конец
Такой алгоритм называется линейным, т.к. команды выполняются последовательно одна за другой и каждая только один раз.
С помощью команд шаг, поворот, прыжок в пределах рабочего поля можно построить любой рисунок, состоящий из вертикальных и горизонтальных отрезков.
стр. 35
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Билет № 7
1. Основные алгоритмические структуры: следование, ветвление, цикл; изображение на блок-схемах. Разбиение задачи на подзадачи. Вспомогательные алгоритмы.
Основные виды алгоритмов (алгоритмических структур):
1.Линейный алгоритм (еще называют следование);
2.Циклический алгоритм;
3.Разветвляющийся алгоритм;
4.Вспомогательный алгоритм.
Линейный алгоритм
Линейный алгоритм – описание действий, которые выполняются однократно в заданном порядке. Исполнитель выполняет действия последовательно, одно за другим в том порядке в котором они следуют.
Блок-схема линейного алгоритма:
начало
после школы иду гулять
возвращаюсь
домой
делаю уроки
начало
начало
команда 1
команда 2
команда 3
начало
Циклический алгоритм
Лучшее качества компьютеров проявляются не тогда, когда они рассчитывают значения сложных выражений, а когда многократно, с незначительными изменениями, повторяют сравнительно простые операции. Даже очень простые расчеты могут поставить человека в тупик, если их надо повторить тысячи раз, а повторять операции миллионы раз человек совершенно не способен.
С необходимостью повторяющихся вычислений программисты сталкиваются постоянно. Например, если надо подсчитать, сколько раз буква "о" встречается в тексте необходимо перебрать все буквы. При всей простоте этой программы исполнить ее человеку очень трудно, а для компьютера это задача на несколько секунд.
Циклический алгоритм – описание действий, которые должны повторятся указанное число раз или пока не выполнено заданное условие.
Перечень повторяющихся действий называют телом цикла. Циклические алгоритмы бывают двух типов:
стр. 36
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Циклы со счетчиком, в которых какие-то действия выполняются определенное число раз;
Циклы с условием, в которых тело цикла выполняется, в зависимости от какого-либо условия. Различают циклы с предусловием и постусловием.
Циклы со счетчиком используют когда заранее известно какое число повторений тела цикла необходимо выполнить. Например, на уроке физкультуры вы должны пробежать некоторое количество кругов вокруг стадиона.
начало |
начало |
|
счетчик |
счетчик |
|
кругов |
||
бегу круг |
тело цикла |
конец |
конец |
В общем случае схема циклического алгоритма со счетчиком будет выглядеть так:
Для счетчика от нач. значения до кон. значения выполнить действие.
Часто бывает так, что необходимо повторить тело цикла, но заранее не известно, какое количество раз это надо сделать. В таких случаях количество повторений зависит от некоторого условия. Такие циклы называются циклы с условием. Циклы в которых сначала проверяется условие, а затем, возможно, выполняется тело цикла называют циклы с предусловием. Если условие проверяется после первого выполнения тела цикла, то циклы называются циклы с постусловием.
Например, в субботу вечером вы смотрите телевизор. Время от времени поглядываете на часы и если время меньше полуночи, то продолжаете смотреть телевизор, если это не так, то вы прекращаете просмотр телепередач.
начало |
||
да |
меньше |
нет |
полуночи? |
||
смотрю TV |
||
конец |
начало |
||
да |
условие |
нет |
тело цикла |
||
конец |