3505

Основы алгоритмизации

Лекция

Информатика, кибернетика и программирование

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

Русский

2012-11-02

69.15 KB

14 чел.

Основы алгоритмизации

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

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

Термин «алгоритм» (algorithmi) происходит от латинского написания имени узбекского математика и астронома IX века Мухаммеда ибн Муса аль-Хорезми, который в первые (825г.) разработал правила выполнения четырех арифметических действий в десятичной системе счисления.

Свойства алгоритмов и требования к алгоритмам

Основными свойствами, которыми должен обладать правильно составленный алгоритм являются:

  1.  массовость – алгоритм должен быть пригодным для решения любой задачи определенного класса;
  2.  структурированность – алгоритм должен содержать четко обозначенные фрагменты, решающие стандартные задачи;
  3.  дискретность – последовательное выполнение команд, с точной фиксацией моментов окончания выполнения одной команды и начала выполнения следующей;
  4.  однозначность – для каждой ситуации должна быть задана однозначная последовательность действий;
  5.  конечность – алгоритм должен оканчиваться после конечного числа шагов;
  6.  малая связность – необходимо стремиться к уменьшению объема промежуточных хранимых данных;
  7.  самоконтроль – при некоторых неверных действиях и/или ошибках алгоритм должен иметь соответствующую проверку и возможно коррекцию;
  8.  рациональность – алгоритм должен быть по возможности максимально простым.

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

Формы представления алгоритмов

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

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


Блоки начала и конца алгоритма:

Конец

Начало

Блок произвольных команд:

команды

алгоритма

Блок ввода/вывода данных:

ввод/вывод

данных

Условный блок (блок ветвления):

выполняется

некоторое

условие?

да

нет

Блок отдельной подпрограммы (процедуры/функции):

команды

подпрограммы

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

Алгоритм нахождения минимального 

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

Заданы три числа: a, b, c. Найти среди них число с минимальным (наименьшим) значением.

Для решения данной задачи можно предложить алгоритм, основанный на последовательном попарном сравнении заданных чисел.

Попробуйте самостоятельно разработать такой алгоритм.

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

Словесное описание алгоритма нахождения минимального из трех.

  1.  Ввод чисел a, b, c.
  2.  Если b>a, то на шаг 6.
  3.  Если c>b, то на шаг 9.
  4.  Минимальное с.
  5.  На шаг 10.
  6.  Если a>c, то на шаг 4.
  7.   Минимальное a.
  8.  На шаг 10.
  9.  Минимальное b.
  10.  Вывод минимального числа.
  11.   Конец.


Блок-схема алгоритма нахождения минимального из трех.

да

  c>a ?

нет

да

да

Начало

ввод a,b,c

 b>a ?

  c>b ?

нет

минимальное

b

минимальное

c

нет

минимальное

a

Конец

вывод

минимального

 


 

А также другие работы, которые могут Вас заинтересовать

75317. Понятие “феодализма” в западноевропейской историографии 39.5 KB
  Понятие феодализма в западноевропейской историографии. Понимание феодализма в историографии XVIII в. Главными чертами феодализма некоторые из них считали политическую раздробленность и как следствие ее господство в средние века папской теократии. в определении сущности феодализма недалеко ушли от историков эпохи Просвещения хотя в отличие от них оценивали феодализм как положительное историческое явление: реакционные романтики потому что видели в нем свой политический идеал...
75318. Проблема генезиса феодализма в отечественной и зарубежной историографии 46.5 KB
  Проблема генезиса феодализма в отечественной и зарубежной историографии. Проблема генезиса феодализма и связанный с нею вопрос о путях складывания феодально зависимого крестьянства представляет трудность и с источниковедческой и с теоретической точек зрения. В советской историографии становление феодализма рассматривалось в первую очередь в аспекте вскрытия сдвигов в производительных силах в отношениях собственности...
75319. Образование государства и возникновение писаного права у франков 38.5 KB
  Образование государства и возникновение писаного права у франков. В исторических памятниках имя франков появилось начиная с III в. Франки распадались на две большие ветви приморских или салических франков от латинского слова slum что значит море живших у устья Рейна и прибрежных или рипуарских франков от латинского слова rip что значит берег живших южнее по берегам Рейна и Мааса. Из вождей франков известен Меровей при котором франки сражались против Аттилы на Каталаунских полях 451 г.
75320. Рост крупного землевладения и ослабление центральной власти у франков при преемниках Хлодвига. Объединение страны майордомами Австразии 33.5 KB
  После смерти Хлодвига началось дробление королевства. намечается обособление самостоятельных политических единиц в составе Франкского королевства: Нейстрии СевероЗападной Галлии с центром в Париже; Австразии северовосточной части Франкского королевства включавшей исконные франкские области по обоим берегам Рейна и Мааса; Бургундии территории бывшего королевства бургундов. В Нейстрии которая к моменту франкского завоевания была сильно романизована галлоримляне составлявшие и после завоевания большинство населения раньше чем в...
75321. Франция в IX-XI веках 39.5 KB
  В начале этого периода в стране имелось еще много крестьян не находившихся в какойлибо зависимости от частных лиц и подчинявшихся непосредственно короне. Вместе с тем возрастало число крестьян находившихся в личнонаследственной зависимости сервов и колонов а также жителей иммунитетных территорий. В результате все жители округи будь они в личной либо поземельной зависимости от данного или какогонибудь другого феодала или нет становились его людьми в судебноадминистративном отношении. Для по земельно и лично зависимых крестьян...
75322. Англия в XI-XII вв. Завершение феодализации английского общества 47 KB
  в Англии в основном уже господствовали феодальные порядки но процесс феодализации еще не завершился. Вильгельм со своим войском на больших ладьях переплыл ЛаМанш и высадился на юге Англии в бухте Павенси. Во главе последнего выступил избранный советом мудрых новый король Англии Гарольд. Герцог Нормандский же двинулся к Лондону захватил его и стал королем Англии под именем Вильгельма I Завоевателя.
75323. Особенности социально-экономического развития Италии в конце V- сер. XI веков 51 KB
  Особенности социальноэкономического развития Италии в конце V сер. Подвластное лангобардам коренное население Италии оставалось в сфере действия римского права. империи но не принесло Италии политического единства. Карл Великий изменил территориальноадминистративное деление своих владений в Италии: вместо герцогств были образованы 20 графств отданных в управление представителям франкской знати.
75324. Основные черты феодального строя в Западной Европе к концу XI века 32 KB
  Господствует феодальная земельная собственность в вид вотчины в сочетании с мелким индивидуальным крестьянским хозяйством. Основная масса крестьян находится уже в той или иной форме зависимости. На раннем этапе развития феодализма господствовало натуральное хозяйство; обмен был незначителен торговые связи не развиты; У лично зависимых крестьян особенно в крупных поместьях преобладала отработочная рента. Широко распространяется также натуральный оброк с крестьян находившихся в более легкой зависимости.
75325. Население и внешний вид средневековых городов. Борьба городов с сеньорами 36 KB
  В Западной Европе средневековые города раньше всего появились в Италии Венеция Генуя Пиза Неаполь Амальфи и др. Крестьяне бежавшие от своих господ или уходившие в города на условиях выплаты господину оброка становясь горожанами постепенно освобождались отличной зависимости феодалу. Лишь в дальнейшем в городах появились купцы новый общественный слой сферой деятельности которого являлось уже не производство а только обмен товаров. В отличие от странствующих купцов существовавших в феодальном обществе в предшествующий период и...