Skip to content

Instantly share code, notes, and snippets.

Created August 30, 2017 13:38
Show Gist options
  • Save anonymous/3e9b86d4a9d58e0720e136963ac1c210 to your computer and use it in GitHub Desktop.
Save anonymous/3e9b86d4a9d58e0720e136963ac1c210 to your computer and use it in GitHub Desktop.
Понятие алгоритма дал

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


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



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


























Понятие алгоритма - одно из фундаментальных понятий информатики. Алгоритмизация наряду с моделированием выступает в качестве общего метода информатики. К реализации определенных алгоритмов сводятся процессы управления в различных системах, что делает понятие алгоритма близким и кибернетике. Алгоритмы являются объектом систематического исследования пограничной между математикой и информатикой научной дисциплины, примыкающей к математической логике - теории алгоритмов. Особенность положения состоит в том, что при решении практических задач, предполагающих разработку алгоритмов для реализации на ЭВМ, и тем более при использовании на практике информационных технологий, можно, как правило, не опираться на высокую формализацию данного понятия. Поэтому представляется целесообразным познакомиться с алгоритмами и алгоритмизацией на основе содержательного толкования сущности понятия алгоритма и рассмотрения основных его свойств. При таком подходе алгоритмизация более выступает как набор определенных практических приемов, особых специфических навыков рационального мышления в рамках заданных языковых средств. Можно провести аналогию между этим обстоятельством и рассмотренным выше подходом к измерению информации: Первоначально под алгоритмами и понимали только правила выполнения четырех арифметических действий над многозначными числами. Понятие исполнителя невозможно определить с помощью какой-либо формализации. Исполнителем может быть человек, группа людей, робот, станок, компьютер, язык программирования и т. Важнейшим свойством, характеризующим любого из этих исполнителей, является то, что исполнитель умеет выполнять некоторые команды. Вся совокупность команд, которые данный исполнитель умеет выполнять, называется системой команд исполнителя СКИ. В качестве примера рис. Одно из принципиальных обстоятельств состоит в том, что исполнитель не вникает в смысл того, что он делает, но получает необходимый результат. В таком случае говорят, что исполнитель действует формально, то есть отвлекается от содержания поставленной задачи и только строго выполняет некоторые правила, инструкции. Это - важная особенность алгоритмов. Наличие алгоритма формализует процесс решения задачи, исключает рассуждение исполнителя. Использование алгоритма дает возможность решать задачу формально, механически исполняя команды алгоритма в указанной последовательности. Целесообразность предусматриваемых алгоритмом действий обеспечивается точным анализом со стороны того, кто составляет этот алгоритм. Наиболее же распространенными и привычными являются алгоритмы работы с величинами - числовыми, символьными, логическими и т. Алгоритм должен быть составлен таким образом, чтобы исполнитель, в расчете на которого он создан, мог однозначно и точно следовать командам алгоритма и эффективно получать определенный результат. Это накладывает на записи алгоритмов ряд обязательных требований, суть которых вытекает, вообще говоря, из приведенного выше неформального толкования понятия алгоритма. Сформулируем эти требования в виде перечня свойств, которым должны удовлетворять алгоритмы, адресуемые заданному исполнителю. Одно из первых требований, которое предъявляется к алгоритму, состоит в том, что описываемый процесс должен быть разбит на последовательность отдельных шагов. Возникающая в результате такого разбиения запись представляет собой упорядоченную совокупность четко разделенных друг от друга предписаний директив, команд, операторов , образующих прерывную или, как говорят, дискретную структуру алгоритма. Только выполнив требования одного предписания, можно приступить к выполнению следующего. Дискретная структура алгоритмической записи может. Например, подчеркиваться сквозной нумерацией отдельных команд алгоритма, хотя это требование не является обязательным. Рассмотренное свойство алгоритмов называют дискретностью. Используемые на практике алгоритмы составляются с ориентацией на определенного исполнителя. Чтобы составить для него алгоритм, нужно знать, какие команды этот исполнитель может понять и исполнить, а какие - не может. Мы знаем, что у каждого исполнителя имеется своя система команд. Очевидно, составляя запись алгоритма для определенного исполнителя, можно использовать лишь те команды, которые имеются в его СКИ. Это свойство алгоритмов будем называть понятностью. Будучи понятным, алгоритм не должен содержать предписаний, смысл которых может восприниматься неоднозначно, то есть одна и та же команда, будучи понятна разным исполнителям, после исполнения каждым из них должна давать одинаковый результат. Запись алгоритма должна быть настолько четкой, полной и продуманной в деталях, чтобы у исполнителя не могло возникнуть потребности в принятии решений, не предусмотренных составителем алгоритма. Говоря иначе, алгоритм не должен оставлять места для произвола исполнителя. Кроме того, в алгоритмах недопустимы также ситуации, когда после выполнения очередной команды алгоритма исполнителю неясно, какая из команд алгоритма должна выполняться на следующем шаге. Обязательное требование к алгоритмам - результативность. Смысл этого требования состоит в том, что при точном исполнении всех предписаний алгоритма процесс должен прекратиться за конечное число шагов и при этом должен получиться определенный результат. Вывод о том, что решения не существует - тоже результат. Наиболее распространены алгоритмы, обеспечивающие решение не одной конкретной задачи, а некоторого класса задач данного типа. Это свойство алгоритма называют массовостью. В простейшем случае массовость обеспечивает возможность использования различных исходных данных. Достаточно распространенным способом представления алгоритма является его запись на алгоритмическом языке, представляющем в общем случае систему обозначений и правил для единообразной и точной записи алгоритмов и исполнения их. Программа, записанная на алгоритмическом языке, не обязательно предназначена компьютеру. Практическая же реализация алгоритмического языка - отдельный вопрос в каждом конкретном случае. Как и каждый язык, алгоритмический язык имеет свой словарь. Основу этого словаря составляют слова, употребляемые для записи команд, входящих в систему команд исполнителя того или иного алгоритма. Такие команды называют простыми командами. В алгоритмическом языке используют слова, смысл и способ употребления которых задан раз и навсегда. Эти слова называют служебными. Использование служебных слов делает запись алгоритма более наглядной, а форму представления различных алгоритмов - единообразной. Алгоритм, записанный на алгоритмическом языке, должен иметь название. Название желательно выбирать так, чтобы было ясно, решение какой задачи описывает данный алгоритм. Для выделения названия алгоритма перед ним записывают служебное слово АЛГ АЛГоритм. За названием алгоритма обычно с новой строки записывают его команды. Для указания начала и конца алгоритма его команды заключают в пару служебных слов НАЧ НАЧало и КОН КОНец. При построении новых алгоритмов могут использоваться алгоритмы, составленные ранее. Алгоритмы, целиком используемые в составе других алгоритмов, называют вспомогательными алгоритмами. Вспомогательным может оказаться любой алгоритм из числа ранее составленных. Не исключается также, что вспомогательным в определенной ситуации может оказаться алгоритм, сам содержащий ссылку на вспомогательные алгоритмы. Очень часто при составлении алгоритмов возникает необходимость использования в качестве вспомогательного одного и того же алгоритма, который к тому же может быть весьма сложным и громоздким. Было бы нерационально, начиная работу, каждый раз заново составлять и запоминать такой алгоритм для его последующего использования. Поэтому в практике широко используют, так называемые, встроенные или стандартные вспомогательные алгоритмы, то есть такие алгоритмы, которые постоянно имеются в распоряжении исполнителя. Алгоритм может содержать обращение к самому себе как вспомогательному и в этом случае его называют рекурсивным. Если команда обращения алгоритма к самому себе находится в самом алгоритме, то такую рекурсию называют прямой. Возможны случаи, когда рекурсивный вызов данного алгоритма происходит из вспомогательного алгоритма, к которому в данном алгоритме имеется обращение. Такая рекурсия называется косвенной. Алгоритмы, при исполнении которых порядок следования команд определяется в зависимости от результатов проверки некоторых условий, называют разветвляющимися. Для их описания в алгоритмическом языке используют специальную составную команду - команда ветвления. Ниже приводится запись на алгоритмическом языке команды выбора см. Алгоритмы, при исполнении которых отдельные команды или серии команд выполняются неоднократно, называют циклическими. Для организации циклических алгоритмов в алгоритмическом языке используют специальную составную команду цикла. В случае составления алгоритмов работы с величинами можно рассмотреть и другие возможные алгоритмические конструкции, например, цикл с параметром или выбор. Подробно эти конструкции будут рассматриваться при знакомстве с реальными языками программирования. В заключение данного параграфа приведем алгоритм, составленный для исполнителя-робота, по которому робот переносит все объекты со склада в левый нижний угол рабочего поля поле может иметь произвольные размеры:. Глобус 24 мир образования Разработки Презентации ГДЗ Вопрос и ответ Новости Статьи Тесты ЕГЭ ОГЭ. Алгоритм и его свойства. АЛГОРИТМ И ЕГО СВОЙСТВА 1. Исполнитель-робот Одно из принципиальных обстоятельств состоит в том, что исполнитель не вникает в смысл того, что он делает, но получает необходимый результат. Отмеченное свойства алгоритмов называют определенностью или детерминированностью. АЛГ название алгоритма НАЧ серия команд алгоритма КОН Например, алгоритм, определяющий движение исполнителя-робота, может иметь вид: АЛГ движение НАЧ вперед вперед вправо движение КОН Алгоритмы, при исполнении которых порядок следования команд определяется в зависимости от результатов проверки некоторых условий, называют разветвляющимися. ЕСЛИ условие ЕСЛИ условие ЕСЛИ край ТО серия 1 ТО серия ТО вправо ИНАЧЕ серия2 ВСЕ ИНАЧЕ вперед ВСЕ ВСЕ Ниже приводится запись на алгоритмическом языке команды выбора см. ВЫБОР ПРИ условие 1: ПОКА условие НЦ НЦ серия Серия ДО условие КЦ КЦ В случае составления алгоритмов работы с величинами можно рассмотреть и другие возможные алгоритмические конструкции, например, цикл с параметром или выбор. В заключение данного параграфа приведем алгоритм, составленный для исполнителя-робота, по которому робот переносит все объекты со склада в левый нижний угол рабочего поля поле может иметь произвольные размеры: Nacri - искусство осознания жизни. Виды одежды и головных уборов. Национальный состав населения РФ. Анализ эффективности использования трудовых ресурсов 3. Как Печорин относится к проблеме судьбы по роману Михаила Лермонтова Герой нашего времени. Гуманные отношения в детском возрасте. Медицинские работники в чрезвычайных ситуациях. Алгебра Английский язык Биология География Геометрия ИЗО Информатика История Литература Математика Музыка МХК Начальная школа ОБЖ Обществознание Окружающий мир ОРКСЭ Педагогика Природоведение Разное Русский язык Технология Физика Физкультура Химия Экология Экономика. Человек не может по-настоящему усовершенствоваться, если не помогает усовершенствоваться другим.


Алгоритм: понятие, свойства, структура и виды


Алгоритм - это конечный набор инструкций по преобразованию информации команд , выполнение которых приводит к результату. Так, алгоритм сложения дробей можно задать следующей последовательностью команд:. Наш алгоритм состоит из 7-ми инструкций, каждая из которых содержит описание одного из арифметических действий над целыми числами: Кроме того, каждая инструкция в неявном виде содержит указание на следующую выполняемую инструкцию. Этот набор называют набором команд Исполнителя или Интерпретатора. Для выполнения нашего алгоритма Исполнитель должен, очевидно, уметь оперировать с целыми числами, выделять числители и знаменатели дробей, а также составлять из пары целых чисел дробь. Представим себе, что в нашем распоряжении находится Исполнитель, интерпретирующий команды - операции целочисленной арифметики - сложение, вычитание, умножение, вычисление неполного частного div и остатка mod , вычисление НОД и НОК с запоминанием результатов и умением переходить к следующей команде. Алгоритм деления отрезка пополам с помощью циркуля и линейки. Построить окружность O 1 с центром A и радиусом AB;. Построить окружность O 2 с центром B и радиусом AB;. Найти точки С и D пересечения окружностей O 1 и O 2 ;. В примере 2 Исполнитель обладает набором команд, с помощью которых можно решать геометрические задачи на построения с помощью циркуля и линейки. Исполнение алгоритма заключается в последовательном выполнении каждого построения и переходе к исполнению следующей команды. Выполняя эту команду, Исполнитель проверяет истинность условия. Если условие выполнено, Исполнитель переходит к выполнению первой команды из последовательности команд, стоящей после слова то и команды, и исполнение алгоритма следует по тому или иному пути в заключенной в скобки. Если же условие не выполнено, Исполнитель переходит к выполнению следующей команды. Такие команды называют выбирающими, условными или ветвлениями. Выбирающие команды содержат в себе другие команды, выполняющиеся в зависимости от результатов проверки условий. Второй характерной командой, используемой в примере, является команда перехода. Она имеет вид Перейти к , причем число N используется в записи алгоритма как специальная отметка некоторой команды. В примере используются команды перехода Перейти к 1, а числом 1 отмечена команда 1: Каждая команда из набора команд Исполнителя содержит указание выполнить некоторое элементарное не детализируемое более подробно действие, однозначно понимаемое и точно выполняемое Исполнителем. Понятие элементарности поэтому относительно. Так, в алгоритме примера 1 содержится команда вычисления НОД двух чисел. Это означает, что Исполнитель умеет находить НОД, причем алгоритм вычисления алгоритм Евклида или какой нибудь другой скрыт от человека, составляющего алгоритмы для этого Исполнителя. Если набор команд Исполнителя не содержит команды вычисления НОД, вычисление НОД должно быть определено в виде алгоритма. Алгоритм Евклида вычисления наибольшего общего делителя целых положительных чисел A и B: D - наибольший общий делитель A и B. В этом примере использована команда повторения. Выполняя эту команду, Исполнитель проверяет истинность Условия. В этом же примере использована еще одна разновидность команды ветвления - команда вида. Выполняя эту команду, Исполнитель проверяет Условие. Заметим, что команда повторения, как и команды ветвления, содержат в себе другие команды. Исполнение алгоритма строго определено. Это означает, что на каждом шаге Исполнитель не только точно выполняет команду, но и однозначно определяет следующую исполняемую команду. Поэтому повторное выполнение алгоритма для одних и тех же исходных данных в точности повторяет первое его выполнение. Алгоритмы, как правило, описывают ход решения не одной-единственной задачи, а целого класса однотипных задач. Так, в примере 2 описан алгоритм сложения любых двух дробей. Одна-единственная задача, решаемая Исполнителем в данный момент, определена значениями исходных данных A, B, C, D. Изменение исходных данных означает решение другой задачи из этого же класса задач. Аналогично, алгоритм примера 2 строит середину любого отрезка, заданного его концами, а в примере 3 с помощью алгоритма решается любое приведенное квадратное уравнение. Так, в примере 2 результат - точка E - середина отрезка AB. Заметим, однако, что количество шагов алгоритма, решающего некоторую задачу, заранее неизвестно и может быть очень большим, поэтому свойство результативности конкретного алгоритма часто приходится специально доказывать. Так, проверка свойства результативности в примере 4 требует доказательства того факта, что выполнение команды повторения закончится за конечное число шагов. Именно система команд Исполнителя и есть уточнение набора средств, с помощью которых строятся алгоритмы. В наших примерах системы команд Исполнителя предметно-ориентированы. Особенно наглядно это демонстрирует Исполнитель примера 2, команды которого выполняют геометрические построения. Вместе с тем очевидно, что существуют команды, которые должны входить в систему команд любого Исполнителя, претендующего на универсальность в некоторой предметной области. Таким Исполнителем является ЭВМ. Устройства ввода информации предназначены для ввода информации в ЭВМ. Устройства ввода преобразуют информацию из формы, предназначенной для пользователя, в форму, предназначенную для хранения и обработки в ЭВМ - в двоичный код. Устройства вывода информации предназначены для вывода информации результатов в форме, предназначенной для пользователя - в виде чисел, текстов, рисунков и т. Характерными для персональной ЭВМ устройствами вывода являются монитор дисплей , принтер, плоттер. Внешние запоминающие устройства ВЗУ предназначены для длительного при выключенной ЭВМ хранения информации. В настоящее время наиболее распространены накопители на гибких магнитных дисках НГМД , накопители на жестких магнитных дисках НМД , накопители на магнитных лентах НМЛ. Ядро ЭВМ составляют так называемые центральные устройства - центральный процессор и оперативное запоминающее устройство ЦП и ОЗУ. Центральные устройства предназначены для оперативного хранения и преобразования информации. Совокупность центральных устройств объединена в системный блок. Вся информация, необходимая для исполнения алгоритма - исходные, промежуточные и выходные данные, а также сам алгоритм, хранится в ОЗУ в закодированном виде. ОЗУ представляет из себя совокупность специальных ячеек, каждая из которых предназначена для хранения двоичного кода информации фиксированного объема. Каждая ячейка памяти имеет свой номер, называемый адресом. В современных ПЭВМ ячейка ОЗУ хранит 1 байт информации - 8 двоичных цифр, называемых битами. Характерной особенностью ОЗУ является то, что доступ к данным, хранящимся там, осуществляется по их адресам. Время доступа к данному не зависит от адреса ячейки, в которой оно хранится. Поэтому ОЗУ называют памятью с прямым случайным доступом. Размером объемом ОЗУ называют количество ее ячеек. Размер ОЗУ выражают в байтах, килобайтах Kb и мегабайтах Mb. И данные, и команды как правило, занимают в ОЗУ несколько подряд адресованных байтов. Центральный процессор - устройство, предназначенное для исполнения алгоритммов, хранимых в ОЗУ в виде набора команд. Каждый центральный процессор имеет свою систему команд Исполнителя. Система команд реального процессора содержит десятки команд, и ее изучение - предмет отдельного курса обучения. Мы рассмотрим лишь основные принципы построения машинного языка. Каждая команда содержит код операции, ею выполняемой и информацию об адресах данных, над которыми эта операция выполняется. Кроме этого, команда непосредственно - команды управления и косвенно - другие команды содержит информацию об адресе команды, которая будет выполняться следующей. Таким образом, любая последовательность команд, размещенная в ОЗУ, фактически представляет из себя алгоритм, записанный в системе команд процессора - машинную программу. Наиболее распространенной сейчас является схема ЭВМ с общей шиной. Общая шина - это центральная информационная магистраль, связывающая внешние устройства с центральным процессором. Она состоит из шины данных, шины адреса и шины управления. Шина данных предназначена для обмена данными между ОЗУ и внешними устройствами. По шине адреса передаются адреса данных. Шина управления служит каналом обмена управляющими сигналами между внешними устройствами и центральным процессором. Написать такую программу, используя машинные команды, весьма непросто даже квалифицированному программисту. Реальные программы состоят из десятков и сотен тысяч машинных команд. Поэтому любая технология проектирования программы должна опираться на приемы, характерные для человеческого мышления, оперировать привычными для человека понятиями из той предметной области, которой принадлежит задача. Иными словами, программист проектировщик алгоритмов должен иметь возможность сформулировать свой алгоритм на языке привычных понятий; затем специальная программа должна выразить эти понятия с помощью машинных средств, осуществляя перевод трансляцию текста алгоритма на язык машины. Эта необходимость и привела к появлению языков программирования высокого уровня как языков записи алгоритмов, предназначенных для исполнения на ЭВМ. Главная Опубликовать работу О сайте. Понятие алгоритма и его характерные свойства. Сохрани ссылку на реферат в одной из сетей: Алгоритмы и программы 1. ЭВМ как универсальный Исполнитель. Понятие о машинном языке. Так, алгоритм сложения дробей можно задать следующей последовательностью команд: Отрезок AB; Построить окружность O 1 с центром A и радиусом AB; Построить окружность O 2 с центром B и радиусом AB; Найти точки С и D пересечения окружностей O 1 и O 2 ; Построить отрезок CD; Найти точку Е пересечения AB и CD. Точка Е - середина отрезка AB. В этом примере используется команда вида Если то Выполняя эту команду, Исполнитель проверяет истинность условия. Понятию алгоритма присущи следующие свойства: Она имеет вид Пока выполнять Выполняя эту команду, Исполнитель проверяет истинность Условия. В этом же примере использована еще одна разновидность команды ветвления - команда вида Если то иначе Выполняя эту команду, Исполнитель проверяет Условие. На рис 1 представлена блок-схема ЭВМ. Байт 0 1 2 3 4 5 6 7 [адрес] Характерной особенностью ОЗУ является то, что доступ к данным, хранящимся там, осуществляется по их адресам. Набор команд процессора содержит:


Вера в бога значение
Как рисовать краской пошаговое
Как определить причину головной боли
Мажет принтер что делать
Откатная дверь своими руками
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment