Хелпикс

Главная

Контакты

Случайная статья





Практическая работа №8. Студент должен



  Практическая работа №8

Тема: Построение и разработка алгоритмов.

Цель работы: усвоить понятия алгоритма, как фундаментальное понятие информатики, способы описания, основные типы алгоритмов, освоить принципы решения задач с использованием основных алгоритмических конструкций.

Студент должен

знать:

определение алгоритма и основные конструкции алгоритмов;

уметь:

принципы решения задач с использованием основных алгоритмических конструкций.

Теоретическое обоснование.

 

Понятие алгоритма - фундаментальное понятие. Слово "алгоритм" происходит от имени выдающегося математика средневекового Востока Мухаммеда аль-Хорезми. Им были предложены приёмы выполнения арифметических вычислений с многозначными числами. Позже в Европе эти приёмы назвали алгоритмами от латинского написания имени аль-Хорезми. В наше время понятие алгоритма понимается шире, не ограничиваясь только арифметическими вычислениями.

 Термин "алгоритм" стал достаточно распространённым не только в информатике, но и в быту. Под алгоритмом понимают описание какой-либо последовательности действий для достижения заданной цели. В этом смысле, например, алгоритмами можно назвать инструкцию по использованию кухонного комбайна, кулинарный рецепт, правила перехода улицы и пр.

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

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

Алгоритм – это:

· точное и полное описание метода решения задачи, составленное из инструкций;

· совокупность правил, определяющих эффективную процедуру решения любой задачи;

· точное предписание, определяющее последовательность действий, обеспечивающих получение требуемого результата из исходных данных;

· набор инструкций, описывающих порядок действия исполнителя для достижения результата решения задачи за конечное число действий.

 

Алгоритм можно представить с помощью:

1. графического описания (блок-схемы);

2. словесного описания;

3. в виде таблицы;

4. последовательности формул;

5. алгоритмического языка.

 

В настоящее время четко определен перечень свойств алгоритма:

1. дискретность – свойство, отражающее упорядоченность четко разделенных друг от друга предписаний, образующих прерывистую структуру.

2. понятность – свойство, отражающее ориентацию составления алгоритма на исполнителя;

3. определенность – свойство, заключающееся в том, чтобы инструкции были просты, понятны и однозначны для любого выполняющего алгоритм;

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

5. массовость – свойство, заключающееся в том, что алгоритм решает класс задач, различающихся только исходными данными, а не одну конкретную задачу.

 

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

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

 

Данный блок имеет один вход и один выход. Из простых команд и проверки условий образуются составные команды, имеющие более сложную структуру и тоже один вход и один выход. Структурный подход к разработке алгоритмов определяет использование только базовых алгоритмических структур (конструкций): следование, ветвление, повторение, которые должны быть оформлены стандартным образом.
Рассмотрим основные структуры алгоритма. Команда следования состоит только из простых команд. На рисунке простые команды имеют условное обозначение S1 и S2. Из команд следования образуются линейные алгоритмы. Примером линейного алгоритма будет нахождение суммы двух чисел, введенных с клавиатуры.
Команда ветвления - это составная команда алгоритма, в которой в зависимости от условия Р выполняется или одно S1, или другое S2 действие. Из команд следования и команд ветвления составляются разветвляющиеся алгоритмы (алгоритмы ветвления). Примером разветвляющегося алгоритма будет нахождение большего из двух чисел, введенных с клавиатуры.
Команда ветвления может быть полной и неполной формы. Неполная форма команды ветвления используется тогда, когда необходимо выполнять действие S только в случае соблюдения условия P. Если условие P не соблюдается, то команда ветвления завершает свою работу без выполнения действия. Примером команды ветвления неполной формы будет уменьшение в два раза только четного числа.
Команда повторения - это составная команда алгоритма, в которой в зависимости от условия Р возможно многократное выполнение действия S. Из команд следования и команд повторения составляются циклические алгоритмы (алгоритмы повторения). На рисунке представлена команда повторения с предусловием. Называется она так потому, что вначале проверяется условие, а уже затем выполняется действие. Причем действие выполняется, пока условие соблюдается. Пример циклического алгоритма может быть следующий. Пока с клавиатуры вводятся положительные числа, алгоритм выполняет нахождение их суммы. Команда повторения с предусловием не является единственно возможной. Разновидностью команды повторения с предусловием является команда повторения с параметром. Она используется тогда, когда известно количество повторений действия. В блок-схеме команды повторения с параметром условие записывается не в ромбе, а в шестиугольнике. Примером циклического алгоритма с параметром будет нахождение суммы первых 20 натуральных чисел.
В команде повторения с постусловием вначале выполняется действие S и лишь затем, проверяется условие P. Причем действие повторяется до тех пор, пока условие не соблюдается. Примером команды повторения с постусловием будет уменьшение положительного числа до тех пор, пока оно неотрицательное. Как только число становится отрицательным, команда повторения заканчивает свою работу. С помощью соединения только этих элементарных конструкций (последовательно или вложением) можно "собрать" алгоритм любой степени сложности.

 

1. Линейный алгоритм – это такой алгоритм, в котором все операции выполняются последовательно одна за другой.

2. Алгоритмы разветвленной структуры применяются, когда в зависимости от некоторого условия необходимо выполнить либо одно, либо другое действие.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.