OS Kastanjer
Would you like to react to this message? Create an account in a few clicks or log in to continue.
OS Kastanjer

za sve kojima je pomoc potrebna
 
Početna stranicaPretraľnikLatest imagesRegistracijaLogin

 

 Uvod u programiranje i C ++

Go down 
Autor/icaPoruka
crna-guja
Administrator
Administrator
crna-guja


Broj postova : 187
Age : 30
Lokacija : Pula
Registration date : 04.03.2008

Uvod u programiranje i C ++ Empty
PostajNaslov: Uvod u programiranje i C ++   Uvod u programiranje i C ++ Icon_minitimesri oľu 05, 2008 9:20 pm

Što je program?

Program je skup instrukcija koje računalo treba izvršiti.

Uvod u programiranje i C ++ 11224910

Pojednostavljeni prikaz izvršavanja programa



Ulaz racunala cine dvije osnovne komponente: program i podaci. Racunalo slijedi instrukcije u programu i na neki nacin izvodi proces. Podaci su ono što smatramo ulazom programa. Npr.ako program zbraja dva broja, onda su ta dva broja podaci. Drugim rijecima, podaci su ulazprograma, a podaci zajedno sa programom cine ulaz racunala (putem operacijskog sustava). Kada racunalu zadamo da izvrši program i osiguramo podatke za program, ažemo da smo pokrenuli program za te podatke, a za racunalo kažemo da izvršava program na podacima. Pojam podatak opcenito oznacava svaku informaciju koja je racunalu na raspolaganju.


Jezici visoke razine


Za pisanje programa koriste se mnogi jezici. Mi cemo programirati u programskom jeziku C++. C++ je jezik visoke razine kao i vecina programskih jezika za koje ste culi (C, Java,Pascal, Visual Basic, FORTRAN, COBOL, Scheme, Lisp, Ada, PROLOG). Jezici visoke razine slice prirodnim jezicima u mnogo cemu. Oblikovani su tako da se covjeku programeru olakša pisanje i citanje programa. Jezici visoke razine kao što je C++ raspolažu sa instrukcijama koje su mnogo složenije od jednostavnih instrukcija koje može izvršiti procesor racunala (CPU). Jezik koji racunalo može razumjeti zovemo jezik niske razine. U pojedinim detaljima se jezici niske razine razlikuju na pojedinim tipovima racunala. Tipicna instrukcija niske razine izgleda ovako:

ADD X Y Z (Dodaj broj na memorijskoj lokaciji s imenom X broju na memorijskoj lokaciji s imenom Y i smjesti rezultat u memorijsku lokaciju Z)

Ova jednostavna instrukcija napisana je u asembleru. Iako je asembler gotovo isti kao jezik koji racunalo razumije, potrebno je prevesti rijeci u nizove jedinica i nula. Npr. ADD bi moglo biti 0110, X 1001, Y 1010, a Z 1011. Tako instrukcija koju racunalo razumije ima oblik:

0110 1001 1010 1011

Instrukcije asemblera i njihovi prijevodi razlikuju se od stroja do stroja. Za programe pisane pomocu 0 i 1 kažemo da su napisani u strojnom jeziku. To je verzija programa koju racunalo može citati i izvršavati. Asembler i strojni jezik su skoro isti jezici i za nas razlika izmedu njih nije bitna. Važna je razlika izmedu strojnog jezika i jezika visoke razine kao što je C++: Svaki program napisan na jeziku visoke razine mora se prevesti u strojni jezik prije da bi ga racunalo moglo razumjeti i izvršiti.


Prevoditelji (kompajleri)

Program koji prevodi jezik visoke razine kao što je C++ u strojni jezik zovemo prevoditelj (kompajler). Prevoditelj je posebna vrsta programa koji kao na ulazu ima jedan program, a na izlazu drugi program. Ulazni program se obicno zove izvorni kod ili izvorni program, a prevedenu verziju koju kreira prevoditelj zovemo objektni (ciljni) program ili objektni (ciljni) kod. Rijec kôd oznacava program ili dio programa i tu rijec cesto koristimo kada govorimo o objektnom programu (objektni kod). Prevoditelj izvorni kod tretira kao dugi niz znakova, a na izlazu daje drugi dugi niz znakova – ekvivalent izvornom programu u strojnom jeziku. Kada pokrenemo objektni program u strojnom jeziku, kao izlaz dobivamo ono što smatramo izlazom C++ izvornog programa.
U stvarnosti se isto racunalo koristi dva puta (prevodenje, izvršavanje). Prevoditelj (kompajler) - program koji prevodi program napisan na jeziku visoke razine, kao što je C++ u program u strojnom jeziku koji racunalo direektno razumije i izvršava. Potpuni proces prevodenja i izvršavanja C++ programa je nešto složeniji. Svaki C++ program koristi neke operacije (npr. ulazno i izlazne procedure) koje su vec isprogramirane. Te su procedure vec i prevedene i njihov objektni kod se samo kombinira sa objektnim kodom našeg programa da bi dobili potpuni program u strojnom jeziku koji se može izvršiti na racunalu. Poseban program koji zovemo povezivac (linker) kombinira objektni kod ovih dijelova sa objektnim kodom koji prevoditelj daje na temelju C++ programa.


Programiranje i rješavanje problema

1. Algoritmi

Kada pocinjete uciti vaš prvi programski jezik dobivate dojam da je najteži dio rješavanja problema na racunalu prevodenje vaših ideja u specificni jezik kojim komunicirate s racunalom. To nije ni izdaleka tako kako se cini. Najteži dio rješavanja problema na racunalu je otkrivanje postupka rješavanja problema. Kada ste kreirali postupak rješavanja problema, rutinski je postupak prevesti postupak rješavanja u traženi jezik, C++ ili neki drugi jezik. Zato je korisno privremeno zanemariti programski jezik i koncentrirati se na formulaciju koraka rješenja i zapisati ih na prirodnom jeziku, kao da instrukcije pišemo za covjeka, a ne za racunalo. Niz instrukcija izraženih na ovaj nacin zovemo algoritam.

Algoritam je niz preciznih instrukcija koji vodi do rješenja.

Instrukcije možemo izraziti u programskom jeziku ili na prirodnom jeziku. Algoritme cemo izražavati na hrvatskom jeziku, engleskom jeziku i u programskom jeziku C++. Racunalni program je algoritam izražen u jeziku koji racunalo razumije. Pojam algoritma je puno širi od pojma programa.
Pogledajmo primjer tipicnog algoritma :

Algoritam koji odreduje koliko puta se ime pojavljuje u listi imena :

1. Ucitaj listu imena.
2. Ucitaj ime koje treba pronaci u listi.
3. Postavi brojac na nulu.
4. Napravi slijedece za svako ime u listi:
Usporedi ime u listi sa imenom koje se traži i ako je ime u listi jednako ovecaj
brojac za 1.
5. Kao rezultat objavi vrijedost brojaca.



Ovaj algoritam se cesto koristi kada pretražujemo listu prema odredenom kljucu. Npr. u listi pobjednickih sportskih momcadi tražimo odredenu momcad i provjeravamo koliko puta se pojavila u listi – broj ostvarenih pobjeda.
Instrukcije od 1 do 5 se izvršavaju redosljedom kojim su navedene (ako nije drugacije naznaceno). Najzanimljiviji algoritmi ipak specificiraju neu promjenu poretka izvršavanja – obicno ponavljanje neke instrukcije kao što je instrukcija 4 u primjeru. Rijec algoritam ima dugu povijest. Nastala je od imena perzijskog matematicara i astronoma po imenu al-Khowarizmi. Danas se rijec algoritam može primijeniti na široki raspon instrukcija za manipuliranje sa simbolickim i numerickim podacima. Da li skup instrukcija predstavlja algoritam ovisi o prirodi instrukcija, a ne o podacima s kojima one manipuliraju. Da bi ga mogli smatrati algoritmom skup instrukcija mora potpuno i jednoznacno specificirati korake postupka i redoslijed koraka.


2. Oblikovanje programa

Oblikovanje programa je cesto težak zadatak. Nema potpunog skupa pravila o pisanju programa. Pisanje programa je kreativan proces. Ipak možemo slijediti odredeni plan rada.

Proces oblikovanja možemo podijeliti u dvije faze:

1. Faza riješavanja problema
2. Faza izvedbe



Rezultat faze riješavanja problema je algoritam za riješavanje problema, izražen naprirodnom jeziku. Da bi proizveli program u programskom jeziku C++, algoritam prevodimo u programski jezik. Izrada konacnog programa na temelju algoritma je faza izvedbe. Najprije moramo provjeriti da je zadatak koji program mora izvršiti potpuno i precizno specificiran. Ako niste sigurni što je izlaz vašeg programa, mogao bi vas rezultat programa iznenaditi. Provjerite kakvi su ulazni podaci vašeg programa i kakve odgovarajuce izlazne podatke trebate dobiti za njih. Programu treba dostaviti sve potrebne podatke da bi mogao izvršiti zadani postupak. Ulazne i odgovarajuce izlazne podatke obicno pripremamo rucno i zovemo ih test podacima. Test podaci trebaju biti potpuni da bi mogli provjeriti rad programa za sve moguce slucajeve ulaznih podataka. Mnogi programeri pocetnici ne razumiju da je potrebno oblikovati algoritam prije pisanja programa u programskom jeziku kao što je C++, pa preskacu fazu riješavanja problema ili samo definiraju problem. To medutim ne štedi vrijeme, vec naprotiv vodi do dugotrajnije izrade ispravnog programa. Cak i za jednostavne programe pravilnim pristupom možemo
uštedjeti i do ukupno pola dana posla i nekoliko frustrirajucih dana traženja grešaka u programu kojeg slabo razumijemo.

Faza izvedbe nije trivijalan korak. Jednom kada se naviknete na C++ ili neki drugi programski jezik, prijevod algoritma sa prirodnog jezika u programski jezik postaje rutina. Stjecanje rutine najcešce se navodi kao garancija uspješnog programiranja. Testiranje se dakle provodi u dvije faze. Rucno testiranje algoritma možemo provesti misaonim putem ili uz uporabu olovke i papira (za velike programe). Testiranje C++ programa provodimo prevodenjem i pokretanjem programa na racunalu za pripremljene test
podatke. Prevoditelj ce nas obavijestiti putem poruka o kojem se tipu sintakticke greške radi. Da bi otkrili druge tipove grešaka moramo dobro pripremiti test podatke.


Zadnja promjena: crna-guja; sri oľu 05, 2008 9:31 pm; ukupno mijenjano 1 put.
[Vrh] Go down
https://oskastanjer.forumcroatian.com
crna-guja
Administrator
Administrator
crna-guja


Broj postova : 187
Age : 30
Lokacija : Pula
Registration date : 04.03.2008

Uvod u programiranje i C ++ Empty
PostajNaslov: Re: Uvod u programiranje i C ++   Uvod u programiranje i C ++ Icon_minitimesri oľu 05, 2008 9:30 pm

Uvod u C ++

Programski jezik C++ razvio se iz jezika C, a jezik C iz jezika B, koji je nastao iz jezika BCPL.

Shema razvoja programskih jezika:
http://www.oreilly.com/news/graphics/prog_lang_poster.pdf

Programski jezik C razvijen je u Bellovom laboratoriju 1970-tih u svrhu razvoja i održavanja operacijskog sustava UNIX. C je opcenamjenski jezik koji se može koristiti za pisanje raznih vrsta programa, ali svoju popularnost veže uz sustav UNIX. Programi koji se razvijaju za pokretanje na UNIX-u pišu se gotovo svi u C-u. C je zbog svoje popularnosti doživio verzije i za druge operacijske sustave. C je jezik visoke razine sa mnogim karakteristikama jezika niske razine. Ima svoje prednosti i nedostatke. Kao i asembleri, C omogucava manipulaciju memorijom, dok mu znacajke jezika visoke razine omogucavaju pisanje programa koji se lakše pišu i citaju u usporedbi sa asemblerom. Izvrstan je izbor za pisanje sistemskih programa, dok za ostale programe i nije najbolji izbor jer nema ugradene automatske provjere kao neki drugi jezici visoke razine. Da bi se prevladali ovi nedostaci C-a Bjarne Stroustrup iz Bellovog laboratorija razvio je C++ u ranim 1980-ima. Veci dio C-a je podskup C++-a, tako da je i vecina programa napisanih u C-u ujedno napisana i u C++-u (obratno ne vrijedi). C++ omogucava objektno orijentirano programiranje.

Primjer C++ programa :
Kod:
#include <iostream>
using namespace std;
// MJENJACNICA
int main( )
{
float iznos_kune, tecaj_eura, iznos_euri;
cout << “Stisni ENTER nakon unosa.\n";
cout << “Unesi iznos u kunama:\n";
cin >> iznos_kune;
cout << “Unesi tecaj_eura:\n";
cin >> tecaj_eura;
iznos_euri = iznos_kune / tecaj_eura;
cout << “Za ";
cout << iznos_kuna;
cout << " kuna\n";
cout << “uz tecaj eura ";
cout << tecaj_eura;
cout << ",\n";
cout << “dobiti cete ";
cout << iznos_eura;
cout << " eura \n“;
return 0;
}


Primjer dijaloga (korisnicki ekran)
Kod:
Stisni ENTER nakon unosa.
Unesi iznos u kunama:
100
Unesi tecaj eura:
7.23
Za iznos kuna 100
uz tecaj eura 7.23
dobit cete 13.83 eura

Gornji primjer predstavlja jednostavan program u C++-u i prikaz na ekranu za vrijeme interakcije korisnika sa programom prilikom pokretanja programa. Dakle, osoba koja pokrece program zove se korisnik. Podebljani tekst unio je korisnik, za razliku od teksta koji ispisuje program. Na stvarnom ekranu oba teksta izgledaju jednako. Osoba koja piše program zove se programer. Korisnik i programer mogu i ne moraju biti ista osoba. U slucaju profesionalne
izrade programa to su obicno razlicite osobe. Pocetak i kraj našeg jednostavnog programa sadrži neke detalje kojima cemo se baviti kasnije.

Program pocinje slijedecim linijama :
Kod:
#include <iostream>
using namespace std;
// MJENJACNICA
int main( )
{


To je samo kompliciran nacin za oznacavanje pocetka programa koji cemo objasniti kasnije.

Program završava sa slijedeci linijama:
Kod:
return 0;
}


Za ovaj jednostavan program to znaci da program tu završava. Linije izmedu pocetka i kraja programa cine srce programa. Kratko cemo ih opisati.

Kod:
int iznos_kune, tecaj_eura, iznos_euri;


Navedena linija programa opisuje deklaraciju varijabli.
Deklaracija varijabli kaže racunalu da ce iznos_kune, tecaj_eura i iznos_euri biti korišteni kao imena triju varijabli. Varijable koristimo da bi dali ime brojevima, odnosno memorijskim lokacijama na koje ce se brojevi spremiti. Rijec int kaže racunalu da se radi o cijelim brojevima (npr. 1, 6, -5, 339, -465 i sl.). Preostale linije programa su instrukcije koje kažu racunalu da izvrši nešto. Ove instrukcije zovemo naredbe ili izvršne naredbe. U našem primjeru u svakoj liniji se nalazi jedna naredba. cin i cout su ulazna i izlazna naredbe. Strelice << i >> oznacavaju smjer premještanja podataka (operator "insert" i "extract").

U naredbi programa

Kod:
cout << “Stisni ENTER nakon unosa.\n”;


    * cout (si-aut) koristimo za izlaz na monitor
    * “<<“ šalje “Stisni…unosa.\n” na monitor
    * cout možemo shvatiti kao ime monitora
    * “<<“ pokazuje odredište podataka
    * ‘\n’ uzrokuje prijelaz u novi red na monitoru




Naredba programa

Kod:
cin >> iznos_kune;


    * cin (si-in) koristi se za ulaz sa tipkovnice
    * “>>” uzima podatke sa tipkovnice
    * cin možemo shvatiti kao ime tipkovnice
    * “>>” pokazuje od tipkovnice prema varijabli u koju se podatak sprema





Naredba programa

Kod:
iznos_euri = tecaj_eura * iznos_kune;

    * Izvodi izracun
    * ‘*’ se koristi za množenje
    * ‘=‘ uzrokuje da iznos_kune dobije novu vrijednost temeljenu na izracunu na desnoj strani
    znaka ‘=‘



Naredba programa

Kod:
cout << iznos_kune;

    šalje vrijednost varijable iznos_kune na monitor.



Izgled programa


Prevoditelj prihvaca skoro svaki uzorak prijelaza u novi red i uvlacenja redaka.
Programeri oblikuju programe tako da ih je lako citati.


    * Smjesti otvorenu viticastu zagradu ‘{‘ i zatvorenu viticastu zagradu ‘}’same u liniju.
    * Uvuci naredbe
    * Upotrijebi samo jednu naredbu po liniji



Varijable se deklariraju prije nego što se koriste.

    * Obicno se varijable deklariraju na pocetku programa
    * Naredbe (a ne linije) završavaju sa ‘;’ (tocka-zarez)



Direktiva include


Kod:
#include <iostream>


    * Kaže prevoditelju gdje može naci informaciju o elementima korištenim u programu
    * iostream je biblioteka koja sadrži definicije za cin i cout



Kod:
using namespace std;


    Kaže prevoditelju da koristi imena u iostream na “standardan” nacin



Pokretanje programa

    * C++ izvorni kod pišemo pomocu uredivaca (editora) teksta.
    * Prevoditelj vašeg sustava pretvara izvorni kod u objektni kod.
    * Povezivac kombinira objektni kod u izvršni program.
[Vrh] Go down
https://oskastanjer.forumcroatian.com
 
Uvod u programiranje i C ++
[Vrh] 
Stranica 1 / 1.
 Similar topics
-
» Uvod u CSS
» Uvod u HTML
» Uvod i osnove u MySQL
» Instalacija PHP-a & ostali tutoriali .:::Pogledati obavezno:::.

Permissions in this forum:Ne moľeą odgovarati na postove.
OS Kastanjer :: Programski jezici :: C/C++-
Forum(o)Bir: