Какими свойствами алгоритма не обладает кулинарный рецепт

Какими свойствами алгоритма не обладает кулинарный рецепт thumbnail

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

Массовость алгоритма

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

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

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

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

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

***

Конечность

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

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

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

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

***

Однозначность

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

Компьютеру не скажешь: «Купи что-нибудь: колбасу или ветчину» и уж тем более — «Сыграй что-нибудь грустное или романтическое». Посылая компьютеризированного робота за покупками (почему бы нет?), надо дать ему точную, однозначную инструкцию: «Если колбаса свежее ветчины, купи колбасу, в противном случае купи ветчину». И даже такая, казалось бы, подробная команда может оказаться недостаточной, если вдруг колбасы в магазине не окажется, либо окажется несколько сортов колбасы или ветчины. Ваш робот растеряется и надолго задумается (если замешательство робота можно считать мыслительным процессом) над неподдающейся его скудному «разуму» задачей.

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

Часто в программах встречаются несколько вариантов продолжения работы алгоритма. В таком случае нужно тщательно продумать условия выбора одного и только одного варианта.

***

Понятность

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

Читайте также:  Какие свойства или явления демонстрируют птицы с наступлением осени

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

***

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

Алгоритмэто точное пошаговое описание в системе команд исполнителя последовательности действий, однозначно приводящей к результату за конечное число шагов.
Это определение свело вместе все отмеченные выше свойства алгоритма. Оно отвечает не на вопрос: «что такое алгоритм», а на вопрос: «что делает алгоритм». В практическом программировании второй вопрос возникает гораздо чаще и ответ на него для программиста-практика значительно важнее.

***

Языки программирования

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Читайте также:  Какими химическими свойствами обладают металлы
  1. Главная
  2. Вопросы & Ответы
  3. Вопрос 5416603

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

9 лет назад

  119    
1    

Лучший ответ:

Какими свойствами алгоритма не обладает кулинарный рецепт

Он не цикличен поэтому его нельзя считать алгоритмом

15 Сентября в 09:45

Ваш ответ (не менее 20 символов):
Ваше имя (не менее 2 символов):

Какими свойствами алгоритма не обладает кулинарный рецепт

Лучшее из галереи:

Какими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецептКакими свойствами алгоритма не обладает кулинарный рецепт

    Какими свойствами алгоритма не обладает кулинарный рецепт

    Другие вопросы:

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

    Помогите! Как продолжить? В этом учебном году мне больше всего понравился рассказ Н. В. Гоголя «Ревизор». В данном произведении автор высмеивает такие пороки как лицемерие ложь и чинопочитание

    9 лет назад

    Смотреть ответ  

      17    
    1    

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

    Как проверить слово бросаться?

    9 лет назад

    Смотреть ответ  

      34    
    1    

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

    Виннипедский волк тема какая и кто автор?

    9 лет назад

    Смотреть ответ  

      26    
    1    

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

    Да, всё хорошо в это счастливое время года, в особенности если вы любите природу… ДА РАЗБОР ПОД ЦИФРОЙ 3, ЗАРАНЕЕ СПАСИБО

    9 лет назад

    Смотреть ответ  

      34    
    1    

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

    Y=cos^2(3x) найти производную

    9 лет назад

    Смотреть ответ  

      21    
    1    

    Источник

    Valera

    Высший разум

    (218914)

    8 лет назад

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

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

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

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

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

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

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

    SerGo

    Высший разум

    (101320)

    8 лет назад

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

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

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

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

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

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

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

    Ученик

    (153)

    2 месяца назад

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

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

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

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

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

    Источник

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

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

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

    Цель урока:

    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

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

    Источник