UVOD U C++
Primjer izrade programa za računanje dijagonale, opsega i površine trokuta. ZADAVANJE PROBLEMA Koje ulazne podatke koristimo Koje izlazne podatke trebam dobiti (treba učitati stranice pravokutnika, a zatim izračunati i ispisati dijagonalu, opseg i površinu.) Ulazni podaci: a, b Izlazni podaci: d, o P
SASTAVLJANJE ALGORITMA ANALIZA RJEŠENJA Skiciramo rješenja i izaberemo najpovoljnije Ako je problem složeniji rastavljamo ga na manje cjeline SASTAVLJANJE ALGORITMA Dijagram tijeka ili pseudokod KODIRANJE Zapisivanje algoritma u izabranom programskom jeziku Poznavati sintaksu i semantiku odabranog jezika
PREVOĐENJE PROGRAMA program napisan u višem programskom jeziku prevodi se u strojni jezik ogodan za izvršavanje na računalu Za vrijeme prevođenja, programski prevoditelj pronalazi sintaktičke prgreške i o njima javlja poruke Ispravljanje grešaka i prevođenje ponavljamo sve dok ne dobijemo program bez sintaktičkih pogrešaka Npr. Računalo će izbaciti pogrešku u naredbi O = 2(a + b) i ispisati odgovarajuću poruku Naredba napisana ispravno: O = 2*(a + b)
TESTIRANJE PROGRAMA Utvrditi daje li program ispravne rezultate, ima li logičkih pogrešaka KAKO? Odabirom ulaznih podataka kojima unaprijed znamo izlazne rezultate Logičke pogreške nastaju zbog pogreške u pisanju programa ili krivog algoritma Npr. d = sqrt(a*a – b*b) logička pogreška, ispravno d = sqrt(a*a + b*b)
DOKUMENTIRANJE ODRŽAVANJE PROGRAMA Izrada dokumentacije – započinje zadavanjem problema, a nastavlja se pisanjem algoritma i programa ODRŽAVANJE PROGRAMA napisani program stalno se mora dotjerivati i prilagođavati novim zahtjevima i opremi
objektno orjentirani programski jezik
Compilers (kompajleri/prevoditelji) naredbe razumljive čovjeku pretvaraju u izvedbeni kod engleske riječi kao naredbe
Funkcija za ispis - printf(); Njezin opći oblik (sintaksa) je: printf("tekst koji želimo ispisati na zaslon");
Vježba 1. Ispisati na ekran: Ovo je veliki trenutak! Pisem svoj prvi program! Pozvati funkciju printf - #include< stdio.h> Glavna funkcija main()
Rješenje: #include<stdio.h> main() { printf("Ovo je veliki trenutak! Pisem svoj prvi program!"); }
Što ako svaku rečenicu želimo prikazati u sljedećem redu Što ako svaku rečenicu želimo prikazati u sljedećem redu? Hoće li nam biti dovoljna nova printf() funkcija?
Znakovne konstante za kontrolu ispisa Konstanta Značenje \n Prelazak u novi red \b Pomak za jedno mjesto desno \r Povratak na početak reda \t Horizontalni tabulator
Primjer 2. #include<stdio.h> #include<conio.h> main() { printf("Ovo je veliki trenutak! \nPisem svoj prvi program! \nNakon ovog uspjeha mislim da mogu postici sve sto zamislim."); getch(); }
getch() – da bi zadržali rezultat na zaslonu (nakon izvršenja program rezultat se pokaže i nestane) funkcija conio.h – da bi mogli koristiti funkciju getch()
Vježba 3. Napišite program koji će ispisati sve dane u tjednu, jedan ispod drugoga.
Podaci u programu Varijable Konstante
OSNOVNI TIPOVI PODATAKA
char int float double void programski jezik C ima 5 osnovnih tipova podataka Tip podataka broj bitova Opseg znakovni char 8 0 – 255 cjelobrojni int 16 –32768 – 32767 Realni float 32 3.4E-38 – 3.4E+38 Realni dvostruke preciznosti double 64 1.7E-308 – 1.7E+308 Tip podataka koji ne sadrži vrijednosti void bez vrijednosti
kada radimo program moramo znati kojeg su TIPA naši podaci. Zašto? postoje funkcije koje rade samo sa brojevima i one koje rade sa znakovima Neke od matematičkih funkcija rade sa cijelim, a neke druge sa realnim brojevima. različiti tipovi podataka zauzimaju različit kapacitet memorije.
Varijable (Identifikatori) sastoje od niza slova i znamenki prvi znak mora biti slovo ili donja crta (_) Dva identifikatora su različita ako se razlikuju u prva 32 znaka C razlikuje velika i mala slova, tako da su varijable "zbroj" i "Zbroj" dvije različite varijable!
Deklaracija varijabli deklarirati varijable = dati ime i odrediti tip to se obavlja naredbom oblika: tip podataka lista_varijabli Lista varijabli sadrži jednu ili više varijabli navedenog tipa Ako lista sadrži više varijabli, odvojiti ih zarezom Primjer: int aa, b, ce; float x, y, z, B; char c; long int faktorijel;
Primjeri deklaracija varijabli: int broj; /*cjelobrojna varijabla*/ char znak; /*znakovna varijabla*/ float temp; /*decimalna varijabla*/
Konstante Vrijednost konstante se ne mijenja za vrijeme izvođenja programa const tip konstante i njezina vrijednost #define ime_konstante vrijednost const float pi=3.14159 #define pi 3.14159 const int a=8; Prema tipu podataka razlikujemo cjelobrojne realne znakovne
Glavna funkcija – main() označava mjesto na kojem počinje izvršavanje programa u njoj se nalazi izvršni dio programa početak i kraj funkcije (ili bloka naredbi) označava se vitičastim zagradama
#include<stdio. h> #include<conio #include<stdio.h> #include<conio.h> main() { int a,o,p; printf("Upisite duljinu stranice a: "); scanf("%d",&a) //<-- ovdje nedostaje oznaka ';' p=a*a; o=4*a; printf("Povrsina danog kvadrata je %d, a opseg %d",p,o); getch(); }
Biblioteke funkcija Funkcije potrebne u većini programa (standardne funkcije) nisu sastavni dijelovi C-a, već dolaze s programom prevoditeljem. Razvrstane su prema namjeni i spremljene u ladice - biblioteke funkcija.
naredbom #include pozivamo određene funkcije iz biblioteke stdio.h – funkcije za ulaz i izlaz math.h – matematičke funkcije #include<stdio.h>
ZADACI Koji od identifikatora su pravilno napisani Proba1 1A1 Auto Prva_Proba konst