Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
67
Добавлен:
12.04.2015
Размер:
509.95 Кб
Скачать

Задача 1: «Волк, коза и капуста»:

Крестьянину нужно перевезти через реку волка, козу и капусту. Но лодка такова, что в ней может поместиться только крестьянин, а с ним или волк, или коза, или капуста. Но если оставить волка с козой, то волк съест козу, а если оставить козу с капустой, то коза съест капусту. Как перевез свой груз крестьянин?”

Словесный способ алгоритма решения задачи 1:

  • перевезти козу

  • вернуться к волку и капусте

  • перевезти волка к козе

  • перевезти козу к капусте

  • перевезти капусту к волку

  • вернуться

  • перевезти козу

Словесный способ не имеет широкого распространения в информатике:

  • такие описания строго не формализуемы;

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

  • допускают неоднозначность толкования отдельных предписаний.

Словесно-формульный способ записи алгоритмов использует ограниченный набор слов и математические формулы. Алгоритм разбивается на шаги, т.е. структурируется. Его часто называют структурированным или пошаговым.

Рассмотрим этот способ записи алгоритма на примере нахождения действительных корней полного квадратного уравнения:

Задача 2. Решить квадратное уравнение: a·x2 +b·x + c = 0.

Исходными данными для алгоритма являются коэффициенты a, b, с. Причем a≠0 и b≠0. Результат: два или ни одного действительных корней.

Словесно-формульный способ записи задачи 2:

1) Задать (численные значения коэффициентов) a, b, c.

2) Вычислить (дискриминант): .

3) Если D≥0, то вычислить (действительные корни по формулам)

Иначе «Записать ответ: нет действительных корней».

4) Закончить решение.

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

Одним из его недостатков является то, что для сложных задач трудно увидеть структуру алгоритма (нет наглядности). Этот недостаток преодолен в графическом (блок-схемном) способе описания алгоритма. Рассмотрим его.

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

Блок схемы читаются сверху вниз и слева направо. Блок-схемы полезны тем, что обеспечивают легкую «читаемость» алгоритма. Они, как и любые схемы, наглядны.

Однако это не всегда так: стоит попытаться нарисовать блок-схему для более-менее сложного алгоритма, как она разрастается до невероятных размеров и теряет все свое наглядное преимущество. Поэтому блок-схемы хороши в структурном программировании для описания коротких алгоритмов. Язык блок-схем прост (хотя существуют его расширенные варианты):

Элемент

блок-схемы

Наименование

Содержание

Блок вычислений (вычислительный блок)

Вычислительные действия или последовательность действий

Логический блок (блок условия)

Выбор направления выполнения алгоритма в зависимости от некоторого условия

Блок ввода-вывода данных

Общее обозначения ввода (вывода) данных (вне зависимости от физического носителя)

Начало (конец)

Начало или конец алгоритма, вход или выход в подпрограмме

Процесс пользователя (подпрограмма)

Вычисление по стандартной программе или подпрограмме

Блок модификации

Функция выполняет действия, изменяющие пункты (например, заголовок цикла) алгоритма

Безусловный переход

Переход к следующему блоку

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

Соседние файлы в папке Лекции_фортран_текст