p6 Flashcards

1
Q

sta je cin i sta se tu nalazi

A

cin je globalna varijabla u koji se smjesta objekat tipa isteram

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

sta&raquo_space; u cin omogucava

A

da koristimo rightshift kao operator koji nam omogucava unos sa tastature

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

objasni rad&raquo_space; i cina

A

kada se pokrene egzekucijaa programa on ceka unos sa tastature –> tada radi line discipline terminala odnosno linijski editor teksta koji ceka da upisemo tekst u terminal

> > u pozadini poziva funkcionalnost koja to omogucava

editovanje traje dok korisnik ne unese enter i right shift dobije cijelu liniju teksta dok se ne unere enter iskljucujuci /n

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

sta je carrat

A

linija koja oznacava poziciju kursora i ona se moze mijenjati strelicama na tastaturi lijevo i desno a nezeljeni teskt je moguce izbrisati backspaceom

to se zove rudamentarno editovanje

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

sta se desi kada pri egzekuciji programa unesemo tekst i pritisnemo enter

A

kada se udari enter kompletna linija teksta se unese u jedan dio memorije koji nazivamo buffer (NE IDE DIREKTNO U VARIJABLU) i u njemu se tada nalaze svi uneseni kaarakteri

U PROGRAMU POSTOJI SAMO 1 ULAAZNI BUFFER

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

sta je parsiranje

A

pronalazenje i transformacija neceg nizeg stepena uredjenosti u visi stepen urednjenost

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

ko vrsi parsiranje i kako

A

parsiranje vrsi&raquo_space; operator tako sto pocinje aalizirati tekst iz buffera. pozicionira se na sami pocetak linije teksta i skrenira buffer do prve pozicije na kojoj se NE naalazi prazno mjesto. kada nadje prvo mjesto koje nije prazno ond na kom se nalazi neki karkter to kopira i nastavlja dalje da konzumira liniju teksta DO praznog mjesta

Odnosno&raquo_space; cita tekst iz buffera i kopira u varijablu uzimajuci u obzir njen tip sve do prvog praznog mjesta ili nevalidnog karaktera

> > ignorise prazna mjesta ako ih je vise, ali cim dodje do prvog obustavlja konzumiranje teksta i parsiranje u var

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

ukoliko unos teksta sa tastature bude vise rijeci sta ce se desiti

A

prva rijec nakon parsiranja ce biti smjestena u varijablu a ostatak rijeci biti ce spremljen u ulaznom bufferu pa pri ponovnom ucitavanju teksta u neku drugu var ucitati ce se tekst iz ulaznog buffera odnosno terminl nece traziti unos teksta iako mozda postoji cin

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

sta right shif konzumira

A

tekst iz ulaznog buffera ali ne sav tekst vec tekst do prvog nevalidnog karajtera odn praznog mjesta

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

kako se invalidiraju string i vector

A

obzirom da sting uzima bilo kakav tekst ukljucujuci i cifre i spec karaktere (jer sve to ima ASCII vrijednot) cin se ne moze invalidirati nekim posebnim karakterom vec samo enterom ili EOF karakterom
dok je kod vektora moguce invalidirati cin sa karakterom koji se razlikuje po tipu od tipa vrijednosti njegovh elemenata!!! odnosno ili prazan karakter ili neko slovo koje bi u kombinaciji sa prethodnim unosom dali nevalidan unos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

ako se desi greska pri unosu sta se nalazi u va

A

ako je unos INVALIDIRAN (npr ako kod vec int pokusavamo unositi sova konstantno) vrijednost u varijabli ce biti proizvoljna

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

konverzija cin u bollean i sta to znaci

A

cin iako objekat moze da se konvertuje u tip bool pri cemu ce se konvertovati u true ako je posljednji unos bio validan a u false ako je posljednji unos bio neuspjesan

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

da li je moguce unositi vrijednosti u vise var odjednom

A

da cin&raquo_space; x&raquo_space; y
kao i za cout

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

sta ukoliko je posljednji unos bio neuspjesan

A

ne moze se vise unositi karakteri putem&raquo_space; te je potrebno vartiti sve bite na interno stanje odn originalne postavke i koristimo
cin.clear()
nakon tog se cin u kodu tretira kao da je zadnji unos bio uspjesan

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

kako se moze ispitati da li je unos bio uspjesan

A

if(cin»var)
{
//
//
}
ako je uspjesan unos izvrsice se stejtmenti unutar if bloka

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

sta se desi sa input bufferom pri terminaciji programa

A

brise se sve iz njega

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

sta je ctrl+D

A

EOF karakter
terminira unos i cin je tada settovan na false

18
Q

ko procesira uneseni tekst u linijski editor

A

program NE KOMPAJLER

19
Q

direktiva za sortiranje

A

incc algorithm

20
Q

koji algoritam se koristi za sortiranje odn koja fja i kko

A

fja sort koja radi za bilo koji kontejner i sortira pomocu prozora nad elementima kontejnera
kojoj je potrebno proslijediti dva parametra gdje pocinje vektor odnosno prozor nad prvim elementom koi se moze odrediti preko fje begin(v); i i drugi parametar je prozor iza zadnjeg elementa koji je izvan kontejnera koji se dobije koristenjem end(v); metode

sortira se od begin do end ukljucujuci begin ali ne i end
[p, k)

21
Q

sintaksa sort alg i kako se izvrsava nad vectorom v

A

sort(begin(v), end(v));
pri cemu se prvo pozovu begin i end metode zatim sort

22
Q

sta predstavlja

uslov ? izraz1 : izraz2;

A

to je jedan ternarni operator (uzima 3 operanda) koji se koristi za jednostavne usovne izraze i vraca najveci tip info koji figurira u izrazu stoga neovisno koji se izraz vrati mora biti istog tipa ili eventualno mora se moci implicitno kovertovati iz tog u drugi tip

23
Q

redoslijed izvrasavanja

uslov ? izraz1 : izraz2;

A

prvo se izvrsi uslov koji vrati neku vrijednost
ta vrijednost se konvertuje u boolean
ako je true izvrsi se izraz 1 i vraca se vrijednost tog izraza, a ako je false ivrsi se izraz 2 i vraca se vrijednost tog izraza

24
Q

definiranje korisnickih tipova

A

koristi se typedef postojeci_tip novi_tip

najjedn nacin za napraviti novi tip je oristiti vec postojeci
koristi se novo imr kao sinonim za vec postojeci tip i to ime se dalje moze koristiti u bilo kojoj izjavi na mjestu tipa

25
Q

referenc

A

tip& refvae{var};
reference su nova imena za vec postojece varijable samim time MORAJU se inicijalizirati pri definiciji pomocu neke var i tipovi te var i reference na tu var MORAJU biti isti

26
Q

memorija reference

A

referenca nema svoj komad memorije vec gleda na isti komad memorije kao i varijabla kojom je inicijalizirana - samim tie-me predstavlja druo ime za tu varijablu stoga bio kakva operacija nad referencom ima direktan utjecaj na varijablu na ciju memorijsku lokaciju referenca pokazuje

27
Q

ako pomocu neke var inicijaliziramo drugu var koja nije i koja jest referenca koja je razlika

A

ako nije referenca - alociraj drugu memoriju za datu varijablu i u nju uploaduj vrijednosti iz prve varijable = kao rez imamo 2 var u memoriji koje cuvaju istu vrijednost (tipovi mogu biti razliciti pod uslovom da je moguca implicitna koverzija)

ako jest referenca - mora se inicijalizirati i tipovi moraju biti isti = ez je da se ne stvara nova varijabla vec se postojecoj da drgo ime, pa referenca pokazuje na memorijsku lokaciju i cita ili pise u nju = novo ime za tu var

28
Q

mozemo li inicijalizirati novu referencu vec postojecom

A

da i ima isti efekat kao inicijalizacija nove ref na original

29
Q

sta je fja

A

imenovani blok koda koji se po potrebi moze pozivati i izvrsavati vise puta

30
Q

prednost funkcija

A

bolja organizacija programa jer reducira ponavljanja
olaksava eventualne promjene u kodu
lakse razumjevanje programa
upotreba koda u drugim projektima

31
Q

sintaksa definicjie fje

A

povratni_tip ime_fje (lista_parametara) {
//
//
//
return izraz;
}

32
Q

kompajler kada vidi fju sta radi

A

prevede i provjerava gramatiku, ukoliko je sintaksicki tacna zapamti ime tog bloka zbog eventualnog poziva fje

33
Q

kako vrsimo poziv fje i sta to ima za posljedicu

A

ime_fje (lista_argumenata)

izvrsi se blok fje i vrati se vrijednost koja se sracuna kod return stejtmenta i koja ima tip povratnog tipa fje

34
Q

sta su parametri

A

Lok var u bloku fje koje ce biti inicijalizirane prosljedjenim argumentima pri pozivu fje

oni se daju u listi parametara koje je potrebno prethodno specificirati kao i njihpv tip

35
Q

sta su argumenti

A

Vrijednosti koje prosljedjujemo pri pozivu fje kojima ce se inicijaliziraati parametir u bloku fje
mora se dati arg za svaki parametar u fji, mora biti jednak broj ali ne mora biti isti tip ukoliko je moguca implicitna konverzija

argument moze biti i izraz, pa ce se pri pozivu prvo izvrsiti izrazi (nije specificirano kojim redoslijedom) pa ce se sa povratnim vrijednostima pozvati fja

36
Q

povratni tip fje

A

nakom izvrsenja fje on vraca vrijednost izraza u return sejtmentu konvertovanog u povratni tip fje i po izvrsenju vrijednost tog tipa se vraca na mjesto poziva fje

PARAMETRI koji su bili inicijalizirani u tijelu fje tada nestaju

37
Q

return stejtment

A

uzrokije momentalno napustanje bloka fje, a povratna vrijednost koja se dobije izvrsenjem ovog izraza se vraca na mjesto poziva fje ali ima tip specificiran kao povratni tip fje
tada se procesor vraca u blok odakle je fja pozvana

38
Q

ako je fja void

A

ne mora imati return stejtment

39
Q

da li je mogue izostaviti povratni tip fje odnosno koristiti auto

A

jeste, tada kompajler sam zakljucuje povratni tip na osnovu tipa vrijednosti koji se vrati izvrsenjem return stejtmenta
s tim da ako postoji vise return stejtmenta svi moraju vracati isti tip vrijednosti otherwise ce nastati error

40
Q

alternativna verzija definicije fje sa klj auto

A

auto imefje (lista_parametara) -> povtip {
//
//
//
return iraz;
}

povtip ne mora biti specificiran na verzijama c++ poslije verzije c++11