- съставно условие
- алгоритъм на Евклид
- естествено число - прости делители
- решето на Ератостен
- цифри и числа
- побитови операции
- точност при извеждане
- проверка на входни данни
- наредба - сортиране
- сортиране - пряк избор
- сортиране - вмъкване
- сортиране размяна
- сливане на редици
- вмъкване на елемент
- двумерен масив
- диагонал в матрица
- матрица
- матрица - транспониране
- матрица - събиране
- матрица - умножение
- множество - елементи
- множество - допълнение
- множества - обединение
- множества - разлика
- множества - сечение
- линейно уравнение
- квадратно уравнение
- полином
- рекурсия - итерация
- числов триъгълник
- минимална стойност
- средна стойност
- факториел
- числа на Фибоначи
- Питагорова тройка числа
- палиндром - решена задача
- алчен алгоритъм
- египетски дроби
- комбинации
допълнение на крайно множество
допълнение на множество
допълнение на множество - правоъгълник с вписана окръжност
елементи в множество
Определение за допълнение на множество: нека имаме крайно множество А явяващо се определено подмножество на крайно множество М. Допълнението на множество А е също крайно множество и включва всички елементи на множество М, които не са елементи на множество А. От гледната точка на статистиката допълнение на множество е противоположното събитие. Ако разглеждаме допълнение на крайното множество A към безкрайно (универсалното) множество резултатът е също безкрайно множество Две крайни множества са равномощни, ако имат еднакъв брой елементи. Под мощност на едно крайно множество се разбира също броят на неговите елементи. Ако разглеждаме множеството M съдържащо стойности на една булева променлива {0,1}, то подмножеството А, съдържащо едната стойност ще бъде равномощно на допълнението до множеството M. Ако разглеждаме множеството M съдържащо всички едноцифрени естествени числа {1,2,3,4,5,6,7,8,9} и негово подмножество A, съдържащо само четните едноцифрени числа {2,4,6,8}, то подмножеството допълнение на A ще има по-голям брой елементи {1,3,5,7,9}, т.е. ще бъде с по-голяма мощност. Операцията допълнение на множества не е комутативна.
допълнение на множество
Операцията допълнение на множество може да бъде илюстрирано с логическа функция отрицание - NOT.Следващата примерна програма дава решена задача за допълнение на дадено множество:
#include <iostream>
#include <stdlib.h>
using namespace std;
int const Max=25;//maksimalen diapazon na generiranite chisla i tehniq broj
void inici(int mas0[], int mas1[], int mas2[])
{int i;
for (i=0;i<Max;i++)
{mas0[i]=1;//mnovestwoto M sydyrva wsichki chisla [1..Max]
mas1[i]=mas2[i]=0;}
//wseki element w masiwa / mnovestwoto 1,2 ima stojnost 0
}// iztriwa elementi w mnovestwo
void gener(int mas3[], int br)
{int i=0,c;
do {
c=1+rand()%Max;//generira sluchajno chislo ot interwala [1..Max] element w mnovestwo
//ako ne e bila wywevdana do momenta takawa stojnost
if (!mas3[c-1]) {mas3[c-1]++;i++;cout<<c<<"; ";};
//realno w masiwa se zapiswa 1 w kletka s indeks generiranoto chislo
} while(i<br);
cout<<endl;
}// generira elementi w mnovestwo
int mnoves(int mas0[], int mas1[], int mas2[])
{int i, kolko=0;
for (i=0;i<Max;i++)
{ if (mas0[i] > mas1[i]) {kolko++;cout<<i+1<<"; ";mas2[i]++;};
//dopylnenie koi elementi lipswat w mnovestwo 1
} //for
return kolko;//broj elementi w dopylnenie na mnovestwo
}// broj elementi mnovestwo
void obrabotka(int mas0[], int mas1[], int mas2[], int br)
{ int koe,kolko;
inici(mas0, mas1, mas2);
cout<<"Generiram "<<br<<" broq razlichni sluchajni chisla za mnovestwo A:\n";
gener(mas1, br);
cout<<"Pri operaciq dopylnenie elementite sa:\n";
kolko=mnoves(mas0, mas1, mas2); cout<<" Obsho:"<<kolko<<" elementa\n";
}// dopylnenie na mnovestwo
int main()
{int mas0[Max],mas1[Max],mas2[Max],br;
char ose;
cout<<"Imame mnovestwo M sydyrvasho wsichki estestweni chisla ot interwala [1..25]\n";
cout<<"Da se systawi programa, chrez koqto se wywevdat razlichni \n";
cout<<"estestweni chisla ot interwala [1..25] w drugo mnovestwo A.\n";
cout<<"Chislata w mnovestwoto A se generirat kato sluchajni.\n";
cout<<"Programata da izwede generiranite chisla w mnovestwoto A,\n";
cout<<"kakto i movestewoto, predstwlqwasho dopylnenie na A do mnovestwoto M.\n";
do {
cout<<"Wywedete broi elementi w mnovestwo A [10..15]: ";cin >> br;
//ne e slovena zashita po whod
obrabotka(mas0, mas1, mas2, br);
cout<<"She wywevdate li drugi danni <y/n>: ";cin>>ose;
} while (ose=='y');
system("pause");
return 0;
}//kraj na programa dopylnenie na mnovestwo
допълнение на множество - правоъгълник с вписана окръжност
Нека имаме две множества K и L. Дефиниционната област на първото множество се представя графично като правоъгълник, а дефиниционната област на второто множество като окръжност.
Страните на правоъгълника са успоредни на координатните оси.
Правоъгълникът е зададен с координати на двете крайни точки на диагонал, а окръжността с координати на център и радиус. Окръжността е изцяло вписана в правоъгълника.
По въведени координати на точка да се изведе съобщение дали тази точка принадлежи на множество L или на неговото допълнение.
Алгоритъм:
Въвеждат се координати за начало на диагонал A(x,y) и край B(x,y).
Прави се проверка за правилно въвеждане на координатите
Ax < Bx && Ay < By
Въвеждат се координати за център O(x,y)и R - радиус на окръжност.
Прави се проверка за правилно въвеждане на координати на център и радиус
Ax < Ox < Bx && Ay < Oy < By && R < (Bx-Ax) && R < (By-Ay)
Въвеждат се координати на точка T(x,y)
Изчислява се разстоянието (теорема на Питагор) между точката и центъра на окръжността
d = sqrt((Tx-Ox)* Tx-Ox) +(Ty-Oy)*(Ty-Oy))
Съществуват следните възможности:
1) точката не принадлежи на правоъгълника Tx < Ax || Tx > Bx || Ty < Ay || Ty > By
2) точката принадлежи на правоъгълника, но не и на окръжността - сечение на двете множества Tx >= Ax && Tx <= Bx && Ty >= Ay && Ty <= By && d > R
3) точката принадлежи едновременно правоъгълника и на окръжността d <= R
Обяснени и решени задачи с подобни алгоритми, функции и служебни думи са разгледани в страницата с електронни уроци по информатика - програмиране.
Илюстриране работата на характерни алгоритми можете да намерите в предоставените електронни помагала съдържащи решени задачи, примери.