C++ Wykład II 2007 2008 M Ch

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


Wyszukiwarka

Podobne podstrony:
C Wykład I 2007 2008 M Ch
Podstawy finansów 2008, Wykład II
Notatki - OWI - 08.04.2008, Filozofia UKSW 2007-2010, Rok I (2007-2008), Notatki, Semestr II, Ochron
Z Wykład 15.03.2008, Zajęcia, II semestr 2008, Analiza matematyczna
Wykład II; 27.10.2007, Uczelnia - notatki, dr Dorota Piontek
wykłady z genetyki i parazytologii 2007-2008 część 2 - paraz, farmacja, parazytologia
Wykład z dnia 10.05.2008, Zajęcia, II semestr 2008, Matematyka dyskretna i logika
wykłady z genetyki i parazytologii 2007-2008 część 1 - syste, farmacja, parazytologia
Z Wykład 19.04.2008, Zajęcia, II semestr 2008, Analiza matematyczna
Z Wykład 23.02.2008, Zajęcia, II semestr 2008, Analiza matematyczna
wyklady, Psychologia rozwojowa dzieci i młodzieży - wykład 7, PSYCHOLOGIA ROZWOJOWA DZIECI I MŁODZIE
Woda 2008 Wykład II
Chemia wyklady 2007 2008(1) id Nieznany
wyklady, Psychologia rozwojowa dzieci i młodzieży - wykład 13 , PSYCHOLOGIA ROZWOJOWA DZIECI I MŁODZ
chemia fizyczna 1-1, SGGW - Technologia żywnosci, II semestr, SEMESTR 2, wyklady II rok, chem org,

więcej podobnych podstron