programske petlje i njihova implementacija u odabranom programskom jeziku,seminarski rad
TRANSCRIPT
-
8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD
1/19
SVEUILITE/UNIVERZITET VITEZ TRAVNIK
FAKULTET POSLOVNE INFORMATIKE
STUDIJ I CIKLUSA; GODINA STUDIJA: I CIKLUS: I GODINA
SMIJER: INFORMACIONE TEHNOLOGIJE
PROGRAMSKE PETLJE I NJIHOVA IMPLEMENTACIJA U
PROGRAMSKOM JEZIKU C++
SEMINARSKI RAD
Travnik, 2013. godine
-
8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD
2/19
SVEUILITE/UNIVERZITET VITEZTRAVNIKFAKULTET POSLOVNE INFORMATIKE
STUDIJ I CIKLUSA; GODINA STUDIJA: I CIKLUS: I GODINA
SMIJER: INFORMACIONE TEHNOLOGIJE
PROGRAMSKE PETLJE I NJIHOVA IMPLEMENTACIJA U
PROGRAMSKOM JEZIKU C++
SEMINARSKI RAD
IZJAVA: Ja, Amer Ali,student Sveuilita/Univerziteta VitezTravnik,Indeks broj: 0184-12/DIT odgovorno i uz moralnu i akademsku
odgovornost izjavljujem da sam ovaj rad izradio potpuno samostalno uz
koritenjecitirane literature i pomoprofesora odnosno asistenata.
Potpis studenta:
STUDENT: Amer AliPREDMET: Strukture podataka i algoritmiPROFESOR: Prof.dr Lazo RoljiASISTENT: Mr. Kenan Bradi
-
8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD
3/19
3
SADRAJ :
1 UVOD ................................................................................................................... 4
1.1 PROBLEM, PREDMET I OBJEKT ISTRAIVANJA................................ 4
1.2 SVRHA I CILJEVI ISTRAIVANJA.......................................................... 4
1.3 RADNA HIPOTEZA I POMONE HIPOTEZE......................................... 4
1.4 ZNANSTVENE METODE ........................................................................... 5
1.5 STRUKTURA RADA ................................................................................... 5
2 UOPTENO O PROGRAMSKIM PETLJAMA................................................. 6
3 TIPOVI PROGRAMSKIH PETLJI ...................................................................... 7
3.1 FOR PETLJA ................................................................................................ 8
3.2 WHILE PETLJA ........................................................................................... 8
3.3 POREENJE PETLJI FOR I WHILE .......................................................... 9
3.4 DO WHILE PETLJA .................................................................................. 11
3.5 POREENJE WHILE I DO WHILE PETLJE........................................... 12
4 UGNJEDENA PETLJA................................................................................... 15
5 BESKONANA PETLJA.................................................................................. 17
6 ZAKLJUAK: .................................................................................................... 18
7 LITERATURA ................................................................................................... 19
-
8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD
4/19
4
1 UVOD
1.1
PROBLEM, PREDMET I OBJEKT ISTRAIVANJA
Razliiti programski jezici zahtjevaju razliite nivoe znanja, umijea i detalja koje programer
treba posjedovati.1 Programiranje ili raunarsko programiranje (engl. programming) je
vjetina pomou koje programer stvara i izvrava algoritme koristei odreene programske
jezike da bi napravio raunarski program.
U tom procesu kreiranja programa, odnosno izvravanja algoritma kroz kd, programer mora
sa kdom opisati algoritam, bilo da se radi o linijskoj, razgranatoj ili ciklinoj strukturi
algoritma.
U ovom seminarskom radu upravo elimo obraditi ciklinu strukturu, odnosno strukturu
petlje, kroz primjere implementacije u programskom jeziku C++.
1.2
SVRHA I CILJEVI ISTRAIVANJA
Cilj ovog rada i istraivanja jeprikazati petlje u njihovom prirodnom okruenju, te pokazati
kako se koriste i dokazati koliko je bitno znati odabrati tip programske petlje da bi se rijeio
odreeni problem.
1.3 RADNA HIPOTEZA I POMONE HIPOTEZE
Na temelju problema i predmeta istraivanja postavlja se glavna hipoteza:
Kvalitet programiranja ovisi o koritenju, odnosno ne koritenjuprogramskih petlji u procesuizrade programa. .
1Wikipedia,http://bs.wikipedia.org/wiki/Programiranje
http://bs.wikipedia.org/wiki/Programiranjehttp://bs.wikipedia.org/wiki/Programiranje -
8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD
5/19
5
1.4 ZNANSTVENE METODE
U ovom seminarskom radu koriste se naune(strune) metode:
- Metoda analize i sinteze.
-
Metoda klasifikacije,
- Metoda poreenja,
- Matematikametoda,
-
Metoda modeliranja.
1.5
STRUKTURA RADA
Struktura seminarskog rada je usklaena sa Uputstvom za pisanje seminarskog rada na
prvom ciklusu studija kao i temi seminarskog rada. On sadri pet poglavlja.
Prvo poglavlje, Uvod, sadri pet podpoglavlja, koje smo u tekstu iznad ve obradili:
- Problem, predmet i objekt istraivanja,
-
Svrha i ciljevi istraivanja,
- Radna hipoteza i pomone hipoteze,
- Znanstvene metode,
-
Struktura rada.
Drugo poglavlje, govori , o tome ta su programske petlje, o vrstama programskih petlji,
te razvoju kroz historiju programiranja.
Tree poglavlje,je primjena programskih petlji, nain na koji rade.
etvrto poglavlje, Primjena programskih petlji u programskim jezicima, te implementacija
u programskom jeziku C++.
Peto poglavlje, daje generalnu ocjenu o programskim petljama.
-
8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD
6/19
6
2 UOPTENO O PROGRAMSKIM PETLJAMA
Da bi shvatili ta su programske petlje, moraemo se osvrnuti i ukratko opisati osnovne
algoritamske strukture.
Algoritamske strukture se dijele u tri osnovne grupe:
Linijska (sekvencija)
Razgranata (selekcija)
Ciklina (iteracija)
Karakteristika linijske struktureje da se svi elementi izvravaju samo jednom i koraci se
odvijaju u nizu jedan za drugim bez ponavljanja ili "skretanja". Programskim petljama
moemo smatrati dio programskog kda, ili algoritamske strukture, koje slue kako se mogu
izvravati unaprijed zadane operacije zadanibroj puta ili sve dok je odreeni uslov ispunjen.
Svaki prolaz podatka kroz petlju zovemo iteracija.
C++ Slika 1 : Algoritam
#include
using namespace std;
int main()
{
int A,B,C;
cin >> A >> B;
C=A+B;
cout B). Ako je uslov
istinit, to jeste ako je prvi uneseni broj vei od drugog unesenog broja, onda e se izvriti ono
to je u tijelu funkcije IF, u suprotnom e se ispisati poruka: Ne mogu izvrsiti radnju!.
-
8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD
7/19
7
C++ Slika 2 : Razgranata struktura
#include
using namespace std;
int main()
{
int A,B,C;cin >> A >> B;
C=A-B;
if (A>B)
{
cout A;
for (A; A
-
8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD
8/19
8
3.1 FOR PETLJA
Kada govorimo o tipu petlje FORu programskom jeziku C++, onda je to petlja sa tri
izraza, to je zajedniko svim programskim jezicima koji dijele zajedniku batinu sa C
programskim jezikom.
FOR petlju koristimo kada je broj iteracija (ponavljanja) unaprijed poznat. Primjer ove
petlje je na slici iznad (Slika 3.)
Slika 4 : Izrazi u FOR petlji
Prvi izraz je inicijalizacija i u njemu moemo deklarisati varijablu i dati joj vrijednost, drugi
izraz je u stvari jedini pravi uslov, a definiemo ga pomou poredbenih operatora, dok je trei
izraz korak, a njega definiemo sa aritmetikim operatorima. Znak A++ na primjeru u stvari
znai A=A+1 i ovo je takozvani inkrement, dok A-- ili A=A-1 predstavlja dekrement.
Izrazi su odvojeni sa znakom taka-zarez, a dozvoljeno je da se neki od izraza, pa i svi izrazi
izostave. U tom sluaju je potrebno ostaviti znak taka-zarez kao na primjeru:
for (;A
-
8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD
9/19
9
U ovom tipu petlje kao uslov koji se treba ispuniti dozvoljeno je koristiti samo jedan izraz i to
poredbeni izraz, odnosno izraz sa poredbenim operatorima, kao na primjer:
while (A> A;
for (A; A
-
8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD
10/19
10
int main()
{
int A;
cin >> A;
for (; A
-
8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD
11/19
11
}
Petlja je gotovo identina FOR petlji iz prvog primjera sa jedinom razlikom u sedmoj liniji
koda u kljunoj rijei poetka petlje i izostavljenim znakovima taka-zarez.
WHILE petlja ima oblik:
while (izraz) naredba;
FOR petlja ima oblik:
for (izraz_1; izraz_2; izraz_3)
naredba;
koja je ekvivalentna konstrukciji WHILE petlje :
izraz1;
while (izraz_2)
{
naredba;
izraz_3;
}
3.4
DO WHILE PETLJA
Kod DO WHILE tipa petlje iteracija se vri dok se ne zadovolji odreen uslov, sa
provjerom na kraju petlje.
-
8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD
12/19
12
DO WHILE petlja ima oblik:
do
naredba;
while (izraz);
Kod provjere istinitosti na kraju petlje, ne postoji mogunost da se ne izvri ni jedno
ponavljanje. Razlog je jednostavan, provjera se vri u posljednjem redu bloka kda, te se
mora proi barem jedanput kroz itav blok.
Za ovu vrstu petlje u veini programa se koristi kljuna rije "DO WHILE" prilagoena
sintaksi programskog jezika.Ovaj tip petlje koristimo ukoliko broj ponavljanja petlje nije
unaprijed poznat, nego ovisi o ispunjenju zadanog uslova i ukoliko elimo bar jednom
provjeriti, odnosno uporediti uneenu vrijednost sa uslovom u izrazu.
3.5
POREENJEWHILE I DO WHILE PETLJE
WHILEpetlja
#include
using namespace std;
int main()
{
int A;
cin >> A;
while (A > 0)
{
cout
-
8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD
13/19
13
return 0;
}
DO WHILEpetlja
#include
using namespace std;
int main()
{
int A;
cin >> A;
do
{
cout 0);
cout
-
8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD
14/19
14
tekstualna poruka: Kraj brojanja! Ostaloje -1 zvijezdica..
Dakle. iako smo kao ulazni podatak upisali broj nula (0) izvrila se jedna iteracija, odnosno
jedan prolaz kroz petlju, jer se provjera izvrava na izlazu iz petlje, to je karakteristika DO
WHILEpetlji..
Meutim ukoliko budemo htjeli napraviti situaciju u kojoj elimo da nam se prvo izvede neka
operacija te da se, ovisno o njenom ishodu, ta operacija eventualno ponavlja, u tu svrhu esvakako posluiti DO WHILEpetlja.
#include
#include
using namespace std;
void main()
{
string lozinka;
do
{
cout lozinka;
}while (lozinka != "123");
cout
-
8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD
15/19
15
4 UGNJEDENA PETLJA
FORpetlje se mogu pisati jedna unutar druge, onda takve petlje zovemo ugnijeene
FOR petlje. Naveden je primjer (Slika 8.) jedne ugnjedene FOR petlje i detaljnoopisano ta se deava kada pokrenemo ovaj dio programa.
Slika 5. Ugnjedena FOR petlja
Algoritam
C++ kd
#include
#include
using namespace std;
int main()
{
int kolona,red;
for(red=1;red
-
8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD
16/19
16
for(kolona=1;kolona
-
8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD
17/19
17
5 BESKONANA PETLJA
Ako se dogodi da se pokrene program u kom je beskonana petlja,njegovo izvravanjeese
prekinuti ako zatvorimo prozor programa.
Moe se dogoditi da jeuslovpetlje uvijek ispunjen. Petlja e se tom sluaju izvoditi
beskonano. To subeskonane petlje.
Tabela 1. Beskonana FORpetlja
Primjer beskonane petlje
#includeusing namespace std;
int main()
{
for(int b=3;b
-
8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD
18/19
18
6 ZAKLJUAK:
Ono to moemo zakljuiti iz ovog rada ,jested a su petlje neizostavni dio programiranja i da
bez njihove upotrebe posao programiranja bi bio sveden na runo upisivanje naredbi.
Neizbjena situacija kojoj moramo vie puta ponoviti neki dio programa, odnosno slijed
naredbi, to moemo raditi runo, ali ukoliko to treba uraditi vie puta, taj posao bi postao u
najmanju ruku zamoran ,to se naziva rjeavanje programskih problema , posao olakavamo
tako sto upotrebljavamo naredbe koje omoguavaju automasko ponavljanje naredbi odreeni
dio puta ili do ispunjenja nekih uslova
Kvalitet programiranja uveliko ovisi o korienju, odnosno ne korienju programskih petlji u
procesu izrade programa,ime smo dokazali hipotezu rada.
-
8/11/2019 Programske Petlje i Njihova Implementacija u Odabranom Programskom Jeziku,SEMINARSKI RAD
19/19
19
7 LITERATURA
Knjige :
1.) Skripte sa vjebi Sveuilita univerziteta Vitez Travnik 2012.godina2.) J. ribar, B. Motik: Demistificirani C++ (2. izdanje), Element, Zagreb, 2003.
Tekstovi s interneta :
1.)http://bs.wikipedia.org/wiki/Programiranje
http://bs.wikipedia.org/wiki/Programiranjehttp://bs.wikipedia.org/wiki/Programiranjehttp://bs.wikipedia.org/wiki/Programiranjehttp://bs.wikipedia.org/wiki/Programiranje