background image

 

 

 

 

INSTRUKCJ
E

Stanowią treść zapisu algorytmu, służą do sterowania 
działaniem „programu” -  (kodu źródłowego)

- warunkowe 

(podejmowanie decyzji)

1. 

if-else

  -  jeśli – 

to

, wówczas, 

dalej

 

2. 

switch-case

  - 

wybór

, przełącznik

 - 

przypadek

 

background image

 

 

 

 

-iteracyjne

 (pętle, obliczenia cykliczne)

1. 

for

 - dla

2. 

while

 - dopóki

3. 

do ... while

 - wykonuj dopóki …

iteracja,

iteracja,

postępowanie polegające na wielokrotnym 

powtarzaniu tego 

samego przekształcenia

-sterujące przebiegiem programu

1. 

break - 

przerwij

2. 

continue

 - kontynuuj

3. 

return

 - zwróć wartość i powróć

4. 

goto – 

skocz, przejdź do

INSTRUKCJE 
c.d.

background image

 

 

 

 

- 

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;

}

             

}

INSTRUKCJE 
c.d.

background image

 

 

 

 

Instrukcja warunkowa:

Instrukcja warunkowa:

Pozwala na zbadanie warunku w programie, 
a następnie na kontynuowanie obliczeń zależnie od 
spełnienia tego warunku. 

Komputer w ten sposób podejmuje decyzje. 

 

 

if

if

  - jeżeli

  - jeżeli

if 

if 

(wyrażenie warunkowe) 

(wyrażenie warunkowe) 

instrukcja1

instrukcja1

 [

 [

else 

else 

instrukcja2

instrukcja2

]

]

 

(wyrażenie) jest 

prawdziwe

 

else

 – 

jeszcze

 – 

w przeciwnym razie

background image

 

 

 

 

Przy użyciu 

Przy użyciu 

else

else

 wybór był 

 wybór był 

dwuwariantowy

dwuwariantowy

wykonujemy 

wykonujemy 

to

to

 lub 

 lub 

tamto

tamto

Koło słowa 

Koło słowa 

else

else

 

 

można postawić instrukcję

można postawić instrukcję

 

 

if

if

,

,

 co daje wybór 

 co daje wybór 

wielowariantowy

wielowariantowy

if

if

 

 

(warunek 1)

(warunek 1)

instrukcja 1 ;

instrukcja 1 ;

else if

else if

 (warunek 2)

 (warunek 2)

instrukcja 2 ;

instrukcja 2 ;

else if

else if

 (warunek 3)

 (warunek 3)

instrukcja 3 ;

instrukcja 3 ;

else if

else if

 (warunek 4)

 (warunek 4)

instrukcja 4 ;

instrukcja 4 ;

alternatywa to instrukcja 

alternatywa to instrukcja 

switch

switch

 

 

background image

 

 

 

 

Warune

Warune

k

k

(wyrażeni

(wyrażeni

e)

e)

Instrukcja 1

Instrukcja 1

NIE

NIE

TAK

TAK

Instrukcja warunkowa

 

niepełna

 

if (wyrażenie) instrukcja 1 ; 

background image

 

 

 

 

(wyrażenie)

(wyrażenie)

 to wartość – przechowywany 

 to wartość – przechowywany 

obiekt zmiennej logicznej lub też wyrażenie 

obiekt zmiennej logicznej lub też wyrażenie 

wymagające obliczenia, by poznać jego 

wymagające obliczenia, by poznać jego 

wartość 

wartość 

Jeśli wartość (wyrażenia) jest niezerowa to 

Jeśli wartość (wyrażenia) jest niezerowa to 

wykonywana jest 

wykonywana jest 

instrukcja 1, 

instrukcja 1, 

jeśli wartość jest „0” to 

jeśli wartość jest „0” to 

instrukcja 1 

instrukcja 1 

nie jest 

nie jest 

wykonywana

wykonywana

background image

 

 

 

 

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

Słowo 

kluczowe  

if

Warunek podlegający 
sprawdzaniu

Instrukcja 
wykonywana po 
spełnieniu warunku

background image

 

 

 

 

warune

warune

k

k

(wyrażeni

(wyrażeni

e)

e)

Instrukcja 1

Instrukcja 1

Instrukcja 2

Instrukcja 2

NIE

NIE

TAK

TAK

Instrukcja warunkowa

 

pełna

 

if (wyrażenie)

instrukcja 1 ;

else

instrukcja 2 ;

•Jeśli wartość (wyrażenia) jest 
niezerowa to wykonywana jest 
instrukcja 1, jeśli wartość jest „0” to 
instrukcja 1 nie jest wykonywana

•jeśli wartość (wyrażenia) jest „0” 
zostanie wykonana instrukcja 2 

background image

 

 

 

 

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

 

 

 

 

OPERATORY RELACYJNE

arytmetyczne 

OPERATOR

OPERATOR

ZNACZENIE

ZNACZENIE

<

<

mniejszy

mniejszy

<=

<=

mniejszy lub równy

mniejszy lub równy

>

>

większy

większy

>=

>=

większy lub równy

większy lub równy

==

==

równy

równy

!=

!=

nierówny

nierówny

background image

 

 

 

 

OPERATORY RELACYJNE

 

logiczne

OPERATOR

OPERATOR

ZNACZENIE

ZNACZENIE

!

!

negacja

negacja

&&

&&

koniunkcja

koniunkcja

||

||

alternatywa

alternatywa

background image

 

 

 

 

w

w1

instrukcja11

instrukcja1

instrukcja12

instrukcja2

N

N

T

T

N

N

T

T

Instrukcja warunkowa

 

if - else

   

zagnieżdżona

background image

 

 

 

 

if (w>0&&k!=0)
  

{

      if (w1>10)
    

{

     
cout<<”sukces”<<endl;
   

 }

   else
    

{

     cout<<”moze 
byc”<<endl;
   

 }

  

}

else
{
cout<<”pech”<<endl;
}

Słowo    

kluczowe 

if

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

 

 

 

 

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

 

 

 

 

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 rozwiazania w zbiorze liczb R"<<endl;

cout<<"brak rozwiazania w zbiorze liczb R"<<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

 

 

 

 

Instrukcja wyboru

 

switch

switch 

(wyrażenie-sterujące)

case

  E1:instrukcja1;

break

;

  case

  E2:instrukcja2;

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

 

 

 

 

switch

switch

 – przełącznik, wielowariantowe 

 – przełącznik, wielowariantowe 

decyzje

decyzje

switch

switch

 (wyrażenie)

 (wyrażenie)

{

{

case 

case 

wart1

wart1

:

:

instrA ;

instrA ;

break ;

break ;

case 

case 

wart2

wart2

:

:

instrB ;

instrB ;

break ;

break ;

default :

default :

instrC ;

instrC ;

break ;

break ;

}

}

case

case

 – wypadek, sytuacja

 – wypadek, sytuacja

break

break

 – zatrzymaj, przerwij

 – zatrzymaj, przerwij

default 

default 

- domniemanie

- domniemanie

background image

 

 

 

 

Obliczane jest 

Obliczane jest 

(wyrażenie)

(wyrażenie)

 przy słowie 

 przy słowie 

switch

switch

jeśli odpowiada jednej z etykiet 

jeśli odpowiada jednej z etykiet 

case

case

, wówczas 

, wówczas 

wykonywane są instrukcje aż do napotkania 

wykonywane są instrukcje aż do napotkania 

break. 

break. 

 

 

Następuje wyjście z instrukcji 

Następuje wyjście z instrukcji 

switch

switch

czyli wyjście 

czyli wyjście 

poza jej dolną klamrę. 

poza jej dolną klamrę. 

Jeśli wartość 

Jeśli wartość 

(

(

wyrażenie

wyrażenie

nie zgadza się z żadną z 

nie zgadza się z żadną z 

wartości podanych przy etykietach 

wartości podanych przy etykietach 

case

case

,

,

 

 

wykonywana są instrukcje przy etykiecie 

wykonywana są instrukcje przy etykiecie 

default

default

.

.

 

 

Etykieta 

Etykieta 

default

default

 może być w dowolnym miejscu lub 

 może być w dowolnym miejscu lub 

też może jej nie być wcale. Wówczas, jeśli wartość 

też może jej nie być wcale. Wówczas, jeśli wartość 

(

(

wyrażenia

wyrażenia

)

)

 nie odpowiada żadnej wartości przy 

 nie odpowiada żadnej wartości przy 

etykietach 

etykietach 

case

case

 opuszczana jest instrukcja 

 opuszczana jest instrukcja 

switch

switch

bez żadnych działań.

bez żadnych działań.

Nie ma konieczności występowania instrukcji 

Nie ma konieczności występowania instrukcji 

break

break

Jej brak powoduje wykonywanie kolejnych instrukcji.

Jej brak powoduje wykonywanie kolejnych instrukcji.

background image

 

 

 

 

E1
:

E2
:

E3
:

default

:

wyrażenie 

wyrażenie 

sterujące 

sterujące 

(selektor)

(selektor)

Instrukcj
a1 

Instrukcj

a2 

Instrukcj

a3 

Instrukcj
an 

background image

 

 

 

 

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

 

 

 

 

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

 

 

 

 

 
#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;

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

break;

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

return(0);
}

Wykrywanie samogłosek

background image

 

 

 

 

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;

case

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

break;

default

: cout<<”To nie jest 

samogloska”<<endl;
}

background image

 

 

 

 

Instrukcja iteracyjna (pętla) 

while  

„dopóki”

while

 

(wyrażenie-warunkowe)  instrukcja 

wewnętrzna

while (wyrażenie) 

instrukcja 1 ;

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) 

 

Obliczana  jest  wartość  (wyrażenia)  i  jeśli  jest  zerowa 
instrukcja 1
 nie jest wykonywana, jeśli wartość (wyrażenia) 
jest  niezerowa  instrukcja  1
  jest  wykonywana,  po  czym 
ponownie  jest  obliczana  wartość  (wyrażenia),  według  tego 
samego  schematu.  Pętla  jest  przerywana,  jeśli  wartość 
(wyrażenia) jest zerowa.

 

  
 

Wartość  (wyrażenia)  jest  obliczana  przed  wykonaniem 

instrukcji 1

   

!

   

background image

 

 

 

 

Instrukcja iteracyjna (pętla)

 

while  

„dopóki”

              

N

T

warun

warun

ek

ek

Instrukcja 

wewnętrzna

background image

 

 

 

 

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

 

 

 

 

 

#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);
}

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

background image

 

 

 

 

 

while (liczba!=0)
{

suma+=liczba;

iloczyn*=liczba;

cin>>liczba;
}

suma=suma+liczba;

iloczyn=iloczyn*liczba;

background image

 

 

 

 

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

 

 

 

 

Pętla

Pętla

 

 

do … while …

do … while …

do

do

 

 

instrukcja 1

instrukcja 1

while

while

 (wyrażenie) ;

 (wyrażenie) ;

 

 

rób

rób

 

 

instrukcja 1

instrukcja 1

 

 

dopóki

dopóki

 

 

(wyrażenie) ;

(wyrażenie) ;

Najpierw wykonywana jest 

Najpierw wykonywana jest 

instrukcja 1, 

instrukcja 1, 

potem obliczana wartość 

potem obliczana wartość 

(wyrażenia), jeśli (wyrażenie) jest niezerowe to wykonanie 

(wyrażenia), jeśli (wyrażenie) jest niezerowe to wykonanie 

instrukcji 1

instrukcji 1

 zostanie powtórzone, po czym ponownie nastąpi 

 zostanie powtórzone, po czym ponownie nastąpi 

obliczenie (wyrażenia) – dopóki (wyrażenie) będzie niezerowe

obliczenie (wyrażenia) – dopóki (wyrażenie) będzie niezerowe

W odniesieniu do instrukcji 

W odniesieniu do instrukcji 

while

while

 następuje 

 następuje 

zmiana kolejności najpierw wykonywana jest 

zmiana kolejności najpierw wykonywana jest 

instrukcja 1

instrukcja 1

,

,

 

 

a wartość (wyrażenia) obliczana 

a wartość (wyrażenia) obliczana 

potem, nawet jeśli 

potem, nawet jeśli 

jest ono 

jest ono 

zerowe

zerowe

Operator „

Operator „

!=

!=

” oznacza „jest różny”(

” oznacza „jest różny”(

)

)

Np. „ dopóki litera (zmienna) jest różna od K”

Np. „ dopóki litera (zmienna) jest różna od K”

background image

 

 

 

 

Instrukcja iteracyjna (pętla)

 

do while  

„wykonuj dopóki”

T

N

warune

warune

k

k

Instrukcja wewnętrzna

background image

 

 

 

 

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

 

 

 

 

 

#include <iostream.h>

 main()

{

int cyfra=0;

do

{

cout<<cyfra<<” “;

cyfra++;

}

while (cyfra<10);

return(0);

}

 

Drukowanie cyfr od 0 ... 9

background image

 

 

 

 

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

 

 

 

 

for 

for 

(

(

instr_ini ; wyraz_warun ; inst._krok) 

instr_ini ; wyraz_warun ; inst._krok) 

treść _pętli 

treść _pętli 

;

;

przykład:

przykład:

for (i=0 ; i<10 ; i=i+1)

for (i=0 ; i<10 ; i=i+1)

{

{

cout<< ”Ku – ku !” ;

cout<< ”Ku – ku !” ;

}

}

for

for

 – dla takich warunków rób

 – dla takich warunków rób

instr_ini – 

instr_ini – 

instrukcja inicjująca wykonywana przed 

instrukcja inicjująca wykonywana przed 

uruchomieniem pętli: i=0

uruchomieniem pętli: i=0

wyraz_warun 

wyraz_warun 

wyrażanie obliczane przed każdym 

wyrażanie obliczane przed każdym 

obiegiem pętli. Jeśli jest ono różne od 0 to 

obiegiem pętli. Jeśli jest ono różne od 0 to 

wykonywane są instrukcje będące treścią pętli: 

wykonywane są instrukcje będące treścią pętli: 

i<10, jeśli i jest rzeczywiście <10 wówczas 

i<10, jeśli i jest rzeczywiście <10 wówczas 

wykonywana jest instrukcja będąca treścią pętli: ”Ku-

wykonywana jest instrukcja będąca treścią pętli: ”Ku-

ku”

ku”

inst._krok 

inst._krok 

– wykonywana na koniec każdego obiegu 

– wykonywana na koniec każdego obiegu 

przed obliczeniem 

przed obliczeniem 

wyraz_warun

wyraz_warun

i=i+1 

i=i+1 

background image

 

 

 

 

Praca pętli:

Praca pętli:

wykonanie instrukcji inicjalizujących 

wykonanie instrukcji inicjalizujących 

(

(

instr_ini)

instr_ini)

obliczenie wyrażenia warunkowego 

obliczenie wyrażenia warunkowego 

(

(

wyraz_warun)

wyraz_warun)

, jeśli jest =0 – pętla jest 

, jeśli jest =0 – pętla jest 

przerywana

przerywana

po spełnieniu 2. wykonywane są 

po spełnieniu 2. wykonywane są 

instrukcje treści pętli

instrukcje treści pętli

po wykonaniu 3. wykonywana 

po wykonaniu 3. wykonywana 

inst._krok

inst._krok

po czym powtarzana jest akcja od 2.

po czym powtarzana jest akcja od 2.

background image

 

 

 

 

pętle nieskończone:

pętle nieskończone:

for( ; ; )

for( ; ; )

{

{

.

.

}

}

while(1)

while(1)

{

{

.

.

}

}

Ważne informacje:

Ważne informacje:

instr_ini

instr_ini

 - może być kilka oddzielonych 

 - może być kilka oddzielonych 

przecinkami

przecinkami

inst._krok

inst._krok

 – j.w.

 – j.w.

instr_ini

instr_ini

 wyraz_warun 

 wyraz_warun 

inst._krok

inst._krok

 

 

nie muszą 

nie muszą 

wystąpić. 

wystąpić. 

Dowolny element można opuścić, należy jednak 

Dowolny element można opuścić, należy jednak 

zachować „

zachować „

;

;

opuszczenie 

opuszczenie 

wyraz_warun

wyraz_warun

 jest traktowane jakby było 

 jest traktowane jakby było 

ono zawsze niezerowe – prawdziwe

ono zawsze niezerowe – prawdziwe

background image

 

 

 

 

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

 

 

 

 

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

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-1

i=i-1

i++

i++

i--

i--

i+=1

i+=1

i-=1

i-=1

i+=krok

i+=krok

i-=krok

i-=krok

background image

 

 

 

 

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;

background image

 

 

 

 

 #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

 

 

 

 

Instrukcja break

   

„przerwij”

break;

Powoduje  opuszczenie  aktualnego 

poziomu 

pętli 

lub 

instrukcji 

wyboru. 

Dopuszczalne 

zastosowanie tylko w instrukcjach

:

switch, for, while, do…while

background image

 

 

 

 

Program wyznaczania iloczynu ciągu liczb całkowitych, różnych 
od zera 
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)

{

break;

}

iloczyn*=liczba;

}

if (liczba==0)

cout<<”Blad danych”;

else

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

}

background image

 

 

 

 

Instrukcja continue

   

„kontynuuj”

continue;

Dopuszczalne zastosowanie tylko 
w instrukcjach iteracyjnych, 

powoduje 

przejście do następnej 

iteracji

background image

 

 

 

 

Stosowana wewnątrz pętli 

Stosowana wewnątrz pętli 

for, while, do … while

for, while, do … while

Powoduje zaniechanie realizacji instrukcji będących treścią 

Powoduje zaniechanie realizacji instrukcji będących treścią 

pętli, jednak w przeciwieństwie do instrukcji break nie 

pętli, jednak w przeciwieństwie do instrukcji break nie 

powoduje przerwania pętli. 

powoduje przerwania pętli. 

continue 

continue 

przerywa pojedynczy 

przerywa pojedynczy 

obieg pętli i zaczyna obieg następny, kontynuując pracę 

obieg pętli i zaczyna obieg następny, kontynuując pracę 

pętli. 

pętli. 

int k ;

int k ;

for (k=0 ; k<12 ; k=k+1)

for (k=0 ; k<12 ; k=k+1)

{

{

cout<< ”A” ;

cout<< ”A” ;

if (k>1) continue ;

if (k>1) continue ;

cout<< ”b”<<endl ;

cout<< ”b”<<endl ;

Ab

Ab

Ab

Ab

AAAAAAAAAA

AAAAAAAAAA

background image

 

 

 

 

Program wyznaczania 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;

}

background image

 

 

 

 

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

 w miejsce jej wywołania – podanie 

nazwy z 

argumentami (definiowanie 

funkcji własnych)

background image

 

 

 

 

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 

}

Tę instrukcję podobno można zawsze ominąć

Tę instrukcję podobno można zawsze ominąć

NIE NALEŻY NADUŻYWAĆ  MNIEJSZA CZYTELNOŚĆ 
PROGRAMU

background image

 

 

 

 

W kilku pętlach zagnieżdżonych jedna w drugiej przerywa 

W kilku pętlach zagnieżdżonych jedna w drugiej przerywa 

działanie tylko tej pętli bezpośrednio, w której jest zapisana. 

działanie tylko tej pętli bezpośrednio, w której jest zapisana. 

Przerwanie z przejściem jeden poziom wyżej. 

Przerwanie z przejściem jeden poziom wyżej. 

goto

goto

 

 

etykieta

etykieta

 ;

 ;

To miejsce (etykieta) jest nazwą po której należy umieścić „

To miejsce (etykieta) jest nazwą po której należy umieścić „

:

:

”. 

”. 

To miejsce nie jest dowolne w programie – musi leżeć w 

To miejsce nie jest dowolne w programie – musi leżeć w 

obowiązującym zakresie ważności. Bywa stosowana do 

obowiązującym zakresie ważności. Bywa stosowana do 

wyskoczenia z obszaru programu

wyskoczenia z obszaru programu

 

 

z wieloma pętlami zagnieżdżonymi. Jednak tylko w ramach tego 

z wieloma pętlami zagnieżdżonymi. Jednak tylko w ramach tego 

bloku programu , w którym znana jest etykieta

bloku programu , w którym znana jest etykieta

cout<<”cos piszemy \n” ;

cout<<”cos piszemy \n” ;

goto 

goto 

aaa

aaa

 

 

;

;

cout<<”tego nie piszemy” ;

cout<<”tego nie piszemy” ;

       

       

aaa 

aaa 

:

:

cout<<”piszemy”

cout<<”piszemy”

cos piszemy

cos piszemy

piszemy

piszemy

background image

 

 

 

 

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();
}

background image

 

 

 

 

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

 

 

 

 

#include <stdio.h>

standard input/output

funkcje realizujące operacje we/wy (podejście 

proceduralne typowe dla języka C)

printf (       );
scanf (       );

#include <iostream.h>

Input/output stream – strumień we/wy

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

 

 

 

 

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

funkcje 

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

 

clrscr();

getch(); 

textcolor(n); gdzie n – wartość całkowita 0-15

niektóre

 Biblioteki 

standardowe

background image

 

 

 

 

#include <iomanip.h>

funkcje 

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

Manipulatory, które mają argumenty. Aby określić na ilu znakach ma być wypisana 
jakaś dana trzeba podać tę liczbę znaków – to jest ten  argument. Korzystanie z 
manipulatorów predefiniowanych, posiadających jakieś parametry, trzeba umieścić 
DYREKTYWĘ; manipulatory: 

setw(int)

setfill(int)

setprecision(int)

setbase(int)

Ustaw szerokość

jakimi znakami

 

setbase(10)

width 

dopełnić liczby,

setbase(16)

 

Liczba dwucyfrowa

 

które wypisujemy 

setbase(8)

wypisana za pomocą

 

za pomocą większej 

setbase(0)

10 znaków, 8 to

 

liczby znaków niż 

cin – 0x…-

heksadecymalny

wypełnienie

za lub

 

potrzeba

          

0…-

oktalny

przed liczbą

cout – domyślny – 

dziesiątk.

dec

 

oct

 hex

manipulatory bezargumentowe – ustaw pole basefield na 

konwersję

 ↑

niektóre

 Biblioteki 

standardowe

background image

 

 

 

 

#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) 

background image

 

 

 

 

#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); - długość łańcucha

strcpy (z1,z2); kopiowanie łańcucha

niektóre

 Biblioteki 

standardowe

background image

 

 

 

 

#include <graphics.h>

funkcje 

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

setbkcolor(int color);

 –

ustala kolor tła obrazu

setbkcolor(1);

setcolor(int color);

 –

ustala kolor rysowania

setcolor(60);

rectangle(int  left,  int  top,  int  right,  int  bottom);

  – 

funkcja 

rysuje  prostokąt  rozpięty  między  punktami  (left,top)  i  (right,bottom) 
używając aktualnego koloru, rodzaju i grubości linii)

rectangle(4,5,34,56);

bar(int  left,  int  top,  int  right,  int  bottom);

  – 

funkcja  wypełnia 

prostokątny  obszar  rozpięty  między  punktami  (left,top)  i  (right,bottom) 
używając aktualnego koloru i wzorca)

bar(45,36,48,58);

niektóre

 Biblioteki 

standardowe


Document Outline