Алгоритми

1. Общи сведенияrubiks_cube-495

Проблемите в нашия бит можем да наречем задачи на които търсим решение. Начина по който ще решим проблема се разбива на стъпки, действия, които често е необходимо да бъдат изпълнени в точно определена последователност. Например как да сварим яйца: Слагаме вода в тенджера, поставяме тенджерата на котлона, включваме котлона, измиваме яйцата. Когато водата заври ги поставяме във водата. Когато минат 5 мин. Изключваме котлона и махаме тенджерата от котлона. Такива последователности от елементарни действия необходими за решаването на проблем или задача се наричат алгоритми.

Думата произлиза от името на математика Ал Хорезми, а съвременния смисъл на понятието формулира Тюринг. По- късно алгоритмите заемат много важна роля в информатиката.

2. Свойства на алгоритмите:

  • дискретност(изброими елементарни действия)
  • крайност- алгоритъмът приключва след краен брой стъпки
  • формалност- позволява автоматично изпълнение
  • определеност- еднозначно изпълнение на стъпките при едни и същи данни
  • масовост- един алгоритъм може да се прилага за клас задачи
  • изпълнимост- състои се от изпълними стъпки
  • резултатност- при какви да е входни данни довежда до резултат
  • ефективност- рационално решение на задачата- възможно най- бързо, с най- малкко памет

3. Начини за описание на алгоритмите:

  • словесно описание- разбираемо за голяма аудитория, но често става обемисто, трудно се проследяват връзките ипоследователността
  • чрез блок- схеми- визуално представяне на връзките и последователността от действия чрез множество от фигури с определен смисъл, чието познаване е необходимо за разчитане на блок- схемата
  • програма- всички действия от алгоритъма се представят чрез команди на даден език за програмиране

4. Блок- схеми

а) блокове и тяхното предназначение:

  • блокове за начало и край
  • входно- изходен блок(успоредник)- за въвеждане на данни и извеждане на резултати
  • безусловен блок(правоъгълник)- за изпълнение на елементарно действие
  • условен блок(ромб)- проверява условие, на което може да се отговори с ДА или НЕ, има два изхода

б) пример:

alg11

в) тестване- проверка на алгоритъма при различни стойности:

пр.1:

  1. а=3, в=8, с=2
  2. х:=а, т.е. х:=3
  3. х>в, т.е. 3>?8 отговор НЕ –>продължаваме алгоритъма по стрелка НЕ
  4. х>с, т.е. 3>?2 отговор ДА –>продължаваме по стрелка ДА
  5. х:=с, т.е. х:=2
  6. извежда се стойността на х, т.е. х=2

Алгоритъмът решава следната обща задача: въвеждат се 3 числа, да се изведе най- малкото от тях. Този алгоритъм лесно може да се допълни така че да важи и за 4 и повече числа.

5. Величини

a) Променливи- тип (допустими стойности), текуща стойност, име

В горния пример а,в, с, х са променливи, които в конкретното тестване имат съответни стойности

b) Константи- тип, име, конкретна стойност.

6. Операции- едноаргументи и двуаргументни.

Най- често използваните *, /, +, – са двуаргументни операции

едноаргументна операция е знака на едно число, напримерр -32

операции- приоритет:

  • едноаргументни – + !(логическа операция)
  • * /
  • + –
  • сравнения
  • Скобите могат да променят приоритета

7. Изрази- типът на израза зависи от типа на аргументите и операциите. Костантите и променливите са аргументи в израз. Най- простият израз е константа

Коментари: