русс | укр

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

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

СВОЙСТВА АЛГОРИТМОВ


Дата добавления: 2013-12-23; просмотров: 7378; Нарушение авторских прав


 

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

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

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

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



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

Отмеченное свойства алгоритмов называютопределенностью илидетерминированностью.

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

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


1.1. Алгоритмизация и программирование

Алгоритм – это базовое понятие информатики. На понятии алгоритма построены все основные принципы программирования – составление программ для вычислительных машин. Тем не менее, существуют различные понятия алгоритма. Одним из таких определений может быть такое: Алгоритм – это описанная на некотором языке, точная конечная система правил, определяющая содержание и порядок действий над некоторыми объектами, строгое выполнение которых дает решение поставленной задачи. Иначе, это описание называется формальным

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

Программа – это логически упорядоченная последовательность команд необходимая для управления компьютером.

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

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

1. Дискретность – разделение информационного процесса на отдельные команды;

2. Определенность (точность) – это однозначность результатов выполнения алгоритмов в одинаковых начальных условиях;

3. Результативность – это завершение выполнения алгоритмов определенными результатами;

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

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

Алгоритм можно описать несколькими способами:

ü словесная форма представления алгоритма (описание на естественном языке);

ü описание алгоритма в виде структурированной записи, например на псевдокоде – это описание алгоритма на естественном, частично формализованном языке;

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

ü запись структуры алгоритма на языке программирования или в машинных кодах.

 

 

Таблица 11-Обозначение некоторых блоков алгоритма

- Начало и конец алгоритма.
   
- Ввод / вывод данных.
     
- Выполнение операции.
   
- Выбор направления выполнения алгоритма в зависимости от некоторых переменных условий.
   
- Изображение цикла со счетчиком.

 

1.2. Основные алгоритмические конструкции

Линейная алгоритмическая конструкция

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

 

Таблица 12 – Пример линейного алгоритма

Блок – схема: Задача.
 
 

Найти площадь прямоугольника, если известны длины его сторон. Исходные данные: a- длина прямоугольника, b- ширина прямоугольника. Выходные данные: s – площадь.
Запись алгоритма на структурированном языке:
1. Ввод a,b 2. Вычисление s=a*b 3. Вывод s Конец

Разветвляющаяся алгоритмическая конструкция

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

 

 

Таблица 13– Виды развилок

Неполная развилка если – то Полная развилка если – то – иначе

Алгоритмическая конструкция «цикл» или повторение.

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

Различают три типа циклических алгоритмов: Цикл с параметром – арифметический цикл; цикл с предусловием и цикл с постусловием – итерационные циклы(Таблица 14). В циклах с параметром число повторений полностью зависит от правила изменения параметра, которое задается с помощью начального и конечного значений параметра и шага его изменения.

Таблица 14 – Виды циклов

Цикл с параметром Цикл с предусловием Цикл с постусловием

 



<== предыдущая лекция | следующая лекция ==>
ГРАФИЧЕСКОЕ ПРЕДСТАВЛЕНИЕ АЛГОРИТМОВ | Виды pазделяются на основные, местные и дополнительные.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.