int[] brojilo; // polje cjelih brojeva double[] vrijednosti; // polje realnih brojeva

Similar documents
Biznis scenario: sekcije pk * id_sekcije * naziv. projekti pk * id_projekta * naziv ꓳ profesor fk * id_sekcije

Ulazne promenljive se nazivaju argumenti ili fiktivni parametri. Potprogram se poziva u okviru programa, kada se pri pozivu navode stvarni parametri.

SIMPLE PAST TENSE (prosto prošlo vreme) Građenje prostog prošlog vremena zavisi od toga da li je glagol koji ga gradi pravilan ili nepravilan.

GUI Layout Manager-i. Bojan Tomić Branislav Vidojević

SAS On Demand. Video: Upute za registraciju:

Nejednakosti s faktorijelima

Podešavanje za eduroam ios

Struktura indeksa: B-stablo. ls/swd/btree/btree.html

IZDAVANJE SERTIFIKATA NA WINDOWS 10 PLATFORMI

Uvod u relacione baze podataka

AMRES eduroam update, CAT alat za kreiranje instalera za korisničke uređaje. Marko Eremija Sastanak administratora, Beograd,

CJENIK APLIKACIJE CERAMIC PRO PROIZVODA STAKLO PLASTIKA AUTO LAK KOŽA I TEKSTIL ALU FELGE SVJETLA

Programiranje za internet zimski semestar 2013/2014. Java kroz primjere (skripta je u fazi izradi)

TRAJANJE AKCIJE ILI PRETHODNOG ISTEKA ZALIHA ZELENI ALAT

BENCHMARKING HOSTELA

MS Excel VBA za studente kemije

Služi za brisanje prethodno upisanih sadržaja u čitavom worksheetu. Opcija nije nužna, ali je korisna.

Port Community System

Eduroam O Eduroam servisu edu roam Uputstvo za podešavanje Eduroam konekcije NAPOMENA: Microsoft Windows XP Change advanced settings

Naredba je uputa računalu za obavljanje određene operacije.

PROJEKTNI PRORAČUN 1

Programiranje. Nastava: prof.dr.sc. Dražena Gašpar. Datum:

1. Instalacija programske podrške

Windows Easy Transfer

PASCAL - Skripta sa zadacima i rješenjima -

Implementacija sparsnih matrica upotrebom listi u programskom jeziku C

KABUPLAST, AGROPLAST, AGROSIL 2500

Idejno rješenje: Dubrovnik Vizualni identitet kandidature Dubrovnika za Europsku prijestolnicu kulture 2020.

OBJEKTNO ORIJENTISANO PROGRAMIRANJE

CJENOVNIK KABLOVSKA TV DIGITALNA TV INTERNET USLUGE

Advertising on the Web

Da bi se napravio izvještaj u Accessu potrebno je na izborniku Create odabrati karticu naredbi Reports.

Trening: Obzor financijsko izvještavanje i osnovne ugovorne obveze

Primjeri pitanja iz 1. ili 2. skupine (za 2 ili 4 boda po pitanju) -

LabVIEW-ZADACI. 1. Napisati program u LabVIEW-u koji računa zbir dva broja.

KONFIGURACIJA MODEMA. ZyXEL Prestige 660RU

Priprema podataka. NIKOLA MILIKIĆ URL:

RAZVOJNO OKRUŽENJE. PHP kod se izvršava ISKLJUČIVO na strani poslužitelja, korisnik u web preglednik dobiva gotov HTML kod

RANI BOOKING TURSKA LJETO 2017

Struktura i organizacija baza podataka

RJEŠAVANJE BUGARSKOG SOLITERA

Office 365, upute za korištenje elektroničke pošte

MRS MRSLab09 Metodologija Razvoja Softvera Vežba 09

Upute za korištenje makronaredbi gml2dwg i gml2dgn

1.7 Predstavljanje negativnih brojeva u binarnom sistemu

Klasterizacija. NIKOLA MILIKIĆ URL:

Mindomo online aplikacija za izradu umnih mapa

UNIVERZITET U BEOGRADU RUDARSKO GEOLOŠKI FAKULTET DEPARTMAN ZA HIDROGEOLOGIJU ZBORNIK RADOVA. ZLATIBOR maj godine

OTVARANJE BAZE PODATAKA I IZRADA TABLICE U MICROSOFT ACCESS-u

- Italy. UNIVERZALNA STANICA ZA ZAVARIVANJE, SPOTER - sa pneumatskim pištoljem sa kontrolnom jedinicom TE95-10 KVA - šifra 3450

Nizovi. Sintaksa. ili. var pera,mika,laza,...,zoran1,zoran2,...,pera1254:real;

MINISTRY OF THE SEA, TRANSPORT AND INFRASTRUCTURE

Otpremanje video snimka na YouTube

- Vežba 1 (dodatan materijal) - Kreiranje Web šablona (template) pomoću softvera Adobe Photoshop CS

JEDINSTVENI PORTAL POREZNE UPRAVE. Priručnik za instalaciju Google Chrome dodatka. (Opera preglednik)

UPITI (Queries) U MICROSOFT ACCESSU XP

IZRADA PORTALA O PROGRAMSKOM JEZIKU PYTHON U SUSTAVU ZA UREĐIVANJE WEB SADRŽAJA

3. Obavljanje ulazno-izlaznih operacija, prekidni rad

TEHNO SISTEM d.o.o. PRODUCT CATALOGUE KATALOG PROIZVODA TOPLOSKUPLJAJUĆI KABLOVSKI PRIBOR HEAT-SHRINKABLE CABLE ACCESSORIES

PROGRAMIRANJE I ALGORITMI

CRNA GORA

Obrada podataka poslanih preko web formi

Slagalica init screen Prikaz atributi 1.1. Jednostavna slagalica

Upotreba selektora. June 04

Uvod u programski jezik Ruby

Bušilice nove generacije. ImpactDrill

Posmatrani i objekti posmatraci

IZRADA TEHNIČKE DOKUMENTACIJE

SVEUČILIŠTE U ZAGREBU FAKULTET STROJARSTVA I BRODOGRADNJE ZAVRŠNI RAD Voditelj rada: Prof.dr.sc. Dorian Marjanović Ante Čamber Zagreb, FSB Sveuč

Tutorijal za Štefice za upload slika na forum.

СТРУКТУРА СТАНДАРДА СИСТЕМАМЕНАЏМЕНТАКВАЛИТЕТОМ

Tema 2: Uvod u sisteme za podršku odlučivanju (VEŽBE)

DANI BRANIMIRA GUŠICA - novi prilozi poznavanju prirodoslovlja otoka Mljeta. Hotel ODISEJ, POMENA, otok Mljet, listopad 2010.

Rainbows tablice CCERT-PUBDOC

STRUČNA PRAKSA B-PRO TEMA 13

ERITROCITI. bikonkavnog oblika, bez jezgre, životni vijek oko 120 dana. bikonveksnog oblika sa jezgrom, u ptica životni vijek oko 42 dana

Korak X1 X2 X3 F O U R T W START {0,1}

KOMPARATIVNA ANALIZA PREDIKTIVNIH TEHNIKA RUDARENJA PODATAKA

Sudoku. Ivo Doko, Saša Buzov. PMF Matematički odsjek, Sveučilište u Zagrebu

STRUKTURNO KABLIRANJE

KAPACITET USB GB. Laserska gravura. po jednoj strani. Digitalna štampa, pun kolor, po jednoj strani USB GB 8 GB 16 GB.

KAKO GA TVORIMO? Tvorimo ga tako, da glagol postavimo v preteklik (past simple): 1. GLAGOL BITI - WAS / WERE TRDILNA OBLIKA:

Najnoviju verziju uputa skinite na: Stranica. barxprint upute (verzija 26/04/2012)

IZRADA RAČUNALNE IGRE KORISTEĆI GAMEMAKER:STUDIO

DEFINISANJE TURISTIČKE TRAŽNJE

Sveučilište u Zagrebu Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Katedra za primijenjeno računarstvo

Croatian Automobile Club: Contribution to road safety in the Republic of Croatia

RAZVOJ IPHONE APLIKACIJA POMOĆU PROGRAMSKOG JEZIKA SWIFT

MRS MRSLab08 Metodologija Razvoja Softvera Vežba 08

WELLNESS & SPA YOUR SERENITY IS OUR PRIORITY. VAŠ MIR JE NAŠ PRIORITET!

ENR 1.4 OPIS I KLASIFIKACIJA VAZDUŠNOG PROSTORA U KOME SE PRUŽAJU ATS USLUGE ENR 1.4 ATS AIRSPACE CLASSIFICATION AND DESCRIPTION

IMPLEMENTACIJA PODLOGE ZA SARADNJU KROKI ALATA SA ALATIMA ZA UML MODELOVANJE OPŠTE NAMENE

Sveučilište Jurja Dobrile u Puli Odjel za informacijsko-komunikacijske tehnologije ANTONIO VUK DATOTEKE U PROGRAMSKOM JEZIKU C++ Završni rad

Primjer 3 Prikaz i interpretacija rezultata

EKSPLORATIVNA ANALIZA PODATAKA IZ SUSTAVA ZA ISPORUKU OGLASA

3D GRAFIKA I ANIMACIJA

Uticaj parametara PID regulatora i vremenskog kašnjenja na odziv i amplitudno-faznu karakteristiku sistema Simulink

Program za simulaciju pročitanih nizova nukleotida

SVEUČILIŠTE U ZAGREBU FAKULTET STROJARSTVA I BRODOGRADNJE ZAVRŠNI RAD. Juraj Mažuranić. Zagreb, 2017.

AUTOMATSKO RASPOZNAVANJE OSMJEHA IZ SLIKE LICA

Transcription:

Polja Polje (eng. array) Polje je imenovani uređeni skup indeksiranih vrijednosti istog tipa (niz, lista, matrica, tablica) Kod deklaracije, iza naziva tipa dolaze uglate zagrade: int[] brojilo; // polje cjelih brojeva double[] vrijednosti; // polje realnih brojeva Početna vrijednost varijable je null (specijalna vrijednost u C#-u za neinicijalizirane objekte) 1

Kreiranje polja Polje se kreira naredbom new (novo) // uspostavljanje polja za 4 cijelobrojne vrijednosti brojilo = new int[4]; // uspostaljanje polja, za vrijednosti realnog tipa, duljine // određene vrijednoscu cijelobrojne varijable velicina int velicina = Convert.ToInt32(Console.ReadLine()); vrijednosti = new double[velicina]; Prikaz polja dijagramom stanja brojilo članovi, elementi polja indeksi članova polja Pohrana vrijednosti u polje Koristi se operator [ ] brojilo[0] = 7; brojilo[1] = brojilo[0] * 2; brojilo[2]++; brojilo[3] -= 60; brojilo 2

Pristup elementima polja Uobičajen način prolaza kroz polje je korištenjem inkrementirajuće varijable u petlji kao indeksa int i = 0; while (i < 4) { Console.WriteLine (brojilo[i]); i++; Kopiranje polja Kad se nekoj varijabli polja pridruži vrijednost druge varijable polja, ne kopira se sadržaj već samo referenca (pokazivač) na polje double[] a = new double [3]; double[] b = a; Dvije varijable upućuju na isto polje 3

Kopiranje polja Promjena vrijednosti bilo koje varijable će se reflektirati i na drugu jer obe varijable referenciraju na isto polje u memoriji Ako se želi napraviti tvrda kopija polja, potrebno je kreirati novo polje iste veličine i kopirati vrijednosti svih elemenata iz starog polja: double[] b = new double [3]; int i = 0; while (i < 3) { b[i] = a[i]; i++; Duljina polja Polja su složeni objekti koji imaju imenovane varijable (atribute) i odgovarajuće metode Atributom Length može se saznati duljina polja Console.WriteLine( Duljina polja je + b.length) U petlji za gornju granicu veličine polja prikladno koristiti varijablu Length, a ne konstantnu vrijednost for (int i = 0; i < a.length; i++) { b[i] = a[i]; 4

Višedimenzionalna polja (matrice) Broj dimenzija polja određen je brojem zareza unutar uglatih zagrada uvećan za jedan kod deklaracije int a[]; // jedna dimenzija int b[,]; // dvije dimenzije int c[,,]; // tri dimenzije Dvodimenzionalno polje sa tri retka i dva stupca može se deklarirati na slijedeći način: int x[,] = new int[3, 2]; Višedimenzionalna polja (matrice) Za dohvaćanje elementa polja moraju se navesti indeksi za svaku dimenziju x[0, 0] = 4; x[0, 1] = 3; int z = x[0, 0] * x[0, 1]; // rezultat je 12 Veličina svake dimenzije se može doznati pomoću metode GetLength Console.WriteLine( x.getlength(0) ); // 3 Console.WriteLine( x.getlength(1) ); // 2 5

Prolaz kroz dvodimenzionalno polje Primjer postavljanja vrijednosti svih elemenata na 1 for (int i=0; i<x.getlength(0); i++) { for (int j=0; j<x.getlength(1); j++) { x[i, j] = 1; Kod dohvaćanja elementa, prva varijabla (u primjeru i)predstavlja redak, a druga varijabla (u primjeru j) stupac Metode sa poljima kao parametrima Metode mogu imati polja kao parametre, npr. static void IspisiPolje(int[] polje) { for(int i=0; i<polje.length; i++) { Console.Write(polje[i] + ); Console.WriteLine(); Kod običnih varijabli metodi se šalje vrijednost Kod varijabli deklariranih kao polja, metodi se šalje referenca što znači da metoda ima pristup originalnom polju static void KvadrirajElemente(int[] polje) { for(int i=0; i<polje.length; i++) { polje[i] = polje[i] * polje[i]; 6

Metode sa poljima kao parametrima Primjer: int[] x = new int[4]; x[0] = 2; x[1] = 4; x[2] = 6; x[3] = 8; IspisiPolje(x); KvadrirajElemente(x); IspisiPolje(x); Izvršavanjem gornjeg kôda, na zaslonu će se ispisati: 2 4 6 8 4 16 36 64 Metode koje vraćaju polja Pored primitivnih tipova (int, double, string, bool), metode mogu vratiti i polje bilo kojeg tipa Primjer metode koja vraća polje u kojem je niz od prvih n prirodnih parnih brojeva: static int[] ParniBrojevi(int n) { int[] brojevi = new int[n]; int brojac = 2; for(int i=0; i<n; i++) { brojevi[i] = brojac; brojac = brojac + 2; return brojevi; 7

Slučajni brojevi Računalni programi Deterministički Predodređeni slijed izvođenja naredbi programa Uz iste ulazne vrijednosti uvijek slijedi jednaki rezultat Nedeterministički Nepredvidiv slijed izvođenja naredbi programa je teško postići (računalo je deterministički sustav) Upotreba (pseudo)slučajnih (random) brojeva Primjena kod simulacije stvarnih pojava i procesa Klasa za generiranje slučajnih brojeva Klasa Random sadrži metode za generiranje slučajnih brojeva Prije upotrebe potrebno je kreirati generator sa naredbom new Random rnd = new Random(); Za generiranje cijelih slučajnih brojeva koristi se metoda Next: int x = rnd.next(100); // rezultat je broj 0-99 int y = rnd.next(40, 60); // rezultat je broj 40-59 Za generiranje realnih slučajnih brojeva u intervalu 0.0 x < 1.0 koristi se metoda NextDouble double p = rnd.nextdouble(); 8

Polje slučajnih brojeva Slučajno generirane vrijednosti između donje i gornje granice imaju istu vjerojatnost pojavljivanja U slučaju velikog broja slučajno generiranih vrijednosti, svaka vrijednost se mora pojaviti približno jednak broj puta Način provjere vjerojatnosti pojavljivanja slučajno generiranih brojeva Generirati veliki broj vrijednosti Pohraniti ih u polje Izbrojati broj pojavljivanja svakog broja Metoda generiranja polja slučajnih brojeva Stvaranje polja slučajnih brojeva (0-99) dužine n može se napisati u obliku metode koja vraća jednodimenzionalno polje tipa int: static int[] SlucajnoPolje (int n) { Random rnd = new Random(); int[] a = new int[n]; for (int i = 0; i<a.length; i++) { a[i] = rnd.next(0, 100); return a; Da bi stvorili i ispisali polje slučajno proizvedenih brojeva čija je dunjina 20, dovoljno je pozvati dvije metode: IspisiPolje( SlucajnoPolje(20) ); 9

Predložak prolaz i brojanje Prikaz slučajnih brojeva histogramom Brojila bilježe broj pojavljivanja pojedine vrijednosti unutar zadanih područja (klasa) vrijednosti Elementi predloška rješavanja prolaz i brojanje Skup ili spremnik koji treba proći, npr. polje ili znakovni niz Provjera koju treba uraditi na svakom elementu spremnika Brojilo koje bilježi koliko je elemenata prošlo provjeru Brojanje vrijednosti unutar zadanog područja Metoda brojanja unutar zadanog područja: static int UPodrucju (int[] a, int low, int high) { int brojilo = 0; for (int i=0; i<a.length; i++) { if (a[i] >= low && a[i] < high) brojilo++; return brojilo; Određivanje brojeva unutar područja: int[] uspjeh = SlucajnoPolje (30); int a = UPodrucju (uspjeh, 90, 100); int b = UPodrucju (uspjeh, 80, 90); int c = UPodrucju (uspjeh, 70, 80); int d = UPodrucju (uspjeh, 60, 70); int f = UPodrucju (uspjeh, 0, 60); 10

Veliki broj područja Za veći broj područja mukotrpno je navoditi sva područja int brojilo0 = UPodrucju (uspjeh, 0, 1); int brojilo1 = UPodrucju (uspjeh, 1, 2); int brojilo2 = UPodrucju (uspjeh, 2, 3);... int brojilo99 = UPodrucju (uspjeh, 99, 100); Upotreba polja brojila Za sva područja u intervalu 0 100 rezultate možemo spremiti u zasebno polje int[] brojila = new int [100]; for (int i = 0; i<100; i++) { brojila[i] = UPodrucju (uspjeh, i, i+1); Varijabla petlje se koristi kao: Indeks članova polja Parametar metode UPodrucju 11

Rješenje u jednom prolazu Svakim pozivom metode UPodrucju prolazi se kroz cijelo polje Učinkovitije je jedanput proći kroz polje i za svaku vrijednost, odrediti u koje područje ulazi i inkrementirati vrijednost odgovarajućeg brojila int[] brojila = new int [100]; for (int i = 0; i < uspjeh.length; i++) { int indeks = uspjeh[i]; brojila[indeks]++; Pojmovnik polje: imenovani uređeni skup indeksiranih vrijednosti istog tipa zbirka: podatkovna struktura koja sadrži skup članova ili elemenata element: jedna vrijednost polja. Operatorom [] se odabiru elementi polja indeks: cijelobrojna varijabla ili vrijednost korištena za označavanje elementa polja 12

Pojmovnik determinističan: program koji uz jednake ulazne podatke daje isti rezultat prilikom svakog izvođenja pseudoslučajni brojevi: slijed brojeva koji se čine slučajnim vrijednostima, ali su proizvedeni determinističkim računanjem histogram: polje cijelih brojeva pri čemu svaki cijeli broj označava broj vrijednosti unutar nekog zadanog područja Domaća zadaća Zadatak 1: Napisati metodu PreslikajPolje čiji parametar je polje cijelih brojeva i koja uspostavlja novo polje istog broja članova, preslikava članove prvog polja u novo polje i kao rezultat primjene metode vraća referencu na novo polje Zadatak 2: Napisati metodu SlucajniRealni čiji su parametri varijable donja i gornja i koja kao rezultat primjene metode vraća slučajni realni broj x takav da je donja <= x < gornja Zadatak 3: Obuhvati kod u metodu nazvanu Histogram koja prihvaća polje uspjeha i kao rezultat vraća histogram vrijednosti polja. Preurediti metodu tako da histogram ima samo 10 brojila i broji koliko ima vrijednosti u svakom području duljine 10 vrijednosti, tj. u području 90, 80, itd. 13