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

Реферат

Слово «Алгоритм» происходит от algorithmi — латинского написания имени аль-Хорезми, под которым в средневековой Европе знали величайшего математика из Хорезма (город в современном Узбекистане) Мухаммеда бен Мусу, жившего в 783-850 гг. В своей книге «Об индийском счете» он сформулировал правила записи натуральных чисел арабскими цифрами и правила манипулирования ими в столбце. В дальнейшем алгоритмом стали называть точное предписание, определяющее последовательность действий, обеспечивающую получение требуемого результата из исходных данных. Алгоритм может быть разработан для выполнения человеком или автоматически.Создание алгоритма, даже самого простого, — творческий процесс. он доступен исключительно живым существам и долгое время считалось, что это только один человек. Другое дело — реализация уже имеющегося алгоритма. Его можно поручить субъекту или объекту, который не обязан углублять суть вопроса, а может быть, не способен его понять. Такой субъект или объект принято называть формальным исполнителем. Примером формального исполнителя является автоматическая стиральная машина, которая строго следует своим предписанным действиям, даже если вы забыли положить в нее порошок. Человек тоже может выступать в роли формального исполнителя, но в первую очередь формальные исполнители — это различная автоматика, в том числе компьютеры. Каждый алгоритм создается с учетом конкретного исполнителя. Те действия, которые может совершать исполнитель, называются его его допустимыми действиями . Совокупность допустимых действий образует систему команд исполнителя. Алгоритм должен содержать только те действия, которые разрешены для данного исполнителя.

среду исполнителя.

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

Такими свойствами являются:

  • Дискретность (прерывность, раздельность) — алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов. Каждое действие, предусмотренное алгоритмом, выполняется только после завершения выполнения предыдущего.

  • Определенность — каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола. Благодаря этому свойству выполнение алгоритма носит механический характер и не требует дополнительных инструкций или информации о решаемой проблеме.

    17 стр., 8351 слов

    Этикет в одежде для деловых женщин. этикет деловой женщины. Правила ...

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

  • Результативность (конечность) — алгоритм должен приводить к решению задачи за конечное число шагов.

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

На основании этих свойств иногда дается определение алгоритма, например: “Алгоритм – это последовательность математических, логических или вместе взятых операций, отличающихся детерменированностью, массовостью, направленностью и приводящая к решению всех задач данного класса за конечное число шагов.” Такая трактовка понятия “алгоритм” является неполной и неточной. Во-первых, неверно связывать алгоритм с решением какой-либо задачи. Алгоритм вообще может не решать никакой задачи. Во-вторых, понятие «массовость» относится не к алгоритмам как таковым, а к математическим методам в целом. Решение поставленных практикой задач математическими методами основано на абстрагировании – мы выделяем ряд существенных признаков, характерных для некоторого круга явлений, основании этих признаков математическую модель, отбрасывая несущественные признаки каждого конкретного явления. В этом смысле любая математическая модель обладает свойством массовости. Если в рамках модели мы решаем проблему и представляем решение в виде алгоритма, решение будет «массивным» из-за природы математических методов, а не из-за «массивности» алгоритма.

Разъясняя понятие алгоритма, часто приводят примеры “бытовых алгоритмов”: вскипятить воду, открыть дверь ключом, перейти улицу и т. д.. : рецепты приготовления какого-либо лекарства или кулинарные рецепты являются алгоритмами. Но чтобы приготовить лекарство по рецепту, нужно знать фармакологию, а чтобы приготовить блюдо по рецепту, нужно уметь готовить. Между тем выполнение алгоритма — это автоматическое и безрассудное выполнение инструкций, которое, в принципе, не требует каких-либо знаний. Если бы кулинарные рецепты были алгоритмами, у нас просто не было бы такой специальности: шеф-повара.

Правила выполнения арифметических или геометрических операций — это алгоритмы. В то же время остается без ответа вопрос, в чем разница между понятием «алгоритм» и такими понятиями, как «метод», «метод», «правило”. Можно даже утверждение, что слова “алгоритм”, “способ”, “правило” выражают одно и то же ( т.е. являются синонимами ), хотя такое утверждение, очевидно, противоречит “свойствам алгоритма”.

Само выражение “свойства алгоритма” некорректно. Свойствами обладают объективно существующие реальности. Можно говорить, например, о свойствах какого-либо вещества. Алгоритм — это искусственный, который мы создаем для достижения наших целей. Чтобы алгоритм достиг своей цели, ему нужны определенные правила. Таким образом, мы должны говорить не о свойствах алгоритма, а о правилах алгоритма или требованиях к алгоритму.

3 стр., 1351 слов

Графическое изображение статистических данных

... аномалиям и отклонениям, показанным в статистических данных. Но графическое представление статистических данных является не только средством иллюстрации статистических данных и контроля их правильности ... программных комплексов для обработки статистических данных на персональных компьютерах. Основная продукция статистики — это обобщающие статистические показатели, такие, как численность населения ...

Первое правило

Это правило позволяет сразу отделить алгоритмы от “методов” и “способов”. Пока мы не имеем формализованных входных данных, мы не можем алгоритм.

Второе правило

В школьной “теории алгоритмов” эти два правила не рассматриваются. В то же время практическая работа с алгоритмами ( программирование ) начинается именно с реализации этих правил. В языках программирования распределение памяти осуществляется декларативными операторами ( операторами описания переменных ).

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

Третье правило, Четвертое правило, Пятое правило

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

Любая работа на компьютере – это есть обработка информации. Работу компьютера можно схематически изобразить образом:

Третье правило 1

“Информация” слева и “информация” справа – это разные информации. Компьютер воспринимает информацию извне и в результате своей работы излучает новую информацию. Информация, с которой работает компьютер, носит название “данные”.

Компьютер преобразует информацию по определенным правилам. Эти правила (операции, команды ) заранее занесены в память компьютера. В совокупности эти правила преобразования информации называются алгоритмом. Данные, которые поступают в компьютер, называются входными данными. Результат работы компьютера – выходные данные. Таким образом, алгоритм преобразует входные данные в выходные:

Третье правило 2

Теперь можно задать вопрос: может ли человек обрабатывать информацию? Конечно, может. В качестве примера можно привести обычный школьный урок: учитель задает вопрос ( входные данные ), ученик отвечает ( выходные данные ).

Самый простой пример: учитель ставит задачу: умножить 6 на 3 и записать результат на доске. Здесь числа 6 и 3 – входные данные, операция умножения – алгоритм, результат умножения – выходные данные:

Третье правило 3

Вывод: Решение математических задач — это частный случай преобразования информации. Компьютер ( по-английски означает вычислитель, на русском языке – ЭВМ, электронная вычислительная машина ) был создан как раз для выполнения математических расчетов.

Рассмотрим задачу.

Длина класса 7 метров, ширина – 5 метров, высота – 3 метра. В классе 25 учеников. Сколько кв. м площади и сколько куб. м воздуха приходится на одного ученика ?

5 стр., 2445 слов

Типология (классификация) управленческих решений

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

Решение задачи:

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.

Теперь остается только перевести команды алгоритма с русского на понятный компьютеру язык, и вы получите программу. Программирование — это перевод алгоритма с «человеческого» языка на «компьютерный.

Интерпретация того, как работает алгоритм, как преобразование входных данных в выходные данные естественным образом приводит нас к рассмотрению концепции «постановки задачи”. Чтобы составить алгоритм решения задачи, необходимо выбрать из условия те количества, которые будут входными данными, и четко сформулировать, какие количества нужно найти. Другими словами, условие задачи требуется сформулировать в виде “Дано … Требуется” – это и есть постановка задачи.

Алгоритм применительно к вычислительной машине

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

  • Механические алгоритмы , или иначе детерминированные, жесткие (например алгоритм работы машины, двигателя и т.п.);

  • Гибкие алгоритмы , например стохастические, т.е. вероятностные и эвристические.

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

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

    6 стр., 2929 слов

    Трудовая деятельность человека

    ... связанная с решением задач по известным алгоритмам. Творческая деятельность, требующая решения сложных задач при отсутствии очевидного алгоритма решения, должна быть отнесена к напряженному труду 2-й степени (29, "https:// "). Особенности трудовой деятельности женщин и ...

  • Эвристический алгоритм (от греческого слова “эврика”) – это такой алгоритм, в котором достижение конечного результата программы действий однозначно не предопределено, так же как не обозначена вся последовательность действий, не выявлены все действия исполнителя. К эвристическим алгоритмам относят, например, и предписания. В этих алгоритмах используются универсальные логические процедуры и методы принятия решений, основанные на аналогиях, ассоциациях и прошлом опыте решения аналогичных задач.

  • Разветвляющийся алгоритм – алгоритм, содержащий хотя бы одно условие, в результате проверки которого ЭВМ обеспечивает переход на один из двух возможных шагов.

  • Циклический алгоритм – алгоритм, предусматривающий многократное повторение одного и того же действия (одних и тех же операций) над новыми исходными данными. Большинство методов расчета, перечисление вариантов сводятся к циклическим алгоритмам.

Цикл программы

На рисунке продемонстрированы в условных обозначениях схемы основных алгоритмов:

  • а).

    линейного алгоритма;

  • б,в,г).

разветвляющихся алгоритмов (б-ответвление, в-раздвоение, г-переключение);

  • д,е,ж).

    циклических алгоритмов (д,ж-проверка в начале цикла, е-проверка в конце цикла).

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

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

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

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

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

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

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

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

5 стр., 2370 слов

Систематический анализ и постановка нечеткой задачи, как объекта ...

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

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

И выполняют эти этапы разные субъекты – программист и исполнитель

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

Человек в принципе не может действовать по алгоритму. Выполнение алгоритма — это автоматическое и безрассудное выполнение операций. Человек всегда действует осмысленно. Чтобы человек мог выполнять определенный набор операций, необходимо объяснить, как это выполняется. Человек может выполнять любую работу только тогда, когда он понимает, как это делается.

именно в этом — «объяснение и понимание» — и заключается разница между понятиями «алгоритм» и «метод», «метод», «правило”. Правила выполнения арифметических операций – это именно правила ( или способы ), а не алгоритмы. Конечно, эти правила можно выразить в виде алгоритмов, но это не имеет смысла. Чтобы человек мог считать по правилам арифметики, его нужно научить. А если есть процесс обучения, то мы имеем дело не с алгоритмом, а с методом.

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

Очень ярко эта особенность человеческой психологии – неалгоритмичность мышления – проявилась в методичесом пособии А. Г. Гейна и В. Ф. Шолоховича. В пособии излагаются решения задач из известного учебника. Решения задач должны быть представлены в виде алгоритмов. Однако авторы руководства понимают, что если вы напишете только один алгоритм для решения проблемы, будет сложно понять само решение. Поэтому они сначала приводят “нечеткое изложение алгоритма” ( т. е. объясняют решение задачи ), а затем пишут сам алгоритм.

Л И Т Е Р А Т У Р А

1. Нестеренко А. В. ЭВМ и профессия программиста.

31 стр., 15460 слов

Разработка управленческого решения на основе метода мозгового штурма

... проблема методом «мозгового штурма». Цель моего курса - проанализировать теоретические положения и методологические основы применения метода «мозгового штурма» в процессе принятия решений для достижения целей организации. мозговой штурм управленческое решение 1. ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРИНЯТИЯ УПРАВЛЕНЧЕСКОГО РЕШЕНИЯ 1.1 Понятие принятия управленческого решения Решение ...

М., Просвещение, 1990.

2. Брудно А. Л., Каплан Л. И. Московские олимпиады по программированию.

М., Наука, 1990.

3. Кузнецов О. П., Адельсон-Вельский Г. М. Дискретная математика для инженера.

М., Энергоатомиздат, 1988.

4. Гейн А.Г. и др.. Основы информатики и вычислительной техники.

М., Просвещение, 1994.

5. Информатика. Еженедельное приложение к газете “Первое сентября”. 1998, № 1.

6. Радченко Н. П. Ответы на вопросы выпускных экзаменов. – Инфоматика и

образование, 1997, №4.

7. Касаткин В.Н. Информация, алгоритмы, ЭВМ. М., Просвещение, 1991.

8. Каныгин Ю. М., Зотов Б. И. Что такое информатика ?

М., Детская литература, 1989.

[Электронный ресурс]//URL: https://management.econlib.ru/referat/na-temu-algoritm-kak-model-deyatelnosti/

9. Гейн А. Г., Шолохович В.Ф. Преподавание курса «Основы информатики и вычислительной техники» в средней школе. Руководство для учителя.

Екатеринбург, 1992.

10. Извозчиков В.А. Информатика в понятиях и терминах.

11. Газета «Информатика», №35, 1997г.

12. Л.З. Шауцуков Основы информатики в вопросах и ответах.

Автор : Богашова Татьяна, Донец Сергей (КПИ,ФАКС) г.Киев, 1999г.

Оценка :отл.

Сдавался: ПТУ №34

E-Mail :[email protected]

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