What's new

-Trudny C++ z Reverse - Lekcja trzecia!

Status
Not open for further replies.

Reverse

Advanced User
Joined
Jul 11, 2010
Messages
191
Reaction score
46
C++ z Reverse - Lekcja trzecia!

No wi?c czas zacz?? lekcj? trzeci?, w kt?rej zacznie si? zabawa z j?zykiem C++. Od tej lekcji nie b?dzie ju? tak ?atwo, szybko i przyjemnie tak jak z pierwszymi dwoma lekcjami!

3.1 Instrukcje steruj?ce.

Instrukcje steruj?ce s? to polecenia s?u??ce do sterowania przebiegiem programu. W instrukcjach steruj?cych podejmowane s? decyzje o wykonaniu tych czy innych instrukcji programu. Decyzje te podejmowane s? w zale?no?ci od spe?nienia lub niespe?nienia jakiego? warunku. Prosto rzecz ujmuj?c, od prawdziwo?ci lub fa?szywo?ci danego wyra?enia.
3.2 Prawda i Fa?sz

W j?zyku C++ nie specjalnego typu okre?laj?cego zmienne logiczne - czyli te, kt?re przyjmuj? warto?ci: prawda lub fa?sz. To znaczy ?e sprawdza si? czy warto?? danego obiektu jest r?wna czy r??na od zera.

Warto?? zero - fa?sz
Warto?? inna ni? zero - prawda

Nie musi by? to nawet zawarto?? jednego obiektu. Mo?e to by? tak?e bardziej skomplikowane wyra?enie, kt?re trzeba obliczy?, aby przekona? si? jaka jego warto??. A wynik nie musi by? wcale liczb?.

3.3 Instrukcja warunkowa if

Instrukcja if mo?e mie? dwie formy:

if(wyra?enie) instrukcja1 ;

lub
if(wyra?enie) instrukcja1 ;
else instrukcja 2;

W miejsce "wyra?enie" wpisujemy co? co ma jak?? warto?? np. a - 1. Je?eli w pierwszym przypadku czyli:

if(a - 1) cout << "Prawda" ;

je?li po odj?ciu od liczby "a" wyra?enie jest mniejsze od zera to instrukcja nie jest wykonywana, czyli nasz program nic nam nowego nie wy?wietla.

Ale je?li chodzi o drugi spos?b tj.
if(a - 1) cout << "Prawda" ;
else cout << "Falsz" ;

to je?li a - 1 jest mniejsze od zera to wykonywana jest instrukcja2, czyli wy?wietli si? nam na ekranie komunikat o tre?ci Falsz.

3.4 Blok instrukcji

Cz?sto zdarza si? ?e chodzi nam o wykonanie warunkowe kilku instrukcji. Stosujemy w?wczas instrukcje sk?adan? inaczej zwan? blokiem. S? to po prostu zwyk?e instrukcje ograniczone nawiasami { } .
Pami?taj ?e po klamrze nie stawiamy ?rednika.

{

instr1 ;
instr2 ;
instr3 ;
}

A oto przyk?ad programu w kt?rym zastosujemy instrukcje blokow?:
Code:
[FONT=Times New Roman]
#include <cstdlib>
#include <iostream>

using namespace std;
int main(int argc, char *argv[]) 
{
int predkosc, punkty_karne ;

cout << " Z jaka szybkoscia jedziemy? [km/h]: "; 
cin >> predkosc ;

if(predkosc > 80) 

{ 
cout << "\n" << predkosc << "km/h to za szybko! \n" ;
punkty_karne= 10 ;
}
else
{
cout << "\nJadac" << predkosc << " km/h nie lamiesz przepisow \n" ;
punkty_karne = 0 ;
}
cout << "Masz " << punkty_karne
        << " punktow karnych \n" ;
if(punkty_karne) cout << "Popraw sie !" ;

      system("PAUSE");
    return EXIT_SUCCESS;
}
[/FONT]



A efektem naszej pracy jest :
41513736632471070479.png

lub:
06790505911788222235.png



3.5 Instrukcja while

Instrukcja while wygl?da tak:

while(wyra?enie) instrukcja1 ;

Najpierw sprawdzana jest warto?? wyra?enia. Je?li wynik jest zerowy to instrukcja1 nie jest wykonywana. Je?li jednak warto?? wyra?enia jest inna od zera ( prawda) to instrukcja1 jest wykonywana. Kr?tko m?wi?c instrukcja while - oznacza je?li/je?eli to znaczy je?li warto?? wyra?enia b?dzie nier?wna zeru to program ca?y czas b?dzie wykonywa? t? instrukcj? p?ki wyra?enie nie przyjmie warto?ci zerowej, najlepiej b?dzie jak poka?e to na przyk?adzie :

Code:
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int a;
    cout << " Ile masz lat? Za kazdy jeden rok narysujemy gwiazdke! : " ;
    cin >> a ;
    cout << "\n  No to narysujmy je wszystkie "
         << a << ": " ;
         
    while(a)
    
{
    cout << "*" ;
    a = a - 1 ;
}


    system("PAUSE");
    return EXIT_SUCCESS;
}
A o to efekt naszej pracy :

19835042493684427494.png

A co je?li pod instrukcja while damy :
while(a)
}
cout << "*" ;
a = a +1 ;
)

Odpowied? jest prost instrukcja b?dzie wykonywana bez ko?ca bo warto?? wyra?enia ( w naszym przypadku a) nigdy nie b?dzie r?wna zeru.

63379679660609043585.png

Koniec lekcji trzeciej!

I w?a?nie dobrn?li?my do ko?ca trzeciej lekcji, z t? wiedz? mo?ecie ju? bawi? si? w pisanie drobnych program?w, nie martwcie si? to dopiero pocz?tek prawdziwej zabawy w C++, teraz ka?da nast?pna lekcja b?dzie kilkakrotnie trudniejsza. Na nast?pnej lekcji zajmiemy si? p?tlami i instrukcjami switch i break.

Pozdrawiam,
Reverse.



 

xKrysteKx

Advanced User
Joined
Oct 5, 2010
Messages
250
Reaction score
29
Odp: C++ z Reverse - Lekcja trzecia!

I kolejna lekcja uwagi ;] No c?? w poradniku znajduje si? chyba wszytko co ma by?... szkoda, ?e w szkole tak nie ucz? .... :p Jestem ciekaw ile bawisz si? ju? w to.

Pozdrawiam xKrysteKx!
 

Reverse

Advanced User
Joined
Jul 11, 2010
Messages
191
Reaction score
46
Odp: C++ z Reverse - Lekcja trzecia!

I kolejna lekcja uwagi ;] No c?? w poradniku znajduje si? chyba wszytko co ma by?... szkoda, ?e w szkole tak nie ucz? .... :p Jestem ciekaw ile bawisz si? ju? w to.

Pozdrawiam xKrysteKx!

W C++ bawi? si? od roku, jestem samoukiem, a w szkole (profil mat - inf ) jeszcze nie mia?em C++ tylko grafik? ;<.

Pozdrawiam,
Reverse.
 

Michukng

WPIERDOTRUSKUL
Joined
Feb 21, 2009
Messages
1,380
Reaction score
291
Age
28
Odp: C++ z Reverse - Lekcja trzecia!

Poradnik ?adny, s? screeny, wi?c jest plus. ?adnie wszystko opisane, nie mam wi?kszych zastrze?e?. Czekam na 4 lekcj? i mo?e kiedy? zaczn? si? uczy? C++ to zajrz? do Twojego poradnika ;)
 

Oskar

Forum friend
Joined
Jan 24, 2009
Messages
2,256
Reaction score
331
Odp: C++ z Reverse - Lekcja trzecia!

Poradnik ?wietnie napisany. Od dawna chcia?em zacz?? uczy? si? tego j?zyka, ale jako? na tym forum nikt takowego poradnika nie napisa?. Mam nadziej?, ?e b?d? kolejne lekcje, gdy? chcia?bym dowiedzie? si? znacznie wi?cej na temat tego j?zyka.
 

Reverse

Advanced User
Joined
Jul 11, 2010
Messages
191
Reaction score
46
Odp: C++ z Reverse - Lekcja trzecia!

Poradnik ?wietnie napisany. Od dawna chcia?em zacz?? uczy? si? tego j?zyka, ale jako? na tym forum nikt takowego poradnika nie napisa?. Mam nadziej?, ?e b?d? kolejne lekcje, gdy? chcia?bym dowiedzie? si? znacznie wi?cej na temat tego j?zyka.

Kolejna lekcja powstanie jeszcze dzi? wieczorem, bo teraz nie mam mnie w domu i korzystam z chujowego laptopa na kt?rym nawet Firefox si? tnie. Dzi?ki za pozytywn? ocen?,

Pozdrawiam
 

Sentil

Ten Typ
Joined
May 11, 2008
Messages
211
Reaction score
85
Odp: C++ z Reverse - Lekcja trzecia!

Nie?le. Dobra forma, screeny, j?zyk. Wydaje mi si? jednak, ?e twoje lekcje s? za ma?o rozbudowane. Powiniene? te? pomy?le? o robieniu ich bardziej pod k?tem Open Tibii, wykorzystywa? w lekcjach ?r?d?a TFSa, etc ; ). Tak trzymaj.
 

Reverse

Advanced User
Joined
Jul 11, 2010
Messages
191
Reaction score
46
Odp: C++ z Reverse - Lekcja trzecia!

Nie?le. Dobra forma, screeny, j?zyk. Wydaje mi si? jednak, ?e twoje lekcje s? za ma?o rozbudowane. Powiniene? te? pomy?le? o robieniu ich bardziej pod k?tem Open Tibii, wykorzystywa? w lekcjach ?r?d?a TFSa, etc ; ). Tak trzymaj.

Trudno wykorzystywa? ?r?d?a TFS'a prowadz?c lekcje o podstawach j?zyka C++, w przysz?o?ci takowe na pewno si? pojawi?, ale to dopiero w przysz?o?ci. A co do rozbudowania lekcji to staram si? nie dawa? wszystkiego na jeden raz tylko sensownie to roz?o?y? tak ?eby da?o si? taki poradnik ugry??.

Pozdrawiam.
 

Ghalla

Active User
Joined
Aug 24, 2010
Messages
88
Reaction score
12
Age
30
Odp: C++ z Reverse - Lekcja trzecia!

Co tutaj za bzdury wypisa?e?? Jak to nie ma typu zmiennej okre?laj?cego prawd? i fa?sz?
Code:
bool prawda = true;
if(prawda)
{
prawda = false;
}
Masz tutaj samouku i si? czego? naucz. Co do p?tli while to kolejna g?upota tam jest opisana, przecie? ta p?tla sprawdza warunek normalnie
Code:
while(a != -1231231)
No i mo?e powiesz mi, ?e ta p?tla zatrzyma si? gdy a b?dzie r?wne 0?
Najlepiej by by?o gdyby? usun?? t? lekcj?, bo tutaj tak naprawd? ma?o jest informacji w pe?ni prawdziwych.
 
Status
Not open for further replies.
Top