Та же самая модель для локальных, только 2уровень делится на LLC и MAC

 

20. Алгоритм и его свойства; алгоритмизация; алгоритмический процесс.

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

Свойства:

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

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

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

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

Универсальность -Алгоритм должен быть применим к разным наборам исходных данных.

Результативность — завершение алгоритма определёнными результатами.

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

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

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

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

 

21. Средства изображения алгоритмов.

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

Словесное задание описывает алгоритм – инструкцию о выполнении действий в определенной последовательности с помощью слов и предложений естественного языка. Форма изложения произвольна.

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

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

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

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

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

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

Алгоритмы бывают трех видов: линейные, разветвляющиеся и циклические.

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

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

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

Алгоритм независимо от его структуры – сложной или простой всегда имеет один «Останов». Все ветви алгоритма должны сойтись при движении по нему на символе «Останов».

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

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

Лучшим средством графического изображения процесса передачи управления являются так называемые структурограммы. Они дают полное визуальное представление деталей логических операций над группами операторов программы. Структурограмма -это схема, иллюстрирующая структуру передачи управления внутри модуля с помощью вложенных друг в друга блоков. Не являясь отдельным методом разработки программ, структурограммы представляют собой хорошую систему описания и понимания процесса передачи управления в программе. Символы структурограмм ассимилируют в себе символы структурных схем и конструкции псевдокода. Каждый блок имеет форму прямоугольника и может быть вписан в любой внутренний прямоугольник любого другого блока. Запись внутри блока производится на естественном языке или с помощью математических обозначений. Символ «Обработка» содержит описание действий, выполняемых оператором или группой операторов. В подобном символе можно помещать операторы присваивания, ввода/вывода и т. д. Управление передается в прямоугольник сверху, а выходит из него снизу. Символ «Решение» применяется для обозначения конструкций IF-THEN-ELSE. Условие (вопрос) располагается в верхнем треугольнике, варианты ответов – по его сторонам, а процессы обработки обозначаются прямоугольниками. Условие, называемое селектором выбора, записывается в верхнем треугольнике. Варианты выхода из треугольника, соответствующие точно определенным значениям селектора, размещаются в маленьких треугольниках по его левой стороне. Каждому варианту соответствует свой символ обработки. По правой стороне треугольника размещается выход по несовпадению условий и соответствующий ему альтернативный символ обработки. При отсутствии альтернативной части выходы можно размещать по обеим сторонам верхнего треугольника.

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

 

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: