Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты зачёт.docx
Скачиваний:
15
Добавлен:
22.07.2019
Размер:
169.03 Кб
Скачать

7. Анализ результатов решения задачи.

Здесь анализируются результаты решения задачи и в случае необходи­мости осуществляется повторное выполнение этапов 2 - 5.

Пятый (заключительный) этап - подготовка к внедрению и сопровож­дение проекта.

26. Понятие алгоритма (свойства алгоритма)

Термин «алгоритм» (Algorithm) происходит от латинской формы напи­сания имени великого математика и астронома, автора персидского учебника по математике Абу Джафара ибн Мусы аль-Хорезми (уроженца Хорезма), жившего в IX в. и сформулировавшего правила выполнения арифметических действий.

Алгоритм является одним из фундаментальных понятий в математике и программировании. В широком смысле алгоритм означает заранее заданное и точное предписание возможному исполнителю последовательности действий над заданным объектом, приводящее к достижению указанной цели за ко­нечное число шагов.

Чтобы создать программу для компьютера, недостаточно знания только языка программирования. Надо сконструировать программу, разбить ее на определенные блоки и выстроить эти блоки один за другим в соответствии с заранее заданным порядком действий (этот порядок и называется алгорит­мом программы). Алгоритм должен быть составлен таким образом, чтобы исполнитель, в расчете на которого он создан, мог однозначно и точно сле­довать командам алгоритма и эффективно получать определенный результат. Это накладывает на записи алгоритмов ряд обязательных требований. Сфор­мулируем эти требования в виде перечня свойств, которым должны удовле­творять алгоритмы, адресуемые заданному исполнителю.

СВОЙСТВА.

Итак: дискретность (упорядоченность) означает, что все действия исполни­теля (компьютера) в алгоритме должны быть выстроены в четком, раз и на­всегда определенном порядке через отдельные шаги.

Итак: понятность алгоритма заключается в том, что каждый шаг ал­горитма обязательно представляет собой какое-либо допустимое действие исполнителя, т.е. алгоритм состоит только из предписаний, входящих в сис­тему команд данного исполнителя.

Итак: детерминированность (определенность) имеет ввиду следующее - каждое правило должно быть однозначным, т.е. на каж­дом шаге однозначно определен способ действий.

Итак: результативность подразумевает, что каждый шаг (и алгоритм в целом) после своего заверше­ния дает однозначно определенный результат.

Итак: массовость означает, что алгоритм должен быть как можно более уни­версальным, подходящим для решения разных типов задач.

Алгоритм должен быть по возможности простым и выполняться с ми­нимальными затратами машинного времени и оборудования. Это свойство называют эффективностью. Алгоритм должен быть выполнен не просто за конечное число операций, а за разумное конечное время

27. Проектирование алгоритмов и основные их типы

Способ записи алгоритма должен соответствовать следующим требова­ниям:

  • обеспечивать компактность и наглядность;

  • быть понятным широкому кругу лиц;

  • содержать строгие правила записи алгоритма;

  • обеспечивать простой и формальный перевод на языки программирова­ния.

Алгоритм, составленный для некоторого исполнителя, можно предста­вить разными способами: с помощью словесного описания формульно-словесного , на алгоритмическом языке , с помощью графики.Выделим графическое описание алгоритма, который называется блок-схемой

Прежде всего определим понятие блок-схемы. В ней каждому типу дей­ствий

соответствует геометрическая фигура, представленная в виде блочного сим­вола

Блок-схема - это ориентированный граф, ука­зывающий порядок исполнения команд алгоритма; вершины такого графа могут быть одного из трех типов

Н а рисунке изображены «функциональная» (a) вершина, имеющая один вход и один выход; «предикатная» (б) вершина, имеющая один вход и два выхода. В этом случае функция Р передает управление по одной из вет­вей в зависимости от значения Р (Т, т.е. true, означает «истина», F, т.е. false - «ложь»); «объединяющая» (в) вершина (вершина «слияния»), обеспе­чивающая передачу управления от одного из двух входов к выходу.

Линейный алгоритм – описывает последовательный порядок действий, где каждая операция является самостоятельной, независимой от каких-либо условий (независимо от значений первичных и промежуточных данных). Отображение алгоритма блок-схемой представляет линейную последова­тельность блоков, которые располагаются сверху вниз в порядке их выпол­нения.

Ветвящийся алгоритм - ход решения задачи определяется в зависи­мости от условия (переход и ветвление).

Да Проверка Нет

условия

Циклический алгоритм – описывает повторяющиеся действия.