Programiranje - Uvod - Kolegij: Programski jezik C++

Slides:



Advertisements
Similar presentations
Uvod u programiranje - matematika – VI predavanje
Advertisements

Petlje WHILE – WEND.
Java Hello world !.
PONAVLJANJE CheckBox Koristi se za rešavanje zadataka gde je potrebno omogućiti uključivanje ili isključivanje jedne ili više opcija. Važna svojstva: –Checked.
Programi,Podaci,Varijable,Računanje- Uvod
Programiranje - Blokovi naredbi i logički tipovi –
OSNOVE PROGRAMIRANJA U PROGRAMSKOM JEZIKU
Struktura petlje.
The Present Perfect Continuous Tense
Programiranje u VB Uvod
Microsoft Office 2007 MS Office je programski paket koji sadrži više programa: MS Word – program za obradu teksta MS Excel – program za izradu tabela sa.
Quick Basic.
SEMINARSKI RAD MS WORD.
Petlje FOR - NEXT.
REPEAT…UNTIL Naredbe ciklusa.
PROGRAMSKE PETLJE Milenković Gabrijela.
Komponente izbora i kontejnerske komponente
Uvod u HTML Zoltan Geller 2017
Klauzule GROUP BY i HAVING
KREIRANJE OBJEKATA.
Europski dan programiranja
Uvod u programiranje - matematika – X predavanje
Tipovi podataka i operatori
Reference ćelije i opsega
Binarne datoteke u Pascalu
14 UNUTRAŠNJE I ANONIMNE KLASE
Elementi programskog jezika PASCAL
Arrays and strings -1 (nizovi i znakovni nizovi)
OSNOVE PROGRAMIRANJA U PROGRAMSKOM JEZIKU
Programiranje za Internet
M-datoteke.
Page Layout Podešavanje stranica.
Element form Milena Kostadinović.
MessageBox.
(カックロ ) Ivo Ivanišević Ena Melvan
Pojmovi digitalnog zapisa
Programski jezik C++ - Vježbe - 2. dio
PROGRAMSKI JEZIK PASCAL
Visual Basic – Prvi primjer
ELEKTRONIČKA POŠTA ( ) OTVARANJE RAČUNA.
Lazarus okruženje TIPOVI UNIT-a
Osnovni simboli jezika Pascal
Razvojne okoline Kolegij: Programski jezik C++ Ak. god. 2017/2018
FAKULTET KEMIJSKOG INŽENJERSTVA I TEHNOLOGIJE
Do While ... Loop struktura
Virtualizacija poslovnih procesa metodom „Swimlane“ dijagrama
Programiranje – Small Basic
Strukture podataka i algoritmi 5. VRIJEME IZVRŠAVANJA ALGORITMA
Nizovi.
C++ WORKSHOP Šimec Tino - FOI.
Naredbe u php-u.
Programski jezik C++ - Vježbe - 5. dio
Programski jezik Python
Programiranje - Naredbe za kontrolu toka programa – 1. dio
INPUT, PRINT P1 PMF Split.
Programski jezik C++ - Vježbe - 4. dio
Programiranje - Naredbe za kontrolu toka programa – 3. dio
Mehanizmi agregacije *.
Programski jezik C++ - Vježbe - 1. dio
LimeSurvey Uvjetni prikaz pitanja Internetska istraživanja
BILJEŽNICA MS WORD.
Oduzimanje brojeva od 1 do 5.
Ponavljanje Pisana provjera
Programiranje - Naredbe za kontrolu toka programa – 1. dio
Utvrđivanje kvalitete oblikovanih pričuva šteta – run off analiza
INTERPOLACIJA PO DIJELOVIMA POLINOMIMA
Vježbenica 2: struktura grananja – 2.dio
Uvjetne petlje.
Višestruko grananje.
Programski jezik C++ - Vježbe - 2. dio
Presentation transcript:

Programiranje - Uvod - Kolegij: Programski jezik C++ Ak. god. 2017/2018 Doc. Dr. Sc. Marko Maliković

Program koji ne radi ništa int main() { return 0; }

Program koji ne radi ništa int main() { return 0; } Naziv za glavnu funkciju u svakom C++ programu Svaki C++ program mora imati jednu i samo jednu main funkciju To je dio programa koji će se prvi početi izvoditi

Program koji ne radi ništa int main() { return 0; } Zagrade u koje se smještaju (eventualni) argumenti odnosno parametri funkcije Za sada su zagrade prazne i tako će ostati još dobar dio semestra (Što su argumenti ćemo usvojiti kasnije tijekom kolegija →)

Program koji ne radi ništa int main() { return 0; } Kaže da će main() kao rezultat izvođenja vratiti cijeli broj O povratnim vrijednostima biti će još mnogo riječi tijekom kolegija →

Program koji ne radi ništa int main() { return 0; } Naredba kojom glavni program vraća pozivnom programu broj 0 To je poruka operativnom sustavu da je program uspješno okončan (u svakom operacijskom sustavu postoji skup definiranih vrijednosti koje bi programi trebali vraćati)

Program koji ne radi ništa int main() { return 0; } Početak i kraj bloka koji sadrži naredbe glavne funkcije Svaki blok naredbi koji se treba ponašati kao cjelina smješta se u vitičaste zagrade Vidi kasnije tijekom kolegija →

Program koji ne radi ništa int main() { return 0; } Označava kraj naredbe Svaki zapis iza točka-zareza interpretira se kao nova naredba

Prvi program koji nešto radi // Prvi program koji radi nešto #include <iostream> using namespace std; int main() { cout << "Dobar dan"; return 0; }

Prvi program koji nešto radi // Prvi program koji nešto radi #include <iostream> using namespace std; int main() { cout << "Dobar dan"; return 0; } Komentar Zanemaruje se sav tekst od dvostruke kose crte do kraja tekućeg retka i program se nastavlja od početka slijedećeg retka

Komentari preko više redova /* Osim već navedene dvije kose crte, C++ dopušta pisanje i komentara unutar crta i zvjezdica kao što je pisan i ovaj komentar. */

Komentari preko više redova /* Osim već navedene dvije kose crte, C++ dopušta pisanje i komentara unutar crta i zvjezdica kao što je pisan i ovaj komentar. Ovakvi komentari se mogu protezati na više redaka, a da se znak za komentiranje ne mora ponavljati u svakom retku. */

Komentari preko više redova /* Osim već navedene dvije kose crte, C++ dopušta pisanje i komentara unutar crta i zvjezdica kao što je pisan i ovaj komentar. Ovakvi komentari se mogu protezati na više redaka, a da se znak za komentiranje ne mora ponavljati u svakom retku. Ovakav način komentiranja je vrlo pogodan i za privremeno isključivanje dijelova programa. */

Prvi program koji nešto radi // Prvi program koji radi nešto #include <iostream> using namespace std; int main() { cout << "Dobar dan"; return 0; } Nije naredba jezika C++ nego tzv. predprocesorska naredba Sve predprocesorske naredbe počinju znakom #

Prvi program koji nešto radi // Prvi program koji radi nešto #include <iostream> using namespace std; int main() { cout << "Dobar dan"; return 0; } Od prevoditelja traži da u program uključi zaglavlje biblioteke iostream U toj datoteci su definirani izlazni tokovi (između ostalog, funkcije koje omogučavaju ispis podataka na monitor)

Prvi program koji nešto radi // Prvi program koji radi nešto #include <iostream> using namespace std; int main() { cout << "Dobar dan"; return 0; } Aktivira imenski prostor odn. imenik (eng. namespace) pod nazivom std std je imenik u kojem su definirane sve standardne funkcije i tipovi Imenici služe kao zaštita od istih imena funkcija, klasa ili objekata iz različitih biblioteka Ako dvije različite funkcije iz različitih imenika imaju isto ime prevoditelj će javiti grešku (ili, u krajnjem slučaju, kada više programera piše isti program) Da nismo aktivirali cijeli imenik std onda bi u programu morali pisati npr. std::cout umjesto cout Analogija: Kućna adresa i nečije ime i prezime

Prvi program koji nešto radi // Prvi program koji radi nešto #include <iostream> using namespace std; int main() { cout << "Dobar dan"; return 0; } Naziv izlaznog toka koji je u biblioteci iostream pridružen monitoru

Prvi program koji nešto radi // Prvi program koji radi nešto #include <iostream> using namespace std; int main() { cout << "Dobar dan"; return 0; } Upućuje podatak koji slijedi na izlazni tok (u ovom slučaju na monitor)

Prvi program koji nešto radi // Prvi program koji radi nešto #include <iostream> using namespace std; int main() { cout << "Dobar dan"; return 0; } Podatak koji treba poslati na izlazni tok Ako je podatak pisan u navodnicima onda ga treba ispisati doslovce (u suprotnom prevoditelj traži varijablu s tim nazivom, a ako ona ne postoji vraća grešku)

Prvi program koji nešto radi // Prvi program koji radi nešto #include <iostream> using namespace std; int main() { cout << "Dobar dan"; return 0; } Ukratko: Naredba za ispis teksta Dobar dan

Kako ispisati navodnike? Tako da ispred navodnika koje želimo ispisati stavimo kosu crtu u lijevo Na primjer: cout << "Ante je rekao: \"Ovako se ispisuju navodnici\"." << endl;

Pokrenimo prethodni program Kako pomaknuti ispis nakon teksta "Dobar dan" u novi redak?

Tako da dodamo << endl na kraj naredbe za ispis // Prvi program koji radi nešto #include <iostream> using namespace std; int main() { cout << "Dobar dan" << endl; return 0; }

Prelazak u novi red

Umjesto << endl imamo još dvije mogućnosti: cout << "Dobar dan" << '\n'; cout << "Dobar dan \n"; Razlika između endl i \n postoji ali nama sada nije važna (razlika je u pražnjenju buffera prilikom ispisa u datoteku...)

Nadovezivanje operatora za ispis cout << "Dobar dan dragi gosti!" << endl << "Smjestite se." << endl << "Jeste li za kavu?" << endl;

Program za zbrajanje dva broja (naš prvi interaktivni program) // Program za zbrajanje dva broja #include <iostream> using namespace std; int main() { int a, b, c; cout << "Upiši prvi broj: "; cin >> a; cout << "Upiši drugi broj: "; cin >> b; c = a + b; cout << "Zbroj je jednak: " << c << endl; return 0; }

Program za zbrajanje dva broja // Program za zbrajanje dva broja #include <iostream> using namespace std; int main() { int a, b, c; cout << "Upiši prvi broj: "; cin >> a; cout << "Upiši drugi broj: "; cin >> b; c = a + b; cout << "Zbroj je jednak: " << c << endl; return 0; } Deklariramo tri varijable cjelobrojnog tipa (integer) Deklariranje varijabli je zadavanje imena varijabli i određivanje tipa te varijable Bez deklaracije prevoditelj neće htjeti prevesti program Deklaraciju ćemo preciznije opisati kasnije →

Program za zbrajanje dva broja // Program za zbrajanje dva broja #include <iostream> using namespace std; int main() { int a, b, c; cout << "Upiši prvi broj: "; cin >> a; cout << "Upiši drugi broj: "; cin >> b; c = a + b; cout << "Zbroj je jednak: " << c << endl; return 0; } Program će stati i čekati da upišemo vrijednost varijable a (prvog broja kojeg želimo zbrajati)

Program za zbrajanje dva broja // Program za zbrajanje dva broja #include <iostream> using namespace std; int main() { int a, b, c; cout << "Upiši prvi broj: "; cin >> a; cout << "Upiši drugi broj: "; cin >> b; c = a + b; cout << "Zbroj je jednak: " << c << endl; return 0; } Program će stati i čekati da upišemo vrijednost varijable b (drugog broja kojeg želimo zbrajati)

Program za zbrajanje dva broja // Program za zbrajanje dva broja #include <iostream> using namespace std; int main() { int a, b, c; cout << "Upiši prvi broj: "; cin >> a; cout << "Upiši drugi broj: "; cin >> b; c = a + b; cout << "Zbroj je jednak: " << c << endl; return 0; } Program će izračunati zbroj brojeva a i b i rezultat pohraniti u varijablu c O dodjeljivanju vrijednosti varijablama ćemo još govoriti kasnije

Mogućnost ispravka unosa Prilikom čekanja koje vrši naredba cin >> a; broj a neće biti pohranjen sve dok ne pritisnemo tipku Enter. To znači da ga možemo ispraviti ako pogriješimo. Primjećujemo da se hrvatski dijakritički znakovi ne prikazuju ispravno Neka nam to za sada ne smeta nego pisimo tekst bez kvacica O hrvatskim dijakritičkim znakovima kasnije na nastavi

Razdvajanje znakovnih nizova Znakovni nizovi ne smiju biti razdvojeni u dva reda, a da se to ne naznači Ako napišemo: cout << "Ovo je prvi redak, a ovo je drugi redak" << endl; … prevoditelj će javiti grešku Možemo na kraju prvog retka pisati kosu crtu u lijevo: cout << "Ovo je prvi redak, \

Razdvajanje znakovnih nizova cout << "Ovo je prvi redak, \ a ovo je drugi redak" << endl; Prije drugog retka ne smije biti praznina jer će prevoditelj te praznine shvatiti kao dio niza:

Datoteke zaglavlja i biblioteke C++ datoteke (ekstenzija .cpp) nisu jedine koje postoje u C++ programima Druge vrste datoteka se zovu datoteke zaglavlja (header file, include file) Datoteke zaglavlja obično imaju ekstenziju .h ali ponekad i .hpp ili nemaju ekstenziju Namjena datoteka zaglavlja je da sadrže deklaracije funkcija te definicije konstanti i klasa sadržanih u odgovarajućim bibliotekama Npr. naredba cout je deklarirana u datoteci zaglavlja iostream Naredbom #include <iostream> zahtijevamo da sav sadržaj datoteke zaglavlja iostream bude bude kopiran u našu datoteku Međutim, datoteke zaglavlja obično sadrže samo deklaracije, a ne sadrže definicije kako je nešto implementirano Dakle, cout je samo deklarirano u datoteci zaglavlja, a definirano odnosno implementirano je u biblioteci koja se povezuje u naš program tijekom povezivanja (linkanja)