Programiranje 1 9. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 9. predavanje p. 1/6
|
|
- Мирослава Матић
- пре 5 година
- Прикази:
Транскрипт
1 Programiranje 1 9. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 9. predavanje p. 1/60
2 Sadržaj predavanja Osnovni algoritmi na cijelim brojevima: Uvod što se hoće. Broj znamenki cijelog broja. Zbroj (suma) i umnožak (produkt) znamenki broja. Najveća (najmanja) znamenka broja. Provjere znamenki broja (postoji, svaka). Palindrom. Najveća zajednička mjera Euklidov algoritam. Potencija broja 2. Binarni prikaz cijelog broja u računalu. Prog1 2018, 9. predavanje p. 2/60
3 Informacije Praktični kolokvij Praktični kolokvij (prvi krug) kreće u 9. tjednu nastave, srijeda, četvrtak, (subota uklj.) Razlog: da stignemo napraviti funkcije i srediti termine. Informacije o organizaciji bit će objavljene na webu kolegija. Zapamtite: Vrijeme za rješenje je 45 minuta. Zadaci su objavljeni na webu pod Materijali, 2. točka (to su isti zadaci kao prošle godine, nema promjena). Korisno je odmah pogledati i početi vježbati. Prog1 2018, 9. predavanje p. 3/60
4 Osnovni algoritmi na cijelim brojevima Prog1 2018, 9. predavanje p. 4/60
5 Sadržaj predavanja Osnovni algoritmi na cijelim brojevima: Uvod što se hoće. Broj znamenki cijelog broja. Zbroj (suma) i umnožak (produkt) znamenki broja. Najveća (najmanja) znamenka broja. Provjere znamenki broja (postoji, svaka). Palindrom. Najveća zajednička mjera Euklidov algoritam. Potencija broja 2. Binarni prikaz cijelog broja u računalu. Prog1 2018, 9. predavanje p. 5/60
6 Uvod što je cilj? Cilj je, zapravo, vrlo jednostavan: konstrukcija, implemenatcija i analiza jednostavnih (osnovnih) algoritama, sastavljenih od jedne petlje i nekoliko uvjetnih naredbi, na najjednostavnijim podacima cijelim brojevima. Kasnije ćemo iste ili slične algoritme koristiti na složenijim podacima: nizovi na ulazu, polja, vezane liste i sl. Danas ćemo pisati cijele programe ili odsječke programa. Kad napravimo funkcije, onda ćemo neke od tih algoritama realizirati kao funkcije. Prog1 2018, 9. predavanje p. 6/60
7 Osnovne pretpostavke i dogovori Ulazni podaci su: nenegativni cijeli brojevi, tj. brojevi iz skupa N 0, osim ako nije drugačije rečeno. Za prikaz podataka standardno koristimo tip unsigned int. Može i obični int, ako nam raspon prikazivih brojeva nije jako bitan. Katkad ćemo dozvoliti i negativne cijele brojeve, tj. brojeve iz skupa Z. Tada za prikaz koristimo tip int. Prog1 2018, 9. predavanje p. 7/60
8 Osnovne pretpostavke i dogovori (nastavak) Dogovor. Sve algoritme realiziramo u cjelobrojnoj aritmetici. Realnu aritmetiku izbjegavamo zbog mogućih grešaka zaokruživanja. Oprez: Neovisno o tipu kojeg koristimo za prikaz brojeva, skup prikazivih brojeva u računalu je konačan, a aritmetika cijelih brojeva je modularna aritmetika! Na to treba paziti kod konstrukcije i izbora algoritma. Jedan od bitnih ciljeva je: algoritam treba raditi korektno za što veći skup ulaznih podataka. Po mogućnosti za svaki prikazivi ulazni podatak! Prog1 2018, 9. predavanje p. 8/60
9 Broj znamenki broja Primjer. Program treba učitati cijeli broj n (tipa int) i naći broj dekadskih znamenki tog broja. Najlakši algoritam dobivamo jednostavnim brisanjem znamenki i to straga (lakše je). Usput, treba samo brojati obrisane znamenke! Uzmimo da je n = 123. Zadnja znamenka je n mod 10 = 3. Medutim, sama znamenka nam ne treba. Kako ćemo obrisati tu znamenku? Tako da broj podijelimo s bazom 10. Odgovarajuća naredba je: n = n / 10 ili n /= 10. Prog1 2018, 9. predavanje p. 9/60
10 Broj znamenki broja (nastavak) Ovo ponavljamo u petlji, s tim da svaki puta povećamo broj obrisanih znamenki za 1. Na početku, brojač inicijaliziramo na 0 jer još nismo obrisali niti jednu znamenku! Zadnje pitanje je kontrola petlje do kada ponavljamo ovaj postupak? Sve dok broj ima bar jednu znamenku, koju još nismo obrisali. A kad je to? Sve dok je n 0. Drugim riječima, ponavljanje prekidamo kad obrišemo sve znamenke, tj. kad n postane nula. Prog1 2018, 9. predavanje p. 10/60
11 Broj znamenki broja (nastavak) U našem primjeru, za n = 123, imamo redom: n = n / 10 daje n = 12, a broj obrisanih znamenki je 1. n = n / 10 daje n = 1, a broj obrisanih znamenki je 2. n = n / 10 daje n = 0, a broj obrisanih znamenki je 3. Dakle, sve radi korektno! Izbor naredbe za realizaciju petlje u programu: Broj znamenki ne znamo unaprijed (baš to tražimo), pa je prirodno koristiti while ili do-while. Uz malo više iskustva u C-u, vidjet ćete da može i for. Dogovorno uzimamo da n = 0 ima nula znamenki! To ima smisla u normaliziranom prikazu broja u bazi. Onda koristimo while petlju, a ne do-while. Prog1 2018, 9. predavanje p. 11/60
12 Broj znamenki broja (nastavak) #include <stdio.h> /* Broj dekadskih znamenki cijelog broja. */ int main(void) { int n, broj_znam; printf(" Upisi cijeli broj n: "); scanf("%d", &n); Prog1 2018, 9. predavanje p. 12/60
13 Broj znamenki broja (nastavak) broj_znam = 0; while (n!= 0) { ++broj_znam; n /= 10; /* Brisi zadnju znamenku. */ } printf(" Broj znamenki = %d\n", broj_znam); } return 0; Za ulaz 12345, program ispisuje Broj znamenki = 5 Prog1 2018, 9. predavanje p. 13/60
14 Broj znamenki broja (nastavak) Realizacija ključnog dijela programa for petljom, bazirana na vezi izmedu for i while petlji tipična za C: broj_znam = 0; for (; n!= 0; n /= 10) ++broj_znam; Uočite da inicijalizacije nema, a pomak je upravo brisanje znamenki! Može i ovako kratko, ali nije baš lako za pročitati: for (broj_znam = 0; n!= 0; n /= 10) ++broj_znam; Prog1 2018, 9. predavanje p. 14/60
15 Broj znamenki broja (nastavak) Nekoliko pitanja. Za koje cijele brojeve n program radi korektno? Odgovor: za sve prikazive, uključivo i negativne! Kolika je vrijednost broja n na kraju nakon završetka algoritma? Odgovor: n = 0. Dakle, algoritam je destruktivan uništava ulazni broj n. Ako to nećemo, treba napraviti kopiju od n u pomoćnu varijablu, na pr. temp_n, i nju uništiti. Kolika je složenost ovog algoritma? Odgovor: Broj prolaza kroz petlju je upravo broj znamenki broja n. Prog1 2018, 9. predavanje p. 15/60
16 Broj znamenki broja u zadanoj bazi Zanimljivo je da isti algoritam radi korektno i u bilo kojoj drugoj bazi b 2. Ako je n N, onda prikaz u bazi b ima oblik n = a k b k +a k 1 b k 1 + +a 1 b+a 0, s tim da je ovaj prikaz normaliziran, tj. za znamenke vrijedi a 0,...,a k {0,1,...,b 1} i a k > 0. Dogovorno smatramo da n = 0 nema znamenki! U nastavku prelazimo na nenegativne brojeve, da nas predznak ne smeta. Prog1 2018, 9. predavanje p. 16/60
17 Broj znamenki broja u zadanoj bazi (nastavak) Napomena. Oznaka konverzije za čitanje i pisanje nenegativnih brojeva tipa unsigned int je %u. Konstante se pišu s nastavkom (sufiksom) u poput 0u. U algoritmima i programima koji slijede, namjerno je ispušten u, da se lakše čita. Naime, bitni dio svih algoritama radi i u tipu int. Prog1 2018, 9. predavanje p. 17/60
18 Broj znamenki broja u zadanoj bazi (nastavak) #include <stdio.h> /* Broj znamenki broja n u bazi b. Unistava n dijeljenjem. */ int main(void) { unsigned int b = 10, n, broj_znam; printf(" Upisi nenegativni broj n: "); scanf("%u", &n); printf("\n Broj %u", n); Prog1 2018, 9. predavanje p. 18/60
19 Broj znamenki broja u zadanoj bazi (nastavak) broj_znam = 0; while (n > 0) { ++broj_znam; n /= b; } printf(" ima %u znamenki u bazi %u\n", broj_znam, b); } return 0; Zadatak. Dodajte na kraj programa ispis završne vrijednosti varijable n i provjerite da je n = 0. Prog1 2018, 9. predavanje p. 19/60
20 Broj znamenki broja u zadanoj bazi logaritam Ako je n N i ako je n = a k b k +a k 1 b k 1 + +a 1 b+a 0 normalizirani prikaz tog broja u bazi b, tj. vrijedi a 0,...,a k {0,1,...,b 1} i a k > 0, onda broj znamenki = k +1 možemo izračunati i direktno preko logaritma k +1 = log b n +1. Medutim, to zahtijeva realnu aritmetiku, a ona ima greške zaokruživanja. Prog1 2018, 9. predavanje p. 20/60
21 Broj znamenki broja logaritam (nastavak) U zaglavlju <math.h> postoje dvije funkcije za logaritam: log = ln, log10 = log 10. Nama treba logaritam u bazi b. To dobijemo ovako, uz n > 0: log b n = lnn lnb = log 10n log 10 b. Najveće cijelo (za nenegativne brojeve) možemo dobiti pretvaranjem tipova: cast operatorom (int) ili (unsigned int). Oprez: izračunati logaritam može imati malu grešku (nadolje) koja je dovoljna za pogrešan rezultat! Prog1 2018, 9. predavanje p. 21/60
22 Broj znamenki broja logaritam (nastavak) Hoće li zaista doći do greške i za koje brojeve n i baze b, ovisi o konkretnoj C biblioteci koja stiže uz prevoditelj. Na primjer, na Intelovom prevoditelju na Windowsima (biblioteka je Microsoftova): log10 radi korektno u bazi 10, ali log ne radi za n = 10 6 : log( ) / log(10) = , pa izlazi da n = 10 6 ima 6, a ne 7 znamenki! log radi korektno u bazi 2, log ne radi u bazi 3, već za n = 3 5 = 243: log(243) / log(3) = Izlazi da n = 3 5 ima 5, a ne 6 znamenki u bazi 3! Prog1 2018, 9. predavanje p. 22/60
23 Broj znamenki broja potenciranje baze Umjesto destruktivnog brisanja znamenki straga, što je dijeljenje broja s bazom (odnosno, potencijom baze), može i ovako: potenciraj bazu (množenje potencije bazom), sve dok... Oprez s kriterijem ponavljanja ili zaustavljanja, ako želimo da algoritam radi za sve prikazive brojeve! Ne valja:... sve dok je broj n veći ili jednak od potencije baze jer, na kraju je manji! Bolje je:... sve dok je kvocijent n/potencija veći ili jednak od baze. Zadatak. Napišite program koji odgovara ovom algoritmu i pažljivo ga testirajte! Dodajte mu pisanje znamenki sprijeda. Prog1 2018, 9. predavanje p. 23/60
24 Obrada znamenki broja općenito U nastavku ide hrpa varijacija na temu obrade znamenki broja u zadanoj bazi. Ako redoslijed obrade (poredak znamenki) nije bitan, onda obrada može ići na isti način kao i brojanje znamenki: I to je to! odgovarajuća inicijalizacija rezultata; petlja za obradu znamenki sve dok ima znamenki izdvoji zadnju znamenku (tj., straga) = modulo baza; obradi ju; obriši ju (kao kod brojanja). Prog1 2018, 9. predavanje p. 24/60
25 Zbroj ili suma znamenki broja Primjer. Program treba učitati nenegativni cijeli broj n (tipa unsigned int) i naći zbroj znamenki tog broja u zadanoj bazi b = 10. Traženi rezultat je Algoritamski: a 0 +a 1 + +a k. rezultat = rezultat+a i, i = 0,1,...,k. Inicijalizacija za zbrajanje? Neutral za zbrajanje: rezultat = 0. Ovo je i dogovor za sumu praznog skupa! Prog1 2018, 9. predavanje p. 25/60
26 Zbroj ili suma znamenki broja (nastavak) Bitni odsječak programa izgleda ovako: printf("\n n = %u\n", n); suma = 0; while (n > 0) { suma += n % b; n /= b; } printf(" Suma znamenki u bazi %u je %u\n", b, suma); Prog1 2018, 9. predavanje p. 26/60
27 Umnožak ili produkt znamenki broja Primjer. Program treba učitati nenegativni cijeli broj n (tipa unsigned int) i naći produkt znamenki tog broja u zadanoj bazi b = 10. Traženi rezultat je Algoritamski: a 0 a 1 a k. rezultat = rezultat a i, i = 0,1,...,k. Inicijalizacija za množenje? Neutral za množenje: rezultat = 1. Ovo je i dogovor za produkt praznog skupa! Prog1 2018, 9. predavanje p. 27/60
28 Umnožak ili produkt znamenki broja (nastavak) Bitni odsječak programa izgleda ovako: printf("\n n = %u\n", n); prod = 1; while (n > 0) { prod *= n % b; n /= b; } printf(" Produkt znamenki u bazi %u je %u\n", b, prod); Prog1 2018, 9. predavanje p. 28/60
29 Najveća znamenka broja Primjer. Program treba učitati nenegativni cijeli broj n (tipa unsigned int) i naći najveću znamenku tog broja u zadanoj bazi b = 10. Traženi rezultat je Algoritamski: max{a 0,a 1,...,a k }. rezultat = max{rezultat,a i }, i = 1,2,...,k. Inicijalizacija za maksimum? Maksimum jednočlanog skupa {a 0 }: rezultat = a 0. Maksimum nema neutral, odnosno, maksimum praznog skupa nije definiran! Zato gore startamo s i = 1, a ne od nule. Prog1 2018, 9. predavanje p. 29/60
30 Najveća znamenka broja (nastavak) if (n > 0) { max_znam = n % b; /* Zadnja znamenka. */ n /= b; while (n > 0) { znam = n % b; if (znam > max_znam) max_znam = znam; n /= b; } printf(" Najveca znamenka u bazi %u je" " %u\n", b, max_znam); } else printf(" Nema znamenki\n"); Prog1 2018, 9. predavanje p. 30/60
31 Najveća znamenka broja Izbjegavati! /* Najveca znamenka broja n u bazi b. Lazna inicijalizacija na -1 ne moze u tipu unsigned, pa stavim 0. Unistava n dijeljenjem. */ max_znam = 0; while (n > 0) { znam = n % b; if (znam > max_znam) max_znam = znam; n /= b; } printf(" Najveca znamenka u bazi %u je %u\n", b, max_znam); Prog1 2018, 9. predavanje p. 31/60
32 Najmanja znamenka broja Primjer. Program treba učitati nenegativni cijeli broj n (tipa unsigned int) i naći najmanju znamenku tog broja u zadanoj bazi b = 10. Traženi rezultat je Algoritamski: min{a 0,a 1,...,a k }. rezultat = min{rezultat,a i }, i = 1,2,...,k. Inicijalizacija za minimum? Minimum jednočlanog skupa {a 0 }: rezultat = a 0. Minimum nema neutral, odnosno, minimum praznog skupa nije definiran! Zato gore startamo s i = 1, a ne od nule. Prog1 2018, 9. predavanje p. 32/60
33 Najmanja znamenka broja (nastavak) if (n > 0) { min_znam = n % b; /* Zadnja znamenka. */ n /= b; while (n > 0) { znam = n % b; if (znam < min_znam) min_znam = znam; n /= b; } printf(" Najmanja znamenka u bazi %u je" " %u\n", b, min_znam); } else printf(" Nema znamenki\n"); Prog1 2018, 9. predavanje p. 33/60
34 Najmanja znamenka broja Izbjegavati! /* Najmanja znamenka broja n u bazi b. Lazna inicijalizacija na b. Unistava n dijeljenjem. */ min_znam = b; while (n > 0) { znam = n % b; if (znam < min_znam) min_znam = znam; n /= b; } printf(" Najmanja znamenka u bazi %u je %u\n", b, min_znam); Prog1 2018, 9. predavanje p. 34/60
35 Provjere znamenki broja Najjednostavniji primjeri provjere odgovaraju standardnim kvatifikatorima u matematici: Postoji ( ) li objekt sa zadanim svojstvom? Ima li svaki ( ) objekt zadano svojstvo? Rezultat je odgovor na postavljeno pitanje, tj. rezultat ima logički tip DA/NE, istina/laž, ili 1/0. Prog1 2018, 9. predavanje p. 35/60
36 Postoji znamenka...? Primjer. Program treba učitati nenegativni cijeli broj n (tipa unsigned int) i naći odgovor na pitanje postoji li znamenka tog broja koja je jednaka 5 (u zadanoj bazi b = 10). Traženi rezultat je Algoritamski: (a 0 = 5) (a 1 = 5) (a k = 5). rezultat = rezultat (a i == 5), i = 0,1,...,k. Inicijalizacija za postoji? Prazan skup! Inicijalizacija za disjunkciju (ili)? Neutral za disjunkciju: rezultat = 0 (laž). Prog1 2018, 9. predavanje p. 36/60
37 Postoji znamenka...? (nastavak) Bitni odsječak programa izgleda ovako: odgovor = 0; /* NE, laz. */ while (n > 0) { znam = n % b; odgovor = odgovor (znam == trazena); n /= b; } if (odgovor) printf(" Odgovor je DA\n"); else printf(" Odgovor je NE\n"); Prog1 2018, 9. predavanje p. 37/60
38 Postoji znamenka...? (nastavak) Skraćena varijanta koja prekida petlju čim sazna odgovor: odgovor = 0; /* NE, laz. */ while (n > 0) { znam = n % b; if (znam == trazena) { odgovor = 1; break; } n /= b; } Prog1 2018, 9. predavanje p. 38/60
39 Svaka znamenka...? Primjer. Program treba učitati nenegativni cijeli broj n (tipa unsigned int) i naći odgovor na pitanje je li svaka znamenka tog broja jednaka 5 (u zadanoj bazi b = 10). Traženi rezultat je Algoritamski: (a 0 = 5) (a 1 = 5) (a k = 5). rezultat = rezultat && (a i == 5), i = 0,1,...,k. Inicijalizacija za svaki? Prazan skup! Inicijalizacija za konjunkciju (i)? Neutral za konjunkciju: rezultat = 1 (istina). Prog1 2018, 9. predavanje p. 39/60
40 Svaka znamenka...? (nastavak) Bitni odsječak programa izgleda ovako: odgovor = 1; /* DA, istina. */ while (n > 0) { znam = n % b; odgovor = odgovor && (znam == trazena); n /= b; } if (odgovor) printf(" Odgovor je DA\n"); else printf(" Odgovor je NE\n"); Prog1 2018, 9. predavanje p. 40/60
41 Svaka znamenka...? (nastavak) Skraćena varijanta koja prekida petlju čim sazna odgovor: odgovor = 1; /* DA, istina. */ while (n > 0) { znam = n % b; if (znam!= trazena) { odgovor = 0; break; } n /= b; } Prog1 2018, 9. predavanje p. 41/60
42 Palindrom Primjer. Program treba učitati nenegativni cijeli broj n (tipa unsigned int) i naći odgovor na pitanje je li broj n palindrom (u zadanoj bazi b = 10), tj. čita li se n jednako s obje strane? Na primjer, je palindrom, a nije. Trik: umjesto provjere odgovarajućih znamenki, prva = zadnja, druga = predzadnja,... (probajte to napisati tako da radi za svaki prikazivi n i b), napravimo broj s obratnim poretkom znamenki i usporedimo ga s polaznim brojem! Prog1 2018, 9. predavanje p. 42/60
43 Palindrom (nastavak) #include <stdio.h> /* Provjera je li prirodni broj palindrom. */ int main(void) { unsigned int b = 10; unsigned int n, m1, m2, palindrom; printf(" Upisi nenegativni broj n: "); scanf("%u", &n); printf(" Broj = %u\n", n); Prog1 2018, 9. predavanje p. 43/60
44 Palindrom (nastavak) m1 = n; m2 = 0; while (n > 0) { m2 = m2 * b + n % b; n /= b; } palindrom = m1 == m2? 1 : 0; printf(" Palindrom = %u\n", palindrom); } return 0; Prog1 2018, 9. predavanje p. 44/60
45 Palindrom primjer za n = Primjer. Na početku je m 1 = n = i m 2 = 0. pomak m 2 ulijevo dodaj n (množenje s b) n % b novi m 2 novi n Rezultat je m 2 = m 1 = = n nije palindrom. Prog1 2018, 9. predavanje p. 45/60
46 Palindrom korektnost? Pitanje. Radi li ovaj program korektno za svaki prikazivi ulaz? Uputa: Je li obratni broj uvijek prikaziv? Možemo li zato dobiti pogrešan odgovor u bazi b = 10? (Odgovor je NE. Dokažite!) Probajte i za druge baze! Zadatak. Neka je baza b = = , a broj je n = b+5 = Je li odgovor (= 1 = da) točan? Zadatak. Koliko ima baza b (u tipu unsigned na 32 bita), u kojima ovaj algoritam daje pogrešan odgovor za bar jedan n? Izazov = program (s podosta matematike prije toga): ukupan broj nadenih baza = , vrijeme = 0.23s! Prog1 2018, 9. predavanje p. 46/60
47 Palindrom korektna provjera znamenki Bitni odsječak korektnog programa za provjeru palindroma izgleda ovako (v. program pal_ok.c): /* Potencija baze uz najvisu znamenku. */ pot = 1; while (n / pot >= b) pot *= b; /* Moze i ovako, praznom for naredbom: for (pot = 1; n / pot >= b; pot *= b); */ palindrom = 1; /* DA, istina. */ Prog1 2018, 9. predavanje p. 47/60
48 Palindrom korektna provjera (nastavak) /* Petlja za provjeru para znamenki. */ while (n >= b) { // n ima bar dvije znamenke. znam1 = n / pot; // Prva znamenka. znam2 = n % b; // Zadnja znamenka. if (znam1!= znam2) { palindrom = 0; break; } } n %= pot; // Brisi prvu znamenku. n /= b; // Brisi zadnju znamenku. pot = pot / b / b; // Podijeli pot s b^2. Prog1 2018, 9. predavanje p. 48/60
49 Najveća zajednička mjera Primjer. Jedan od prvih algoritama u povijesti je Euklidov algoritam za nalaženje najveće zajedničke mjere M(a, b), cijelih brojeva a i b, uz pretpostavku da je b 0. Algoritam se bazira na Euklidovom teoremu o dijeljenju a = q b+r, za neki q Z, gdje je r ostatak, 0 r < b. Ključni koraci: Ako d a i d b, onda d r, pa je M(a,b) = M(b,r) ( smanjujemo argumente, po apsolutnoj vrijednosti). Ako je r = 0, onda je a = q b, pa je M(a,b) = b (kraj). Test primjeri: a = 48, b = 36 ili a = 21, b = 13. Probajte i za negativne brojeve! Prog1 2018, 9. predavanje p. 49/60
50 Najveća zajednička mjera (nastavak) Dio programa koji računa M(a,b): int a, b, ostatak, mjera;... while (1) { ostatak = a % b; if (ostatak == 0) { mjera = b; break; } a = b; b = ostatak; } Prog1 2018, 9. predavanje p. 50/60
51 Najveća zajednička mjera (nastavak) Ovaj algoritam radi i za negativne brojeve a, b, samo se može dogoditi da je mjera negativna. Kod skraćivanja racionalnog broja a/b, zadanog brojnikom a i nazivnikom b, korisno je tražiti da je M(a,b) > 0. Jedna mogućnost je da izračunamo M( a, b ). Funkcije za apsolutnu vrijednost zovu se abs (za int) i labs (za long int), a deklarirane su u zaglavlju <stdlib.h>. U tom slučaju, na početku algoritma treba dodati a = abs(a); b = abs(b); Još jednostavnije je samo vratiti M(a,b). Za to, u algoritmu treba staviti mjera = abs(b), umjesto mjera = b. Prog1 2018, 9. predavanje p. 51/60
52 Najveća zajednička mjera (nastavak) Može i ovako s malo manje teksta : int a, b, ostatak, mjera;... while (b!= 0) { // Ne: b > 0 ostatak = a % b; a = b; b = ostatak; } mjera = a; // mjera = abs(a); Za M(a,b) > 0, na kraju treba staviti mjera = abs(a). Prog1 2018, 9. predavanje p. 52/60
53 Najveća zajednička mjera (nastavak) Sporija varijanta za istu stvar, bez računanja ostataka, koristeći samo oduzimanje: int a, b, mjera;... while (a!= b) if (a > b) a -= b; else b -= a; mjera = a; /* Moze i b. */ Oprez! Ovo radi samo za prirodne brojeve a i b. Zato je, na početku, dobro dodati a = abs(a); b = abs(b); Prog1 2018, 9. predavanje p. 53/60
54 Potencija broja 2 Primjer. Program treba učitati prirodni broj n (tipa unsigned int) i naći odgovor na pitanje je li broj n potencija broja d = 2, tj. može li se n prikazati u obliku n = d k, s tim da je eksponent k > 0? Za zadani faktor d 2, svaki prirodni broj n N možemo jednoznačno prikazati u obliku n = d k m, m mod d 0, tj. d ne dijeli m, gdje je k 0 cijeli broj. Dokažite! Slično rastavu na proste faktore, samo d ne mora biti prost. Prog1 2018, 9. predavanje p. 54/60
55 Potencija broja 2 (nastavak) Treba naći brojeve k i m u tom rastavu Ideja: n = d k m, m mod d 0, tj. d ne dijeli m. Sve dok je n djeljiv s faktorom d podijelimo ga s d. Broj ovih dijeljenja = eksponent k 0. Na kraju tog postupka, ostaje nam baš m. Dakle, n je potencija broja d, ako i samo ako na kraju vrijedi: k > 0 i m = 1. Dijeljenje broja n s d radimo u istoj varijabli n, tako da je konačna vrijednost od n = m. Prog1 2018, 9. predavanje p. 55/60
56 Potencija broja 2 (nastavak) Bitni odsječak programa izgleda ovako: unsigned int n, d = 2, k, odgovor; k = 0; /* Sve dok je n djeljiv s d, podijeli ga s d. */ while (n % d == 0) { ++k; n /= d; } /* Mora ostati n == 1. */ odgovor = n == 1 && k > 0; Prog1 2018, 9. predavanje p. 56/60
57 Prikaz cijelog broja u računalu Primjer. Program treba učitati cijeli broj n (tipa int) i napisati prikaz tog broja u računalu kao niz bitova. Broj bitova u prikazu možemo izračunati unaprijed, koristeći sizeof operator. Zato koristimo for petlju. #include <stdio.h> /* Prikaz cijelog broja u racunalu. */ int main(void) { int nbits, broj, bit, i; unsigned mask; Prog1 2018, 9. predavanje p. 57/60
58 Prikaz cijelog broja u računalu (nastavak) /* Broj bitova u tipu int. */ nbits = 8 * sizeof(int); /* Pocetna maska ima bit 1 na najznacajnijem mjestu. */ mask = 0x1 << nbits - 1; printf(" Upisi cijeli broj: "); scanf("%d", &broj); printf(" Prikaz broja %d:\n ", broj); Prog1 2018, 9. predavanje p. 58/60
59 Prikaz cijelog broja u računalu (nastavak) for (i = 1; i <= nbits; ++i) { /* Maskiranje odgovarajuceg bita. */ bit = broj & mask? 1 : 0; /* Ispis i blank nakon svaka 4 bita, osim zadnjeg. */ printf("%d", bit); if (i % 4 == 0 && i < nbits) printf(" "); /* Pomak maske za 1 bit udesno. */ mask >>= 1; } printf("\n"); } return 0; Prog1 2018, 9. predavanje p. 59/60
60 Prikaz cijelog broja u računalu (nastavak) Za ulaz 3, dobivamo: Prikaz broja 3: Za ulaz -3, dobivamo: Prikaz broja -3: Prog1 2018, 9. predavanje p. 60/60
Programiranje 2 0. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/4
Programiranje 2 0. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/48 Sadržaj predavanja Ponavljanje onog dijela C-a koji
ВишеProgramiranje 1 3. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2017, 3. predavanje p. 1/1
Programiranje 1 3. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2017, 3. predavanje p. 1/132 Sadržaj predavanja Osnovni tipovi podataka u računalu
ВишеProgramiranje predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2016, 10. predavanje p. 1
Programiranje 1 10. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2016, 10. predavanje p. 1/95 Sadržaj predavanja Funkcije: Definicija funkcije.
ВишеProgramiranje 1 IEEE prikaz brojeva sažetak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, IEEE p
Programiranje IEEE prikaz brojeva sažetak Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog 208, IEEE prikaz brojeva sažetak p. /4 Sadržaj predavanja IEEE standard
ВишеProgramiranje 1 3. predavanje prošireno Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 3. predava
Programiranje 1 3. predavanje prošireno Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 3. predavanje prošireno p. 1/120 Sadržaj proširenog predavanja
ВишеUvod u računarstvo 2+2
Ulaz i izlaz podataka Ulaz i izlaz podataka Nakon odslušanog bit ćete u stanju: navesti sintaksu naredbi za unos/ispis znakova znakovnih nizova cijelih brojeva realnih brojeva jednostruke i dvostruke preciznosti
Више070-ALIP2-udzbenik.indb
0. U uvodnom ćemo poglavlju ponoviti osnove programskog jezika C s kojima smo se susreli u. razredu. U kratkom pregledu navedeni su operatori (aritmetički, relacijski i logički), neke od funkcija iz biblioteka
Више2015_k2_z12.dvi
OBLIKOVANJE I ANALIZA ALGORITAMA 2. kolokvij 27. 1. 2016. Skice rješenja prva dva zadatka 1. (20) Zadano je n poslova. Svaki posao je zadan kao vremenski interval realnih brojeva, P i = [p i,k i ],zai
ВишеPROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije
PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije korake. Uz dobro razrađen algoritam neku radnju ćemo
ВишеProgramiranje 1 5. predavanje dodatak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 5. predavanj
Programiranje 1 5. predavanje dodatak Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 5. predavanje dodatak p. 1/60 Sadržaj predavanja dodatka Primjeri
ВишеSlide 1
OSNOVNI POJMOVI Naredba je uputa računalu za obavljanje određene radnje. Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Pisanje programa zovemo programiranje. Programski jezik
ВишеProgramiranje 1 drugi kolokvij, 2. veljače Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje,
Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje, te službeni podsjetnik. Kalkulatori, mobiteli, razne neslužbene tablice, papiri i sl., nisu dozvoljeni! Sva rješenja napišite
ВишеMicrosoft PowerPoint - Bitovi [Compatibility Mode]
Оператори над битовима (Јаничић, Марић: Програмирање 2, тачка 5.6) Оператори за рад са појединачним битовима Само на целобројне аргументе: ~ битовска негација & битовска конјункција (и) битовска (инклузивна)
ВишеOblikovanje i analiza algoritama 4. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb OAA 2017, 4. pr
Oblikovanje i analiza algoritama 4. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb OAA 2017, 4. predavanje p. 1/69 Sadržaj predavanja Složenost u praksi
ВишеNumerička matematika 11. predavanje dodatak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb NumMat 2019, 11. p
Numerička matematika 11. predavanje dodatak Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb NumMat 2019, 11. predavanje dodatak p. 1/46 Sadržaj predavanja dodatka
ВишеUvod u računarstvo 2+2
Datoteke nastavak Funkcija fgets Funkcija koja učitava podatke iz datoteke, liniju po liniju, je char *fgets(char *str, int n, FILE *fp); gdje su str pokazivač na dio memorije (string) u koji će ulazna
ВишеOblikovanje i analiza algoritama 5. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb OAA 2017, 5. pr
Oblikovanje i analiza algoritama 5. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb OAA 2017, 5. predavanje p. 1/68 Sadržaj predavanja Nehomogene rekurzije
ВишеUvod u računarstvo 2+2
Programiranje 2 doc.dr.sc. Goranka Nogo PMF Matematički odsjek, Zagreb Kontakt ured: 228, drugi kat e-mail: nogo@math.hr konzultacije: četvrtak, 12:00-14:00 petak, 11:00-12:00 neki drugi termin, uz prethodni
ВишеDržavna matura iz informatike
DRŽAVNA MATURA IZ INFORMATIKE U ŠK. GOD. 2013./14. 2016./17. SADRŽAJ Osnovne informacije o ispitu iz informatike Područja ispitivanja Pragovi prolaznosti u 2014./15. Primjeri zadataka po područjima ispitivanja
ВишеProgramiranje 2 popravni kolokvij, 15. lipnja Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanj
Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje, te službeni šalabahter. Kalkulatori, mobiteli, razne neslužbene tablice, papiri i sl., nisu dozvoljeni! Sva rješenja napišite
Више23. siječnja od 13:00 do 14:00 Školsko natjecanje / Osnove informatike Srednje škole RJEŠENJA ZADATAKA S OBJAŠNJENJIMA Sponzori Medijski pokrovi
3. siječnja 0. od 3:00 do 4:00 RJEŠENJA ZADATAKA S OBJAŠNJENJIMA Sponzori Medijski pokrovitelji Sadržaj Zadaci. 4.... Zadaci 5. 0.... 3 od 8 Zadaci. 4. U sljedećim pitanjima na pitanja odgovaraš upisivanjem
ВишеUvod u računarstvo 2+2
Pokazivači Pointeri Definicija pokazivača Pokazivač na tip je varijabla koja sadrži adresu varijable tipa tip. Definicija pokazivača: mem_klasa tip * p_var; Primjer: static int * pi; double *px; char*
ВишеALIP1_udzb_2019.indb
Razmislimo Kako u memoriji računala prikazujemo tekst, brojeve, slike? Gdje se spremaju svi ti podatci? Kako uopće izgleda memorija računala i koji ju elektronički sklopovi čine? Kako biste znali odgovoriti
ВишеKonstrukcija i analiza algoritama vežbe 10 Nina Radojičić 15. decembar Algoritamske strategije - podeli pa vladaj (divide and conquer) Ova stra
Konstrukcija i analiza algoritama vežbe 10 Nina Radojičić 15. decembar 2016 1 Algoritamske strategije - podeli pa vladaj (divide and conquer) Ova strategija rekurzivno razbija problem na 2 ili više potproblema
ВишеTutoring System for Distance Learning of Java Programming Language
Niz (array) Nizovi Niz je lista elemenata istog tipa sa zajedničkim imenom. Redosled elemenata u nizovnoj strukturi je bitan. Konkretnom elementu niza pristupa se preko zajedničkog imena niza i konkretne
ВишеMicrosoft Word - 15ms261
Zadatak 6 (Mirko, elektrotehnička škola) Rješenje 6 Odredite sup S, inf S, ma S i min S u skupu R ako je S = { R } a b = a a b + b a b, c < 0 a c b c. ( ), : 5. Skratiti razlomak znači brojnik i nazivnik
ВишеProgramiranje 2 1. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 1. predavanje p. 1/7
Programiranje 2 1. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 1. predavanje p. 1/75 Dobar dan, dobro došli Prog2 2019, 1. predavanje
ВишеRazvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić
Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić projektni zadatak projektovanje programa (algoritmi) pisanje programskog koda, izvorni kod,
ВишеTest ispravio: (1) (2) Ukupan broj bodova: 21. veljače od 13:00 do 14:00 Županijsko natjecanje / Osnove informatike Osnovne škole Ime i prezime
Test ispravio: () () Ukupan broj bodova:. veljače 04. od 3:00 do 4:00 Ime i prezime Razred Škola Županija Mentor Sadržaj Upute za natjecatelje... Zadaci... Upute za natjecatelje Vrijeme pisanja: 60 minuta
ВишеMicrosoft Word - 6ms001
Zadatak 001 (Anela, ekonomska škola) Riješi sustav jednadžbi: 5 z = 0 + + z = 14 4 + + z = 16 Rješenje 001 Sustav rješavamo Gaussovom metodom eliminacije (isključivanja). Gaussova metoda provodi se pomoću
ВишеMicrosoft PowerPoint - C-4-1
Pregled iskaza u C-u Izraz; Iskaz dodele, serijski komponovani iskaz; blok Uslovni iskazi i izrazi; složeno grananje Iterativni iskazi Iskaz dodele Promena vrednosti a = Ψ; Izračunava vrednost izraza Ψ,
ВишеCIJELI BROJEVI 1.) Kako još nazivamo pozitivne cijele brojeve? 1.) Za što je oznaka? 2.) Ispiši skup prirodnih brojeva! 3.) Kako označavamo skup priro
CIJELI BROJEVI 1.) Kako još nazivamo pozitivne cijele brojeve? 1.) Za što je oznaka? 2.) Ispiši skup prirodnih brojeva! 3.) Kako označavamo skup prirodnih brojeva? 4.) Pripada li 0 skupu prirodnih brojeva?
ВишеLogičke izjave i logičke funkcije
Logičke izjave i logičke funkcije Građa računala, prijenos podataka u računalu Što su logičke izjave? Logička izjava je tvrdnja koja može biti istinita (True) ili lažna (False). Ako je u logičkoj izjavi
ВишеFunkcije predavač: Nadežda Jakšić
Funkcije predavač: Nadežda Jakšić funkcije delovi programa koji izvršavaju neki zadatak, celinu; dele na ugrađene, korisničke i main funkciju ugrađene funkcije printf,scanf... da bi se one izvršile potrebno
ВишеRačunarski praktikum I - Vježbe 01 - Uvod
Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 01 - Uvod v2018/2019. Sastavio: Zvonimir Bujanović Gradivo i način polaganja Gradivo: osnove jezika
ВишеProgramiranje 1 Beleške sa vežbi Školska 2007/2008 godina Matematički fakultet, Beograd Jelena Tomašević December 5, 2007
Programiranje 1 Beleške sa vežbi Školska 2007/2008 godina Matematički fakultet, Beograd Jelena Tomašević December 5, 2007 2 Sadržaj 1 Programski jezik C 5 1.1 Oblast važenja lokalnih promenljivih..........................
ВишеSVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK Ivana Šore REKURZIVNOST REALNIH FUNKCIJA Diplomski rad Voditelj rada: doc.
SVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK Ivana Šore REKURZIVNOST REALNIH FUNKCIJA Diplomski rad Voditelj rada: doc.dr.sc. Zvonko Iljazović Zagreb, rujan, 2015. Ovaj diplomski
ВишеPowerPoint Presentation
SVEUČILIŠTE U ZAGREBU Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Vukelićeva 4, Zagreb, HRVATSKA Računalstvo Operatori, pisanje izraza i osnove pseudokôda Izv. prof. dr. sc. Edouard
Више(Microsoft Word - Rje\232enja zadataka)
1. D. Svedimo sve razlomke na jedinstveni zajednički nazivnik. Lako provjeravamo da vrijede rastavi: 85 = 17 5, 187 = 17 11, 170 = 17 10, pa je zajednički nazivnik svih razlomaka jednak Tako sada imamo:
ВишеNumerička matematika 1. predavanje dodatak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb NumMat 2019, 1. pre
Numerička matematika 1. predavanje dodatak Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb NumMat 2019, 1. predavanje dodatak p. 1/102 Sadržaj predavanja dodatka
ВишеMatematika 1 - izborna
3.3. NELINEARNE DIOFANTSKE JEDNADŽBE Navest ćemo sada neke metode rješavanja diofantskih jednadžbi koje su drugog i viših stupnjeva. Sve su te metode zapravo posebni oblici jedne opće metode, koja se naziva
ВишеAlgoritmi SŠ P1
Županijsko natjecanje iz informatike Srednja škola 9. veljače 2018. RJEŠENJA ZADATAKA Napomena: kodovi za većinu opisanih algoritama dani su u Pythonu radi jednostavnosti i lakše čitljivosti. Zbog prirode
ВишеMicrosoft PowerPoint - MR - Vjezbe - 03.ppt [Compatibility Mode]
Sveučilište u Zagrebu PMF Matematički odsjek Mreže računala Vježbe 03 Zvonimir Bujanović Slaven Kožić Vinko Petričević Mrežno programiranje: SocketAPI Programiramo u aplikacijskom sloju, za ostale se brinu
ВишеKonstrukcija i analiza algoritama Nina Radojičić februar Analiza algoritama, rekurentne relacije 1 Definicija: Neka su f i g dve pozitivne fun
Konstrukcija i analiza algoritama Nina Radojičić februar 2018. 1 Analiza algoritama, rekurentne relacije 1 Definicija: Neka su f i g dve pozitivne funkcije od argumenta n iz skupa N prirodnih brojeva.
ВишеProgramiranje 2 7. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 7. predavanje p. 1/7
Programiranje 2 7. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 7. predavanje p. 1/75 Sadržaj predavanja Tipovi i složene deklaracije:
ВишеKonverzije, operatori, matematičke funkcije predavač: Nadežda Jakšić
Konverzije, operatori, matematičke funkcije predavač: Nadežda Jakšić 1. temperatura u stepenima Celzijusa i stepene Farenhajta tf=1.8*tc+32 2. pretvoriti inče u centimetre 1 inč=2.54cm 3. vreme učitano
ВишеUvod u takmičarsko programiranje
8. čas Uvod u programiranje - naredbe ciklusa Uvežbavamo naredbe ciklusa, naredbe ponavljanja (loop) https://studio.code.org/s/course2/stage/6/puzzle/3 "Talk is cheap. Show me the code." - Linus Torvalds
Вишеs2.dvi
1. Skup kompleksnih brojeva 1. Skupovibrojeva.... Skup kompleksnih brojeva................................. 6. Zbrajanje i množenje kompleksnih brojeva..................... 9 4. Kompleksno konjugirani
Више(Microsoft Word - Dr\236avna matura - rujan osnovna razina - rje\232enja)
I. ZADATCI VIŠESTRUKOGA IZBORA. B. Broj je cijeli broj, tj. pripada skupu cijelih brojeva Z. Skup cijelih brojeva Z je pravi podskup skupa racionalnih brojeva Q, pa je i racionalan broj. 9 4 je očito broj
ВишеMicrosoft PowerPoint - 03-Slozenost [Compatibility Mode]
Сложеност алгоритама (Програмирање 2, глава 3, глава 4-4.3) Проблем: класа задатака истог типа Велики број различитих (коректних) алгоритама Величина (димензија) проблема нпр. количина података које треба
Више0255_Uvod.p65
1Skupovi brojeva Skup prirodnih brojeva Zbrajanje prirodnih brojeva Množenje prirodnih brojeva U košari ima 12 jaja. U drugoj košari nedostaju tri jabuke da bi bila puna, a treća je prazna. Pozitivni,
ВишеMicrosoft Word - predavanje8
DERIVACIJA KOMPOZICIJE FUNKCIJA Ponekad je potrebno derivirati funkcije koje nisu jednostavne (složene su). Na primjer, funkcija sin2 je kompozicija funkcija sin (vanjska funkcija) i 2 (unutarnja funkcija).
ВишеProgramiranje II Beleške sa vežbi Smer Informatika Matematički fakultet, Beograd Sana Stojanović 1
Programiranje II Beleške sa vežbi Smer Informatika Matematički fakultet, Beograd Sana Stojanović 1 Sadržaj 1 Pokazivači - ponavljanje 3 2 Pokazivači - veza sa nizovima 5 2 1 Pokazivači - ponavljanje 1.
ВишеTeorija skupova - blog.sake.ba
Uvod Matematika je jedan od najomraženijih predmeta kod većine učenika S pravom, dakako! Zapitajmo se šta je uzrok tome? Da li je matematika zaista toliko teška, komplikovana? Odgovor je jednostavan, naravno
Више(Microsoft Word - Dr\236avna matura - kolovoz osnovna razina - rje\232enja)
5 5: 5 5. B. Broj.5 možemo zapisati u obliku = =, a taj broj nije cijeli broj. 0 0 : 5 Broj 5 je iracionalan broj, pa taj broj nije cijeli broj. Broj 5 je racionalan broj koji nije cijeli broj jer broj
ВишеPLAN I PROGRAM ZA DOPUNSKU (PRODUŽNU) NASTAVU IZ MATEMATIKE (za 1. razred)
PLAN I PROGRAM ZA DOPUNSKU (PRODUŽNU) NASTAVU IZ MATEMATIKE (za 1. razred) Učenik prvog razreda treba ostvarit sljedeće minimalne standarde 1. SKUP REALNIH BROJEVA -razlikovati brojevne skupove i njihove
ВишеGrananje u programu predavač: Nadežda Jakšić
Grananje u programu predavač: Nadežda Jakšić u okviru linijske strukture izvršavaju se sve naredbe u okviru razgranate strukture uvek se ispituje neki uslov; u zavisnosti od toga da li je uslov ispunjen
ВишеDržavno natjecanje / Osnove informatike Srednje škole Zadaci U sljedećim pitanjima na odgovore odgovaraš upisivanjem slova koji se nalazi ispred
Zadaci. 8. U sljedećim pitanjima na odgovore odgovaraš upisivanjem slova koji se nalazi ispred točnog odgovora, u za to predviđen prostor. Odgovor Ako želimo stvoriti i pohraniti sliku, ali tako da promjenom
ВишеJMBAG IME I PREZIME BROJ BODOVA 1. (ukupno 6 bodova) MJERA I INTEGRAL 1. kolokvij 4. svibnja (Knjige, bilježnice, dodatni papiri i kalkulatori n
1. (ukupno 6 bodova) MJERA I INTEGRAL 1. kolokvij 4. svibnja 2018. (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) (a) (2 boda) Definirajte (općenitu) vanjsku mjeru. (b) (2 boda) Definirajte
ВишеZADACI ZA VJEŽBU 1. Dokažite da vrijedi: (a) (A \ B) (B \ A) = (A B) (A C B C ), (b) A \ (B \ C) = (A C) (A \ B), (c) (A B) \ C = (A \ C) (B \ C). 2.
ZADACI ZA VJEŽBU. Dokažite da vrijedi: (a) (A \ B) (B \ A) = (A B) (A C B C ), (b) A \ (B \ C) = (A C) (A \ B), (c) (A B) \ C = (A \ C) (B \ C).. Pomoću matematičke indukcije dokažite da za svaki n N vrijedi:
ВишеProgramiranje 1
Sveučilište u Rijeci ODJEL ZA INFORMATIKU Ulica Radmile Matejčić 2, Rijeka Akademska 2018./2019. godina PROGRAMIRANJE 1 Studij: Preddiplomski studij informatike (jednopredmetni) Godina i semestar: 1. godina,
ВишеMicrosoft Word - 1.Operacije i zakoni operacija
1. Operacije i zakoni operacija Neka je S neprazan skup. Operacija dužine n skupa S jeste svako preslikavanje : n n f S S ( S = S S S... S) Ako je n = 1, onda operaciju nazivamo unarna. ( f : S S ) Ako
ВишеTutoring System for Distance Learning of Java Programming Language
Obeležene petlje Obeležene petlje Obeležavanje petlje nekim identifikatorom omogućava da se programski tok usmeri na mesto u programu specificirano tim identifikatorom. Ako se iza naredbi break ili continue
ВишеJMBAG IME I PREZIME BROJ BODOVA MJERA I INTEGRAL 2. kolokvij 29. lipnja (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) 1. (
MJERA I INTEGRAL. kolokvij 9. lipnja 018. (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni! 1. (ukupno 6 bodova Neka je (, F, µ prostor s mjerom, neka je (f n n1 niz F-izmjerivih funkcija
ВишеRačunarski praktikum I - Vježbe 03 - Implementacija strukture string
Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 03 - Implementacija strukture string v2018/2019. Sastavio: Zvonimir Bujanović Stringovi u C-u String
ВишеJMBAG IME I PREZIME BROJ BODOVA MJERA I INTEGRAL završni ispit 6. srpnja (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) 1.
MJERA I INTEGRAL završni ispit 6. srpnja 208. (Knjige bilježnice dodatni papiri i kalkulatori nisu dozvoljeni!). (8 bodova) Kao na predavanjima za d N sa P d : a b ] a d b d ] : a i b i R a i b i za i
Више(Microsoft Word - Dr\236avna matura - kolovoz ni\236a razina - rje\232enja)
1. C. Imamo redom: I. ZADATCI VIŠESTRUKOGA IZBORA. B. Imamo redom: 0.3 0. 8 7 8 19 ( 3) 4 : = 9 4 = 9 4 = 9 = =. 0. 0.3 3 3 3 3 0 1 3 + 1 + 4 8 5 5 = = = = = = 0 1 3 0 1 3 0 1+ 3 ( : ) ( : ) 5 5 4 0 3.
Више1 jmbag ime i prezime Programiranje 2 prvi kolokvij, Rezultati i uvidi u kolokvije: Rezultati u petak, 3.5., navečer na webu, a uvidi u p
1 Rezultati i uvidi u kolokvije: Rezultati u petak 3.5. navečer na webu a uvidi u ponedjeljak 6.5. u 16 sati. Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje te službeni podsjetnik.
ВишеMicrosoft Word - 1. REALNI BROJEVI- formulice
REALNI BROJEVI Skup prirodnih brojeva je N={1,2,3,4,,6,7, } Ako skupu prirodnih brojeva dodamo i nulu onda imamo skup N 0 ={0,1,2,3, } Skup celih brojeva je Z = {,-3,-2,-1,0,1,2,3, } Skup racionalnih brojeva
Више1. OPĆE INFORMACIJE 1.1. Naziv kolegija Programiranje 1.6. Semestar Nositelj kolegija dr.sc. Bruno Trstenjak, v. pred Bodovna vrijednost
1. OPĆE INFORMACIJE 1.1. Naziv kolegija Programiranje 1.6. Semestar. 1.. Nositelj kolegija dr.sc. Bruno Trstenjak, v. pred. 1.7. Bodovna vrijednost (ECTS) 7 1.3. Suradnici 1.8. Način izvođenja nastave
ВишеPROMENLJIVE, TIPOVI PROMENLJIVIH
PROMENLJIVE, TIPOVI PROMENLJIVIH Šta je promenljiva? To je objekat jezika koji ima ime i kome se mogu dodeljivati vrednosti. Svakoj promenljivoj se dodeljuje registar (memorijska lokacija) operativne memorije
Више(Microsoft Word - Dr\236avna matura - studeni osnovna razina - rje\232enja)
1. C. Imamo redom: I. ZADATCI VIŠESTRUKOGA IZBORA 9 + 7 6 9 + 4 51 = = = 5.1 18 4 18 8 10. B. Pomoću kalkulatora nalazimo 10 1.5 = 63.45553. Četvrta decimala je očito jednaka 5, pa se zaokruživanje vrši
ВишеFunkcije predavač: Nadežda Jakšić
Funkcije predavač: Nadežda Jakšić do sada su korišćene "gotove" funkcije iz standardnih biblioteka (cin, cout...) one su pozivane iz main funkcije koja je glavna funkcija u programu jer izvršavanje programa
ВишеŽUPANIJSKO NATJECANJE IZ MATEMATIKE 28. veljače razred - rješenja OVDJE SU DANI NEKI NAČINI RJEŠAVANJA ZADATAKA. UKOLIKO UČENIK IMA DRUGAČIJI
ŽUANIJSKO NATJECANJE IZ MATEMATIKE 8. veljače 09. 8. razred - rješenja OVDJE SU DANI NEKI NAČINI RJEŠAVANJA ZADATAKA. UKOLIKO UČENIK IMA DRUGAČIJI OSTUAK RJEŠAVANJA, ČLAN OVJERENSTVA DUŽAN JE I TAJ OSTUAK
ВишеINF INFORMATIKA INF.27.HR.R.K1.20 INF D-S INF D-S027.indd :50:41
INF INFORMATIKA INF.7.HR.R.K..indd 7.7.6. 3:5:4 Prazna stranica 99.indd 7.7.6. 3:5:4 OPĆE UPUTE Pozorno pročitajte sve upute i slijedite ih. Ne okrećite stranicu i ne rješavajte zadatke dok to ne odobri
Вишеatka 26 (2017./2018.) br. 102 NEKE VRSTE DOKAZA U ČAROBMATICI Jadranka Delač-Klepac, Zagreb jednoj smo priči spomenuli kako je važno znati postavljati
NEKE VRSTE DOKAZA U ČAROBMATICI Jadranka Delač-Klepac, Zagreb jednoj smo priči spomenuli kako je važno znati postavljati prava pitanja. U Jednako je važno znati pronaći odgovore na postavljena pitanja,
ВишеTutoring System for Distance Learning of Java Programming Language
Deklaracija promenljivih Inicijalizacija promenljivih Deklaracija promenljive obuhvata: dodelu simboličkog imena promenljivoj i određivanje tipa promenljive (tip određuje koja će vrsta memorijskog registra
Више(Microsoft Word vje\236ba - LIMES FUNKCIJE.doc)
Zadatak Pokažite, koristeći svojstva esa, da je ( 6 ) 5 Svojstva esa funkcije u točki: Ako je k konstanta, k k c c c f ( ) L i g( ) M, tada vrijedi: c c [ f ( ) ± g( ) ] c c f ( ) ± g( ) L ± M c [ f (
ВишеMatrice. Algebarske operacije s matricama. - Predavanje I
Matrice.. Predavanje I Ines Radošević inesr@math.uniri.hr Odjel za matematiku Sveučilišta u Rijeci Matrice... Matrice... Podsjeti se... skup, element skupa,..., matematička logika skupovi brojeva N,...,
ВишеMatematka 1 Zadaci za vežbe Oktobar Uvod 1.1. Izračunati vrednost izraza (bez upotrebe pomoćnih sredstava): ( ) [ a) : b) 3 3
Matematka Zadaci za vežbe Oktobar 5 Uvod.. Izračunati vrednost izraza bez upotrebe pomoćnih sredstava): ) [ a) 98.8.6 : b) : 7 5.5 : 8 : ) : :.. Uprostiti izraze: a) b) ) a b a+b + 6b a 9b + y+z c) a +b
Више8 2 upiti_izvjesca.indd
1 2. Baze podataka Upiti i izvješća baze podataka Na početku cjeline o bazama podataka napravili ste plošnu bazu podataka o natjecanjima učenika. Sada ćete izraditi relacijsku bazu u Accessu o učenicima
ВишеPojačavači
Programiranje u fizici Prirodno-matematički fakultet u Nišu Departman za fiziku dr Dejan S. Aleksić Programiranje u fizici dr Dejan S. Aleksić, vanredni profesor Kabinet 307 (treći sprat), lab. za elektroniku
ВишеPripreme 2016 Indukcija Grgur Valentić lipanj Zadaci su skupljeni s dva predavanja na istu temu, za učenike od prvog do trećeg razreda i za MEMO
Pripreme 016 Indukcija Grgur Valentić lipanj 016. Zadaci su skupljeni s dva predavanja na istu temu, za učenike od prvog do trećeg razreda i za MEMO kandidate. Zato su zadaci podjeljeni u odlomka. U uvodu
ВишеPowerPoint Presentation
V Unos i prikaz podataka Programi čitaju i ispisuju podatke sa spoljašnjih uređaja Postoji prolazni U/I (tastatura i monitor) i trajni U/I podataka (fajlovi) printf i scanf pišu/čitaju na monitor ili sa
ВишеDvostruki integrali Matematika 2 Erna Begović Kovač, Literatura: I. Gusić, Lekcije iz Matematike 2
vostruki integrali Matematika 2 Erna Begović Kovač, 2019. Literatura: I. Gusić, Lekcije iz Matematike 2 http://matematika.fkit.hr Uvod vostruki integral je integral funkcije dvije varijable. Oznaka: f
Више(Microsoft Word - Dr\236avna matura - lipanj vi\232a razina - rje\232enja)
. D. Zadatak najbrže možemo riješiti tako da odredimo decimalne zapise svih šest racionalnih brojeva (zaokružene na dvije decimale ako je decimalan zapis beskonačan periodičan decimalan broj). Dobivamo:
ВишеPASCAL UVOD 2 II razred gimnazije
PASCAL UVOD 2 II razred gimnazije Upis-ispis 1. Upis Read(a,b); --u jednom redu Readln(a,b); -- nakon upisa prelazi se u novi red 2. Ispis Write(a,b); -- u jednom redu Writeln(a,b); --nakon ispisa prelazi
ВишеMicrosoft PowerPoint - Datoteke [Compatibility Mode]
Датотеке стандардни улаз / излаз Датотека је именовани низ знакова (бајтова) У програмском језику C датотека је везана за улаз и излаз података функције стандардне библиотеке Најједностaвније
ВишеSkalarne funkcije više varijabli Parcijalne derivacije Skalarne funkcije više varijabli i parcijalne derivacije Franka Miriam Brückler
i parcijalne derivacije Franka Miriam Brückler Jednadžba stanja idealnog plina uz p = nrt V f (x, y, z) = xy z x = n mol, y = T K, z = V L, f == p Pa. Pritom je kodomena od f skup R, a domena je Jednadžba
ВишеI grupa 1. Napisati program koji izračunava i ispisuje zbir 4 najveća od pet brojeva unetih sa standardnog ulaza. ulaz izlaz Analiza: 1.
I grupa 1. Napisati program koji izračunava i ispisuje zbir 4 najveća od pet brojeva unetih sa standardnog ulaza. ulaz izlaz 3 2 1 4 5 14 Analiza: 1. Odredimo zbir svih 5 unesenih brojeva (i sačuvamo u
ВишеMicrosoft PowerPoint - Timer0 16F887.ppt [Compatibility Mode]
TAJMERI I BROJAČI: PIC16F887 PIC 16F887 mikrokontroler ima tri tajmera/brojača: 8 - bitni tajmer/brojač (registar TMR0) 16 - bitni tajmer/brojač (registar TMR1H TMR1L) 8 - bitni tajmer/brojač (registar
Више(Microsoft Word - MATB - kolovoz osnovna razina - rje\232enja zadataka)
. B. Zapišimo zadane brojeve u obliku beskonačno periodičnih decimalnih brojeva: 3 4 = 0.7, = 0.36. Prvi od navedenih četiriju brojeva je manji od 3 4, dok su treći i četvrti veći od. Jedini broj koji
ВишеPRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste
PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, 5.06.019. godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekstenzija se najčešće koristi za tekstualne datoteke? a)
ВишеSadržaj 1 Diskretan slučajan vektor Definicija slučajnog vektora Diskretan slučajan vektor
Sadržaj Diskretan slučajan vektor Definicija slučajnog vektora 2 Diskretan slučajan vektor Funkcija distribucije slučajnog vektora 2 4 Nezavisnost slučajnih vektora 2 5 Očekivanje slučajnog vektora 6 Kovarijanca
ВишеРепублика Србија МИНИСТАРСТВО ПРОСВЕТЕ, НАУКЕ И ТЕХНОЛОШКОГ РАЗВОЈА ЗАВОД ЗА ВРЕДНОВАЊЕ КВАЛИТЕТА ОБРАЗОВАЊА И ВАСПИТАЊА ЗАВРШНИ ИСПИТ У ОСНОВНОМ ОБРА
Република Србија МИНИСТАРСТВО ПРОСВЕТЕ, НАУКЕ И ТЕХНОЛОШКОГ РАЗВОЈА ЗАВОД ЗА ВРЕДНОВАЊЕ КВАЛИТЕТА ОБРАЗОВАЊА И ВАСПИТАЊА ЗАВРШНИ ИСПИТ У ОСНОВНОМ ОБРАЗОВАЊУ И ВАСПИТАЊУ школска 018/019. година МАТЕМАТИКА
ВишеMicrosoft Word - AIDA2kolokvijumRsmerResenja.doc
Konstrukcija i analiza algoritama 2 (prvi kolokvijum, smer R) 1. a) Konstruisati AVL stablo od brojeva 100, 132, 134, 170, 180, 112, 188, 184, 181, 165 (2 poena) b) Konkatenacija je operacija nad dva skupa
ВишеШкола Ј. Ј. Змај Свилајнац МЕСЕЧНИ ПЛАН РАДА ЗА СЕПТЕМБАР Школска 2018 /2019. Назив предмета: Информатика и рачунарство Разред: 5. Недељни број часова
Школа Ј. Ј. Змај Свилајнац МЕСЕЧНИ ПЛАН РАДА ЗА СЕПТЕМБАР јединице 1. 1. Увод у информатику и рачунарство 1. 2. Oрганизација података на рачунару 1. 3. Рад са текстуалним документима 1. 4. Форматирање
ВишеFortran
FORTRAN Uvod Računala su samo strojevi: neznaju ništa, ne razmišljaju ni o čemu, ali mogu izuzetnom brzinom i vrlo točno, slijediti precizno napisane upute. Takve upute moraju se napisati u posebnom jeziku
ВишеSKRIPTE EKOF 2019/20 skripteekof.com Lekcija 1: Brojevni izrazi Lekcija 1: Brojevni izrazi Pregled lekcije U okviru ove lekcije imaćete priliku da nau
Lekcija : Brojevni izrazi Pregled lekcije U okviru ove lekcije imaćete priliku da naučite sledeće: osnovni pojmovi o razlomcima proširivanje, skraćivanje, upoređivanje; zapis razlomka u okviru mešovitog
Више