Podcast
Questions and Answers
Kateri od naslednjih atributov ni nujno povezan s spremenljivko?
Kateri od naslednjih atributov ni nujno povezan s spremenljivko?
- Vsebina (correct)
- Tip
- Naslov
- Ime
Vsaka celica pomnilnika je vedno v stanju 'dodeljena'.
Vsaka celica pomnilnika je vedno v stanju 'dodeljena'.
False (B)
Kaj imenujemo čas med ustvaritvijo in brisanjem spremenljivke?
Kaj imenujemo čas med ustvaritvijo in brisanjem spremenljivke?
življenjska doba
Spremenljivka ______ tipa zaseda eno samo celico.
Spremenljivka ______ tipa zaseda eno samo celico.
Povežite vrsto dodelitve pomnilnika z njenimi značilnostmi:
Povežite vrsto dodelitve pomnilnika z njenimi značilnostmi:
Katera vrsta dodelitve pomnilnika ne omogoča rekurzije?
Katera vrsta dodelitve pomnilnika ne omogoča rekurzije?
Lokalne spremenljivke imajo statično dodelitev pomnilnika.
Lokalne spremenljivke imajo statično dodelitev pomnilnika.
Kako imenujemo spremenljivko, ki jo ustvarimo z izrazom/ukazom in do nje dostopamo s kazalcem?
Kako imenujemo spremenljivko, ki jo ustvarimo z izrazom/ukazom in do nje dostopamo s kazalcem?
Kazalec, ki kaže na pomnilnik, ki ni več veljaven, imenujemo ______ naslov.
Kazalec, ki kaže na pomnilnik, ki ni več veljaven, imenujemo ______ naslov.
Kaj je glavni namen ukaza?
Kaj je glavni namen ukaza?
Preskok (skip) je ukaz, ki ima stranski učinek na spremenljivke.
Preskok (skip) je ukaz, ki ima stranski učinek na spremenljivke.
Kakšna je oblika splošnega prireditvenega ukaza?
Kakšna je oblika splošnega prireditvenega ukaza?
Pri prireditvenem ukazu, pravilo 'najprej leva stran' pomeni, da se najprej izračuna ______ spremenljivke V.
Pri prireditvenem ukazu, pravilo 'najprej leva stran' pomeni, da se najprej izračuna ______ spremenljivke V.
Katera izmed naslednjih trditev najbolje opisuje hkratno prireditev?
Katera izmed naslednjih trditev najbolje opisuje hkratno prireditev?
Klic procedure vedno spreminja vrednost spremenljivk.
Klic procedure vedno spreminja vrednost spremenljivk.
Kaj je 'krmilni tok'?
Kaj je 'krmilni tok'?
Računanje je ______, če lahko vnaprej natančno napovemo zaporedje korakov.
Računanje je ______, če lahko vnaprej natančno napovemo zaporedje korakov.
Kaj je značilno za pogojni ukaz?
Kaj je značilno za pogojni ukaz?
Ukaz 'case' (ali 'switch') omogoča izbiro samo na osnovi logičnih pogojev.
Ukaz 'case' (ali 'switch') omogoča izbiro samo na osnovi logičnih pogojev.
Kaj mora vrniti izraz E pri ukazu 'case'?
Kaj mora vrniti izraz E pri ukazu 'case'?
V jezikih C++ in Java se po končanem ukazu v bloku case
izvajanje prenese na ______ ukaz.
V jezikih C++ in Java se po končanem ukazu v bloku case
izvajanje prenese na ______ ukaz.
Kateri od naštetih jezikov ne prepozna switch-case
stavka?
Kateri od naštetih jezikov ne prepozna switch-case
stavka?
Iterativni ukazi se vedno izvedejo vsaj enkrat.
Iterativni ukazi se vedno izvedejo vsaj enkrat.
Iz česa je sestavljen iterativni ukaz (zanka)?
Iz česa je sestavljen iterativni ukaz (zanka)?
Iterativne ukaze delimo na dve skupini glede na to, ali je število ponavljanj ______ določeno.
Iterativne ukaze delimo na dve skupini glede na to, ali je število ponavljanj ______ določeno.
Kateri izmed naslednjih ukazov spada med nedoločne iteracije?
Kateri izmed naslednjih ukazov spada med nedoločne iteracije?
Za iteracijo s for zanki je vedno potrebno vnaprej določiti število ponovitev.
Za iteracijo s for zanki je vedno potrebno vnaprej določiti število ponovitev.
Kaj je 'krmilno zaporedje' pri iterativnih ukazih?
Kaj je 'krmilno zaporedje' pri iterativnih ukazih?
V imperativnih jezikih lahko ovrednotenje izraza tudi ______ spremenljivko.
V imperativnih jezikih lahko ovrednotenje izraza tudi ______ spremenljivko.
Kateri je glavni namen ovrednotenja izraza?
Kateri je glavni namen ovrednotenja izraza?
Izrazni jeziki ne potrebujejo pogojnih izrazov in pogojnih ukazov.
Izrazni jeziki ne potrebujejo pogojnih izrazov in pogojnih ukazov.
Kaj je stranski učinek pri ovrednotenju izraza?
Kaj je stranski učinek pri ovrednotenju izraza?
Imenujemo lokalna spremenljivka tista, ki je deklarirana ______ bloka.
Imenujemo lokalna spremenljivka tista, ki je deklarirana ______ bloka.
Kaj pomeni, da je spremenljivka 'trajna'?
Kaj pomeni, da je spremenljivka 'trajna'?
Če v C++ ali Javi uporabimo switch
stavek in pozabimo na ključno besedo break
, program javi napako.
Če v C++ ali Javi uporabimo switch
stavek in pozabimo na ključno besedo break
, program javi napako.
Katero operacijo izvedemo, da sprostimo pomnilnik, ki ga zaseda spremenljivka kopice?
Katero operacijo izvedemo, da sprostimo pomnilnik, ki ga zaseda spremenljivka kopice?
Postopek avtomatskega brisanja spremenljivk kopice se imenuje ______.
Postopek avtomatskega brisanja spremenljivk kopice se imenuje ______.
Kaj je značilno za dinamično alokacijo polja?
Kaj je značilno za dinamično alokacijo polja?
V C++ lahko ustvarimo statično polje s spreminjajočo se velikostjo med izvajanjem programa.
V C++ lahko ustvarimo statično polje s spreminjajočo se velikostjo med izvajanjem programa.
Katero ključno besedo uporabljamo v C++ za dinamično dodeljevanje pomnilnika?
Katero ključno besedo uporabljamo v C++ za dinamično dodeljevanje pomnilnika?
Flashcards
Spremenljivka
Spremenljivka
Entiteta, ki vsebuje vrednost, ki se lahko primerja, spreminja ali briše.
Pomnilnik (shramba)
Pomnilnik (shramba)
Zaporedje lokacij ali celic v pomnilniku, kjer so shranjeni podatki.
Dodeljena/nedodeljena celica
Dodeljena/nedodeljena celica
Stanje celice v pomnilniku, ali je zasedena (dodeljena) ali prosta (nedodeljena).
Trenutna vsebina celice
Trenutna vsebina celice
Trenutna vsebina celice v pomnilniku, ki je bodisi shranljiva vrednost ali nedefinirana.
Signup and view all the flashcards
Atributi spremenljivke
Atributi spremenljivke
Ime, tip, naslov celice (lokacija) in vrednost (vsebina celice).
Signup and view all the flashcards
Sestavljeni tip
Sestavljeni tip
Tip, katerega vrednost sestoji iz komponent, ki jih lahko selektivno obravnavamo.
Signup and view all the flashcards
Spremenljivka polja
Spremenljivka polja
Spremenljivka, ki jo lahko obravnavamo kot preslikavo iz množice indeksov v množico spremenljivk.
Signup and view all the flashcards
Statično polje
Statično polje
Polje spremenljivk, pri katerem je množica indeksov določena že v času prevajanja.
Signup and view all the flashcards
Dinamično alocirano polje
Dinamično alocirano polje
Polje spremenljivk, pri katerih se množica indeksov določi v času izvajanja.
Signup and view all the flashcards
Dinamično polje
Dinamično polje
Polje spremenljivk, pri katerem množica indeksov ni določena in se lahko spreminja.
Signup and view all the flashcards
Shranljive vrednosti jezika
Shranljive vrednosti jezika
Vrednosti, ki so shranjene v eni sami celici in jih ni možno selektivno ažurirati.
Signup and view all the flashcards
Življenjska doba spremenljivke
Življenjska doba spremenljivke
Čas med ustvaritvijo in brisanjem spremenljivke.
Signup and view all the flashcards
Statična dodelitev
Statična dodelitev
Dodelitev spomina spremenljivki pred pričetkom izvajanja programa.
Signup and view all the flashcards
Avtomatična dodelitev
Avtomatična dodelitev
Dodelitev spomina spremenljivki na skladu, kjer programer ne more vplivati na življenjsko dobo.
Signup and view all the flashcards
Dinamična dodelitev
Dinamična dodelitev
Dodelitev spomina spremenljivki na kopici, kjer ima programer vpliv na življenjsko dobo.
Signup and view all the flashcards
Lokalna spremenljivka
Lokalna spremenljivka
Spremenljivka, ki je deklarirana znotraj bloka in se uporablja samo znotraj tega bloka.
Signup and view all the flashcards
Globalna spremenljivka
Globalna spremenljivka
Spremenljivka, ki je deklarirana v najbolj zunanjem bloku programa.
Signup and view all the flashcards
Spremenljivka kopice
Spremenljivka kopice
Spremenljivka, ki jo lahko ustvarimo ali zbrišemo v kateremkoli trenutku z izrazom/ukazom.
Signup and view all the flashcards
Obviseli naslov
Obviseli naslov
Kazalec na spremenljivko, ki ne obstaja več.
Signup and view all the flashcards
Trajna spremenljivka
Trajna spremenljivka
Spremenljivka, ki ima življenjsko dobo daljšo od izvajanja programa.
Signup and view all the flashcards
Prehodna spremenljivka
Prehodna spremenljivka
Spremenljivka, ki ima življenjsko dobo omejeno z izvajanjem programa.
Signup and view all the flashcards
Ukaz
Ukaz
Programska fraza, ki jo izvršimo z namenom, da ažuriramo spremenljivke.
Signup and view all the flashcards
Preskok
Preskok
Ukaz, ki nima učinka na ažuriranje spremenljivk.
Signup and view all the flashcards
Prireditev
Prireditev
Ukaz, ki priredi vrednost izraza spremenljivki.
Signup and view all the flashcards
Večkratna prireditev
Večkratna prireditev
Ukaz kjer se vrednost izraza priredi vsem spremenljivkam.
Signup and view all the flashcards
Hkratna prireditev
Hkratna prireditev
Ukaz kjer se vrednosti n izrazov hkratno priredijo n spremenljivkam.
Signup and view all the flashcards
Klic procedure
Klic procedure
Podajanje dejanskih parametrov oz. argumentov proceduri.
Signup and view all the flashcards
Zaporedni ukazi
Zaporedni ukazi
Zaporedje ukazov, kjer se ukazi izvajajo v določenem vrstnem redu.
Signup and view all the flashcards
Vzporedni ukazi
Vzporedni ukazi
Ukazi, ki se izvajajo sočasno, vrstni red izvajanja ni določen.
Signup and view all the flashcards
Deterministično računanje
Deterministično računanje
Izvajanje ukazov, kjer lahko vnaprej natančno napovemo zaporedje korakov.
Signup and view all the flashcards
Nedeterministično računanje
Nedeterministično računanje
Izvajanje ukazov, kjer ne moremo vnaprej natančno napovedati zaporedja korakov.
Signup and view all the flashcards
Pogojni ukaz
Pogojni ukaz
Ukaz, ki izbere in izvrši samo enega od podukazov glede na vrednost logičnega izraza.
Signup and view all the flashcards
Izbirni ukaz
Izbirni ukaz
Ukaz, ki izbere eno od možnosti glede na vrednost v izrazu.
Signup and view all the flashcards
Iterativni ukaz ali zanka
Iterativni ukaz ali zanka
Ukaz, ki večkrat ponavlja izvajanje dela kode.
Signup and view all the flashcards
Nedoločne iteracije
Nedoločne iteracije
Ukazi, kjer število ponovitev ni vnaprej določeno.
Signup and view all the flashcards
Določne iteracije
Določne iteracije
Ukazi, kjer je število ponovitev vnaprej določeno.
Signup and view all the flashcards
Izrazni jezik
Izrazni jezik
Okrajšava za "expression-oriented language, ki se uporablja za jezike, kjer je ocenjevanje izrazov jedro programiranja.
Signup and view all the flashcards
Stranski učinek
Stranski učinek
Izraz, ki poleg izračuna vrednosti spremeni tudi stanje programa.
Signup and view all the flashcardsStudy Notes
Pomnilnik in spremenljivke
- Razumevanje spremenljivk je ključno za računalniško programiranje.
- Spremenljivka je entiteta, ki vsebuje vrednost.
- Vrednost spremenljivke se lahko primerja, spremeni ali izbriše.
- Model pomnilnika je pomemben za spreminjanje spremenljivk.
- Pomnilnik je zaporedje lokacij ali celic.
- Celice so dodeljene ali nedodeljene.
- Dodeljena celica ima vsebino, ki je lahko shranljiva vrednost ali nedefinirana.
Atributi spremenljivke
- Vsaka spremenljivka ima atribute: ime, tip, naslov in vrednost.
Sestavljeni tipi
- Vrednost sestavljenega tipa sestoji iz komponent, ki so selektivno obravnavane.
- Spremenljivka sestavljenega tipa sestoji iz komponent, ki se selektivno ažurirajo.
- Spremenljivka zapisa je n-terica komponent spremenljivk.
- Spremenljivka polja preslikava množice indeksov v množico spremenljivk.
- Spremenljivka osnovnega tipa zaseda eno celico, sestavljena pa več.
- Spremenljivka tipa T je definirana z isto strukturo kot vrednost tipa T.
- Vsaka vrednost tipa Card je dvojica CardSuit in CardRank.
- Spremenljivka tipa Card je dvojica suit in rank.
- Pri spreminjanju vrednosti sestavljenega tipa ločimo popolno in selektivno ažuriranje.
- Selektivno ažuriranje spremeni nekatere celice.
Spremenljivke polja
- Polje se obravnava kot preslikava indeksov v spremenljivke.
- Programski jeziki omogočajo različne načine za določanje množice indeksov.
- Polja se delijo na statična, dinamična z alokacijo in dinamična polja.
- Statično polje ima določene indekse že v času prevajanja.
- Dinamično alocirano polje ima indekse določene v času izvajanja.
- Pri prilagodljivem polju se lahko meje indeksov spreminjajo.
Shranljive vrednosti jezika
- Shranljive vrednosti jezika so shranjene v eni sami celici in jih ni mogoče selektivno ažurirati.
Življenjska doba spremenljivke
- Spremenljivka se najprej ustvari in kasneje izbriše.
- Življenjska doba je čas med ustvaritvijo in brisanjem.
- Spremenljivka zaseda pomnilnik samo med svojo življenjsko dobo.
- Novejši programski jeziki omogočajo statično, avtomatično in dinamično dodelitev pomnilnika.
- Statična dodelitev dodeli spomin pred izvajanjem, ki se sprosti po zaključku.
- Življenjska doba je enaka trajanju programa.
- Statična dodelitev ne omogoča rekurzije in zaseda prostor, čeprav spremenljivka ni dosegljiva.
- Globalne imajo statično dodelitev
- Spremenljivke, statične spremenljivke imajo statično dodelitev.
- Pri avtomatični dodelitvi programer ne more vplivati na življenjsko dobo.
- Lokalne spremenljivke in parametri abstrakcij imajo avtomatično dodelitev.
- Dinamična dodelitev se izvaja na kopici, kjer ima programer vpliv na življenjsko dobo.
- Na kopici imajo dodelitev dinamične spremenljivke.
Lokalne in globalne spremenljivke
- Lokalna spremenljivka je deklarirana znotraj bloka in se uporablja samo tam.
- Globalna spremenljivka je deklarirana v najbolj zunanjem bloku programa.
Spremenljivke kopice
- Spremenljivka kopice se ustvari in briše po želji programerja.
- Spremenljivka kopice se ustvari z izrazom/ukazom in je neimenovana.
- Nasprotno je lokalna spremenljivka ustvarjena s predpisano deklaracijo in ima identifikator.
- Spremenljivke kopice imenujemo tudi dinamične spremenljivke.
Ustvarjanje in brisanje spremenljivke kopice
- Za ustvarjanje se uporablja operacija dodelilnika.
- Spremenljivka ostane dostopna, dokler nanjo kaže vsaj en kazalec.
- Brisanje se lahko izvede implicitno ali eksplicitno.
Eksplicitno brisanje
- Slabosti eksplicitnega brisanja:
- zbriše se spremenljivko kopice, na katero kažejo kazalci,
- spremenljivka kopice se sploh ne zbriše,
- spremenljivka kopice zbriše večkrat.
Obviseli naslov
- Kazalec na spremenljivko, ki ne živi več, se imenuje obviseli naslov.
- Obviseli naslov nastane, ko se naslov lokalne spremenljivke priredi.
Trajne in prehodne spremenljivke
- Trajna spremenljivka ima življenjsko dobo daljšo od izvajanja programa.
- Prehodna spremenljivka ima življenjsko dobo omejeno z izvajanjem programa.
- Lokalne spremenljivke in spremenljivke kopice so prehodne.
Ukazi
- Ukaz je programska fraza, ki ažurira spremenljivke.
- Obstajajo osnovni in sestavljeni ukazi.
- Temeljni ukazi: preskoki, prireditve, klici procedur, zaporedni, vzporedni, pogojni, iterativni in bločni ukazi.
Preskok
- Preskok je najpreprostejši ukaz, ki ne ažurira spremenljivk.
- Uporablja se pri pogojnih ukazih
- Primeri: goto, break, continue
Prireditve
- Ukaz prireditve ima obliko V = E, kjer je V referenca in E izraz.
- Vrednost izraza E se priredi spremenljivki V.
- Pri prireditvi se najprej izračuna referenca spremenljivke V in nato izraz E.
Večkratna in hkratna prireditev
- Pri večtratni prireditvi se vrednost izraza E priredi vsem spremenljivkam V1,..., Vn.
- Pri hkratni prireditvi se vrednosti n izrazov priredijo n spremenljivkam V1,..., Vn.
Klici procedure
- Klic procedure ima obliko P(AP1,..., APn), kjer so APi dejanski parametri.
- Dejanski parameter je lahko izraz ali spremenljivka, ki da referenco.
- Klic procedure ažuriranje spremenljivk preko parametrov ali globalnih spremenljivk.
Vrstni red izvajanja
- Vrstni red izvajanja ukazov je pomemben za ažuriranje spremenljivk.
- Najpogostejši krmilni tok je zaporedje ukazov C1; C2.
- Pri vzporednih ukazih C1, C2 vrstni red izvajanja ni določen.
- Računanje je deterministično, če lahko napovemo zaporedje korakov, drugače je nedeterministično.
Nedeterministično izvajanje ukazov
- Primer nedeterminističnega izračuna: n = 7, n = n + 1.
- Rezultati so odvisni od vrstnega reda izvajanja.
Pogojni ukaz
- Pogojni ukaz je sestavljen iz podukazov, od katerih se izbere eden.
- Osnovna oblika: if E then C1 else C2.
- Izbira je odvisna od vrednosti logičnega izraza E.
Izbirni ukazi
- Izbira med podukazi je možna na osnovi vrednosti.
- Ukaz case ali switch:
- Seznam primerov: case izraz of primer1: ukaz1, primer2: ukaz2, ...
- end
- Izraz mora vrniti rezultat, ki se ujema z enim od literalov.
- V C++ in Java se prenesemo na ukaz Ci+1, pri izhodu iz klicanja break pa se preselimo ven.
- Iz vidika OOP izbirni ukazi niso implementacije - polimorfizem
- Python, Lua, itd. nimajo switch-case stavka
Iterativni ukazi
- Iterativni ukaz ali zanka je sestavljena iz telesa in testa zaključka.
- Test zaključka določa, kdaj se ponavljanje zaključi.
- Razdelitev na nedoločne in določne iteracije.
Nedoločne iteracije
- Število ponovitev ni vnaprej določeno.
- Primer: while in repeat (do while).
Iterativni ukazi
- Splošnejša oblika s testom kjerkoli znotraj telesa: repeat C1 while E do C2.
- Najprej C1, sledi test E, nato C2 in C1 se ponavljata, dokler ni izpolnjen test E.
Določne iteracije
- Število ponovitev je vnaprej določeno.
- Uporablja se krmilna spremenljivka z vnaprej določenimi vrednostmi.
- Za vsako vrednost se izvrši telo zanke.
- Ukaz for:
- for V := E1 to E2 do C
- for V := E1 to E2 by E3 do C
Iterator
- Zaporedje lahko vsebuje vrednosti poljubnega tipa:
- for V in E do C Status krmilne spremenljivke se razlikuje med jeziki, doseg krmilne spremenljivke, vrednost krmilne spremenljivke po zaključku zanke, vrednost krmilne spremenljivke pri skoku iz zanke in dovoljeno prirejanje krmilne spremenljivke.
Ovrednotenje izraza
- Glavni namen je dobiti vrednost, ki lahko tudi ažurira spremenljivko s stranskim učinkom.
- Izrazni jezik nima razlike med izrazi in ukazi.
- Ovrednotenje ima hkrati vrednost in stranski učinek na spremenljivke.
- Slaba stran je, da vzpodbuja k uporabi stranskih učinkov.
- Rust, Scala sta primera izraznih jezikov
- Ne rabimo pogojnih izrazov, ker se lahko izrazov kombinira
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.