Какие бывают свойства алгоритма

Какие бывают свойства алгоритма thumbnail

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

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

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

Основными свойствами
алгоритма являются:

  1. детерминированность
    (определенность). Предполагает получение однозначного результата вычислительного
    процecca при заданных исходных данных. Благодаря этому свойству процесс
    выполнения алгоритма носит механический характер;
  2. результативность.
    Указывает на наличие таких исходных данных, для которых реализуемый
    по заданному алгоритму вычислительный процесс должен через конечное
    число шагов остановиться и выдать искомый результат;
  3. массовость. Это
    свойство предполагает, что алгоритм должен быть пригоден для решения
    всех задач данного типа;
  4. дискретность.
    Означает расчлененность определяемого алгоритмом вычислительного процесса
    на отдельные этапы, возможность выполнения которых исполнителем (компьютером)
    не вызывает сомнений.
Читайте также:  Каким свойством не обладают общественные блага

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

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

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

При всем многообразии
алгоритмов решения задач в них можно выделить три основных вида вычислительных
процессов:

  • линейный;
  • ветвящийся;
  • циклический.

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

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

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

Источник

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

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

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

Какие бывают свойства алгоритма

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

Какие бывают свойства алгоритма

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

Какие бывают свойства алгоритма

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

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

Например:

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

Начало

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

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

Конец.

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

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

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

Например:

Какие бывают свойства алгоритма

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

Например:

program E3;

uses crt;

var t: real;

begin

clrscr;

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

readln(t);

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

end.

Источник

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

Исполнители алгоритмов (назначение, среда, режим работы, система команд).

Компьютер как формальный исполнитель алгоритмов (программ).

Цель урока:

  1. Дать понятие алгоритму и его свойствам.

  2. Воспитание умения слушать учителя.

  3. Развитие познавательного интереса.

Читайте также:  Какие бинарные отношения обладают свойством транзитивности

План урока:

  1. Постановка цели урока.

  2. Проверка домашнего задания.

  3. Объяснение нового материала.

  4. Примеры алгоритмов.

  5. Домашняя работа.

  6. Подведение итогов урока.

Ход урока

I. Организация начала урока.

II. Актуализация знаний.

III. Постановка целей и задач.

IV. Объяснение нового материала.

V. Закрепление изученного на уроке.

VI. Информация о домашнем задании.

VII. Подведение итогов урока.

Объяснение нового материала.

Появление алгоритмов связывают с зарождением математики. Более 1000 лет назад (в 825 году) ученый из города Хорезма Абдулла (или Абу Джафар) Мухаммед бен Муса аль-Хорезми создал книгу по математике, в которой описал способы выполнения арифметических действий над многозначными числами. Само слово алгоритм возникло в Европе после перевода на латынь книги этого математика.

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

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

1. Достать ключ из кармана.
2. Вставить ключ в замочную скважину.
3. Повернуть ключ два раза против часовой стрелки.
4. Вынуть ключ.

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

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

1. Дискретность (алгоритм должен состоять из конкретных действий, следующих в определенном порядке);
2. Детерминированность (любое действие должно быть строго и недвусмысленно определено в каждом случае);
3. Конечность (каждое действие и алгоритм в целом должны иметь возможность завершения);
4. Массовость (один и тот же алгоритм можно использовать с разными исходными данными);
5. Результативность (отсутствие ошибок, алгоритм должен приводить к правильному результату для всех допустимых входных значениях).

Виды алгоритмов:

1. Линейный алгоритм (описание действий, которые выполняются однократно в заданном порядке);
2. Циклический алгоритм (описание действий, которые должны повторятся указанное число раз или пока не выполнено задание);
3. Разветвляющий алгоритм (алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий) 
4. Вспомогательный алгоритм (алгоритм, который можно использовать в других алгоритмах, указав только его имя).

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

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

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

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

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

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

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

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

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

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

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

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

Пример №1.

Составьте алгоритм вычисления выражения

у=2х+в, х=5, в=5. На языке блок-схем:

На естественном языке:

1.х=5

2. В=5

3.у=2х+в

4. Напечатать у

Решение задач ЕГЭ А8

a = 9876
b = (a div 1000)*5 mod 10
a = (b*10)+a div 100

{div и mod – операции, вычисляющие результат деления нацело первого аргумента на второй и остаток от деления соответственно}

a = 9876
b = mod(div(a,1000)*5, 10)

a = (b*10)+div(a,100)

|div и mod – функции, вычисляющие результат деления нацело первого аргумента на второй и остаток от деления соответственно

1)

a = 148, b = 5

2)

a = 148, b = 16

3)

a = 4, b = 148

4)

a = 5, b = 45

  • Например, дано 2348 (mod или div) 100. Делим 2348 на 100. Получаем 23,48.

  • Справа от запятой mod,

  • слева div.

  • Приоритеты операций: *, /, DIV, MOD, +, -.

Читайте также:  Какие свойства софоры японской

23, 48

divmod

Закрепление изученного на уроке.

b:= (adiv 10) + 14;
a:= (bmod 10) + 2;
{
div и mod – операции, вычисляющие результат деления нацело первого аргумента на второй и остаток от деления соответственно}

a:= 3 + 8*4
b:= div(a,10) + 14
a:= mod(b, 10) + 2
|d
iv и mod – функции, вычисляющие результат деления нацело первого аргумента на второй и остаток от деления соответственно

Информация о домашнем задании.

  • § 4.1 ; 4.2

  • Вопросы в конце параграфа

Подведение итогов урока.

Литература

  • Н.Д.Угринович «Информатика и ИКТ» для 11 класса

  • Л.З. Шауцукова Л.З. «Информатика» для 10-11класса

  • Материалы сайта: https://www.alleng.ru

  • А.Г. Гейн,  А.И. Сенокосов, Н.А. Юнерман «Информатика»

Источник

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

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

Пример:

Алгоритм «Как открыть дверь?»

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

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

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

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

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

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

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

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

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

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

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

1. Словесно- формульное описание (способ записи алгоритма характеризуется тем, что описание осуществляется с помощью слов и формул.)

Пример:

Алгоритм «Как найти площадь комнаты?»

1.Измерить ширину комнаты (

a)

2.Измерить длину комнаты (

b)

3.Умножить длину на ширину (

a*b)

4.Результат есть площадь комнаты (

S)

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

                 Алгоритм                                                                 Алгоритм

«Как найти площадь комнаты?»                             «Спросить про книгу?»

Какие бывают свойства алгоритма

Какие бывают свойства алгоритма

3. Алгоритмические языки ( формальный язык, используемый для записи, реализации или изучения алгоритмов. Всякий императивный язык программирования является алгоритмическим языком, но не всякий алгоритмический язык пригоден для использования в качестве языка программирования)

4. Операторные схемы (это аналитическая форма представления алгоритма с помощью операторов, описывающих содержание некоторых автономных этапов вычислительного процесса, выделенных при решении задачи.)

5. Псевдокод (это система команд абстрактной машины.)

В псевдокоде алгоритм разбивается на предложения, каждое из которых описывает некоторый шаг алгоритма. Основное внимание уделяется структуре алгоритма. Каждое предложение начинается со звездочки или нескольких звездочек. Звездочка используется как индикатор начала строки. Число звездочек определяет уровень вложенности данного шага алгоритма.

Пример:

 Алгоритм «Как найти площадь треугольника?» задачи представлен в графическом виде,представить его в псевдокодах.

В псевдокоде данный алгоритм будет иметь вид:

НАЧАЛО

{——– ВВОД А, В, С ————}

* ВЫВОД(‘ВВЕДИТЕ ДЛИНЫ ТРЕХ СТОРОН ТРЕУГОЛЬНИКА’)

* ВВОД(а, в, с)

{——– линейный блок расчета полупериметра и площади ———-}

* P:= 0.5*(a+в+c)

* S:= SQRT( P*(P-a)*(P-в)*(P-c) )

{———– Вывод результата ————}

* ВЫВОД(‘ПЛОЩАДЬ ТРЕУГОЛЬНИКА =>’, S:5:2)

КОНЕЦ

1.Линейный алгоритм (описание действий, которые выполняются однократно в заданном порядке).

2.Циклический алгоритм (описание действий, которые должны повторятся указанное число раз или пока не выполнено задание).

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

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

Источник