Проблемите в нашия бит можем да наречем задачи на които търсим решение. Начина по който ще решим проблема се разбива на стъпки, действия, които често е необходимо да бъдат изпълнени в точно определена последователност. Например как да сварим яйца: Слагаме вода в тенджера, поставяме тенджерата на котлона, включваме котлона, измиваме яйцата. Когато водата заври ги поставяме във водата. Когато минат 5 мин. Изключваме котлона и махаме тенджерата от котлона. Такива последователности от елементарни действия необходими за решаването на проблем или задача се наричат алгоритми.
Думата произлиза от името на математика Ал Хорезми, а съвременния смисъл на понятието формулира Тюринг. По- късно алгоритмите заемат много важна роля в информатиката.
2. Свойства на алгоритмите:
- дискретност(изброими елементарни действия)
- крайност- алгоритъмът приключва след краен брой стъпки
- формалност- позволява автоматично изпълнение
- определеност- еднозначно изпълнение на стъпките при едни и същи данни
- масовост- един алгоритъм може да се прилага за клас задачи
- изпълнимост- състои се от изпълними стъпки
- резултатност- при какви да е входни данни довежда до резултат
- ефективност- рационално решение на задачата- възможно най- бързо, с най- малкко памет
3. Начини за описание на алгоритмите:
- словесно описание- разбираемо за голяма аудитория, но често става обемисто, трудно се проследяват връзките ипоследователността
- чрез блок- схеми- визуално представяне на връзките и последователността от действия чрез множество от фигури с определен смисъл, чието познаване е необходимо за разчитане на блок- схемата
- програма- всички действия от алгоритъма се представят чрез команди на даден език за програмиране
4. Блок- схеми
а) блокове и тяхното предназначение:
- блокове за начало и край
- входно- изходен блок(успоредник)- за въвеждане на данни и извеждане на резултати
- безусловен блок(правоъгълник)- за изпълнение на елементарно действие
- условен блок(ромб)- проверява условие, на което може да се отговори с ДА или НЕ, има два изхода
б) пример:
в) тестване- проверка на алгоритъма при различни стойности:
пр.1:
- а=3, в=8, с=2
- х:=а, т.е. х:=3
- х>в, т.е. 3>?8 отговор НЕ –>продължаваме алгоритъма по стрелка НЕ
- х>с, т.е. 3>?2 отговор ДА –>продължаваме по стрелка ДА
- х:=с, т.е. х:=2
- извежда се стойността на х, т.е. х=2
Алгоритъмът решава следната обща задача: въвеждат се 3 числа, да се изведе най- малкото от тях. Този алгоритъм лесно може да се допълни така че да важи и за 4 и повече числа.
5. Величини
a) Променливи- тип (допустими стойности), текуща стойност, име
В горния пример а,в, с, х са променливи, които в конкретното тестване имат съответни стойности
b) Константи- тип, име, конкретна стойност.
6. Операции- едноаргументи и двуаргументни.
Най- често използваните *, /, +, – са двуаргументни операции
едноаргументна операция е знака на едно число, напримерр -32
операции- приоритет:
- едноаргументни – + !(логическа операция)
- * /
- + –
- сравнения
- Скобите могат да променят приоритета
7. Изрази- типът на израза зависи от типа на аргументите и операциите. Костантите и променливите са аргументи в израз. Най- простият израз е константа