Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Понятие алгоритма

ные
). Самый простой пример: учитель дает задание – умножить 6 на 3 и результат
написать на доске. Здесь числа 6 и 3 – входные данные, операция умножения –
алгоритм, результат умножения – выходные данные:
                                            [pic]
Вывод : решение математических задач – частный случай преобразования
информации. Компьютер ( по-английски означает вычислитель, на русском языке
– ЭВМ, электронная вычислительная машина ) был создан как раз для
выполнения математических расчетов.
Рассмотрим следующую задачу.
Длина класса 7 метров, ширина – 5 метров, высота – 3 метра. В классе 25
учеников. Сколько кв. м площади и сколько куб. м воздуха приходится на
одного ученика ?
   Решение задачи:
   1. Вычислить площадь класса :
   7 х 5 = 35
   2. Вычислить объем класса :
   35 х 3 = 105
   3. Вычислить, сколько квадратных метров площади приходится на одного
   ученика :
   35 : 25 = 1,4
   4. Вычислить, сколько куб. метров воздуха приходится на одного ученика :
   105 : 25 = 4,2

   Ответ : на одного ученика приходится 1,4 кв. метров площади и 4,2 куб.
   метров воздуха.
Если теперь убрать вычисления и оставить только “действия”, то получим
алгоритм – перечень операций, которые необходимо выполнить, чтобы решить
данную задачу.
Получается, что при решении любой математической задачи мы составляем
алгоритм решения. Но прежде мы сами и выполняли этот алгоритм, то есть
доводили решение до ответа. Теперь же мы будем только писать, что нужно
сделать, но вычисления проводит не будем. Вычислять будет компьютер. Наш
алгоритм будет представлять собой набор указаний ( команд ) компьютеру.
Когда мы вычисляем какую-либо величину, мы записываем результат на бумаге.
Компьютер записывает результат своей работы в память в виде переменной.
Поэтому каждая команда алгоритма должна включать указание, в какую
переменную записывается результат. Алгоритм решения нашей задачи будет
выглядеть так :
   1. Вычислить площадь класса и записать в переменную S.
   2. Вычислить объем класса и записать в переменную V.
   3. Вычислить, сколько квадратных метров площади приходится на одного
   ученика и записать в переменную S1.
   4. Вычислить, сколько куб. метров воздуха приходится на одного ученика и
   записать в переменную V1.
   5. Вывести на экран значения переменных S1 и V1.
Теперь остается только перевести команды алгоритма с русского языка на
язык, понятный компьютеру, и получится программа. Программирование – это
есть перевод алгоритма с “человеческого” языка на “компьютерный” язык.
Трактовка работы алгоритма как преобразования входных данных в выходные
естественным образом подводит нас к рассмотрению понятия “постановка
задачи”. Для того, чтобы составить алгоритм решения задачи, необходимо из
условия выделить те величины, которые будут входными данными и четко
сформулировать, какие именно величины требуется найти. Другими словами,
условие задачи требуется сформулировать в виде “Дано ... Требуется” – это и
есть постановка задачи.
      Алгоритм применительно к вычислительной машине – точное предписание,
т.е. набор операций и правил их чередования, при помощи которого, начиная с
некоторых исходных данных, можно решить любую задачу фиксированного типа.
Виды алгоритмов как логико-математических средств отражают указанные
компоненты человеческой деятельности и тенденции, а сами алгоритмы в
зависимости от цели, начальных условий задачи, путей ее решения,
определения действий исполнителя подразделяются следующим образом:
 . Механические алгоритмы, или иначе детерминированные, жесткие (например
   алгоритм работы машины, двигателя и т.п.);
 . Гибкие алгоритмы, например стохастические, т.е. вероятностные и
   эвристические.
Механический алгоритм задает определенные действия, обозначая их в
единственной и достоверной последовательности, обеспечивая тем самым
однозначный требуемый или искомый результат, если выполняются те условия
процесса, задачи, для которых разработан алгоритм.
Вероятностный (стохастический) алгоритм дает программу решения задачи
несколькими путями или способами, приводящими к вероятному достижению
результата.
Эвристический алгоритм  (от греческого слова “эврика”) – это такой
алгоритм, в котором достижение конечного результата программы действий
однозначно не предопределено, так же как не обозначена вся
последовательность действий, не выявлены все действия исполнителя. К
эвристическим алгоритмам относят, например, инструкции и предписания. В
этих алгоритмах используются универсальные логические процедуры и способы
принятия решений, основанные на аналогиях, ассоцияциях и прошлом опыте
решения схожих задач.
Линейный алгоритм – набор команд (указаний), выполняемых последовательно во
времени друг за другом.
Разветвляющийся алгоритм – алгоритм, содержащий хотя бы одно условие, в
результате проверки которого ЭВМ обеспечивает переход на один из двух
возможных шагов.
Циклический алгоритм – алгоритм, предусматривающий многократное повторение
одного и того же действия (одних и тех же операций) над новыми исходными
данными. К циклическим алгоритмам сводится большинство методов вычислений,
перебора вариантов.
Цикл программы – последовательность команд (серия, тело цикла), которая
может выполняться многократно (для новых исходных данных) до удовлетворения
некоторого условия.
На рисунке продемонстрированы в условных обозначениях схемы основных
конструкций алгоритмов:
а). линейного алгоритма;
б,в,г). разветвляющихся алгоритмов (б-ответвление, в-раздвоение, г-
переключение);
д,е,ж). циклических алгоритмов (д,ж-проверка в начале цикла, е-проверка в
конце цикла).
Вспомогательный (подчиненный) алгоритм (процедура) – алгоритм, ранее
разработанный и целиком используемый при алгоритмизации конкретной задачи.
В некоторых случаях при наличии одинаковых последовательностей указаний
(команд) для различных данных с целью сокращения записи также выделяют
вспомогательный алгоритм.
На всех этапах подготовки к алгоритмизации задачи широко используется
структурное представление алгоритма.
Структурная (блок-, граф-) схема алгоритма – графическое изображение
алгоритма в виде схемы связанных между собой с помощью стрелок (линий
перехода) блоков – графических символов, каждый из которых соответствует
одному шагу алгоритма. Внутри блока дается описание соответствующего
действия.
Графическое изображение алгоритма широко используется перед
программированием задачи вследствие его наглядности, т.к. зрительное
восприятие обычно облегчает процесс написания программы, ее корректировки
при возможных ошибках, осмысливание процесса обработки информации.
Можно встретить даже такое утверждение: “Внешне алгоритм представляет собой
схему – набор прямоугольников и других символов, внутри которых
записывается, что вычисляется, что вводится в машину и что выдается на
печать и другие средства отображения информации “. Здесь форма
представления алгоритма смешивается с самим алгоритмом.
Принцип программирования “сверху вниз” требует, чтобы блок-схема поэтапно
конкретизировалась и каждый блок “расписывался” до элементарных операций.
Но такой подход можно осуществить при решении несложных задач. При решении
сколько-нибудь серьезной задачи блок-схема “расползется” до такой степени,
что ее невозможно будет охватить одним взглядом.
Блок-схемы алгоритмов удобно использовать для объяснения работы уже
готового алгоритма, при этом в качестве блоков берутся действительно блоки
алгоритма, работа которых не требует пояснений. Блок-схема алгоритма должна
служить для упрощения изображения алгоритма, а не для усложнения.
При решении задач на компьютере необходимо не столько умение составлять
алгоритмы, сколько знание методов решения задач ( как и вообще в математике
) . Поэтому изучать нужно не программирование как таковое ( и не
алгоритмизацию ), а методы решения математических задач на компьютере.
Задачи следует классифицировать не по типам данных, как это обычно делается
(задачи на массивы, на символьные переменные и т. д. ), а по разделу
“Требуется”.
В информатике процесс решения задачи распределяется между двумя субъектами
: программистом и компьютером. Программист составляет алгоритм ( программу
), компьютер его исполняет. В традиционной математике такого разделения нет
, задачу решает один человек, который составляет алгоритм решения задачи и
сам выполняет его. Сущность алгоритмизации не в том, что решение задачи
представляется в виде набора элементарных операций, а в том, что процесс
решения задачи разбивается на два этапа : творческий ( программирование ) и
не творческий ( выполнение программы ). И выполняют эти этапы разные
субъекты – программист и исполнитель
В учебниках по информатике обычно пишут, что исполнителем алгоритма может
быть и человек. На самом деле алгоритмы для людей никто не составляет ( не
будем забывать, что не всякий набор дискретных операций является алгоритмом
). Человек в принципе не может действовать по алгоритму. Выполнение
алгоритма – это автоматическое, бездумное выполнение операций. Человек
всегда действует осмысленно. Для того, чтобы человек мог выполнять какой-то
набор операций, ему нужно объяснить, как это делается. Любую работу человек
сможет выполнять только тогда, когда он понимает, как она выполняется.
Вот в этом – “ объяснение и понимание” – и кроется различие между понятиями
“алгоритм” и “способ”, “метод”, “правило”. Правила выполнения
арифметических операций – это именно правила ( или способы ), а не
алгоритмы. Конечно, эти правила можно изложить в виде алгоритмов, но толку
от этого не будет. Для того, чтобы человек смог считать по правилам
ари
123
скачать работу

Понятие алгоритма

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ