Какие свойства у алгоритма

Какие свойства у алгоритма thumbnail

I. Дискретность

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

II. Определённость

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

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

Формальному исполнителю здесь неясно, требуется ли трясти смесь, пока она вся не станет комом, и какой всё-таки величины кастрюля. Большая или маленькая? И до какой температуры надо подогреть коньяк. Так что такой алгоритм любому исполнителю выполнить довольно трудно, практически невозможно. Можно сказать, что в алгоритме не должны присутствовать не определённые слова: немного, чуть-чуть, слегка и т. д.

III. Результативность

Третье свойство — результативность алгоритма. Это свойство подразумевает, что каждый шаг (и алгоритм в целом) после своего завершения даёт среду, в которой все имеющиеся объекты однозначно определены. Если это по каким — либо причинам невозможно, то алгоритм должен сообщать, что решение задачи не существует.

К примеру, в инструкции по применению лекарства от кашля сказано:
Если врач не прописал, то принимать 3-4 раза в день по 15-20 капель, лучше всего в горячей сладкой воде.
Здесь не определено, например, когда должен заканчиваться алгоритм — когда кашель пройдет или когда лекарство закончиться. Свойство результативности обычно подразумевает конечность алгоритма, т. е. завершение его работы за конечное число шагов (при этом количество шагов может быть заранее не известным и различным для разных исходных данных) .

IV. Понятность

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

V. Массовость

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

Источник

Виды алгоритмов и способы их описания.

Различают следующие виды алгоритмов:

линейный – список команд (указаний), выполняемых последовательно друг за другом;

Какие свойства у алгоритма

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

Какие свойства у алгоритма

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

Какие свойства у алгоритма

Любая алгоритмическая конструкция может содержать в себе другую конструкцию того же или иного вида, т. е. алгоритмические конструкции могут быть вложенными.Рассмотрим следующие способы описания алгоритма:  словесное описание, псевдокод, блок-схема, программа.

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

Читайте также:  Какими свойствами обладает молекула воды

Например:

Алгоритм «Погода».

Начало

1. определить температуру воздуха

2. если температура ниже 0, то надеть шубу, иначе надеть куртку

Конец.

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

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

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

Например:

Какие свойства у алгоритма

Программа — описание структуры алгоритма на языке  алгоритмического программирования.

Например:

program E3;

uses crt;

var t: real;

begin

clrscr;

writeln(‘введите температуру воздуха t=‘);

readln(t);

if  t < 0 then writeln(‘одеть шубу’) else writeln(‘одеть куртку’);

end.

Источник

Информационные технологии решения задач. Структуры алгоритмов

Способы описания алгоритмов. Правила выполнения блок-схем

Понятие алгоритма. Свойства. Основные характеристики

ФАЙЛЫ И ФАЙЛОВАЯ СТРУКТУРА

Табл. 2

Десятичное число Двоичное число Байт
0000 0001

1 Мбайт = 1024 Кбайт = 1020 байт

1 Гбайт = 1024 Мбайт = 1030 байт

1 Тбайт = 1024 Гбайт = 1040 байт

Текст.doc –Word

Диаграмма.xls –Excel

*.dbf –Access

*.pas – программа Паскаль и т.д.

Пример записи полного имени файла в общем виде:

<имя носителя><имя каталога-1>…<имя каталога-М><собственное имя файла>

С:АВТОМАТИЧЕСКИЕ АППАРАТЫВЕНЕРААТМОСФЕРА Результаты

С:РАДИОЛОКАЦИЯВЕНЕРАРЕЛЬЕФРезультаты

[1] Данные — диалектическая составная часть информации. Они представляют собой зарегистрированные сигналы. При этом физический метод регистрации может быть любым: механическое перемещение физических тел, изменение их формы или параметров качества поверхности, изменение электрических, магнитных, оптических характеристик, химического состава и (или) характера химических связей, изменение состояния электронной системы и многое другое.

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

Алгоритмизация задачи — процесс разработки (проектирования) алгоритма решения задачи с помощью ПК на основе ее условия и требований к конечно­му результату.

Свойства алгоритмов:

— понятность;

— дискретность;

— определенность;

— результативность;

— массовость.

Основные характеристики:

— временные;

— объемные.

Исполнитель алгоритма –человек или устройство (в частности, процессор ЭВМ), умеющие выполнять определённый набор действий.

Такой набор действий система команд исполнителя.

2.2. СПОСОБЫ ОПИСАНИЯ АЛГОРИТМОВ.

ПРАВИЛА ВЫПОЛНЕНИЯ БЛОК-СХЕМ

Способы описания алгоритмов:

— словесный;

— графический (по ГОСТ 19.701-90 «Единая система программной документации»/ИСО 5807-85);

— псевдокоды;

— программный.

— табличный (используется на практике).

Табл. 1. Наиболее часто употребляемые символы

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

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

Символ «Решение» используется для обозначения переходов управления по условию. В каждом блоке решения должны быть указаны вопрос, реше­ние, условие или сравнение, которые он определяет.

Стрелки, выходящие из блока решения, должны быть помечены соответст­вующими ответами (например, ДА, НЕТ), так чтобы были учтены все возмож­ные ответы.

Символ «Модификация»используется для выполнения операций, ме­няющих команды или группы команд, изменяющих программу (например, для организации циклических конструкций). Внутри блока записывается параметр цикла, для которого указываются его начальное значение, граничное условие и правило изменения значения параметра для каждого повторения. Блок размеща­ется в начале циклической конструкции, для управления которой он использу­ется, даже в том случае, если изменение параметра и проверка условий оконча­ния цикла при реализации алгоритма производится не в начале, а в конце цик­ла.

Символ «Предопределенный процесс»используется для указания об­ращений к вспомогательным алгоритмам, выделенным автономно, в виде не­которого модуля; для обращений к библиотечным подпрограммам; для обозна­чения части алгоритма, не зависящей от основной схемы управления; для обо­значения определенной части алгоритма, которая будет кодироваться вместе со всем алгоритмом, но в документации представлена отдельной схемой.

Читайте также:  Какие свойства информации есть

Символ «Документ» предназначен для ввода — вывода данных, носителем которых служит бумага.

Символ «Ввод — вывод»используется для преобразования данных в фор­му, пригодную для обработки (ввод) или отображения результатов обработки (вывод). Отдельным логическим устройствам ПК или отдельным функциям об­мена соответствуют определенные блочные символы. В каждом из них указыва­ются тип устройства или файла данных, тип информации, участвующий в обме­не, а также вид операции обмена.

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

Символ «Пуск — останов»используется для обозначения начала, конца, прерывания процесса обработки данных или выполнения программы.

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

2.3. ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ РЕШЕНИЯ ЗАДАЧ. СТРУКТУРЫ АЛГОРИТМОВ

Этапы информационных технологий решения прикладных задач:

— общая формулировка задачи;

— математическая формулировка задачи;

— выбор математического метода решения;

— составление алгоритма решения;

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

— тестирование программы;

— решение поставленной задачи и представление результатов.

Рис.1

Структуры алгоритмов:

1. Линейная

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

Пример 1. Составить алгоритм и написать про­грамму вычисления стоимости поездки на автомобиле на дачу (туда и обратно). Исходными данными являют­ся: расстояние до дачи (км); количество бензина, кото­рое потребляет автомобиль на 100 км пробега; цена од­ного литра бензина.

2. Разветвляющаяся

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

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

3. Циклическая

Циклический алгоритм — алгоритм, предусматривающий многократное по­вторение одного и того же действия (одних и тех же операций) над новыми исходными данными. Группа команд (операторов), выполняющихся одна за другой, называется серией, которая может состоять из одного оператора.

Пример 3. Составить алгоритм и написать программу, которая выводят y=x2 в диапазоне от -10 до 10, с шагом 0,5.

[1] Происходит от имени узбекского ученого IX в. Аль-Хорезми, который в своем труде «Арифметический трактат», переведенном в XII в. с арабского на латынь, изложил правила арифметических действий над числами в позиционной десятичной системе счисления. Эти правила и называ­ли алгоритмами.

Источник

Valera

Высший разум

(218913)

8 лет назад

Свойства алгоритма

Алгоритм обладает следующими свойствами:

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

2. Определенность. Каждое правило алгоритма должно быть четким, однозначным.

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

4. Массовость. Алгоритм решения задачи разрабатывается в общем виде, т. е. он должен быть применим для некоторого класса задач, различающихся лишь исходными данными.

5. Правильность. Алгоритм правильный, если его выполнение дает правильные результаты решения поставленной задачи.

SerGo

Высший разум

(101320)

8 лет назад

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

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

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

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

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

Свойства алгоритма

Читайте также:  Какие свойств почв вам известны

Евгенний Парфенюк

Ученик

(153)

1 месяц назад

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

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

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

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

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

Источник

Алгоритм – описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов.

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

 1. Достать ключ из кармана.

 2. Вставить ключ в замочную скважину.

 3. Повернуть ключ два раза против часовой стрелки.

 4. Вынуть ключ.

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

Свойства алгоритмов:

 1. Дискретность (алгоритм должен состоять из конкретных действий, следующих в определенном порядке);

 2. Детерминированность (любое действие должно быть строго и недвусмысленно определено в каждом случае);

 3. Конечность (каждое действие и алгоритм в целом должны иметь возможность завершения);

 4. Массовость (один и тот же алгоритм можно использовать с разными исходными данными);

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

Для более наглядного представления алгоритма широко используется графическая форма — блок-схема, которая составляется из стандартных графических объектов.

Стадии создания алгоритма:

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

 2. Алгоритм должен быть представлен в форме, понятной тому объекту (в том числе и человеку), который будет выполнять описанные в алгоритме действия.

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

Исполнитель — объект, который выполняет алгоритм.

Идеальными исполнителями являются машины, роботы, компьютеры…

Исполнитель способен выполнить только ограниченное количество команд. Поэтому алгоритм разрабатывается и детализируется так, чтобы в нем присутствовали только те команды и конструкции, которые может выполнить исполнитель.

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

Компьютер – автоматический исполнитель алгоритмов.

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

Алгоритмы можно записывать не только при помощи слов. В настоящее время различают несколько способов описания алгоритмов:

 1. Словесный, т.е. записи на естественном языке, описание словами последовательности выполнения алгоритма.

Например: Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел. Алгоритм может быть следующим: задать два числа; если числа равны, то взять любое из них в качестве ответа и остановиться, в противном случае продолжить выполнение алгоритма; определить большее из чисел; заменить большее из чисел разностью большего и меньшего из чисел; повторить алгоритм с шага

 2. Формульно-словесный, аналогично пункту 1, плюс параллельная демонстрация используемых формул.

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

 3. Графический, т.е. с помощью блок-схем.

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

 4. Программный, т.е. тексты на языках программирования.

Источник