Professional Documents
Culture Documents
Uvod u C++
C++ je viši programski jezik opće namjene. Ovo je kratka rečenica sa dosta nerazumljivih pojmova.
Prvi od njih je programski jezik. Ljudi u svakodnevnom životu koriste govorne jezike, i bilo bi idealno
kada bi mogli na našem maternjem jeziku kazati računaru da nam nešto uradi, npr. “Molim te nađi mi
rješenja kvadratne jednačine x25x+6=0!”. To bi nam itekako olakšalo život iz matematike, ali nažalost
stvari sa računarima nisu još uvijek tako jednostavne, iako bi jednog dana mogle biti upravo takve. Za one
znatiželjne koji se pitaju koji su to brojevi koji zadovoljavaju gornju jednačinu, odgovor je 2 i 3, što se
može potvrditi jednostavnim uvrštavanjem ovih brojeva u gornju jednačinu. Govorni jezici ne koriste se
za komuniciranje sa računarom jer su preobimni, dvosmisleni i neprecizni.
Tako npr. na ulazu u jedan ribnjak stoji natpis “Gostima zabranjeno hraniti ribe!”. Svima je jasno da se
misli na to da posjetioci ribnjaka ne smiju bacati hranu ribama, ali se rečenica može tumačiti i na način
da se ribe ne smiju hraniti sa gostima! Takva rečenica je sigurno dvosmislena.
Primjer nepreciznosti se može vidjeti u rečenici: “Odi u prodavnicu i kupi mlijeko!”. Na koju prodavnicu
se misli? Koju masnoću mlijeka? Od kojeg proizvođača?
Primjer preobimnosti jezika možemo naći u bilo kojem književnom djelu, gdje je ljepota izražavanja
poželjna, ali u informatici je to nepotrebno ako nema u sebi nekih korisnih informacija.
Dakle programski jezik je precizan i nedvosmislen jezik razvijen za komuniciranje i kontrolu nad
računarom.
Kaže se da je C++ jezik opće namjene, što znači da nije specijaliziran u npr. matematičke ili neke druge
svrhe.
C++ je viši programski jezik, ali to nema nikakve veze sa visinom, jer jezici nemaju visinu, niti dužinu.
Ovo viši (eng. highlevel) stoji uz C++ jer postoje jezici i nižeg nivoa (eng. lowlevel). Ako je jezik višeg
nivoa to ne znači da je automatski bolji od jezika nižeg nivoa. To znači samo veći nivo apstrakcije od
mašinskog jezika, koji je jedini jezik koji procesor razumije bez prevođenja. On se sastoji od nula i
jedinica i može se reći da je za ljudska bića gotovo nerazumljiv i neupotrebljiv. Veći nivo apstrakcije
znači jednostavniji rad ali i manju kontrolu nad računarom.
C++ je programski jezik za koji se slobodno može reći da je C programski jezik sa dodatim klasama i
svim ostalim osobinama modernih jezika. Dokaz za to je i prvo ime ovog jezika koje je glasilo “C sa
klasama”! Tvorac C programskog jezika je Dennis Ritchie, koji je tad radio u AT&T Bell Laboratories. C
je nastao da bi zamijenio jezik B(postojao je i jezik A, a početkom 2007 je izdat i jezik D) čiji tvorac je
otac Unix operativnog sistema Ken Thompson i prvenstvena mu je namjena bila održavanje Unix
operativnog sistema. C je čudan jezik koji ima osobine i viših i nižih programskih jezika, pa kao takav
ima sve prednosti i mane takvih jezika. Da bi prevazišao mane i iskoristio prednosti C jezika, Bjarne
Stroustrup zaposlenik AT&T Bell Laboratories je razvio C++ programski jezik. Da li je u tome uspio ili
je samo još doprinio zbrci oko u suštini vrlo snažnog programskog jezika je rasprava koja se često vodi u
programerskim krugovima.
Da bi se napisani program izvršio na računaru(da bi ga koristili), potrebno ga je iz izvornog koda
Uvod u programiranje Gimnazija Bihać
(programa) prevesti u oblik koji procesor razumije tj. mašinski jezik. Prevedeni oblik se najčešće naziva
izvršni ili objektni kod(program). Kada radite sa nekim programom na računaru npr. sa Firefoxom radite
sa objektnim programom. Objektni program se zna nazivati i kompajlirani program, jer se program iz
izvornog oblika prevodi u objektni putem posebnih programa koji se nazivaju kompajleri ili prevodioci.
Pored kompajlera, da bi pravili vlastite programe potrebni su nam još dvije vrste programa: tekst editori i
debuggeri. Tekst editor je program sa kojim pišemo izvorni program, kao npr. Notepad ili Vim. Kako
programe pišu ljudi, a oni su po svojoj prirodi skloni greškama, često su nam potrebni i programi koji
nam pomažu da takve greške otkrijemo i uklonimo. Takvi programi se nazivaju debuggeri, a naziv im
potiče od engleskog naziva bug za grešku u programu, dok je proces uklanjanja grešaka debugging.
Dakle, za pisanje izvornog koda nam treba editor. Za prevođenje tog izvornog koda u izvršni kod nam
treba kompajler, a da bi otkrili eventualne greške u svojim programima, često nam zatrebaju debuggeri.
Kako ovo znači da prilikom pisanja svoga programa trebamo koristiti tri različite vrste programa, neko se
dosjetio da ta tri programa “ujedini u jedan program”. Takvi programi se nazivaju integrirana razvojna
okruženja ili IDE(Integrated Development Environment), a mi ćemo koristiti Blodshed DevC++ IDE.
Ja sam izvorni Ja sam objektni
Ja prevodim ideje
program napisan u program, razumljiv
programera
editoru samo procesoru
procesoru
#include <iostream>
101001000100 100010
using namespace std;
kompajler 100001 10001 1000
int main() 10001 10001 0001 111
{ 1000000010 101001 10001
cout<<"Zdravo svijete!\n"; 100001 1011 10111 1111
cin.get(); 1001 10101 10101 101
return(0); 10110 10101 101 1000 100
}
Mene zovu upomoć
kada dođe do
debugger problema.
1. Pronadjite još 5 programskih jezika osim C++(naravno ne one koji se spominju u ovom tekstu)!
2. Pronadjite još jedno razvojno okruženje za programski jezik C++!