ОтО – Проксима !!!

9 01 2011

ОтО – Проксима !!!

\Общата Теория на Относителноста – Проксима !!!\

Защо Айнщайн е сгрешил ?

Според Айнщайн и според това, което гласи ОтО гравитацията огъва простравството и именно поради тази причина планетите се въртят около слънцето.И  поради тази причина гравитацията, за която говори Нютон и тази , за която говори Айнщайн не съвпадат.Защо ябълката пада от дървото? – Ябълката пада защото Земята действа на ябълката със сила F , именно това гласи Нютоновата теория, но при Айнщайн ябълката също се привлича към Земята, но причината тук е огънатото под натискът на масата пространство !

В лабораторни условия ОтО се демонстрира от учените с гумено платно и с топка в нашият случай наподобяващо  Слънцето.

-Поставяме платното, а върху него поставяме топката.Виждаме , че топката огъва платното под натискът на масата и така се имитира пространството огънато от масата на Слънцето.

 





Модул…без използване на fabs.

11 11 2010

Задача . Да се състави програма, която по реално число x и без да използва функцията fabs пресмята стойноста на функцията

f(x) = | |3 – x| – |-x2 + x + 2|| .

Една програма, която решава задачата е следна:

#include <iostream>
#include <cmath>
using namespace std;
int main(){

 cout<<"x=";double x;cin>>x;

 double y;

 y= sqrt((( sqrt((3-x)*(3-x))) - sqrt((-x*x + x + 2)*(-x*x + x + 2)))*(( sqrt((3-x)*(3-x))) - sqrt((-x*x + x + 2)*(-x*x + x + 2))));

 cout<<"y:"<<y<<endl;

return 0;}

~S.K.G~





Равнобедрен….Триъгълник.

10 11 2010

Задача . Да се състави програма, която по зададени три страни a, b и c на триъгълник , определя вида на триъгълника – равностранен, разностранен или равнобедрен.

За решението на програмата е използвана функцията if.

Една програма, която решава задачата е следна:

#include<iostream>

using namespace std;
int main(){

 system("color B");
 {

 int a, b, c;
 cout<<"a=";cin>>a;
 cout<<"b=";cin>>b;
 cout<<"c=";cin>>c;

 { if ((a==b) && (b==c) && (a==c)) cout<<"Ravnostranen Triagalnik"; }

 { if ((a!=b) && (b!=c) && (a!=c)) cout<<"Raznostranen Triagalnik"; }

 { if ((a!=b) && (b==c) && (a!=c)) cout<<"Ravnobedren Triagalnik"; }
 { if ((a!=b) && (b!=c) && (a==c)) cout<<"Ravnobedren Triagalnik"; }
 { if ((a==b) && (b!=c) && (a!=c)) cout<<"Ravnobedren Triagalnik"; }

 }

return 0;}

~S.K.G~





I-ви, II-ри…квадрант.

10 11 2010

Задача . Да се състави програма, която по въведени кординати x , y (x≠0, y≠0) определя в кой квадрант лежи точката.

За решението на програмата е използвана функцията if.Една програма, която решава задачата е следна:

 #include<iostream>

using namespace std;
int main(){

int x=0, y=0;
x!=0;
y!=0;
cout<<"x=";cin>>x;
cout<<"y=";cin>>y;

system("color 5");{
if ((x>0) &&(y>0)) cout<<"1-vi Kvadrant";
}
system("color 6");{
if ((x>0) && (y<0)) cout<<"4-ti Kvadrant";
}
system("color 8");{
if ((x<0) && (y<0)) cout<<"3-ti Kvadrant";
}
system("color 3");{
if ((x<0) && (y>0)) cout<<"2-ri Kvadrant";
}
return 0;}

~S.K.G~





Задачи !!!

8 11 2010

Задача 1. Да се напише програма, която увеличава по-малкото от две дадени цели неравни числа пет пъти, а по-голямото число намалява осем пъти.

За решението на програмата е използвана функцията if.

Една програма, която решава задачата е следна:

#include<iostream>

using namespace std;
int main(){

int a, b;
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;

if (a>b) (a=a/8, b=b*5);
else (a=a*5, b=b/8);

system("color 2");
{
cout<<"a:"<<a<<endl;
cout<<"b:"<<b<<endl;
}

return 0;}

Задача 2. Дадени са три числа a, b и c.Да се напише програма, в резултат от изпълнение на която, ако е в сила релацията  a≥b≥c , числата се удвояват , в протимен случай  числата се заменят с техните абсолютни стойности.

За решението на програмата е използвана функцията if.
Една програма, която решава задачата е следна:

#include<iostream>
#include<cmath>

using namespace std;
int main(){

int a, b, c;

cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;

if ((a>=b) && (b>=c) && (a>=c)) ( a=2*a, b=2*b, c=2*c);
else ( fabs(a), fabs(b), fabs(c));

cout<<"a:"<<a<<endl;
cout<<"b:"<<b<<endl;
cout<<"c:"<<c<<endl;

return 0;}

~S.K.G~





The Matrix!!!

4 11 2010

Ето една програмка, която прави ефекта от матрицата:

#include <iostream>
#include <vector>
#include <windows.h>
#include <cstdio>
#include <algorithm>

using namespace std;

const int max_x = 80; //console width
const int max_y = 24; //console height
const int col1 = 10; //color code for higlighted char
const int col2 = 2; //color code for normal char
const int col3 = 0; //color code for background
const int c_min = 32; //char minimum ascii code
const int c_max = 126; //char maximum ascii code

const inline char rc(int m1, int m2) //random char
{
    return (rand()%(m2-m1))+m1;
}

void gotoxy(int x, int y)
{
    COORD coord;
    coord.X = x;
    coord.Y = y;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}

void setcol(int fore, int back)
{
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), fore + back*16);
}

void clrscr()
{
    HANDLE                     hStdOut;
    CONSOLE_SCREEN_BUFFER_INFO csbi;
    DWORD                      count;
    DWORD                      cellCount;
    COORD                      homeCoords = { 0, 0 };

    hStdOut = GetStdHandle( STD_OUTPUT_HANDLE );
    if (hStdOut == INVALID_HANDLE_VALUE) return;

    /* Get the number of cells in the current buffer */
    if (!GetConsoleScreenBufferInfo( hStdOut, &csbi )) return;
    cellCount = csbi.dwSize.X *csbi.dwSize.Y;

    /* Fill the entire buffer with spaces */
    if (!FillConsoleOutputCharacter(
                hStdOut,
                (TCHAR) ' ',
                cellCount,
                homeCoords,
                &count
            )) return;

    /* Fill the entire buffer with the current colors and attributes */
    if (!FillConsoleOutputAttribute(
                hStdOut,
                csbi.wAttributes,
                cellCount,
                homeCoords,
                &count
            )) return;

    /* Move the cursor home */
    SetConsoleCursorPosition( hStdOut, homeCoords );
}

void At(char chr, int x, int y) //print char at x-y pos in console
{
    if (y>=0 && y<=max_y)
    {
        gotoxy(x,y);
        printf("%c",chr);
    }
}

class FallChar //falling char
{
public:
    int X, Y;
    char code;
    int speed;
    FallChar();
};

FallChar::FallChar()
{
    X=rand()%max_x;
    Y=0;
    code=rc(c_min,c_max);
    speed=rand()%3+1;
}

int main()
{
    vector<FallChar> chars;
    FallChar* cchar;

    while (1)
    {
        chars.push_back(FallChar());
        chars.push_back(FallChar());
        chars.push_back(FallChar());
        random_shuffle(chars.begin(), chars.end()); //shuffle to make flashing more equally distributed
        for (int i=0; i<chars.size(); i++)
        {
            cchar = &chars[i];
            if (cchar->Y!=max_y+4)
            {
                setcol(col1,col3);
                At(cchar->code, cchar->X, cchar->Y);
                At(rc(c_min,c_max), cchar->X, cchar->Y-1);
                setcol(col2,col3);
                At(rc(c_min,c_max), cchar->X, cchar->Y-2);
                At(rc(c_min,c_max), cchar->X, cchar->Y-3);
                At(rc(c_min,c_max), cchar->X, cchar->Y-4);
                cchar->Y+=cchar->speed;
            }
            else
            {
                chars.erase(chars.begin()+i);
                i--;
            }
        }
        Sleep(30);
        clrscr();
    }
    return 0;
}

 

~S.K.G~





Смяна на цвета!!!

4 11 2010

В този урок ще ви покажа как да сменяте цвета на текста при програмиране с  C++.Като заначало при стартирането на MsDos въведете следното съобщение : color b100

При въвеждане на съобщението на екрана ще се появи следното:

Съобщението на екрана показва какво число отговаря на даден цвят.Например числото 0 отговаря на черния цвят.

  • 0 = Черен                        8 = Сив
  • 1 = Син                              9 = Светло Син
  • 2 = Зелен                        A = Светло Зелен
  • 3 = Синьо-Зелен          B = Светло Синьо-Зелен
  • 4 = Червен                     C = Светло Червен
  • 5  =  Лилав                     D = Светло Лилав
  • 6 = Жълт                        E = Светло Жълт
  • 7 = Бял                            F = Искрящо Бял

Във C++  за смяна на цвета се използва следния код:

{ system("color 2);
cout<<" "; }

(“color 2”) – щом числото след  color е 2, то показва, че текста ще бъде зелен, тъй като числото  2 = Зелен .Ако числото след color беше  6, то следва, че текста ще бъде оцветен в жълт цвят , тъй като числото 6 = Жълт.А мястото между  ”   “ ще бъде отредено за текста, които искаме да оцветим.

~S.K.G~





Програма, която подрежда 6 числа в низходящ ред!!!

4 11 2010

Задача. Да се състави програма, която подрежда 6 числа от най-голямото  към най-малкото.

За решението на програмата е използвана функцията if.

Една програма, която решава задачата е следна:

 #include<iostream>
using namespace std;
int main(){
 cout<<"Vavedete 6 chisla!!!"<<endl;

int a, b, c, d, e, f, x;
cin>>a>>b>>c>>d>>e>>f;

if(a>b) x=a, a=b, b=x;
if(a>c) x=a, a=c, c=x;
if(a>d) x=a, a=d, d=x;
if(a>e) x=a, a=e, e=x;
if(a>f) x=a, a=f, f=x;
if(b>c) x=b, b=c, c=x;
if(b>d) x=b, b=d, d=x;
if(b>e) x=b, b=e, e=x;
if(b>f) x=b, b=f, f=x;
if(c>d) x=c, c=d, d=x;
if(c>e) x=c, e=d, e=x;
if(c>f) x=c, c=f, f=x;
if(d>e) x=d, d=e, e=x;
if(d>f) x=d, d=f, f=x;
if(e>f) x=e, e=f, f=x;

{ system("color 3");
cout<<" "<<f<<" "<<e<<" "<<d<<" "<<c<<" "<<b<<" "<<a<<endl;
}
return 0;}

В решението на програмата е включено и смяна на цвета.След въвеждането на 6-те числа и натискане на клавиша  Enter текста ще си смени цвета в зелен.

Аз съм въвел числата 100, 323, 9939, 392, 23, 2 .Ето как изглежда текста преди и след натискане на клавиша Enter.

Текста преди натискане на клавиша Enter:

Текста след натискане на клавиша Enter:

~S.K.G~





Игра на C++ !!!

3 11 2010

Задача. Да се състави програма, чрез която трябва да намериш любимото число на компютъра 😀 .Числата варират от 1 – 1000 .

Една програма, която решава задачата е следна:

#include <iostream>
#include <iomanip>
using namespace std;
int main(void){
int a;
int b;
int c = 0;
while(true)
{
system("CLS");
cin.clear();
c = 0;
srand(static_cast<unsigned int>(time (0)));
a = rand()%1000+1;
cout<<"Koe mi e lubimoto chislo !?"<<endl;
do
{
cout<<"Dai svoeto predlojenie:";
cin >> b;
if(b > a)
 {
cout<<"Tvarde Mnogo!"<< endl <<endl;
}
if(b < a)
{
cout<<"Tvarde Malko!"<< endl <<endl;
 }
c ++;
}while(b > a || b < a);
cout << "Bravoi ti pozna lubimoto mi chislo!!!"<<endl<<endl;
cout << "Ti napravi" <<setw(4)<<c<<setw(13)<< "predlojeniq" <<endl<<endl;
system("PAUSE");
 }
return 0;}

След завършване и стартиране на програмата ще трябва да откриете любимото число на копютъра, като всеки път числото е различно.Аз например познах любимото число на компютъра от десетия път и то беше 164  😀 . След познаването на числото при натискане на клавиша Еsc играта ще се стартира на ново.

~S.K.G~





Интересна програма !!!

3 11 2010

В този урок ще ви покажа една много интересна програма, която при въвеждането на някакво число например 3,  представя с инициали например  * .Щом числото е  3 , то следва, че на екрана ще се появът три ***.Ако числото е 5 , то следва ***** .

За решението на програмата ще използваме оператора за цикличност for .

Една програма, която решава задачата е следна:

#include<iostream>

using namespace std;
int main(){

int a;
cin>>a;

for (int i=0; i<a; i++) cout<<"*";

return 0;}

След завършване и стартиране на програмата ще трабва да въведете някакаво число.Аз съм въвел числото 12 от тово следва, че на екрана би трябвало да се появът ************ .

Ако искаме зададеният инициял в нашия случай % да се подреди вертикално.За да го постигнем след :

for (int i=0; i<a; i++) cout<<"%";

ще поставим <<endl;

или програмата ще бъде:

#include<iostream>

using namespace std;
int main(){

int a;
cin>>a;

for (int i=0; i<a; i++) cout<<"%"<<endl;

return 0;}

 

След завършване и стартиране на програмата ще трабва да въведете някакаво число.Аз съм въвел числото 8 от тово следва, че на екрана би трябвало да се появът  %%%%%%%%  във вертикален ред.

~S.K.G~