Professional Documents
Culture Documents
Algoritmi
Algoritmi
Ще разгледаме:
Същност на алгоритмите
Свойства на алгоритмите
Видове алгоритми
Структура на алгоритмите – величини, изрази и
оператори.
Задача: Баща и двамата му сина тръгнали
на пътешествие, но неочаквано се озовали
пред пълноводна река. Намерили лодка, която
вози не повече от 100 кг. Как да постъпят за
да преминат реката, ако бащата тежи 100
кг, а синовете му по 50 кг?
1. С1, С2 – преминават реката;
2. С1 се връща;
3. Б – преминава реката;
4. С2 се връща;
5. С1, С2 – преминават реката;
словесно
блок – схеми
език за програмиране
Словесно
Казваме, че пресметнатата
стойност на израза се
присвоява на
променливата.
Блок-схеми
Блок-схемният език е използван много в зората на
прогромирането. Днес той е позагубил своето
практическо значение, но остава най-подходящото
средство за обучение в техниката на разработване и
описване на алгоритми.
Основното му качество е, че е графичен и позволява
да се представят по-лесно разклоненията в
алгоритъма.
Всеки блок определя действие, а когато действието е
изпълнено, работата на алгоритъма продължава с
блока, до който води излизащата стрелка.
Основни блокове, използвани в блок-
схемите
Начало
да
не
Край
Разклонени
Циклични
ЛИНЕЙНИ
Въведи R
C = 2*3.14*R;
S = 3,14 * R;
Изведи C, S
Край
РАЗКЛОНЕНИ
Начало
Въведи a и h
a<=0 да
или
h<=0
не
S = a * h / 2;
Изведи S
Край
ЦИКЛИЧНИ
Задаване на начални
Задаване на начални
стойности стойности
не
тяло
условие
да
модификация
тяло
да
условие модификация
не
да F:=F*i
i<=n
не
изход: F
Известни алгоритмични задачи:
1. Вълк, коза и зеле да преминат
от другата страна на реката с 1 лодка.
В лодката може да се вози само 1 обект.
На един бряг не могат да седят ВК, КЗ
2. Имаме три съда с вместимост 8, 5 и 3 литра.
Съдът от 8л. е пълен с вода.
Разделете водата на 2 равни части.
1) 8 0 0
2) 3 5 0
3) 3 2 3
4) 6 2 0
5) 6 0 2
6) 1 5 2
3л. 7) 1 4 3
8л.
8) 4 4 0
5л.
4л.
3л. 3л.
2л.
1л.
Задача за ханойските кули:
На 3 пилона има 3 диска.
Прехвърлете ги от левия на десния пилон.
Можете да поставяте само по- малък диск върху по- голям
диск.
1
2
1
Задача
Опишете алгоритъм за размяна на стойностите на две
променливи като използвате трета променлива.
Опишете алгоритъм, който решава квадратното
уравнение ax2+bx+c=0
Да се опише алгоритъм, чрез който се пресмята
произведението на първите N естествени числа
Съставете блок-схема на алгоритъм за намиране на
лицето и периметъра на правоъгълник със страни А и
В (линеен алгоритъм).
Съставете блок-схема на алгоритъм за проверка дали
три дадени числа А, В и С са страни на триъгълник.
Задача
Имаме две точки M(x,y) и N(x,y), за които са въведени
координатите им в равнината. Търсим тяхното
разстояние. Да се състави линеен алгоритъм за
изчисляване разстояние между две точки и се изчертае
блок схема за него.