Page 1

Informatyka I - wykład 3 Instrukcje i wyrażenia warunkowe

Slajd 1/18

Informatyka I – wykład 3

G.P.Korbaś


Program 1. Program pobiera od użytkownika liczbę całkowitą. Jeśli jest równa 1234, to wypisuje “Brawo ...” - w przeciwnym wypadku wypisuje “Zły kod”.

#include <iostream> using namespace std; int main() { int kod; cout << "Kod: "; cin >> kod; if (kod==1234) { cout << "Brawo, to wlaściwy kod\n"; cout << "Masz teraz dostep do tajnych informacji\n"; } else cout << "Zły kod\n"; system("PAUSE"); return 0; }

Slajd 2/18

Informatyka I – wykład 3

G.P.Korbaś


Instrukcja warunkowa: if (warunek) instrukcja1; else instrukcja2; ●

● ●

Jeżeli wyrażenie logiczne (warunek) zwraca prawdę, to wykonywana jest instrukcja1 w przeciwnym wypadku instrukcja2 Warunek musi być w nawiasach Zamiast pojedynczej instrukcji można wpisać instrukcję złożoną (blok), czyli kilka instrukcji prostych ujętych w klamrach Drugą część, czyli else instrukcja2 można pominąć.

Slajd 3/18

Informatyka I – wykład 3

G.P.Korbaś


Program 1b. Program pobiera od użytkownika liczbę całkowitą. Jeśli jest równa 1234, to wypisuje “Brawo!” - w przeciwnym wypadku wypisuje “Zły kod!” - zastosowano wyrażenie warunkowe

#include <iostream> using namespace std; int main() { int kod; cout << "Kod: "; cin >> kod; cout << (kod==1234 ? "Brawo!\n" : "Zły kod!\n"); system("PAUSE"); return 0; }

Slajd 4/18

Informatyka I – wykład 3

G.P.Korbaś


Wyrażenie warunkowe: warunek ? wartość1 : wartość2 ●

Jeżeli wyrażenie logiczne (warunek) zwraca prawdę, to całe wyrażenie zwraca wartość1 w przeciwnym wypadku zwraca wartość2.

Slajd 5/18

Informatyka I – wykład 3

G.P.Korbaś


Program 2. Program, pobiera od użytkownika znak. Jeśli podany znak jest równy 'q', to program kończy się, ale jeśli podany znak jest inny niż 'q', to program znowu pobiera od użytkownika znak – aż do podania 'q'.

#include <iostream> using namespace std; int main() { cout << "Aby zakończyć program wpisz 'q' i naciśnij ENTER" << endl; char x; pobierz_znak: cin >> x; if (x!='q') goto pobierz_znak; return 0; }

Slajd 6/18

Informatyka I – wykład 3

G.P.Korbaś


Uwagi do programu 2. ● ●

pobierz_znak: – deklaruje etykietę o nazwie pobierz_znak goto pobierz_znak; – skok bezwarunkowy do etykiety pobierz_znak – nie należy nadużywać tej instrukcji!

Slajd 7/18

Informatyka I – wykład 3

G.P.Korbaś


Wyrażenie logiczne: ● ●

Wyrażenia logiczne zwracają wartości true albo false. Przykłady prostych wyrażeń logicznych: x==2 - wartość zmiennej x jest równa 2 z!='a' - wartość zmiennej z nie jest równa znakowi 'a' 5>2 - 5 jest większe od 2 s<=f - wartość s jest mniejsza lub równa wartości f Przykłady złożonych wyrażeń logicznych x<2 && x>-2 - x mniejsze od 2 i x większe od -2 y==1 || z==1 - wartość y równa 1 lub wartość z równa 1 !(a==0 || b==0)- nieprawda, że (a róne jest 0 lub b równe jest 0), co można w tym przypadku zapisać też a!=0 && b!=0 ● ● ● ●

● ● ●

Slajd 8/18

Informatyka I – wykład 3

G.P.Korbaś


Program 3a. Program, pobiera od użytkownika dwie liczby. Jeśli jedna albo druga to 2, program wypisuje “Dobrze”, w przecinym wypadku – wypisuje “Źle”.

#include <iostream> using namespace std; int main() { int a,b; cin>>a>>b; if (a==2 || b==2) cout<<"Dobrze\n"; else cout<<"Źle\n"; system("PAUSE"); return 0; }

Slajd 9/18

Informatyka I – wykład 3

G.P.Korbaś


Program 3b. Program, pobiera od użytkownika dwie liczby. Jeśli jedna oraz druga to 2, program wypisuje “Dobrze”, w przecinym wypadku – wypisuje “Źle”.

#include <iostream> using namespace std; int main() { int a,b; cin>>a>>b; if (a==2 && b==2) cout<<"Dobrze\n"; else cout<<"Źle\n"; system("PAUSE"); return 0; }

Slajd 10/18

Informatyka I – wykład 3

G.P.Korbaś


Program 4a. Program pobiera od użytkownika tekst - hasło. Jeśli podano tekst “1234”, to wypisuje “Brawo ...” - w przeciwnym wypadku wypisuje “Złe hasło”.

#include <iostream> #include <string> using namespace std; int main() { string tekst; cout << "Haslo: "; cin >> tekst; if (tekst=="1234") { cout << "\nBrawo - to wlasciwe haslo !\n"; cout << "Masz teraz dostep do tajnych informacji ;)\n"; } else cout << "\nZle haslo !\n"; char x; cin >> x; return 0; } Slajd 11/18

Informatyka I – wykład 3

G.P.Korbaś


Uwagi do programu 4a. ● ●

#include <string> – dodaj bibliotekę string string tekst; - definiuje obiekt typu string, która umożliwia oprerowanie tekstem

Slajd 12/18

Informatyka I – wykład 3

G.P.Korbaś


Program 4b – zmiana w main().

Program umożliwia teraz 3 próby podawania hasła.

int nrproby=1; string tekst; haslo: cout << "Haslo: "; cin >> tekst; if (tekst=="1234") { cout << "\nBrawo - to wlasciwe haslo !\n"; cout << "Masz teraz dostep do tajnych informacji ;)\n"; } else { cout << "\nZle haslo !\n"; if (nrproby<3) { nrproby++; cout << "\nProbuj ponownie !\n"; goto haslo; } } char x; cin >> x; return 0; Slajd 13/18

Informatyka I – wykład 3

G.P.Korbaś


Program 5.

2

Program rozwiązuje równanie 0=a⋅x b⋅xc #include <iostream> #include <cmath> using namespace std; int main() {double a,b,c,delta; cout << "a="; cin >> a; cout << "\nb="; cin >> b; cout << "\nc="; cin >> c; delta = b*b - 4*a*c; if (delta<0) cout << "\nBrak rozwiązań !\n"; else if (delta==0) // nie pomylić z = cout << "\nx=" << -b/(2*a) <<endl; else { cout << "\nx1=" << (-b-sqrt(delta))/(2*a); cout << "\nx2=" << (-b+sqrt(delta))/(2*a) << endl; } char x; cin >> x; return 0; }

Slajd 14/18

Informatyka I – wykład 3

G.P.Korbaś


Program 6. Program pobiera od użytkownika numer dnia tygodnia (od 1 do 7) i wypisuje nazwę dnia tygodnia słownie (przyjmuje się, że pierwszym dniem jest poniedziałek). Jeśli użytkownik poda inny numer, to program wypisuje „nieznany dzień”.

#include <iostream> using namespace std; int main() { int a; cout << "Nr dnia tygodnia="; cin >> a; cout << "\nJest to "; switch (a) { case 1: cout << "niedziela"; break; case 2: cout << "poniedziałek"; break; case 3: cout << "wtorek"; break; case 4: cout << "środa"; Slajd 15/18

break; case 5: cout << "czwartek"; break; case 6: cout << "piątek"; break; case 7: cout << "sobota"; break; default: cout << "dzień nieznany"; break; } char x; cin >> x; return 0; }

Informatyka I – wykład 3

G.P.Korbaś


Instrukcja switch: switch (wartość){ case wartość1: instrukcja1; case wartość2: instrukcja2; default: instrukcjax; } ●

● ●

Jeżeli wartość jest równa wartość1, to wykonywane są instrukcje począwszy od instrukcja1 ,Jeżeli wartość jest równa wartość2, to wykonywane są instrukcje począwszy od instrukcja2 ,jeżeli wartość nie jest równa żadnej z podanych wartości, to wykonywana jest instrukcja począwszy od instrukcjax Wartość musi być w nawiasach Zamiast pojedynczej instrukcji można wpisać instrukcję więcej instrukcji - nie muszą one być grupowane w klamrach Aby w dowolnym momencie skończyć instrukcję switch można użyć polecenia break; Nie warto używać tej instrukcji dla zbyt wielu wartości

Slajd 16/18

Informatyka I – wykład 3

G.P.Korbaś


Program 7. Program losuje 20 liczb całkowitych z przedziału od 100 do 200.

#include <iostream> #include <ctime> using namespace std; const int mini=100,maxi=200,ILE=20; int main() { int L,Licznik=0; srand(time(0)*1000); skok: Licznik++; L = int((maxi-mini+1) * rand() * 1.0 / RAND_MAX+mini); if (L>maxi) L=maxi; cout << L << endl; if (Licznik<ILE) goto skok; char x; cin >> x; return 0; } Slajd 17/18

Informatyka I – wykład 3

G.P.Korbaś


Program 8. Program pobiera 10 znaków i sprawdza czy jest pomiędzy nimi 'q'.

#include <iostream> using namespace std; int main() { bool BYLO=false; int Licz=0; char Z; skok: Licz++; cin>>Z; if (Z=='q') BYLO=true; if (Licz<10) goto skok; cout << (BYLO ? "TAK\n" : "NIE\n"); char x; cin >> x; return 0; } Slajd 18/18

Informatyka I – wykład 3

G.P.Korbaś

Wykłady informatyka 3  
Read more
Read more
Similar to
Popular now
Just for you