background image

 

 

AJ

AJ

S

S

INSTRUKCJE

Umożliwiają zapis algorytmu, służą 
do sterowania przebiegiem 
programu.

-warunkowe (podejmowanie decyzji)

1. 

if-else

   „jeżeli”,

2. 

switch-case

 (wybór),

background image

 

 

AJ

AJ

S

S

-iteracyjne (pętle, obliczenia 
cykliczne)

1. 

for

 „dla”,

2. 

while

 „dopóki”,

3. 

do ... while

 „wykonuj dopóki”

-sterujące przebiegiem programu

1. 

break 

„przerwij”,

2. 

continue

 „kontynuj”,

3. 

return

 „zwróć wartość i 

powróć”,

4. 

goto 

„skocz”

INSTRUKCJE 

cd

background image

 

 

AJ

AJ

S

S

INSTRUKCJE

- proste (pusta, przypisania),

-pusta      

 

 

-przypisania

y=x;   

masa=gestosc*objetosc;

z+=2;

- złożone {    ...   },           

{

x=4*a;
y=pow(x,5);
for(i=1;i<10;i++)
{z=exp(y)/i;
 cout<<z<<endl;
}

}

background image

 

 

AJ

AJ

S

S

Instrukcja warunkowa 

Instrukcja warunkowa 

if

if

   

   

„jeżeli”

„jeżeli”

if 

if 

(wyrażenie-warunkowe) instrukcja1 [

(wyrażenie-warunkowe) instrukcja1 [else 

else 

instrukcja2]

instrukcja2]

Pozwala na zbadanie warunku w 

Pozwala na zbadanie warunku w 

programie, a następnie na 

programie, a następnie na 

kontynuowanie obliczeń zależnie 

kontynuowanie obliczeń zależnie 

od spełnienia tego warunku. 

od spełnienia tego warunku. 

Komputer w ten sposób podejmuje 

Komputer w ten sposób podejmuje 

decyzje. 

decyzje. 

background image

 

 

AJ

AJ

S

S

warune

warune

k

k

Instrukcja

Instrukcja

NIE

NIE

TAK

TAK

Instrukcja warunkowa 

niepełna 

if

if

   „jeżeli”

   „jeżeli”

background image

 

 

AJ

AJ

S

S

if (w>0)
{
cout<<”sukces”<
<endl;
}

Słowo 

kluczowe  

„if”

Warunek podlegający 
sprawdzaniu

Instrukcja 
wykonywana po 
spełnieniu warunku

background image

 

 

AJ

AJ

S

S

warun

warun

ek

ek

Instrukcja 1

Instrukcja 1

Instrukcja 2

Instrukcja 2

NIE

NIE

TAK

TAK

Instrukcja warunkowa 

pełna 

if - else

   „jeżeli”

background image

 

 

AJ

AJ

S

S

if (w==0)
{
cout<<”sukces”<
<endl;
}
else
{
cout<<”pech”<<e
ndl;
}

Słowo 

kluczowe

„if”

Warunek podlegający 
sprawdzaniu

Instrukcja 1 
wykonywana po 
spełnieniu warunku

Instrukcja 2 
wykonywana po 
niespełnieniu 
warunku

background image

 

 

AJ

AJ

S

S

OPERATORY RELACYJNE

OPERATO

R

ZNACZENIE

<

Mniejszy

<=

Mniejszy lub równy

>

Większy

>=

Większy lub równy

==

Równy

!=

Nierówny

background image

 

 

AJ

AJ

S

S

OPERATORY LOGICZNE

OPERATO

R

ZNACZENIE

!

Negacja

&&

Koniunkcja

||

Alternatywa

background image

 

 

AJ

AJ

S

S

w

w1

instrukcja11

instrukcja1

instrukcja12

instrukcja2

N

N

T

T

N

N

T

T

Instrukcja warunkowa 

if - 

else

   zagnieżdżona

background image

 

 

AJ

AJ

S

S

if (w>0&&k!=0)
    {
      if (w1>10)
    {
     
cout<<”sukces”<<endl;
    }
     else
    {
     cout<<”moze 
byc”<<endl;
    }
    }
else
{
cout<<”pech”<<endl;
}

Słowo 
kluczowe„i
f”

Warunek podlegający 
sprawdzaniu

Instrukcja1 „if” 
zagnie-żdżona 
wykonywana po 
spełnieniu warunku

Instrukcja2 
wykonywana po 
niespełnieniu 
warunku

Warunek 1 
instrukcji1 
zagnieżdżonej „if” 
podlegający 
sprawdzaniu

background image

 

 

AJ

AJ

S

S

Równanie kwadratowe

Równanie kwadratowe

 – fragment schematu 

 – fragment schematu 

blokowego

blokowego

delta<
0

delta=

=0

x0=

x1=

x2=

T

T

N

N

N

N

T

T

Drukuj x0

Drukuj x1, 

x2

Drukuj

„brak rozw.”

background image

 

 

AJ

AJ

S

S

cout<<"Podaj wartosc liczby a, b i c"<<endl;

cout<<"Podaj wartosc liczby a, b i c"<<endl;

cin>>a>>b>>c;

cin>>a>>b>>c;

delta=b*b-4*a*c;

delta=b*b-4*a*c;

if (delta<0)

if (delta<0)

       

       

cout<<"brak rozwiązania"<<endl;

cout<<"brak rozwiązania"<<endl;

else

else

       

       

if (delta==0)

if (delta==0)

       

       

{

{

       

       

x0=-b/(2*a);

x0=-b/(2*a);

       

       

cout<<"x0= "<<x0<<endl;

cout<<"x0= "<<x0<<endl;

       

       

}

}

       

       

else

else

       

       

{

{

       

       

x1=(-b-sqrt(delta))/(2*a);

x1=(-b-sqrt(delta))/(2*a);

       

       

x2=(-b+sqrt(delta))/(2*a);

x2=(-b+sqrt(delta))/(2*a);

       

       

cout<<"x1="<<x1<<endl;

cout<<"x1="<<x1<<endl;

       

       

cout<<"x2="<<x2<<endl;

cout<<"x2="<<x2<<endl;

       

       

}

}

Równanie kwadratowe – fragment kodu źródłowego

Równanie kwadratowe – fragment kodu źródłowego

background image

 

 

AJ

AJ

S

S

Instrukcja wyboru 

switch

switch 

(wyrażenie-sterujące)

case

  E1:instrukcj1;

break

;

  case

  E2:instrukcj2;

break

;

  . . .

default 

: instrukcjan;}

Jest to instrukcja sterująca 
umożliwiająca rozgałęzienie na 
wiele dróg w programie w 
zależności od wartości pewnego 
wyrażenia-sterującego zwanego 
selektorem.

background image

 

 

AJ

AJ

S

S

E1
:

E2
:

E3
:

default

:

wyrażenie 

wyrażenie 

sterujące 

sterujące 

(selektor)

(selektor)

Instrukcj
a1 

Instrukcj

a2 

Instrukcj

a3 

Instrukcj
an 

background image

 

 

AJ

AJ

S

S

Instrukcja wyboru 

switch

składnia

switch (selektor)
{
case E1: 
instrukcja1;
case E2: 
instrukcja2; 
case E3: 
instrukcja3;
...
case En-1: 
instrukcjan-1;
default: instrukcjan;
}   

Wartość selektora ustala 
pierwszą instrukcję do 
wykonania 

Gdy selektor nie przyjmuje 
żadnej dopuszczalnej 
wartości od S1-Sn-1 

Instrukcje do 
wyboru 

background image

 

 

AJ

AJ

S

S

Instrukcja wyboru 

switch

składnia 

switch (selektor)
{
case E1: instrukcja1;
break;
case E2: instrukcja2;
break; 
case E3: instrukcja3;
break;
...
case En-1: 
instrukcjan-1;
break;
default: instrukcjan;
}   

Wartość selektora 
ustala instrukcję do 
wykonania

 

Gdy selektor nie przyjmuje 
żadnej dopuszczalnej 
wartości od S1-Sn-1

 

Instrukcje do 
wyboru

 

Przerwanie 
wykonania 
instrukcji
 

Wykonanie tylko określonej grupy 

instrukcji

background image

 

 

AJ

AJ

S

S

Wykrywanie samogłosek

 

#include <iostream.h>
#include <ctype.h>
 
#define info “To jest samogloska.”
 
main()
{

char litera;
cout<<”Podaj litere: ”;
cin>>litera;

litera=toupper(litera);

switch (litera)
{
case ‘A’: cout<<info<<endl;

break;

case ‘E’: cout<<info<<endl;

break;

case ‘I’: cout<<info<<endl;

break;

case ‘O’: cout<<info<<endl;

break;

case ‘U’: cout<<info<<endl;

break;

default: cout<<”To nie jest 
samogloska”<<endl;
}

return(0);
}

background image

 

 

AJ

AJ

S

S

switch

 (litera)

{

case

 ‘A’: cout<<info<<endl;

break;

case

 ‘E’: cout<<info<<endl;

break;

case

 ‘I’: cout<<info<<endl;

break;

case

 ‘O’: cout<<info<<endl;

break;

case

 ‘U’: cout<<info<<endl;

break;

default

: cout<<”To nie jest 

samogloska”<<endl;
}

background image

 

 

AJ

AJ

S

S

Instrukcja iteracyjna 

(pętla) 

while  

„dopóki”

while

 (wyrażenie-warunkowe) 

   instrukcja 

wewnętrzna

Do  wykonywania  pętli  w  których 
wykonanie  działań  jest  uzależnione 
od spełnienia na początku  warunku 
powtarzania 

działań 

(warunek 

sprawdzany na początku) .

              

background image

 

 

AJ

AJ

S

S

Instrukcja iteracyjna (pętla) 

while  

„dopóki”

              

N

T

warun

warun

ek

ek

Instrukcja 

wewnętrzna

background image

 

 

AJ

AJ

S

S

licznik=0;
while (w<100)
{
w=w+10;
cout<<”w=”<<w<<
endl;
licznik++;
}   

Dopóki warunek jest 
spełniony instrukcja 
wewnętrzna pętli będzie 
wykonywana 

Przy każdym 
przejściu przez 
pętlę licznik jest 
inkrementowany 

Instrukcje 
wewnętrzne 
pętli 

Zerowanie 
licznika przed 
pętlą

licznik++

licznik++

licznik=licznik+1

licznik=licznik+1

background image

 

 

AJ

AJ

S

S

Wyznaczanie sumy i iloczynu ciągu 
liczb całkowitych zakończonego liczbą 

zero

 

#include <iostream.h>
main()
{

int liczba, suma=0, iloczyn=1;
cout<<”Podaj pierwsza liczbe”<<endl;
cin>>liczba;

while (liczba!=0)
{

suma+=liczba;
iloczyn*=liczba;

cin>>liczba;
}

cout<<”Suma liczb wynosi” <<suma<<endl;
cout<<”Iloczyn liczb wynosi”<<iloczyn<<endl;
return(0);
}

background image

 

 

AJ

AJ

S

S

 

while (liczba!=0)
{

suma+=liczba;

iloczyn*=liczba;

cin>>liczba;
}

suma=suma+liczba;

iloczyn=iloczyn*liczba;

background image

 

 

AJ

AJ

S

S

Instrukcja iteracyjna (pętla) 

do 

while  

„wykonuj dopóki”

     do 

instrukcja

 

wewnętrzna 

while

 (wyrażenie-warunkowe);

Do  wykonywania  pętli  w  których 
wykonanie  działań  jest  uzależnione 
od  spełnienia  warunku  zakończenia 
działań  (warunek  sprawdzany  na 
końcu).

              

background image

 

 

AJ

AJ

S

S

Instrukcja iteracyjna (pętla) 

do while  

„wykonuj 

dopóki”

T

N

warune

warune

k

k

Instrukcja wewnętrzna

background image

 

 

AJ

AJ

S

S

licznik=0;
do
{
w=w+10;
cout<<”w=”<<w<<endl;
licznik=licznik+1;
}
while (w<100);   

Dopóki warunek nie jest 
spełniony instrukcja 
wewnętrzna pętli będzie 
wykonywana 

Przy każdym 
przejściu przez 
pętlę licznik jest 
inkrementowany 

Instrukcje 
wewnętrzne 
pętli

 

Zerowanie 
licznika przed 
pętlą

background image

 

 

AJ

AJ

S

S

Drukowanie cyfr od 0 ... 9

 

#include <iostream.h>

 main()

{

int cyfra=0;

do

{

cout<<cyfra<<” “;

cyfra++;

}

while (cyfra<10);

return(0);

}

 

  

background image

 

 

AJ

AJ

S

S

Instrukcja iteracyjna (pętli) 

for

   

„dla”,

 

for

 (

wyrażenie-inicjujące; wyrażenie-warunkowe; wyrażenie-

zwiększające

) instrukcja wewnętrzna

- 

do  wykonywania  pętli  o  określonej 

(znanej) liczbie powtórzeń
-  stosuje  się  głównie  do  wykonania 
operacji na tablicach

 

background image

 

 

AJ

AJ

S

S

Instrukcja iteracyjna (pętli) 

for

   „dla”, 

N

T

for (w-i;w-w;w-

for (w-i;w-w;w-

z)

z)

Instrukcja 

wewnętrzna

background image

 

 

AJ

AJ

S

S

for (i=0; i<10; i+
+)
{
cout<<i<<endl;
}

Słowo 
kluczowe

„for”

Wartość 

początkowa 

licznika

Wartość 

końcowa 

licznika

Licznik pętli

Instrukcja 

wewnętrzna pętli

Instrukcja iteracyjna   

for   

„dla”

składnia 

Inkrementowanie i 

dekrementowanie licznika 

pętli

i=i+1

i=i-1

i++

i--

i+=1

i-=1

i+=krok

i-=krok

background image

 

 

AJ

AJ

S

S

Zamiana na duże litery

 
#include <iostream.h>

#include <string.h>

#include <ctype.h>

#define max 30

main()

{

char nazwa [max];

int x;

cout<<”Podaj nazwe: ”<<endl;

cin>>nazwa;

for (x=0; x<strlen(nazwa); x++)

{

nazwa[x]=toupper(nazwa[x]);

}

cout <<endl<<nazwa<<endl;

return(0);

background image

 

 

AJ

AJ

S

S

 #include <iostream.h>

 main()

{

int linia, gwiazdki, ostatnia;

cout<<”Ile gwiazdek chcesz wyswietlic w ostatniej linii ?”<<endl;

cin>>ostatnia;

for (linia=1; linia<=ostatnia; linia++)

{

     for (gwiazdki=1; gwiazdki<=linia; gwiazdki++)

     {

         cout<<”*”;

      }

cout<<endl:;

}

 return(0);

}

Zagnieżdżanie jednej instrukcji ”for”  

w drugiej

*

*

* *

* *

* * *

* * *

* * * *

* * * *

* * * * *

* * * * *

background image

 

 

AJ

AJ

S

S

Instrukcja 

break   

„przerwij”

break;

Powoduje  opuszczenie  aktualnego 
poziomu 

pętli 

lub 

instrukcji 

wyboru.
Dopuszczalne zastosowanie tylko w 
tych instrukcjach.

background image

 

 

AJ

AJ

S

S

Program wyznaczenia iloczynu ciągu liczb całkowitych

 o określonej długości różnych od zera.

#include <iostream.h>

main()

{

int liczba, iloczyn=1, dlugosc, i;

int poprawny=1;

cout<<”Podaj dlugosc ciagu liczb”<<endl;

cin>>dlugosc;

cout<<”Podaj liczby”<<endl;

for (i=1; i<=dlugosc; i++)

{

cin>>liczba;

if (liczba==0)

{

poprawny=0;

break;

}

iloczyn*=liczba;

}

if (poprawny)

cout<<”Iloczyn liczb wynosi:”<<iloczyn;

else

cout<<”Blad danych”;

return  0;

}

background image

 

 

AJ

AJ

S

S

Instrukcja 

continue   

„kontynuuj”

continue;

Dopuszczalne  zastosowanie  tylko  w 
instrukcjach  iteracyjnych,  powoduje 
przejście do następnej iteracji.

background image

 

 

AJ

AJ

S

S

Program wyznaczenia iloczynu liczb całkowitych tylko 

różnych od zera 

znajdujących w ciągu liczb o określonej długości.

 

#include <iostream.h>

 

main()

{

int liczba, iloczyn=1, dlugosc, i;

cout<<”Podaj dlugosc ciagu liczb”<<endl;

cin>>dlugosc;

cout<<”Podaj liczby”<<endl;

for (i=1; i<=dlugosc; i++)

{

cin>>liczba;

if (liczba==0)

{

cout<<”Przejdz do kolejnej liczby ciagu”;

continue;

}

iloczyn*=liczba;

}

cout<<”Iloczyn liczb różnych od zera wynosi:”<<iloczyn;

return(0);

}

background image

 

 

AJ

AJ

S

S

Instrukcja 

return   

„zwróć wartość i powróć”

return 

wyrażenie;

return 0;

return wynik; 

return (x*x-4);

Napotkanie instrukcji powoduje 

zakończenie wykonywania funkcji.

Jeśli zwraca ona wartość, wykonanie 

instrukcji spowoduje zwrócenie 

wartości funkcji.

background image

 

 

AJ

AJ

S

S

Instrukcja skoku 

goto   

„skocz”

goto 

etykieta;

Umożliwia przekazanie sterowania do określonego 

miejsca wewnątrz aktualnie wykonywanej funkcji 

(zasada) programu.

Etykieta określa miejsce w programie, do którego ma 

nastąpić skok.

       goto etykieta1;

...

etykieta1:

{

instrukcje 

}

NIE NALEŻY NADUŻYWAĆ  

MNIEJSZA CZYTELNOŚĆ PROGRAMU

background image

 

 

AJ

AJ

S

S

Program wyznaczenia iloczynu ciągu liczb całkowitych

 o określonej długości różnych od zera.

#include <iostream.h>
#include<conio.c>
main()
{
int liczba, iloczyn=1, dlugosc, i;
cout<<"Podaj dlugosc ciagu liczb"<<endl;
cin>>dlugosc;
cout<<"Podaj liczby"<<endl;
for (i=1; i<=dlugosc; i++)
{
cin>>liczba;

if (liczba==0)

goto E1;

iloczyn*=liczba;

}
cout<<"Iloczyn liczb wynosi:"<<iloczyn;

E1:

cout<<"Blad danych";

getch();
return  0;
}

background image

 

 

AJ

AJ

S

S

WSKAZÓWKI SKŁADNIOWE

celem uniknięcia błędów i zwiększenia przejrzystości 

programów

1. Po słowach kluczowych robimy odstęp.
2. Instrukcję pustą zapisujemy zawsze w 

oddzielnym wierszu.

3. Stosujemy wcięcia tekstu.
4. Ustawiamy edytor (czcionka, wygląd, kolor).
5. Dwie szkoły pisania nawiasów klamrowych 

do grupowania instrukcji:

while (n<10) {

while (n<10)

...

{

}

...
}

background image

 

 

AJ

AJ

S

S

#include <stdio.h>

funkcje realizujące 

operacje we/wy  (podejście proceduralne typowe dla 
języka C)

printf (       );

scanf (       );

#include <iostream.h>

funkcje 

umożliwiające sterowanie strumieniami we/wy 
(podejście obiektowe typowe dla języka C++) 

cout<<

s

;

cin>>

a

;

niektóre

 Biblioteki 

standardowe

background image

 

 

AJ

AJ

S

S

#include <conio.h>
#include<conio.c>

funkcje 

umożliwiające zarządzanie ekranem w trybie 
tekstowym

 

clrscr();

getch(); 

textcolor(newcolor);

gotoxy(x,y);

wherex();

wherey();

niektóre

 Biblioteki 

standardowe

background image

 

 

AJ

AJ

S

S

#include <iomanip.h>

funkcje 

umożliwiające dodatkowe sterowanie 
strumieniami we/wy w C++

setw(n)

setfill(z)

setprecision(n) setbase(n)

dec

hex

#include <math.h>

funkcje 

umożliwiające obliczenia w zbiorze liczb 
rzeczywistych

pow(x,y)

log(x)

log10(x)

 exp(x)

sin(x)

cos(x)

 tan(x)

floor(x)

ceil(x) 

fmod(x,y)

niektóre

 Biblioteki 

standardowe

background image

 

 

AJ

AJ

S

S

#include <complex.h>

funkcje 

umożliwiające obliczenia w zbiorze liczb 
zespolonych

#include <ctype.h>

funkcje 

umożliwiające klasyfikacje danych całkowitych

tolower(z);

toupper(z);

#include <string.h>

funkcje 

umożliwiające operacje na łańcuchach (tablicach 
znaków)

strlen (z);

strcpy (z1,z2);

niektóre

 Biblioteki 

standardowe


Document Outline