SEARCH
You are in browse mode. You must login to use MEMORY

   Log in to start

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
Created:
Algoritmi


Public
Created by:
Antonela Prnjak


4.75 / 5  (2 ratings)



» To start learning, click login

1 / 25

[Front]


Algoritam je
[Back]


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

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

Popular in this course

multiple choiceMultiple choice mode
Learn with flashcards

Dynamic Modes

SmartIntelligent mix of all modes
CustomUse settings to weight dynamic modes

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

43 users have completed this course

No users have played this course yet, be the first


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
Što su heuristički algoritmi?
Algoritmi koji dobro rade općenito, ali ne garantiraju dobre rezultate za svaki specifični problem
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
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
Što je izlaz algoritma?
Traženo “rješenje” našeg problema
Algoritam se sastoji od niza
Osnovnih (elementarnih, primitivnih) naredbi
Nedopuštene akcije su
Dijeljenje s 0 (5/0) i dvosmislenost (uvećaj x za 5 ili 6)
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
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
Kod dijagrama toka svaki algoritamski korak
Ima odgovarajući grafički simbol
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 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
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
Š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
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 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
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
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