Брой прегледи: 5179
Алгебра
- съставно условие
- алгоритъм на Евклид
- естествено число - прости делители
- решето на Ератостен
- цифри и числа
- побитови операции
- точност при извеждане
- проверка на входни данни
- наредба - сортиране
- сортиране - пряк избор
- сортиране - вмъкване
- сортиране размяна
- сливане на редици
- вмъкване на елемент
- двумерен масив
- диагонал в матрица
- матрица
- матрица - транспониране
- матрица - събиране
- матрица - умножение
- множество - елементи
- множество - допълнение
- множества - обединение
- множества - разлика
- множества - сечение
- линейно уравнение
- квадратно уравнение
- полином
- рекурсия - итерация
- числов триъгълник
- минимална стойност
- средна стойност
- факториел
- числа на Фибоначи
- Питагорова тройка числа
- палиндром - решена задача
- алчен алгоритъм
- египетски дроби
- комбинации
линейно уравнение - от първа степен с едно неизвестно
линейно уравнение - от първа степен с едно неизвестно
система от две линейни уравнения с две неизвестни
Уравнение от първа степен с едно неизвестно има вида Ax + B = 0 и се нарича линейно уравнение. Решение на линейно уравнение е получаване стойността на самото неизвестно.
Коефициентите в дадено линейно уравнение могат да бъдат цели или реални числа, положителни или отрицателни. Ако коефициент А е различен от 0, то търсеното неизвестно x има стойност - B/A.Нека припомним, че всеки опит за делене на 0 в програмирането извежда код на системна грешка.
При решаване на линейно уравнение съществуват 3 варианта за стойности на коефициентите:
а) A=0; B<>0 - при коефициент 0 пред неизвестното линейното уравнение няма решение;
б) A=0; B = 0 - изпълняват се условията за произволна стойност на неизвестното - това линейно уравнение има безброй решения;
в) A<>0 - има едно решение на това линейно уравнение със стойност на търсеното неизвестно x = - B / A ;
линейно уравнение - от първа степен с едно неизвестно
Следващата примерна програма дава решена задача за линейно уравнение - от първа степен с едно неизвестно:
#include <iostream>
using namespace std;
int main()
{ double a,b,x;
cout<<"Da se systawi programa, chrez koqto se wywevdat 2 realnu chisla a i b.\n";
cout<<"Chislata predstawlqwat koeficienti w linejno urawnenie ot wida Ax + B = 0.\n";
cout<<"Programata da izwede stojnostta na neizwestnoto x.\n";
cout<<"Primer: 2 - 4 Izhod: 2\n";
cout<<"Wywedete koeficient A: ";cin>>a;
cout<<"Wywedete koeficient B: ";cin>>b;
if (a==0)
{ if (b) cout<<" towa urawnenie nqma reshenie.\n"; //A=; B<>0;
else cout<<" towa urawnenie ima bezbroj resheniq. \n";//A=0; B=0
} else //A<>0
{x=-b/a;
cout<<" koren na urawnenie: "<<x<<endl;
}
system("pause");//
return 0;//
}//kraj na programa linejno urawnenie
система от две линейни уравнения с две неизвестни
Имаме система линейни уравнение от две уравнения с две неизвестни от вида:A11*x + A12*y + A13 = 0
A21*x + A22*y + A23 = 0
Въведени са коефициентите пред всяко неизвестно както и свободния член за всяко от двете уравнения.
Търсим стойността на двете неизвестни в тази система уравнения.
Алгоритъм
Ще ползваме формулите на Крамер.
Означаваме коефициентите в тази система уравнения по следния начин:
A11x + A12y = A13
A21x + A22y = A23
Съставяме 3 матрици и последователно ги решаваме:
D0 = A11 * A22 - A12 * A21 – стойността на основната матрица трябва да е различна от 0, в противен случай тази система уравнения няма решение.
D1 = A13 * A22 - A12 * A23
D2 = A11 * A23 - A13 * A21
Стойностите на неизвестните в тази система уравнения са съответно:
X = D1/D0; Y = D2/D0
Следващата примерна програма дава решена задача за система линейни уравнение от две уравнения с две неизвестни:
#include <iostream>
using namespace std;
void koeficienti(double mas[][3])
{ int red, kol;
cout<<"Wywevdate koeficientite pred neizwestnite i swobdniq chlen\n";
cout<<"za sistema ot 2 urawneniq s 2 neizwestni:\n";
for (red=0;red<2;red++)
{ for (kol = 0;kol<3;kol++)
{ cout<<"Wywedete koeficient A"<<red+1<<kol+1<<": ";cin>>mas[red][kol];
}
}
}//koeficienti w sistema urawneniq
void sistema (double mas[][3])
{double Do,Dx,Dy,x,y;
Do = mas[0][0]*mas[1][1] - mas[1][0]*mas[0][1];//osnowna matrica
Dx = mas[0][2]*mas[1][1] - mas[1][2]*mas[0][1];// X
Dy = mas[0][0]*mas[1][2] - mas[1][0]*mas[0][2];//Y
if (Do)
{x=Dx/Do; y=Dy/Do;
cout<<"Tazi sistema urawneniq ima slednite resheniq: x = "<<x<<"; y = "<<y<<endl;
}// rewsheniq na sistema urawneniq
else
{cout<<"Tazi sistema urawneniq nqma reshenie: \n";
}//nqma reshenie
} //sistema urawneniq
int main()
{ double mas[2][3]={{4,-3,-1},{3,-2,0}};//koeficienti w sistema urawneniq
char ose;
sistema (mas);
do {
koeficienti( mas);
sistema (mas);
cout<<"She wywevdate li drugi danni: <y/n>: ";cin>>ose;
} while (ose=='y');
system("pause");
return 0;
}// kraj programa sistema 2 urawneniq s 2 neizwestni
Обяснени и решени задачи с подобни алгоритми, функции и служебни думи са разгледани в страницата с електронни уроци по информатика - програмиране.
Илюстриране работата на характерни алгоритми можете да намерите в предоставените електронни помагала съдържащи решени задачи, примери.