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 Croata
In Croata
Practique preguntas conocidas
Manténgase al día con sus preguntas pendientes
Completa 5 preguntas para habilitar la práctica
Exámenes
Examen: pon a prueba tus habilidades
Pon a prueba tus habilidades en el modo de examen
Aprenda nuevas preguntas
Popular en este curso
Aprende con fichas
Modos dinámicos
InteligenteMezcla inteligente de todos los modos
PersonalizadoUtilice la configuración para ponderar los modos dinámicos
Modo manual [beta]
Seleccione sus propios tipos de preguntas y respuestas
Otros modos disponibles
Escuchar y deletrearOrtografía: escribe lo que escuchas
elección múltipleModo de elección múltiple
Expresión oralResponde con voz
Expresión oral y comprensión auditivaPractica la pronunciación
EscrituraModo de solo escritura
Algoritmi - Marcador
Algoritmi - Detalles
Niveles:
Preguntas:
205 preguntas
🇭🇷 | 🇭🇷 |
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 |