- съставно условие
- алгоритъм на Евклид
- естествено число - прости делители
- решето на Ератостен
- цифри и числа
- побитови операции
- точност при извеждане
- проверка на входни данни
- наредба - сортиране
- сортиране - пряк избор
- сортиране - вмъкване
- сортиране размяна
- сливане на редици
- вмъкване на елемент
- двумерен масив
- диагонал в матрица
- матрица
- матрица - транспониране
- матрица - събиране
- матрица - умножение
- множество - елементи
- множество - допълнение
- множества - обединение
- множества - разлика
- множества - сечение
- линейно уравнение
- квадратно уравнение
- полином
- рекурсия - итерация
- числов триъгълник
- минимална стойност
- средна стойност
- факториел
- числа на Фибоначи
- Питагорова тройка числа
- палиндром - решена задача
- алчен алгоритъм
- египетски дроби
- комбинации
- ъглополовяща-бисектриса
- Криви
- Разстояние между две точки
- ъгъл градуси радиан
- две окръжности
- диаметър на окръжност
- периметър
- височина, перпендикуляр
- триъгълник - Талес
- триъгълник - Херон
- триъгълник - Питагор
- правоъгълен триъгълник
- успоредник
- правоъгълник
- ромб
- трапец
- правоъгълен трапец
- многоъгълник
- дъга - хорда, ъгъл и радиус
- окръжност
- цилиндър
- конус
- призма
- пирамида
Описание на алгоритъм и решения на задачи / примери и програма
вписана и описана окръжностПознанието за заобикалящия ни свят е еволюирало бавно. Всеки възникнал проблем изисквал решения на конкретни задачи, прилагане на определен алгоритъм. Насоката в развитието не е било права линия. Постепенно са се формирали нови понятия, изграждани са връзки между тях. Изразът “единствено вярно решение” е присъщ на политиците. Във физиката, както и в математиката и информатика са били използвани различни методи за изчисляване модела на явления и процеси. Всеки нов метод за изчисление е бил проверяван и съпоставян с вече познати и изпитани методи. Натрупването и съхраняването на информация за вече открити решения на задачи и проблеми ни позволява следващ етап на развитие.
Една и съща задача може да бъде решена по различни начини, но алгоритмите използвани за решението ще бъдат по-добре обмисляни и разбрани, ако има възможност за сравняване с вече готово решение. За голяма част от разглежданите задачи е даден пример за конкретни входни данни, какъв би бил крайният резултат. Всички решения на задачи се предхождат от описание на конкретен алгоритъм.
Решените примери (даден е сорс кода за всяка отделна програма) илюстрират работата на характерни алгоритми. Материалът приложен в тази част на сайта е пряко свързан както с приложените електронни уроци, така и с електронните пособия.
Отделните теми са дадени в отделни страници, описани като ред от лявото вертикално меню има условие на задачата, алгоритъм за решение и самия сорс код. Следва примерна задача:
вписана и описана окръжност
Имаме триъгълник с въведени дължини на страните a,b,c. Търсим разстоянието между центровете на вписана и описана около триъгълника окръжност.
Пример: 3,4,5 Изход:1.118
Алгоритъм:
Лицето на триъгълника изчисляваме по формулата на Херон S=sqrt(p*(p-a)*(p-b)*(p-c))
Ще ползваме една от теоремите на Ойлер.
Ойлеровата права е права в триъгълник и преминава през пресечената точка на височините, на медианите и през центъра на описаната окръжност.
Центърът на вписаната окръжност е пресечната точка на трите ъглополовящи в триъгълника. Радиусът на вписаната окръжност е: r=(2*S)/(a+b+c);
Центърът на описаната окръжност е пресечната точка на трите симетрали на страните на триъгълника. Радиусът на описаната окръжност е: R=a*b*c/(4*S);
Разстоянието между центровете на вписаната и описаната окръжност е: OI=sqrt(R*R-2*R*r);
Следващата програма съдържа пример и решение на задача за разстояние между центровете на вписана и описана около триъгълник окръжност:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{ double a,b,c,p,R,r,S,OI;
cout<<"Za triygylnik ABC sa wywedeni dylvini na stranite mu a,b i c.\n";
cout<<"Tyrsim razstoqnieto OI mevdu centrowete na wpisanata i \n";
cout<<"opisanata okryvnost po teoremata na Ojler OI=sqrt(R*R-2*R*r)\n";
cout<<"Primer: 3,4,5 Izhod 1.118\n";
cout<<"Wywedete strana a: ";cin>>a;
cout<<"Wywedete strana b: ";cin>>b;
cout<<"Wywedete strana c: ";cin>>c;
p=(a+b+c)/2;// poluperimetyr na triygylnika
S=sqrt(p*(p-a)*(p-b)*(p-c));//lice na triygylnik po Heron
cout<<"Lice na tiygylnik: "<<S<<endl;
R=a*b*c/(4*S);// radius na opsiana okryvnost
cout<<" radius na opsiana okryvnost: "<<R<<endl;
r=(2*S)/(a+b+c);//radius na wpsiana okryvnost
cout<<" radius na wpsiana okryvnost: "<<r<<endl;
OI=sqrt(R*R-2*R*r);
cout<<"Razstoqnie mevdu centrowete na dwete okryvnosti: "<<OI<<endl;
system("pause");
return 0;
}//kraj na programa wpisana opisana okryvnost
Подобни решения на задачи са разгледани в страницата с електронни уроци по информатика - програмиране.
Илюстриране на отделните алгоритми с демонстриране на решения на различни видове задачи можете да разгледате чрез предоставените електронни пособия / помагала съдържащи решени задачи и примери.