You are on page 1of 5

Vjebe iz predmeta PROGRAMIRANJE

Lekcija #1

Zadatak 1. Napisati program koji de nakon pokretanja prikazati pozdravnu poruku na ekranu!

1 2 3 4 5 6 7 8

#include <iostream> using namespace std; int main() { cout << Hello, world! << endl; system("PAUSE"); return 0; }

Nakon pokretanja programa Dev-C++, prvi korak u kreiranju koda je otvaranje novog zadatka. Dev-C++ prua vie opcija, ali de se u ovom kursu uglavnom raditi na jednostavnim datotekama sa izvrnim kodom (opcija File/New/Source File). Nakon odabira ove opcije, otvara se prozor u koji treba upisati kod koji smo ved ispisali gore i spasiti pod imenom hello.cpp. Nakon to se sauva ovaj kod, treba ga kompajlirati, tj. proizvesti izvrnu mainsku datoteku. Ovo se izvodi koritenjem kombinacije tipki Ctrl+F9 na tastaturi, ili izborom opcije Compile u meniju Execute, ili pritiskom na ikonu u nizu alata. Nakon startanja procesa kompajliranja, pojavljuje se prozor sa porukama koje prate proces kompajliranja. Dev-C++ daje poruku u sluaju da nae bilo kakvu greku u programu. U sluaju da nema greaka, stvara se izvrna datoteka koja se naziva hello.exe. Na kompajlirani program moemo pokrenuti pritiskom na opciju Run, pritiskom na ikonu tipkama Ctrl+F10. Pokrenuti program izgleda ovako: , ili

Dakle, da vidimo ta smo uopte uradili ovim programom. C++ program se sastoji od jedne ili vie cjelina za prevoenje, pri emu ove cjeline predstavljaju dio programa koji treba kompajlirati odvojeno od drugih cjelina. Tanije, cjelina za prevoenje je rezultat primjene preliminarne faze kompilacije, koja se naziva predprocesiranje, na izvornu datoteku (source). Izvorna datoteka obino poinje sa jednom ili vie (predprocesorskih) direktiva #include, pri emu svaka od njih navodi predprocesor da kopira deklaracije entiteta (funkcija, globalnih varijabli, tipova, itd), koji su definisani u ostalim cjelinama za prevoenje.

Vjebe iz predmeta PROGRAMIRANJE

Lekcija #1

U liniji 1 pozvana je datoteka iostream. Prvi karakter (#) predstavlja symbol, koji daje signal predprocesoru. Svaki put kada pokrenemo kompajler, predprocesor je ved pokrenut. U principu, predprocesor ita kroz izvornu datoteku i trai linije koje poinju sa ovim karakterom, tako da ih predprocesor proe prije nego kompajler starta sa radom. Ukratko ova linija znai: Ono to slijedi je ime datoteke. Nai tu datoteku i odmah je proitaj. Uglaste zagrade (<>) daju naredbu predprocesoru da nae zadatu datoteku koja je dio standardne biblioteke (u datom primjeru to je datoteka koja sadri definicije za ispis i upis). U sluaju kada bismo htjeli uvrstiti neku svoju datoteku, umjesto zagrada bismo koristili znake navoda. Dakle, ova linija kae predprocesoru da nae datoteku koja se zove iostream i da je odmah proita. Naravno, sadraj traene datoteke bismo mogli upisati u izvornu datoteku bez koritenja direktive #include. Linija 2 omoguduje pristup standardnom entitetu (namespace) koji se naziva std. Bez ove linije, linija 5 bi se morala izvriti na drugaiji nain (std::cout << ....) Linijom 3 poinje stvarni program sa funkcijom koja se naziva main(). Svaki C++ program sadri ovu funkciju. Funkcija predstavlja dio koda koji odrauje odreenu radnju. Inae, program moe da ima proizvoljan broj funkcija, pri emu je funkcija main() specijalna. Kada god se program starta, ona se automatski poziva. Sve funkcije poinju zagradom { i zavravaju zagradom }, a sve izmeu ovih zagrada predstavlja dio funkcije. Glavni dio programa je linija 5, koja predstavlja neku naredbu, tj. raunarski korak koji daje neku vrijednost. Kraj naredbe uvijek zavrava taka-zarezom. Naredba u datom primjeru alje string "Hello world! " na tok cout (output stream). String je svaki niz karaktera koji se nalazi izmeu znaka navoda. Stream je objekat koji izvrava ulazne i izlazne naredbe. cout je standardni izlazni stream u C++ (standardni izlazni stream je obino ekran). Simbol << je izlazni operator (usmjeriva toka) kojem je lijevi operand izlazni stream, a desni izraz, i koji uzrokuje da se ovaj posljednji posalje na prvopomenuti. Dakle, u ovom sluaju string "Hello world! " se alje na cout, tj. uzrokuje njegov ispis na ekranu. Naredba endl omogudava programu prelazak u novi red. Linija 6 zaustavlja izvrenje programa, kako bismo bili u mogudnosti vidjeti rezultat njegovog rada. Bez ove linije program bi se nakon pokretanja izvrio, a konzola bi se zatvorila tako brzo da bismo imali osjedaj da program nije nita ni uradio.

Vjebe iz predmeta PROGRAMIRANJE

Lekcija #1

Zadatak 2. Napisati program koji rauna mjesena primanja radnika! (Definisati varijable, unijeti njihove vrijednosti, na ekranu ispisati mjesenu platu). Varijabla je simboliko ime za memorijsku lokaciju u koju se mogu pohraniti podaci i naknadno ih pozvati. Varijable se koriste za uvanje vrijednosti podataka tako da se iste mogu koristiti u raznim proraunima u programu. Sve varijable imaju dvije vane osobine: -Tip, koji se postavlja kada se varijabla definie (npr. cijeli broj, realni broj, karakter, ...) Kada se jednom definie, tip varijable u C++ se ne moe promijeniti. -Vrijednost, koja se moe promijeniti davanjem nove vrijednosti varijabli. Vrsta vrijednosti koja se moe pridruiti nekoj varijabli zavisi od njenog tipa. Na primjer, integer varijabla moe da uzima samo vrijednosti cijalih brojeva (npr. -5, 13, ..). Kada se varijabla definie, njena vrijednost je nedefinisana sve dok joj se ne pridrui neka. Pridruivanje vrijednosti nekoj varijabli po prvi put naziva se inicijalizacija. Neophodno je obezbijediti da se svaka varijabla inicijalizira prije nego se koristi. Takoer je mogue da se varijabla definie i inicializira u isto vrijeme, to je vrlo praktino. Najedi tipovi varijabli su integer, float, double i character. Integer (intejder) je svaki cijeli broj, bilo negativan ili pozitivan ukljuujudi i nulu. Float i double su tipovi varijabli koji oznaavaju racionalne brojeve, s tim da double zauzima puno vie memorije od tipa podatka float, ali je zbog toga i preciznost racionalnog broja veda. Character su slovne oznake. Da bi lake rijeili ovaj zadatak, nacrtat demo algoritam za ovaj zadatak.

Vjebe iz predmeta PROGRAMIRANJE

Lekcija #1

Dakle, algoritam je startao sa standardnim poetnim, a zavrio sa krajnim elementom algoritma (START i END). Nakon samog poetka, definisali smo konstantu Pi, koja kao takva ostaje nepromjenjena do kraja izvrenja samog zadatka. Nakon toga, unosimo poluprenik r , a nakon toga definiemo operacije koje de se izvriti nad unesenim podacima (Obim i Povrina kruga). Nakon definisanja tih operacija, potrebno je jo ispisati izvrene operacije na ekranu (P i O), te algoritam zavrava sa zavrnim elementom algoritma. Kada bi opisali ovaj algoritam pseudokodom, izgledalo bi ovako: -Poetak -Pi je jednako 3,14 -Unesi r -P=r2*Pi -O=2*r*Pi -Ispii P i O -Kraj Nakon algoritma i pseudokoda, potrebno je samo sve to prevesti u programski kod, koji moe da izgleda ovako: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include <iostream> using namespace std; int main() { float Pi = 3.14; int r; float O, P; cout << "Unesi poluprecnik" << endl; cin >> r; P=r*r*Pi; O=2*r*Pi; cout << "Obim kruga je " << O << endl; cout << "Povrsina kruga je " << P << endl; system("PAUSE"); return 0; }

Linije koda 1-4 smo objasnili u prethodnom primjeru. U linijama 5-7 definiemo tip varijable. U liniji 5 definisali smo konstantu Pi koja je tipa float i odmah joj pridruili vrijednost 3,14. U liniji 6 smo definisali polupranik koji de biti tipa integer, ali vrijednost poluprenika demo unijeti tek za vrijeme izvravanja programa. Linija 7 definie izlazne varijable, povrinu i obim, koji de biti tipa float, a vrijednosti koje pridruujemo tim varijablama de se izraunati nakon izvrenja linije 10 i 11. Liniju 8 smo ved upoznali u ranijem primjeru.

Vjebe iz predmeta PROGRAMIRANJE

Lekcija #1

Linija 9 nam slui za unos vrijednosti varijabli koje su prethodno definisane, u ovom sluaju to je poluprenik kruga. Linije 10 i 11 izvravaju operacije nad unesenom varijablom r i varijablama P i O pridruuju izraunate vrijednosti. Linijama 12 i 13 te vrijednosti varijabli P i o se ispisuju na ekranu, ime je program zavren.

****************************************************************************** Zadaci za vjebu 1. Napisati program koji na ekranu ispisuje vae ime uokvireno nekim simbolom (kao to je to prikazano na slici). Moete koristiti bilo koji simbol za okvir.

2. Napisati program koji rauna povrinu, obim i dijagonalu pravougaonika. (definisati varijable, unijeti stranice pravougaonika, definisati izraze za P, O i d, prikazati rezultate na ekranu). Prije pisanja programa napisati algoritam i pseudokod za ovaj program. 3. Napisati program koji rauna platu na osnovu unesenih radnih dana. (definisati dnevnicu i topli obrok kao konstante, broj radnih dana se unosi sa tastature, ispisati konanu mjesenu platu*)

*Ukupna mjesena plata se rauna kao zbir zaraene plate i ukupnog toplog obroka. Zaraena plata je jednaka proizvodu dnevnice i broja radnih dana, a ukupni topli obrok jednak je proizvodu broja radnih dana i toplog obroka.

You might also like