Algoritmi
Informatičari uče iskustvom. Učimo gledajući kako drugi rješavaju probleme i rješavajući probleme sami. Izloženost različitim tehnikama rješavanja problema i gledanje kako su dizajnirani različiti algoritmi pomaže nam da sljedeći put kad se pojavi sličan problem, bolje ga riješimo.
🇭🇷
In Croatian
In Croatian
Practice Known Questions
Stay up to date with your due questions
Complete 5 questions to enable practice
Exams
Exam: Test your skills
Test your skills in exam mode
Learn New Questions
Manual Mode [BETA]
Select your own question and answer types
Other available modes
Listening & SpellingSpelling: Type what you hear
SpeakingAnswer with voice
Speaking & ListeningPractice pronunciation
TypingTyping only mode
Algoritmi - Leaderboard
Algoritmi - Details
Levels:
Questions:
205 questions
🇭🇷 | 🇭🇷 |
Algoritam je | Precizno opisan način (metoda, postupak, pravilo) rješenja nekog problema, odnosno, točno propisani postupak za izvršavanje, određenim redoslijedom, definiranih koraka koji vode do rješenja problema |
Algoritmi mogu svoj izvor mogu pronaći u | Praktično iskustvo, znanstvena teorija, prethodno definirani algoritmi, domišljatost stvaratelja |
Pojedinačan korak algoritma zove se | Algoritamski korak |
Što su heuristički algoritmi? | Algoritmi koji dobro rade općenito, ali ne garantiraju dobre rezultate za svaki specifični problem |
Prvi zapis algoritma prilagođen računalu napisao/la je | Ada Byron - prva programerka |
Algoritam je korektan ako | Za sve dozvoljene ulaze omogućuje određivanje rezultata i ako je taj rezultat ispravan. |
Algoritam je uporabljiv ako | Se dobije rezultat u konačnom vremenu |
Vremenska složenost ili kompleksnost algoritma je | Trajanje algoritamskog procesa, izraženo kao broj osnovnih operacija koje treba obaviti |
Što treba provjeriti kod ulaznog podatka | Da je uvijek korektno zadan |
Učinkovit algoritam znači | Da završi u razumnom vremenu |
Je li učinkovitost ili konačnost važniji zahtjev kod izvršavanja algoritma? | Učinkovitost (pr. 1000 godina nije razumno vrijeme, ali je konačno) |
Osnovna svojstva algoritma su: | Ima(ili nema) ulazne podatke, ima izlazne podatke, uvijek je nedvosmisleno definiran, završava u konačnom vremenu, mora biti učinkovit(završiti u razumnom vremenu) |
Koliko ulaznih podataka ima svaki algoritam? | 0 ili više, ali konačno mnogo |
Algoritmi s 0 ulaza nisu jako česti, ali ima ih (obično, baš u matematici) a služi za | Opis fiksnog postupka (pr. provjeri je li 327 prost broj) |
Koliko najmanje izlaza mora imati algoritam | Najmanje jedan |
Što je izlaz algoritma? | Traženo “rješenje” našeg problema |
Kakvi algoritamski koraci moraju biti? | Izvedivi i jednoznačni |
Algoritam se sastoji od niza | Osnovnih (elementarnih, primitivnih) naredbi |
Kako moraju biti definirane algoritamske naredbe za onoga tko izvršava algoritam? | Jednoznačno i nedvosmisleno |
Nedopuštene akcije su | Dijeljenje s 0 (5/0) i dvosmislenost (uvećaj x za 5 ili 6) |
Pseudokod: ako je uvjet1 onda koraci1 inače, ako je uvjet2 koraci2 inače koraci3 odgovara kojem tipu razgranate strukture? | Višestruka selekcija |
Python: if uvjet1: koraci1 elif uvjet2: koraci2 else: koraci3 odgovara kojem tipu razgranate strukture? | Višestruka selekcija |
Metoda postupnog profinjavanja (engl. stepwise refinement) je | Proces rastavljanja probelma na nekoliko većih cjelina, koje rješavamo pazeći na zavisnost potproblema |
Što je potrebno znati kada za rješavanje problema koristimo računalo? | Što su elementarne naredbe — operacije i podaci |
Što koristimo za zapisivanje algoritama u računalu? | Programske jezike |
Koje su pretpostavke za pisanje algoritma? | Dobro poznavanje zadatka koji namjeravamo riješiti; ponešto znati i o rješenju, jer trebamo barem naslućivati što očekujemo od računala i kakva će informacija izaći na izlaznoj strani |
Što moramo napraviti za izvođenje algoritma na računalu? | Kodirati algoritam u nekom programskom jeziku |
Kôd algoritma mora biti potpuno u skladu sa čim? | Sintaksom izabranog formalnog jezika |
Kakav mora biti opis algoritma? | Precizan, čak i detalji koji nam se čine jasnima iz konteksta |
Što ako je algoritam namijenjen za čitanje ljudima? | Možemo ga zapisati na manje formalan način |
Što znači ako je sintaksa algoritma slobodnija a detaljno su raspisani samo dijelovi? | Da je zapisan na manje formalan način |
Zapisivanje algoritama u jednostavnom i preglednom obliku omogućavaju koje strukture? | Dijagram toka i pseudojezik |
Kojom strukturom se algoritam grafički predočava? | Dijagramom toka |
Kod dijagrama toka svaki algoritamski korak | Ima odgovarajući grafički simbol |
Na slici su prikazani elementi za | Dijagram toka |
Na slici je primjer zadatka prikazan s | Dijagramom toka |
Pseudokôd je | Tekstualni prikaz algoritma |
Zašto kažemo da je pseudokôd kvaziprogram? | Jer nalikuje računalnom programu ali to nije jer nije napisan u programskom jeziku pa se ne može izvršiti na bilo kojemu računalu |
Od čega se sastoji pseudokôd? | Kratkih izraza na govornom jeziku koji opisuju i ukratko objašnjavaju pojedine zadatke algoritma |
Kako treba biti napisan pseudokôd? | Tako da programer može na temelju njega napisati program u bilo kojem programskom jeziku |
Postoji li standardna verzija pseudokôda? | Ne; ovisno o kontekstu koristi se sažetiji ili detaljniji način zapisivanja algoritama |
Što koristimo kada želimo grupirati nekoliko uzastopnih naredbi u jednu cjelinu u pseudokôdu? | Uvlačenje |
Algoritam zapisan u pseudokôdu radi što? Početak Unesi broj A Unesi broj B C = A + B Ispiši C Kraj | Zbraja dva broja |
Što je apstrakcija? | Prikaz problema koji uzima u obzir samo bitne informacije |
Kod problema čovjek, kupus, koza i vuk koje su informacije bitne(apstraktne) za rješenje problema? | Gdje se (na kojoj strani rijeke) u kojem trenutku nalaze čovjek, kupus, koza i vuk |
Da bi riješili problem uz pomoć računala, potrebne su dvije stvari ... | Logički prikaz problema (obuhvaća sve važne aspekte problema) i algoritam koji rješava problem |
Ciklička struktura je | Niz algoritamskih koraka u kojem se jedan ili više algoritamskih koraka može izvršiti više od jedanput |
Ciklička struktura (eng. iterative control) na temelju algoritamskog koraka iterativno izvršava što? | Algoritamske korake |
Kada se koristi ciklička struktura? | Kada je potrebno neku instrukciju ili dio programa ponoviti više puta |
Iteracija je | Jedan prolaz kroz petlju |
Programski odsječak je | Tijelo petlje koje se izvrši u svakoj iteraciji |
Podvrste cikličke strukture su | Petlja s poznatim brojem ponavljanja i petlje koje se izvršavaju dok se ne ispuni neki uvjet |
Petlje koje se izvršavaju dok se ne ispuni neki uvjet se dijele na | Petlje s ispitivanjem uvjeta ponavljanja na početku i petlje s ispitivanjem uvjeta ponavljanja na kraju |
For petlja je osnovni oblik cikličke strukture koja omogućava što? | Da se blok naredbi izvršava točno n puta |
S obzirom na uvjet kakva je for petlja? | Bezuvjetna petlja |
Python brojanje iteracija započinje s | Nulom, a ne s jedinicom |
Što je range() ? | Ugrađena Python metoda za definiranje broja ponavljanja petlje |
Što generira range(start, stop, step) metoda u Pythonu? | Niz cijelih brojeva za dane parametre start i stop sa razlikom step između svaka dva broja |
Prvi parametar range metode | Predstavlja od kojeg broja niz započinje |
Drugi parametar range metode | Predstavlja na kojem broju niz završava |
Navođenjem jednog parametra range metoda pretpostavlja da je navedena vrijednost broj na kojem niz završava ali što karakterizira taj broj? | Taj broj na kraju nije uključen u krajnji rezultat |
Treći parametar range metode | Predstavlja "korak" ili razliku između dva uzastopna člana |
Razliku između dva uzastopna člana se uvijek računa kao | Trenutna vrijednost brojača uvećana za korak petlje |
Svojstva range() metode su | Radi samo s cijelim brojevima, sva tri argumenta, ako se navedu, mogu biti pozitivna ili negativna, potrebno je paziti na logiku programa kod step parametra (vrijednost ne smije biti nula - Python javlja grešku) |
Ako pokrenemo for i in range(2,10, 0.2): print(i) Dobit ćemo grešku TypeError: 'float' object cannot be interpreted as an integer zbog | Koraka u range metodi koji je float tip podatka a mora biti cijeli broj |
Ako neki znak stringa zamijenimo drugim, kao na slici, koji je rezultat? | Riječ ptprinplangplpgija sa znakovima jedan ispod drugog |
Uvjetna petlja je | Tip osnovne cikličke strukture koja blok koda izvršava sve dok je uvjet za izvršavanje tog koda zadovoljen |
Kako treba biti postavljen uvjet kod uvjetnih petlji? | Da on u nekoj iteraciji petlje postane nezadovoljavajući |
Break je | Ključna riječ koja se često koristi kod uvjetnih petlji |
Beskonača petlja je | Petlja čiji uvjet uvijek ostaje zadovoljen, te se zbog toga nikad ne prekida njeno izvršavanje |
Break je | Ključna riječ koja u potpunosti prekida izvršavanje petlje pa se koristi kao mehanizam provjere uvjeta |
Što radi program na slici? | Traži od korisnika unosi broja sve dok se ne unese 0 |
Continue je | Ključna riječ koja preskače trenutnu iteraciju petlje te ide odmah na iduću iteraciju |
Što će ispisati ovaj blok koda? | Trenutna vrijednost broja: 10 Ispisivam broj 9 Ispisivam broj 8 Ispisivam broj 7 Ispisivam broj 6 Ispisivam broj 4 Ispisivam broj 3 Ispisivam broj 2 Ispisivam broj 1 Ispisivam broj 0 |
Po čemu se razlikuju do-while i while petlja? | Po mjestu provjere uvjeta |
Kada while petlja provjerava uvjet? | Na početku(prije tijela petlje) |
Koje su mogućnosti izvršavanja while petlje? | 1. ukoliko je u prvoj iteraciji vrijednost uvjeta laž, naredbe unutar uvjeta se neće nikada izvršiti 2. beskonačna petlja ukoliko uvjet nikada ne postane lažan |
Kada do-while petlja provjerava uvjet? | Na kraju (nakon tijela petlje) |
Izvršavanje petlje ovisi o logičkom uvjetu, što ako je taj uvjet ispunjen a što ako nije? | Uvjet ispunjen (istina) tijelo petlje se izvršava uvjet nije ispunjen (laž) petlja završava |
Što se izvršava završetkom petlje? | Prva naredba ili linija kôda nakon programskog bloka petlje |
Kako nazivamo strukturu gdje imamo cikličku strukturu unutar druge cikličke strukture? | Ugniježđenim petljama ili petljama unutar petlje |
U ugniježđenim petljama koje strukture možemo kombinirati? | Bilo koju vrstu osnovnih cikličkih struktura (while-while, while-for, for-for) |
Gdje se primjenjuju petlje u petlji? | Kod implementacije algoritama sortiranja |
Za što služi metoda randint(start, stop)? | Generiranje cijelih brojeva u zadanom intervalu [start, stop> (kao vrijednost može doći početni, ali nikad neće doći krajnji broj) |
Kojim operatorima možemo ostvariti ispunjenje uvjeta? | Logičkim(AND, OR, NOT) i relacijskim(>, <, >=, ==, != ...) operatorima |