PRIMJERI RJEŠAVANJA ZADATAKA

Σχετικά έγγραφα
Prikaz algoritma, pseudo-kod. Prikaz algoritma LOGIKA PROGRAMIRANJA

Konstruisati efikasan algoritam znači dati skup preciznih uputstava kako doći do rešenja zadatog problema Algoritmi se mogu opisivati:

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

7 Algebarske jednadžbe

(P.I.) PRETPOSTAVKA INDUKCIJE - pretpostavimo da tvrdnja vrijedi za n = k.

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012

18. listopada listopada / 13

1 Promjena baze vektora

a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A.

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

IZVODI ZADACI (I deo)

3.1 Granična vrednost funkcije u tački

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla

Računarska grafika. Rasterizacija linije

Numerička matematika 2. kolokvij (1. srpnja 2009.)

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1.

Operacije s matricama

DRUGI KOLOKVIJUM IZ MATEMATIKE 9x + 6y + z = 1 4x 2y + z = 1 x + 2y + 3z = 2. je neprekidna za a =

- pravac n je zadan s točkom T(2,0) i koeficijentom smjera k=2. (30 bodova)

Elementi spektralne teorije matrica

numeričkih deskriptivnih mera.

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15

Riješeni zadaci: Nizovi realnih brojeva

Računarska grafika. Rasterizacija linije

Kaskadna kompenzacija SAU

TRIGONOMETRIJSKE FUNKCIJE I I.1.

TRIGONOMETRIJA TROKUTA

Linearna algebra 2 prvi kolokvij,

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

INTELIGENTNO UPRAVLJANJE

Ispitivanje toka i skiciranje grafika funkcija

Pismeni ispit iz matematike GRUPA A 1. Napisati u trigonometrijskom i eksponencijalnom obliku kompleksni broj, zatim naći 4 z.

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D}

RIJEŠENI ZADACI I TEORIJA IZ

Teorijske osnove informatike 1

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI)

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A

Sume kvadrata. mn = (ax + by) 2 + (ay bx) 2.

Univerzitet u Nišu Građevinsko-arhitektonski fakultet. Informatika2. 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje.

Dijagonalizacija operatora

radni nerecenzirani materijal za predavanja

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,

Primjena računala. Preddiplomski studij računarstva 2010/2011. prof.dr.sc. Ivo Ipšić PRIMJENA RAČUNALA 2010/2011

POTPUNO RIJEŠENIH ZADATAKA PRIRUČNIK ZA SAMOSTALNO UČENJE

ELEKTROTEHNIČKI ODJEL

Sortiranje prebrajanjem (Counting sort) i Radix Sort

Linearna algebra 2 prvi kolokvij,

Zadaci iz Osnova matematike

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f

APROKSIMACIJA FUNKCIJA

Zavrxni ispit iz Matematiqke analize 1

21. ŠKOLSKO/OPĆINSKO/GRADSKO NATJECANJE IZ GEOGRAFIJE GODINE 8. RAZRED TOČNI ODGOVORI

Sistemi veštačke inteligencije primer 1

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

Small Basic zadatci - 8. Razred

VJEROJATNOST I STATISTIKA Popravni kolokvij - 1. rujna 2016.

OM2 V3 Ime i prezime: Index br: I SAVIJANJE SILAMA TANKOZIDNIH ŠTAPOVA

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.

Neka je a 3 x 3 + a 2 x 2 + a 1 x + a 0 = 0 algebarska jednadžba trećeg stupnja. Rješavanje ove jednadžbe sastoji se od nekoliko koraka.

MATEMATIKA Pokažite da za konjugiranje (a + bi = a bi) vrijedi. a) z=z b) z 1 z 2 = z 1 z 2 c) z 1 ± z 2 = z 1 ± z 2 d) z z= z 2

( ) ( ) 2 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET. Zadaci za pripremu polaganja kvalifikacionog ispita iz Matematike. 1. Riješiti jednačine: 4

Ispit održan dana i tačka A ( 3,3, 4 ) x x + 1

5. Karakteristične funkcije

3. OSNOVNI POKAZATELJI TLA

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori

Dvanaesti praktikum iz Analize 1

2.2 Srednje vrijednosti. aritmetička sredina, medijan, mod. Podaci (realizacije varijable X): x 1,x 2,...,x n (1)

SEMINAR IZ KOLEGIJA ANALITIČKA KEMIJA I. Studij Primijenjena kemija

Zadaci iz trigonometrije za seminar

Algoritmi i strukture podataka - 1.cas

KONVEKSNI SKUPOVI. Definicije: potprostor, afin skup, konveksan skup, konveksan konus. 1/5. Back FullScr

2. Ako je funkcija f(x) parna onda se Fourierov red funkcije f(x) reducira na Fourierov kosinusni red. f(x) cos

Uvod u teoriju brojeva

9. GRANIČNA VRIJEDNOST I NEPREKIDNOST FUNKCIJE GRANIČNA VRIJEDNOST ILI LIMES FUNKCIJE

6 Polinomi Funkcija p : R R zadana formulom

( ) ( ) Zadatak 001 (Ines, hotelijerska škola) Ako je tg x = 4, izračunaj

Najjednostavnija metoda upravljanja slijedom instrukcija:

INTEGRALNI RAČUN. Teorije, metodike i povijest infinitezimalnih računa. Lucija Mijić 17. veljače 2011.

for <brojacka_promenljiva> := <pocetna_vrednost> to <krajnja_vrednost> do <naredba>

Matematika 1 - vježbe. 11. prosinca 2015.

Klasifikacija blizu Kelerovih mnogostrukosti. konstantne holomorfne sekcione krivine. Kelerove. mnogostrukosti. blizu Kelerove.

FTN Novi Sad Katedra za motore i vozila. Teorija kretanja drumskih vozila Vučno-dinamičke performanse vozila: MAKSIMALNA BRZINA

1 Afina geometrija. 1.1 Afini prostor. Definicija 1.1. Pod afinim prostorom nad poljem K podrazumevamo. A - skup taqaka

Verovatnoća i Statistika I deo Teorija verovatnoće (zadaci) Beleške dr Bobana Marinkovića

SISTEMI NELINEARNIH JEDNAČINA

Prikaz sustava u prostoru stanja

1. zadatak , 3 Dakle, sva kompleksna re{ewa date jedna~ine su x 1 = x 2 = 1 (dvostruko re{ewe), x 3 = 1 + i

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

Matematička analiza 1 dodatni zadaci

PROSTA GREDA (PROSTO OSLONJENA GREDA)

Program za tablično računanje Microsoft Excel

41. Jednačine koje se svode na kvadratne

PRIMJER 3. MATLAB filtdemo

Algoritmi i strukture podataka (450)

Linearna algebra I, zimski semestar 2007/2008

Transcript:

PRIMJERI RJEŠAVANJA ZADATAKA Brojanje slova u riječi Zadatak Potrebno je napisati program za utvrđivanje broja ponavljanja svakog pojedinog slova u zadanoj riječi. Primjer : RAČUNALO R 1 A 2 Č -1 U 1 N 1 L 1 O 1 Razvitak programa u koracima preciziranja Konceptualna (idejna) razina Formulacija problema : {Učitati riječ RIJEC}; {Ispitati za svako slovo u riječi RIJEC koliko se puta pojavljuje} {Ispisati sva slova koja se pojavljuju u riječi RIJEC, zajedno s brojem pojavljivanja} Osnovna ideja za algoritamsko rješenje: {Učitati riječ RIJEC; ako RIJEC sadrži manje od 2 slova ponoviti učitavanje} {Ispitati za svako slovo u riječi (S): Ako je neko od prethodnih slova jednako S, tada nađeno = true, inače nađeno = false} {Ako je nađeno = true, BROJAC = broj pojavljivanja slova S desno od S + 1, ispisati S, BROJAC} 1

Algoritam Početak 1. Ponavljaj tako dugo dok nije duljina >= 2 1.1.učitaj RIJEC 1.2.duljina = duzina rijeci RIJEC 2. Za b1 = 1... duljina ponavljaj 2.1. brojac = 1 2.2. nađeno = false 2.3. Ako b1 > 0 tada 2.3.1. Za b2=1... b1 1 ponavljaj 2.3.1.1. p1=rijec b1 2.3.1.2. p2=rijec b2 2.3.1.3.Ako p1=p2 tada 2.3.1.3.1. nadjeno = true 2.3.1.3.2. prekini ponavljanje 2.4. Ako nađeno # true tada 2.4.1. Ako b1 < duljina tada 2.4.1.1. Za b2=b1+1... duljina ponavljaj 2.4.1.1.1. p1=rijec b1 2.4.1.1.2. p2=rijec b2 2.4.1.1.3. Ako p1=p2 tada 2.4.1.1.3.1. brojac = brojac + 1; 2.4.1.2. Ispiši rijec b1, brojac Kraj Logička razina Pseudokod 2

Implementacijska razina Rješenje u C++ LOGIKA PROGRAMIRANJA Svaki informacijski sustav se sastoji od: baze podataka i skupa programa. Najjednostavniji način (metoda) definiranja logike programa je tekstualni opis. Najčešći način je crtanje dijagrama toka programa ili poznatije kao crtanje FLOWCHART-a. 3

Načini prikaza algoritma: dijagram toka programa, stablo odlučivanja, Nassi-Schneidermanov dijagram, pseudokod, tablice odlučivanja, Warnier-Orr-ov dijagram, dijagram programskog proizvoda, strukturna karta, dijagram toka podataka i dr. Prikaz algoritma TEKSTUALNI - prirodni jezik narativni opis algoritma GRAFIČKI - Dijagram toka (Blok dijagram (engl. flowchart)) - slikovno, grafičko predstavljanje algoritma PSEUDOKOD koristi se tekstualni oblik prikaza algoritamskih koraka s formaliziranim programskim strukturama, odgovara redoslijedu pojavljivanja programskih izraza pri konkretnoj implementaciji u programskom jeziku Nassi-Scheidermann diagram - strukturirani dijagrami toka ili iteracijski dijagrami, svaki dijagram odgovara jednoj kontrolnoj programskoj strukturi: sekvenciji, selekciji ili iteraciji Programski jezik algoritam se u računalu implementira pomoću konkretnog programskog jezika 4

Prikaz algoritma, grafički -slijed- Prikaz algoritma, grafički -selekcija- 5

Prikaz algoritma, grafički -iteracija- niz naredbi unutar petlje se izvršava ovisno o nekom uvjetu Provjeri uvjet Izvrši niz naredbi Provjeri uvjet Izvrši niz naredbi... sve dok jednom uvjet ne bude ispunjen Kontrola petlje sastoji se od tri aktivnosti: 1. postavljanje početnog stanja koje će se u petlji modificirati i konačno završiti u stanju za prekid petlje 2. testiranje, tj. usporedba trenutnog stanja sa uvjetom za prekid petlje, ako su jednaki onda se petlja prekida 3. modificiranje, tj. promjena stanja u smjeru prema stanju za prekid petlje 6

Iskustvo pokazuje da je najteži dio rješavanja programerskog problema na računalu upravo razvijanje algoritma za rješenje. Kad je jednom određen ispravan algoritam, razvoj programa za sam algoritam prilično je jednostavan. 7

ALGORITAM i PROGRAM Algoritam: Opis poslova i redslijed izvođenja koji će nakon konačnog broja ponavljanja dovesti do suvislog rezultata Primjer (izračunaj N! ) Zadati (učitati) podatak N Postaviti Nf=1 Za svaki i=1 do N pomnožiti Nf s i Ispisati rezultat Nf Program: Niz poslova koji se izvode određenim redoslijedom. U računalu je: program u memoriji, procesor automatski izvodi program na datoj adresi memorije. scanf ( %d,&n); Nf=1; for (i=1;i<=n;i++) Nf *= i; printf ( \nrezultat je %d,nf); Prikaz algoritma, pseudo-kod Rečenice pisane u govornom jeziku ali u obliku naredbi Tako da su slične naredbama u programskom jeziku Postaviti Nf=1 Zadati (učitati) podatak N Ako je N>=0 onda Za svaki i=1 do N pomnožiti Nf s i Ispisati rezultat Nf U suprotnom Sekvencija Selekcija Iteracija Ispisati poruku o pogreški Kraj selekcije 8

Primjer: Najveći broj Zadano je: Skup podataka u datoteci: PODACI.DAT 23.04 2.005 12.45-8.224 30.01 18.94 Treba pronaći najveći brojiz datog skupa podataka! - nije poznato koliko podataka ima - podacima se pristupa sekvencijalno Primjer: Najvećibroj - plan rješavanja (algoritam) otvoriti datoteku PODACI.DAT pročitati prvi podatak iz datoteke i postaviti ga za max - fopen - fscanf max Ponavljati(do kraja podataka) - fscanf čitati iz datoteke u varijablu x ako je x veći odmax onda - if (x>max) postaviti max = x ispisati riješenje max na ekran -printf max 9

Primjer 2: Najveći broji kolikoihima (algoritam Nmax) Rješenje: Učitati max Postaviti nmax=1 Sve dok ima podataka činiti Učitati x Ako je x=max povećati nmax za 1 Ako je x>max Postavit max=x Postaviti nmax=1 Kraj Ako je.. Kraj Sve dok... RJEŠENJE NIJE POTPUNO ISPRAVNO!! Primjer 2: Najveći broji kolikoihima (algoritam Nmax) Poboljšano rješenje: Učitati x Postaviti max=x Postaviti nmax=0 Sve dok ima podataka činiti Ako je x=max povećati nmax za 1 Ako je x>max Postavit max=x Postaviti nmax=1 Kraj Ako je.. Učitati x Kraj Sve dok... 10

Algoritmi s vektorima i matricama (1) Skalarni produkt dva vektora Fizikalna definicija: y v2 α v1 α2 α1 x v1*v2=v1*v2*cos(α) α= α2 α1 v1*v2*cos(α)= v1*v2*cos(α2 α1)= v1 cos(α1)*v2*cos(α2)+ v1*sin(α1) v2*sin(α2)= v1 x *v2 x +v1 y *v2 y Matematička definicija: Sp=Σ v1 i *v2 i Algoritam: 0 1 2 3 4 n-2 n-1 0 1 2 3 4 n-2 n-1 Postaviti Sp=0 Za svaki i=1 do n povećati Sp za v1[i]*v2[i] Algoritmi s vektorima i matricama (2) Primjer: Naći srednju vrijednost uz uvjet V[i]>x Postaviti S=0 Postviti m=0 Za svaki i=1 do n činiti Ako je V[i]>x činiti Povećati S za V[i] Povećati m za 1 Kraj Ako je... Kraj Za svaki i Podijeliti S s m Ispisati S 11

Algoritmi s vektorima i matricama (3) Množenje matrica * = A B n C Definicija: c ij =Σ a il *b lj l=1 Za svaki i=1 do m Za svaki j=1 do k činiti Postaviti C[i][j]=0 Za svaki l=1 do n povećati C[i][j] za A[i][l]*B[l][j] Kraj za svaki j 12