Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Вопрос 17. Алгоритм – это точное и понятное указание исполнителю совершить конечную последовательность действий



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

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

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

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

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

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

Массовость. помощью одного и того же алгоритма можно решать однотипные задачи и делать это неоднократно. Свойство массовости значительно увеличивает практическую ценность алгоритмов.

Искусственные языки, предназначенные для записи программ, называются языками программирования или алгоритмическими языками. Все языки программирования делятся машинно-зависимые и машинно-независимые.

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

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

языки символического кодирования (мнемокоды);

макроязыки.

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

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

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

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

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

При программировании на процедурно-ориентированных языках не требуется детального знания устройства компьютера. Наиболее широко используемыми языками высокого уровня являются БЭЙСИК, ПАСКАЛЬ, СИ.

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





Дата публикования: 2015-02-03; Прочитано: 1011 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...