Worksheetscucc
Total questions: 97
Worksheet time: 49mins
A csővezetékben az OCCAM folyamatokat a következő konstrukcióval futtathatjuk:
PAR
FOR
SEQ
ALT
A literál:
olyan lista, amelynek elemei nem lehetnek listák
egyszerű függvény
olyan változó, amelynek nincs azonosítója, pointer mutat rá
érték szöveges formátumban
A smalltalk feltételes vezérlési szerkezetei
boolean típusú objektumot várnak paraméterként
többirányú elágazást tesznek lehetővé
csak kétirányú elágazást tesznek lehetővé
a boolean osztály üzeneteiként vannak megvalósítva
A smalltalk metaosztály
absztrakt osztály
osztály reprezentánsobjektumának típusa
szülő nélküli ősosztály
több őssel rendelkező osztály
A smalltalk üzenetek precedencia sorrendje:
zárójelezett, unáris, bináris
bináris, unáris, kulcsszavas
kulcssazavas, bináris, unáris
unáris, bináris, kulcsszavas
Az alporgramok alkalmazása milyen hatással van a szoftverminőségre?
Javítja az újrafelhasználhatóságot, de csökkenti a karbantarthatóságot
Javítja a módosíthatóságot, és növeli a zárt modulok számát
Javítja az újrafelhasználhatóságot, és növeli a karbantarthatóságot
Javítja a karbantarthatóságot, de csökkenti az olvashatóságot
Az alprogramok hívásakor melyek a paraméterátadás alapesetei?
bemenő és visszatérési érték
másolás vagy hozzárendelés
bemenő vagy kimenő
bemenő, kimenő és be-kimenő
Az automatikus változó
explicit utasítás kiadása nélkül jön létre és szűnik meg
többszöri értékadás esetén sem változik
többszöri létrehozás esetén is ugyanazt az értéket kapja
élettartama meghaladja a program futásának időtartalmát
Az OCCAM beépített kommunikációs utasítások:
közvetlen üzenetküldést használnak
aszinkron üzenetküldést használnak
szinkron üzenetküldést használnak
biztosítják a közös erőforráshoz való biztonságos hozzáférést
Az OCCAM nyelv:
párhuzamos, imperatív
imperatív, objektumorientált
párhuzamos, eseményvezérelt
párhuzamos, objektumorientált
Az OCCAM nyelv elemi folyamatai
SEQ, PAR, IF, WHILE, ALT
SKIP, STOP, értékadás, SEQ, PAR
SKIP, STOP, PROC, SEQ, PAR
SKIP, STOP, értékadás, inpu,t output
Blokkstruktúrált programozási nyelvben a hatáskör
azt adja meg, hogy a változók a program mely részén kaphatnak értéket
azt adja meg, hogy a változóknak mi az azonosítója
azt adja meg, hogy az azonosítókra a program mely részén hivatkozhatunk
a változó létrehozásától a megszűnésig tart
Egy OCCAM csatorna
kettő vagy több folyamat közötti adatátvitelt biztosít
elvégzi az üzenetek pufferelését
tetszőleges típusú adat küldésére alkalmas
egyirányú, az átvitt adat soha nem sérülhet
egy paraméter nélküli smalltalk blokknak melyik üzenetet lehet elküldeni
for
do
value:
value
Funkcionális nyelvek lehetséges kiértékelési módszerei
eseményvezérelt, szekvenciális
mohó, lusta
balról jobbra, jobbról balra
absztrakt, konkrét
A funkcionális programozás jellemzői
utasítások helyett kifejezések, ciklus és rekurzió
utasítások helyett kifejezések, ciklus helyett rekurzió, polimorf típusok
utasítások helyett kifejezések, ciklus helyett rekurzió, monomorf típusok
utasítások és kifejezések, ciklus helyett rekurzió, polimorf típusok
Hasskellben melyik típus lehet polimorf
bool
integer
lista
bármelyik elemi típus
haskellben mi az alábbi függvény típusa?
f[]_ = []
f(x:xs)a=(a x):(f xs a)
f::[Int] -> a -> [a]
f::[b] -> (b->c)->[c]
f::(a->Int)->[a] ->[a]
f::[Int]->[a]
Haskellben milyen következményei vannak a mohó kiértékelésnek
a rekurzív függvényeknek bázisesetet kell tartalmazniuk
függvény hívásakor a paraméterek csak szükség esetén értékelődnek ki
potenciálisan véges adatszerkezetk használhatók
nem találja meg mindig a normálformát
Hogyan fogalmazhatunk meg összetett kérdést Prolog-ban
szabályok és tények felsorolása logikai ÉS operátorokkal
szabályok és tények felsorolása logikai VAGY operátorokkal
szabályok felsorolása logikai ÉS operátorokkal
a tények felsorolása logikai ÉS operátorokkal
Mellékhatás
egy statikus változót felülírunk
if utasítás else ágára adódik a vezérlés
kifejezés kiértékelése közben a kifejezésben nem szereplő változó értéke is megváltozhat
programhiba miatt egy file tartalma módosul
Mely üzenet nem alkalmas objektum másolására smalltalk-ban
shallowCopy.
copy.
deepCopy.
directCopy.
Melyek a főbb típuskonstruckiós formák?
a Type és a Data kulcsszavakkal definiálható típusok
az elemi és összetett típusok
Bag, set és Array típusok
direktszorzat, unió és rekurzív típusok
Mely állítás hamis egy függvényhívás befejezésére vonatkozóan
csak elemi típusú értékkel térhet vissza egy függvény
a visszaadott érték adattípusa meg kell, hogy egyezzen a szignatúrában megjelölt visszatérési típussal
a visszatérési utasítás kiadása után a vezérlés visszakerül a függvényhívás utáni pozícióba
a visszatérési utasítás kiadása után a függvény végrehaktása azonnal befejeződik
Melyik implementációs stratégia alkalmas egy általános célú nyelv megvalósítására
hibrid
fordítóprogram
értelmező
mindegy
Mi az a Curry módszer?
a funkcionális nyelvek esetén alkalmazható részleges függvény paraméterezés
az imperatív nyelvek esetén alkalmazható részleges függvény hívás
a deklaratív nyelvek esetén alkalmazható formális függvény definíció
a funkcionális nyelvek esetén alkalmazható összetett függvény hívás
Mire használhatjuk a ++ műveletet Haskell-ben
számok hatványozására
számok összeadására
számok litáshoz adására
listák összefűzésére
Mit általánosít az eljárás és a függvény?
a vezérlési szerkezeteket
az utasításokat és az operátorokat
az utasításokat és a folyamatokat
a paraméterezhető és a nem paraméterezjető blokkokat
Mit nevezünk kötött uniónak
az olyan unió konstrukciót, amelyben az unió csak két tagot tartalmazhat
az olyan unió konstrukciót, amelyben az unió tagjai csak elemi típusok lehetnek
az olyan unió konstrukciót, amelyben a programozási nyelv fordítási időben ellenőrzi a tárolt objektum dinamikus típusát
az olyan unió konstrukciót, amelyben a programozási nyelv futási időben ellenőrzi a tárolt objektum dinamikus típusát
Objektumorientált programnyelvben az absztrakt osztály
nem implementált adattagot tartalmaz
nem implementált metódost tartalmaz
nem őse egyetlen leszármazott osztálynak sem
olyan osztály, amelynek egynél több őse van
Occam ALT folyamat életciklusa:
a komponensek egymás után indulnak, szinkron módon futnak, bevárják egymást a végén
addig vár, amíg valamelyik feltétel igaz nem lesz, ekkor az ehhez tartozó folyamat lefut, majd az ALT befejeződik
a feltételeket egymás után vizsgálja, a legelső igaz feltételhez tartozó folyamat lefut, majd az ALT befejeződik
ciklusban vár csatornákon történő adatküldésre, és a küldött adatot fogadja
Programok vezérlési módjai
imperatív, párhuzamos, logikai
interpretált, fordítóprogramos, hibrid
imperatív, eseményvezérelt, logikai
imperatív, deklaratív, párhuzamos, eseményvezérelt
Prolog adattípusok
atom, term, szabály
int, char, bool
egyszerű term, összetett term
integer, atom, string, változó
Prolog változók lehetséges állapotai:
kötött, szabad, szabad megosztott
kötött, szabad
definiált, definiálatlan, végleges
kötött, szabad megosztott, megosztott
Prologban az x(h,t(A,g))=x(h,t(f,B)) illesztés eredménye:
Illeszkedik, A = f és B = g lesz
Illeszkedik, A és B szabad megosztott lesz
nem illeszkedik, mert A nem egyesíthető B-vel
nem illeszkedik, mert A nem egyenlő B-vel
Smalltalk osztályok adattagjainak láthatósága
privát, publikus
privát, objektumszintű védelemmel
privát, osztályszinítű védelemmel
publikus, osztályszintű védelemmel
Szintaxis és szemantika közötti különbség
szintaxis: formai szabályok, szemantika: jelentés, működési szabályok
szintaxis: egyszerű, szemantika: összetett, haladó szintű
szintaxis: input/output formátuma, szemantika: formai szabályok
szintaxis: formai szabályok, szemantika: input/output formátuma
A következő OCCAM kód futása után i értéke
SEQ i = 0 FOR 9
PAR
c ! i
c ? j
0
8
9
10
A következő OCCAM kód futása után i értéke
SEQ i = 5 FOR 10
PAR
c ! i
c ? j
15
14
10
5
Az élettartam
egy változó létrehozása után definiált blokk
egy azonosító deklarációja és megszűnése között eltelt idő
az a blokk, ahol egy adott változóra minősítés nélkül hivatkozhatunk
egy változó létrehozása és megszűnése között eltelt idő
Gyenge típusosság jelentése
fordítási idejű típusellenőrzés szükséges
futás idejű típusellenőrzés szükséges
fordítási időben ellenőrizhető típusok
fordítási időben meghatározható típusok
Leképezéssel nem modellezhető összetett típusok
halmaz, bináris fa, rekord
tömb, asszociatív tömb
tömb, szórát, függvény
rekord, unió, függvény
Melyik nem esetvizsgálatra használt konstrukció Haskell-ben?
a lokális függvény
a mintaillesztés
az if kifejezés
a case kifejezés
Mit általánosít az eljárás és a függvény?
az utasításokat és az operátorokat
a paraméterezhető és a nem paraméterezhető blokkokat
a vezérlési szerkezeteket
az utasításokat és a folyamatokat
Mit nevezünk szabad uniónak?
az olyan unió konstrukciót, amelyben az unió elemeit szabadon változtathatjuk
az olyan unió konsturkciót, amelyben az unió tetszőleges elemi típust használhat
az olyan unió konstrukciót, amelyben a programozási nyelv nem végez típusellenőrzést
az olyan unió konstrukciót, amelyben a programozási nyelv végez típusellenőrzést
Az OCCAM IF folyamat életciklusa
a komponensek egymás után indulnak, szinkron módon futnak, bevárják egymást végén
a feltételeket egymás után vizsgálja, ha nincs igaz feltétel az IF befejeződik
addig vár, amíg valamelyik feltétel igaz nem lesz, ekkor az ehhez tartozó folyamat lefut, majd az IF befejeződik
a feltételeket egymás után vizsgálja, a legelső igaz feltételhez tartozó folyamat lefut, majd az IF befejeződik
Az OCCAM-ban a multiplexer megvalósításához melyik folyamat nélkülözhetetlen?
ALT
PAR
SEQ
IF
Prolog változókra igaz, hogy
szabad változó csak kötött változóval illeszkedhet
szabad változók csak egyszer válhatnak kötötté
kötött változók újra szabaddá válhatnak visszalépés esetén
kötött változók megosztottá válhatnak szabad változó illesztésekor
Prologban az összetett termek illeszkednek, ha
a funktorok és a résztermek száma megegyezik és a résztermek illeszkednek
csak ha azonos résztermekből állnak
ha nincs bennük változó
eltérő a résztermek száma, de a funktor megegyezik
Smalltalk bináris üzenetek aszociativitása
mindig zárójelekkel ki kell jelölni a műveletek sorrendjét
balról jobbra
jobbról balra
jobbról balra vagy zárójelekkel
Smalltalk blokknak küldött value üzenet által visszaadott érték
a blokk első kifejezésének értéke
nil
maga a blokk
a blokk utolsó kifejezésének értéke
Dinamikus változó
explicit utasítással létrehozott változó
többszöri létrehozás esetén is ugyanazt az értéket kapja
élettartama meghaladja a program futásának időtartamát
többszöri értékadás esetén sem változik
A függvény mely alacsonyabb szintű program egység absztrakciója?
utasítás
kifejezés
deklaráció
hivatkozás
kölcsönös kizárás:
megakadályozza, hogy egyidőben több folyamat is használjon egy erőforrást
olyan kódrészlet, amely több folyamat által használt erőforrást ér el
nemkívánatos helyzet, amelyben a folyamatok körben egymásra várakoznak
olyan módszer, amivel megakadályozzuk a közös változók írását
Az Object osztály az Smalltalkban:
absztrakt osztály
szülő nélküli ősosztály
osztály reprezentánsobjektumának típusa
több őssel rendelkező osztály
Formális paraméter
függvényhíváskor megadott paraméter, ha az függvény
függvényhíváskor megadott paraméter, ha az változó
függvényhiváskor megadott paraméter
függvényhíváskor fejlécben megadott paraméter
Haskellben milyen a polimorf függvény?
bázisesetet és rekurzív esetet is kell tartalmaznia
tetszőlegesen hosszú lista is átadható paraméterként
több visszatérési értéke lehet
egy függvénytörzs több, különböző típusú függvényt definiál
Melyik nem egy programozási nyelv implementációs stratégiája?
fordító
ütemező
értelmező
hibrid
Milyen paraméterátadási módok léteznek?
csak érték szerinti és cím szerinti
bemenő vagy kimenő
csak másoló vagy adatmozgató
érték szerinti, cím szerinti, eredmény szerinti
Mire használhatjuk a select üzenetet smalltalk-ban?
a címzett kollekció elemein végrehajtja az üzenet blokkjában található utasításokat
végiglépked a címzett kollekción és visszatér egy olyan kollekcióval, melyek megfelelnek a blokkban található feltételnek
egy iterált vezérlés során tudjuk az üzenettel egy adott kollekcióhoz rendelni az elemeket
összehasonlítja az üzenet argumentumával a címzett objektumot
Prologban az x(A,t(f,g))=x(B,t(f,g)) illesztés eredménye:
nem illeszkedik, mert A nem egyesíthető B-vel
illeszkedik, A = f és B = g lesz
Illeszkedik, A és B szabad megosztott lesz
nem illeszkedik, mert A nem egyenlő B-vel
Smalltalk öröklődéskor ősök száma
legalább 2
pontosan 1
egy vagy kettő
nulla vagy 1
Mit határoz meg a program egy adott pontjának környezete?
a változók értékkészletét és a rajtuk elvégezhető műveleteket
a metódusok definíciója
az elérhető azonosítók halmazát és ezek jelentését
a meghívható eljárások és függvények halmazát
Az OCCAM SKIP folyamat
elindul, nem csinál semmit, befejeződik
kilép az előző ciklusból
elindul, vár egy üzenetre, befejeződik
elindul, nem csinál semmit, nem fejeződik be
Erős típusosság jelentése
fordítási időben meghatározható típusok
fordítási időben ellenőrízhető típusok
futás idejű típusellenőrzés szükséges
fordítási idejű típusellenőrzés szükséges
Hogyan tudunk egész számokból álló végtelen listát létrehozni haskellben?
[1..unlimited]
[1..végtelenjel]
[1..]
nem lehetséges végtelen listát létrehozni
Leképezéssel modellezhető összetett típusok:
tömb, szótár, függvény
halmaz, függvény, rekord
tömb, függvény, rekurzív típus
rekord, unió, halmaz
melyek az alprogramok leggyakoribb fajtái?
folyamatok
az utasítások és a kifejezések
a paraméteres és a nem paraméteres metódusok
az eljárások és a függvények
Melyik állítás hamis az eldöntendő és az általános Prolog kérdésekre vonatkozóan?
általános kérdésnél az összes lehetséges választ megkaphatjuk
eldöntendő kérdésnél igaz/hamis a válasz
általános kérdést szabad változóval, eldöntendő kérdést literálokkal tudunk feltenni
általános kérdés megadása csak egy hozzátartozó szabály definiálásával lehetséges
Mire használhatjuk a collect üzenetet smalltalk-ban?
a címzett kollekció elemein végrehajtja az üzenet blokkjában található utasításokat
végiglépked a címzett kollekción és visszatér egy olyan kollekcióval, melyek megfelelnek a blokkban található feltételnek
összehasonlítja az üzenet argumentumával a címzett objektumot
egy literált vezérlés során tudjuk az üzenettel egy adott kollekcióhoz rendelni az elemeket
Mire használható az out.string folyamat az OCCAM-ban?
egy karakteresorozatot ír a paraméterben megadott BYTE csatornára
BYTE típusú csatornáról tudunk adatot beolvasni
tetszőleges típusú csatornák kezelésére szolgál
meghívja az out változó string metódusát, amely karaktersorozattá alakítja értékét
Párhuzamos program előnyei lehetnek:
kölcsönös kizárás, szinkronizáció, holtpont
sebességfüggőség, nemdeterminisztikus viselkedés
dekompozíció, nemdeterminisztikus viselkedés
sebességnövekedés, átláthatóbb programszerkezet
Deklaráció lehetésges fajtái
egyszerű, összetett, iteratív
szekvenciális, párhuzamos, alternatív
független, szekvenciális, rekurzív
független, párhuzamos, rekurzív
Mi a különbség a szinkron és aszinkron üzenetküldés között?
szinkronnál a folyamatok bevárják egymást, aszinkronnál nem
szinkronnál a folyamatok bevárják egymást, aszinkronnál csak a küldő nem vár
szinkronnál a folyamatok bevárják egymást, azinkronnál csak a fogadó nem vár
aszinkronnál a folyamatok bevárják egymást, szinkronnál nem
mi a különbség az absztrakt adattípus és az objektumorientáltság között?
az egyik funkcionális nyelvekben, a másik objektumorinetált nyelvekben használatos
öröklődés, példányosíthatóság
nincs különbség
az absztrakt adattípusnak nincs művelete, csak értékhalmaza
mit nevezünk nyitott modulnak?
az olyan abszrakt adattípust, amely nem bővíthető
az olyan modult, amely jól definiált interfészen keresztül érhető el, és szolgáltatásai bővíthetők
az olyan modult, amelynek több interfésze van
az olyan modult, amely jól definiált interfészen keresztül érhető el, és csak változatlan formában lehet felhasználni
mit nevezünk zárt modulnak?
az olyan modult, amely jól definiált interfészen keresztül érhető el, és csak változatlan formában lehet felhasználni
az olyan modult, amely jól definiált interfészen keresztül érhető el, és szolgáltatásai bővíthetők
az olyan absztrakt adattípust, amely nem bővíthető
az olyan modult, amelyhez nem lehet hozzáférni
Mitől lehet jó egy programozási nyelv?
ha támogatja az objektum orientált szemléletet
ha természetes kifejezésmóddal rendelkezik és támogatja az ortogonalitást
ha hiba nálkül működik
ha minél több elemi típust támogat
prolog változók felhasználási területei
általános kérdések megadása, szabályok megadása
input/output műveletek megadása
listák, összetett term-ek definiálása
atomok definiálása
Haskellben a függvénydefiníciók fajtái
anoním, függvény, névvel ellátott függvény
lokális függvény, globális függvény
alternatívák, őrök, feltételes kifejezés
egyszerű rekurzió, összetett rekurzió, kölcsönös rekurzió
Occamban melyik többszörös értékadás helyes
i, y[i] := 0, y[i]
x, y, z := a
i, x[j] := y, y
x, x, z := a, b, c
A kritikus szakasz
olyan módszer, amivel megakadályozzuk a közös változók írását
megakadályozza, hogy egyidőben több folyamat is használjon egyerőforrást
olyan erőforrás, amelyet több folyamat is használni szeretne
olyan kódrészlet, amely több folyamat által használt erőforrást ér el
Az eljárás mely alacsonyabb szintű program egység absztrakciója
kifejezés
literál
utasítás
deklaráció
Dinamikus tömb
futás közben adható meg a mérete, létrehozás után a méret nem változhat
futás közben adható meg a mérete, létrehozás után a méret változhat
explicit utsítás kiadása nélkül jön létre, létrehozás után a méret változhat
futás közben többször is létrehozható/megszüntethető, de a mérete mindig ugyanakkora
egy haskell változó
rekurzív híváskor kaphat többször is értéket
nagybetűvel vagy aláhúzásjellel kezdődik
létrehozáskor nil az értéke
csak egyszer kaphat értéket
mely operátorok esetén van szükség precedencia szabályokra?
prefix
infix
postfix
mindhárom
OCCAM-ban a demultiplexer megvalósításához melyik folyamat nélkülözhetetlen
SEQ
IF
PAR
ALT
Smalltalk blokk paramétereinek száma lehet
nulla, egy vagy több
egy vagy több
nulla
egy
A csővezeték OCCAM-ban:
történő használatához nincs szükség csatornára
folyamatok szekvenciális futtására használható
folyamatok párhuzamos futtására használható
szinkron csatornák pufferezését oldja meg
Haskell tuple (n-es) típus milyen halmazművelettel képezhető?
hatványhalmaz
rekurzió
descartes szorzat
diszjunkt unió
A prolog következtetőrendszer
mohó kiértékelési módszerrel működik
csak eldöntendő kérdések megválaszolására alkalmas
visszalépéses keresést alkalmaz
csak szabad változókra működik
A szinkronizáció
olyan módszer, amivel megakadályozzuk a közös változók írását
nemkívánatos helyzet, amelyben a folyamatok körben egymásra várakoznak
olyan módszer, amivel kölcsönös kizárást valosítunk meg
olyan módszer, amivel folyamatokat időrendi lefutását szabályozhatjuk
Az OCCAM STOP folyamat
kilép a programból
elindul, nem csinál semmit, befejeződik
elindul, vár egy üzenetre, befejeződik
elindul, nem csinál semmit, nem fejeződik be
Mit határoz meg egy adattípus általánosan
az adat tárolási módját
publikus adattagokat, metódusokat
a számok értékes jegyeinek számát
értékkészletet, elvégezhető műveleteket
Mi az aktuális és a formális paraméterek viszonya
az alprogram hívásakor megfeleltetjuk az aktuális paramétereket a formális paramétereknek
a formális paraméter változhat, az aktuális nem
az alprogram hívásakor megfeleltetjük a formális paramétereket az informális paramétereknek
a formális paramétereket a program tervezésekor, az aktuális paramétereket a program végrahajtásakor használjuk
Mit takar az egy típus-egy modul kifejezés
egy típus műveletei lehetőleg kerüljenek egy modulba
egy modul csak egy típusttartalmazzon
egy típus műveletei kerüljenek külön (egy-egy) modulokba
a programunk lehetőleg egy modulból álljon, amelyben egy típust használunk
Prolog adatbázis elemei
szabályok és kérdések
tények, szabályok
tények, kérdések, változókat tartalmazó szabákyok
tények, kérdések, szabályok
