АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Понятие алгоритма. Структуры алгоритмов

Читайте также:
  1. I. Понятие о синонимии
  2. I. Понятие распределительной (сбытовой) логистики
  3. II. Понятие о семе и семеме.
  4. Анализ структуры значения многозначного слова
  5. Анализ структуры и динамики активов
  6. Анализ структуры и динамики пассивов
  7. Анализ структуры реализации возможностей компании и состояния действующей АЗС
  8. Анализ структуры управления компании
  9. Артериолы, капилляры, венулы: функция и строение. Органоспецифичность капилляров. Понятие о гистогематическом барьере.
  10. АСОИиУ территориально распределенной сбытовой инфраструктуры нефтесбытовых компаний.
  11. Билет 46. Договор поставки и договор подряда: понятие, особенности, ответственность сторон
  12. Биологическая изменчивость людей и биогеографическая характеристика среды. Экологическая дифференцировка человечества. Понятие экологических типах людей и их формирования.

Алгоритм - это

a. описание последовательности действий для решения задачи или достижения поставленной цели [2,3];

b. правила выполнения основных операций обработки данных [4];

c. описание вычислений по математическим формулам [1,3].

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

На практике наиболее распространены следующие формы представления алгоритмов [3,4]:

Ø словесная (записи на естественном языке);

Ø графическая (изображения из графических символов);

Ø псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);

Ø программная (тексты на языках программирования).

Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке.

Пример. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел.

Алгоритм может быть следующим:

1. задать два числа;

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

3. определить большее из чисел;

4. заменить большее из чисел разностью большего и меньшего из чисел;

5. повторить алгоритм с шага 2.

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

Словесный способ не имеет широкого распространения по следующим причинам:

Ø такие описания строго не формализуемы;

Ø страдают многословностью записей;

Ø допускают неоднозначность толкования отдельных предписаний.

Графический способ представления алгоритмов является более компактным и наглядным по сравнению со словесным.

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

Такое графическое представление называется схемой алгоритма или блок-схемой.

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

Он занимает промежуточное место между естественным и формальным языками.

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

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

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

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

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

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

1. Базовая структура следование. Образуется из последовательности действий, следующих одно за другим (рис.1.):

Рисунок 1. Схема базовой структуры следование.

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

Структура ветвление существует в четырех основных вариантах (рис. 2а, 2б(1,2), 2в, 2г):

Ø если-то;

Ø если-то-иначе;

Ø выбор;

Ø выбор-иначе.

а) если-то 1)

если условие

то действия

конец если

Рисунок 2а. Блок-схема алгоритма «Если – то».

б) если-то-иначе 1)

если условие

то действия 1 иначе

действия 2

конец если

2)

Рисунок 2б(1,2). Блок-схема алгоритма «Если – то – иначе».

 

в) выбор

при условие 1: действия 1

при условие 2: действия 2

............

при условие N: действия N

конец выбора

       
 
 
   

 


 

 

Рисунок 2в. Блок-схема алгоритма «Выбор».

г) выбор - иначе

выбор

при условие 1: действия 1

при условие 2: действия 2

............

при условие N: действия N

иначе действия N+1

конец выбора

 

       
   


 

 

Рисунок 2г. Блок-схема алгоритма «Выбор – иначе».

 

Пример. Составить блок-схему алгоритма вычисления функции (рис.3.):

 

 

Решение:

 

 

           
   
 
   
 
 

 


Рисунок 3. Блок схема алгоритма вычисления функции


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.007 сек.)