190 likes | 611 Views
АЛГОРИТМИ. Пример за алгоритъм - начертаване на ъглополовяща. Построяване на окръжност k(A, r), r<AB и r<AC; Означаваме: B 1 =k AB, както B 1 е между A и B; Означаваме: C 1 =k AC, както C 1 е между A и C; Построяваме окръжност k 1 (B 1 , r 1 ), r>B 1 C 1 /2;
E N D
Пример за алгоритъм- начертаване на ъглополовяща • Построяване на окръжност k(A,r), r<AB и r<AC; • Означаваме: B1=kAB, както B1е между A и B; • Означаваме: C1=kAC, както C1е между A и C; • Построяваме окръжност k1(B1, r1), r>B1C1/2; • Построяваме окръжност k1(C1, r1); • Означаваме: A1=k1k2(A1е една от двете пресечени точки на окръжностите k1и k2); • Построяваме АА1 (тя е симетрала на B1C1 и е ъглополовяща на ъгъл BAC)
Други примери • Алгоритъм за решаване на линейно уравнение; • Алгоритъм на Евклид.
1. Определение • Система от команди(указания), с които се определя последователност от елементарни действия, изпълнението на които води до решаването на конкретна задача. • Всяка точна последователност от елементарни действия, чрез прилагането, на който довежда до решаването на конкретно задача.
2. Свойства • Масовост- прилага се върху всеки конкретен представител на определен клас от задачи; • Дискретност (стъпковост). Всеки алгоритъм е съставен от определени стъпки; • Определеност- стъпките в алгоритъма се строго и недвусмислено определени. • Резултатност- решението на задачата се получават след прилагане на краен брой стъпки на алгоритъма.
3. Понятие за алгоритъм • Произлиза от името на арабския математик Абу Джафар Мохамед ибн Муса ал-Хорезми(780г.– 847г.) от град Хорезм, днес Хива в Узбекистан. • Той е описал извършването на аритметични операции с арабски числа.
4. Представяне на алгоритмите • Словесно описание; • Блок – схеми; • Компютърни програми
5. Изпълнител на алгоритъм • До средата на 20 век- човекът; • Сега- компютърът. • Програмиране- представянето и въвеждането на даден алгоритъм в компютъра.
6. Език за програмиране • Строго изпълнение на определени правила; • Програма- алгоритъм, написан на език за програмиране. • Език за програмиране- изкуствено създаден език, изпълняващ алгоритми с нетърпимост към грешки.
7. Видове езици за програмиране • Ниско ниво- машинен език и асемблерен език; • Високо ниво: • Процедурно ориентирани- FORTRAN, Basic, Pascal, C и др. • Обектно ориентирани- C++, Java, VB и др.
8. Ефективност • Бързодействие. • Точни резултати. • Оптимизиране на алгоритъма в програмата.
9. Известни алгоритми начало • Алгоритъм на Евклид за намиране НОД на две естествени числа aиb • 1) въвеждаме aиb • 2) Ако a>b към стъпка 3, в противен случай – към стъпка 4 • 3) a=a-b. Изпълни стъпка 2 • 4) Ако a<b, изпълни стъпка 5, в противен случай- стъпка 6 • 5) b=b-a. Изпълни стъпка 2 • 6) НОД = a=b. Печат на НОД Вход на a и b a>b ДА a=a-b НЕ a<b ДА b=b-a НЕ НОД = a Вход на a и b • край
Алгоритъм за намиране на най-малък прост делител P на цяло положително число N начало Запишете словесното описание на алгоритъма Вход на N P=2 P дели N без остатък ДА Печат на P НЕ P=P+1 край
Алгоритъм за намиране сумата на числата от 1 до N начало Запишете словесното описание на алгоритъма Вход на N S=0 K=0 K=K+1 S=S+K ДА K<N НЕ Печат на S край