Informatika1-2007/Feladatok
a (Informatika1/Feladatok moved to Informatika1-2007/Feladatok: Új félév jött.) |
|||
(2 szerkesztő 24 közbeeső változata nincs mutatva) | |||
1. sor: | 1. sor: | ||
− | == Feladatok == | + | == Feladatok az 1. ZH-hoz == |
=== Logikai műveletek === | === Logikai műveletek === | ||
14. sor: | 14. sor: | ||
## 1 1/3 + 2 2/3 | ## 1 1/3 + 2 2/3 | ||
# Konvertáljuk az alábbi 2-es komplemensben ábrázolt számokat 10-es számrendszerbe. Minden szám épp annyi bites ábrázolást használ ahány bitje meg van adva.<br/> (a) 00101011 (b) 1101 (c) 11010 (d) 10111111 | # Konvertáljuk az alábbi 2-es komplemensben ábrázolt számokat 10-es számrendszerbe. Minden szám épp annyi bites ábrázolást használ ahány bitje meg van adva.<br/> (a) 00101011 (b) 1101 (c) 11010 (d) 10111111 | ||
− | # Konvertáljuk 2-es komplemens 8-bites alakba az alábbi számokat<br/> (a) 15 (b) -15   (c) 100 (d) -100 | + | # Konvertáljuk 2-es komplemens 8-bites alakba az alábbi számokat<br/> (a) 15 (b) -15 (c) 100 (d) -100 |
# Melyik a legnagyobb és legkisebb ábrázolható szám 2-es komplemens ábrázolás esetén (a) négy, (b) nyolc biten? | # Melyik a legnagyobb és legkisebb ábrázolható szám 2-es komplemens ábrázolás esetén (a) négy, (b) nyolc biten? | ||
# Végezzük el az alább megadott műveleteket a 2-es komplemens ábrázolással megadott számokkal, majd ellenőrizzük az eredményt 10-es számrendszerbe konvertálással. Figyeljünk az esetleges túlcsordulásra. | # Végezzük el az alább megadott műveleteket a 2-es komplemens ábrázolással megadott számokkal, majd ellenőrizzük az eredményt 10-es számrendszerbe konvertálással. Figyeljünk az esetleges túlcsordulásra. | ||
36. sor: | 36. sor: | ||
# Az "Õ" (LATIN CAPITAL LETTER O WITH TILDE) latin-1 kódja #D5. Mennyi az "ő" (LATIN SMALL LETTER O WITH DOUBLE ACUTE) latin-2 kódja? | # Az "Õ" (LATIN CAPITAL LETTER O WITH TILDE) latin-1 kódja #D5. Mennyi az "ő" (LATIN SMALL LETTER O WITH DOUBLE ACUTE) latin-2 kódja? | ||
# Az "ű" (LATIN SMALL LETTER U WITH DOUBLE ACUTE) unicode kódja U+0171. Mennyi az UTF-8 kódja? | # Az "ű" (LATIN SMALL LETTER U WITH DOUBLE ACUTE) unicode kódja U+0171. Mennyi az UTF-8 kódja? | ||
+ | |||
+ | === Mennyiségek === | ||
+ | |||
+ | # Hány byte 1 KB - 1 KiB? | ||
+ | # Egy gibibyte hány gigabyte? | ||
+ | |||
+ | === Gépek, programok === | ||
+ | |||
+ | Mit csinálnak a kovetkező RAM-gépre írt programok? | ||
+ | |||
+ | 1. Az első program a 2. rekeszbe tesz egy számot. Mire jut vele? | ||
+ | |||
+ | 1 LOAD = 33 | ||
+ | 2 STORE 2 | ||
+ | 3 DIV = 2 | ||
+ | 4 STORE 1 | ||
+ | 5 MULT = 2 | ||
+ | 6 SUB 2 | ||
+ | 7 JZERO 12 | ||
+ | 8 LOAD 2 | ||
+ | 9 MULT = 3 | ||
+ | 10 ADD = 1 | ||
+ | 11 JUMP 2 | ||
+ | 12 LOAD 1 | ||
+ | 13 STORE 2 | ||
+ | 14 SUB = 1 | ||
+ | 15 JZERO 18 | ||
+ | 16 LOAD 1 | ||
+ | 17 JUMP 3 | ||
+ | 18 HALT 11 | ||
+ | |||
+ | 2. Az alábbi program az 1-es és 2-es rekeszbe teszi inputját, és a 6-ba az outputját. Mit csinál? | ||
+ | |||
+ | 0 LOAD = 12 | ||
+ | 1 STORE 1 | ||
+ | 2 LOAD = 16 | ||
+ | 3 STORE 2 | ||
+ | 4 LOAD 2 | ||
+ | 5 JZERO 19 | ||
+ | 6 LOAD 1 | ||
+ | 7 DIV 2 | ||
+ | 8 STORE 3 | ||
+ | 9 MULT 2 | ||
+ | 10 STORE 4 | ||
+ | 11 LOAD 1 | ||
+ | 12 SUB 4 | ||
+ | 13 STORE 5 | ||
+ | 14 LOAD 2 | ||
+ | 15 STORE 1 | ||
+ | 16 LOAD 5 | ||
+ | 17 STORE 2 | ||
+ | 18 JUMP 4 | ||
+ | 19 LOAD 1 | ||
+ | 20 STORE 6 | ||
+ | 21 HALT 0 | ||
+ | |||
+ | === Pszeudokód, folyamatábra, struktogram === | ||
+ | |||
+ | 1. Mit csinál az alábbi Valami nevű eljárás a Valami(3) hívás után? | ||
+ | |||
+ | '''procedure''' Valami( n ) | ||
+ | '''print''' n | ||
+ | '''if''' n > 0 '''then''' Valami( n-1 ) | ||
+ | '''print''' n | ||
+ | |||
+ | 2. Írjuk át az alábbi programot '''repeat''' utasítással, majd készítsünk mindkét változatról struktogramot és folyamatábrát! | ||
+ | |||
+ | c <- 1 | ||
+ | x <- 1 | ||
+ | '''while''' x < 5 '''do''' | ||
+ | c <- c*x | ||
+ | x <- x+1 | ||
+ | |||
+ | 3. Legyen x és y két nemnegatív egész szám. Az alábbi program kiszámítja a szorzatukat. Ha hibás, javítsuk ki! | ||
+ | |||
+ | szorzat <- y | ||
+ | számláló <- 1 | ||
+ | '''while''' számláló < x '''do''' | ||
+ | szorzat <- szorzat + y | ||
+ | számláló <- számláló + 1 | ||
+ | |||
+ | === Maple és bc feladatok === | ||
+ | |||
+ | 1. Mi lesz rek(5) értéke? | ||
+ | |||
+ | rek := proc(x::integer) | ||
+ | local s,i; | ||
+ | if x<3 then | ||
+ | return x; | ||
+ | end if; | ||
+ | s := 0; | ||
+ | for i from 1 to x-1 do | ||
+ | s := s + rek(i); | ||
+ | end do: | ||
+ | s; | ||
+ | end proc; | ||
+ | |||
+ | 2. Írjuk át az előző feladatot bc-be. | ||
+ | |||
+ | 3. Mi lesz az eredménye az alábbi kódnak? | ||
+ | |||
+ | select(i->isprime(i+2),[seq(i,i=1..20)]); | ||
+ | |||
+ | 4. Mit ad vissza az alábbi program? L egy lista, amelyben legaláb 10 darab 8-as és legalább 10 darab 9-es van. | ||
+ | |||
+ | k := 0; | ||
+ | for j from 1 to 3 do | ||
+ | k := k+1; | ||
+ | while(L[k] <> 8) do | ||
+ | k := k+1; | ||
+ | end do; | ||
+ | end do: | ||
+ | k; | ||
+ | |||
+ | 5. Mit ad vissza az alábbi program? | ||
+ | |||
+ | lista := [1,5,4,6,3,2,2]; | ||
+ | k := 1; q := lista[1]; | ||
+ | for j from 2 to nops(lista) do | ||
+ | if lista[j] > q then | ||
+ | k := j; | ||
+ | q := lista[j]; | ||
+ | end if; | ||
+ | end do; | ||
+ | k; | ||
+ | |||
+ | 6. Írjunk egy power nevű bc programot a beépített függvényeket használva (bc -l), mely a power(a,b) hívás után kiszámítja <math>a^b</math> értékét nem csak egész <math>b</math> esetén. | ||
+ | |||
+ | == Feladatok a 2. ZH-hoz == | ||
+ | |||
+ | === LaTeX === | ||
+ | |||
+ | 1. Mit jelentenek az alábbi fogalmak: ligatúra, törhetetlen szóköz, kurzív kiegyenlítés, groteszk (betűcsalád)? | ||
+ | |||
+ | 2. Mi a különbség (La)TeX-ben parancs és deklaráció között? Mondj mindkettőre 2-2 példát! | ||
+ | |||
+ | 3. Egy magyar nyelvű dokumentum írásában a 60-dik oldal közelében jársz, ami a negyedik vagy ötödik fejezete lesz a műnek. Hogyan fogsz a dokumentum más részeiben erre a részre hivatkozni? | ||
+ | |||
+ | 4. Készítsd el az alábbi táblázatot LaTeX-ben! | ||
+ | AND | 0 1 | ||
+ | ----+----- | ||
+ | 0 | 0 0 | ||
+ | 1 | 0 1 | ||
+ | |||
+ | 5. Írd le a következő fájl forráskódját: [http://www.math.bme.hu/~morap/minta.pdf alábbi képleteket]! Nem kell a fájl preambulumát leírni (\documentclass ... \usepackage ...,) de kell a cím, és a dokumentum törzse (\begin{document} ... \section ... \end{document}). | ||
+ | |||
+ | 6. Írd le Pythagoras tételét egy tételszerű környezetben, és hivatkozz rá! | ||
+ | |||
+ | A képletek leírásánál tudni kell használni az alábbi függvényeket, parancsokat: | ||
+ | \int, \lim, \dots, \infty, \frac, _, ^, \sum, \sin, \cos, \pi, \left(, \right), \left|, \right|, \le, \ge, \ne | ||
+ | |||
+ | === HTML === | ||
+ | |||
+ | 1. Készítsd el az alábbi táblázatot XHTML-ben! | ||
+ | <table border = "1"> | ||
+ | <tr><th>Hová </th><th> Indulás </th><th> Érkezés </th></tr> | ||
+ | <tr><th>Bécs </th><td> 08:10 </td><td> 12:20 </td></tr> | ||
+ | <tr><th>Pécs </th><td> 10:15 </td><td> 14:20 </td></tr> | ||
+ | </table> | ||
+ | |||
+ | |||
+ | === Reguláris kifejezések === | ||
+ | |||
+ | 1. Írj olyan reguláris kifejezést, amely illeszkedik az alábbi email-címekre: | ||
+ | |||
+ | wazzup@hotmail.com | ||
+ | juppie@googlemail.com | ||
+ | jee@freemail.hu | ||
+ | yes@egon.gyaloglo.hu | ||
+ | login@inf.elte.hu | ||
+ | |||
+ | de nem illeszkedik a következőkre: | ||
+ | |||
+ | nem@jo@hotmail.com | ||
+ | bena@hu | ||
+ | ez@sem.leszjo | ||
+ | ujabbrosszpelda@ | ||
+ | ezisrossz@.hu | ||
+ | @gmail.com | ||
+ | |||
+ | Segítség: Használhatjuk a \b horgonyt a szóhatár megtalálásához (esetünkben ez egybeesik a sor végével is). | ||
+ | |||
+ | 2. Írj reguláris kifejezést, mely illeszkedik az összes olyan 2-jegyű számra, mely előtt a Combinatorics' szöveg szerepel, pl. illeszkedik a 98-ra a '''Combinatorics'98 Conference''' szövegben, de nem illeszkedik a 98-ra a '''már 98 óta''' szövegben! | ||
+ | |||
+ | 3. Példa ''sed'' parancs használatára. A titkárnőnk begépelte egy [http://www.math.bme.hu/~morap/titkarno.txt titkarno.txt] nevű fájlba az ismerőseim nevét, születési időpontját és lakhelyét. (A fájl letölthető a linkről). | ||
+ | |||
+ | A ''cat'' parancs hatására kilistázhatjuk a fájl tartalmát: | ||
+ | |||
+ | cat titkarno.txt | ||
+ | |||
+ | Kiss Ábel, szül:1984.05.01,Budapest | ||
+ | Nagy Tamás, szül:Ajka,1983.08.04 | ||
+ | Közepes Ákos, szül:1985.03.01,Gyöngyös | ||
+ | Átlagos Mihály, szül:Debrecen,1983.05.15 | ||
+ | Nevesincs Gergely, szül:1982.01.25,Szolnok | ||
+ | Mégegy Ábel, szül:1982.10.11,Budapest | ||
+ | |||
+ | A kimenetet beirányítjuk a ''sed'' parancs bemenetére, majd a sed paranccsal kicseréljük az összes Ábelt Olgára: | ||
+ | |||
+ | cat titkarno.txt | sed -r 's/Ábel/Olga/g' | ||
+ | |||
+ | Kiss Olga, szül:1984.05.01,Budapest | ||
+ | Nagy Tamás, szül:Ajka,1983.08.04 | ||
+ | Közepes Ákos, szül:1985.03.01,Gyöngyös | ||
+ | Átlagos Mihály, szül:Debrecen,1983.05.15 | ||
+ | Nevesincs Gergely, szül:1982.01.25,Szolnok | ||
+ | Mégegy Olga, szül:1982.10.11,Budapest | ||
+ | |||
+ | Megjegyzés: a -r opció hatására nem BRE (basic), hanem ERE (extended) regular expression-t lehet használni, vagyis azt, amelyiket leginkább szoktuk. Az s az első / jel után a ''sed'' csere parancs miatt kell, az utolsó g betű pedig opció (minden cserét hajtson végre). | ||
+ | |||
+ | '''Feladat''': Mint bizonyára a leleményesebbek észrevették, a sorrend rossz két helyen. Írjunk olyan parancsot, amely után a kimenet a következő lesz: | ||
+ | |||
+ | Kiss Ábel, szül:1984.05.01,Budapest | ||
+ | Nagy Tamás, szül:1983.08.04,Ajka | ||
+ | Közepes Ákos, szül:1985.03.01,Gyöngyös | ||
+ | Átlagos Mihály, szül:1983.05.15,Debrecen | ||
+ | Nevesincs Gergely, szül:1982.01.25,Szolnok | ||
+ | Mégegy Ábel, szül:1982.10.11,Budapest |
A lap jelenlegi, 2008. szeptember 3., 18:40-kori változata
Tartalomjegyzék |
Feladatok az 1. ZH-hoz
Logikai műveletek
- Írjuk fel az igazságtábláját az kifejezésnek ( = AND, = OR, = NOT, ).
- Ellenőrizzük, hogy az alábbi ábrán látható logikai áramkör egy összeadó áramkör, mely két összeadandó szám k-adik bitjét adja össze, hozzáadva a (k − 1)-edik bitek összeadásának "átviteli" bitjét.
Számábrázolás
- Írjuk át az alábbi számokat kettes számrendszerbe:
(a) 15 (b) 100 (c) 15.4 (d) 1/3 - Számolás kettes számrendszerben: írjuk át az alábbi műveletekben megadott számokat kettes számrendszerbe, végezzük el a műveletet, majd alakítsuk vissza 10-es számrendszerbe.
- 1 3/4 + 5 13/16
- 1 1/3 + 2 2/3
- Konvertáljuk az alábbi 2-es komplemensben ábrázolt számokat 10-es számrendszerbe. Minden szám épp annyi bites ábrázolást használ ahány bitje meg van adva.
(a) 00101011 (b) 1101 (c) 11010 (d) 10111111 - Konvertáljuk 2-es komplemens 8-bites alakba az alábbi számokat
(a) 15 (b) -15 (c) 100 (d) -100 - Melyik a legnagyobb és legkisebb ábrázolható szám 2-es komplemens ábrázolás esetén (a) négy, (b) nyolc biten?
- Végezzük el az alább megadott műveleteket a 2-es komplemens ábrázolással megadott számokkal, majd ellenőrizzük az eredményt 10-es számrendszerbe konvertálással. Figyeljünk az esetleges túlcsordulásra.
- 1011 + 0011
- 11100 + 01111
- 0110 + 0101
- 1010 + 1011
- ábrázoljuk lebegőpontos számábrázolással az az alábbi számokat a megadott bitfelosztás szerint
- 1.375 (1+3+4 biten)
- 2.375 (1+3+4 biten)
- -1.375 (1+3+4 biten)
- -1025.4 (1+8+23 biten)
- Írjuk át az alábbi lebegőpontosan ábrázolt számot 10-es számrendszerbe.
- 1 101 0111 (1+3+4)
- 0 10000011 01010110000000000000000 (1+8+23)
Karakterkódolás
A következő kérdésekben csak a megadott információk alapján adjuk meg a választ!
- Az "a" ASCII kódja #61. Mennyi "C" kódja?
- Az "Õ" (LATIN CAPITAL LETTER O WITH TILDE) latin-1 kódja #D5. Mennyi az "ő" (LATIN SMALL LETTER O WITH DOUBLE ACUTE) latin-2 kódja?
- Az "ű" (LATIN SMALL LETTER U WITH DOUBLE ACUTE) unicode kódja U+0171. Mennyi az UTF-8 kódja?
Mennyiségek
- Hány byte 1 KB - 1 KiB?
- Egy gibibyte hány gigabyte?
Gépek, programok
Mit csinálnak a kovetkező RAM-gépre írt programok?
1. Az első program a 2. rekeszbe tesz egy számot. Mire jut vele?
1 LOAD = 33 2 STORE 2 3 DIV = 2 4 STORE 1 5 MULT = 2 6 SUB 2 7 JZERO 12 8 LOAD 2 9 MULT = 3 10 ADD = 1 11 JUMP 2 12 LOAD 1 13 STORE 2 14 SUB = 1 15 JZERO 18 16 LOAD 1 17 JUMP 3 18 HALT 11
2. Az alábbi program az 1-es és 2-es rekeszbe teszi inputját, és a 6-ba az outputját. Mit csinál?
0 LOAD = 12 1 STORE 1 2 LOAD = 16 3 STORE 2 4 LOAD 2 5 JZERO 19 6 LOAD 1 7 DIV 2 8 STORE 3 9 MULT 2 10 STORE 4 11 LOAD 1 12 SUB 4 13 STORE 5 14 LOAD 2 15 STORE 1 16 LOAD 5 17 STORE 2 18 JUMP 4 19 LOAD 1 20 STORE 6 21 HALT 0
Pszeudokód, folyamatábra, struktogram
1. Mit csinál az alábbi Valami nevű eljárás a Valami(3) hívás után?
procedure Valami( n ) print n if n > 0 then Valami( n-1 ) print n
2. Írjuk át az alábbi programot repeat utasítással, majd készítsünk mindkét változatról struktogramot és folyamatábrát!
c <- 1 x <- 1 while x < 5 do c <- c*x x <- x+1
3. Legyen x és y két nemnegatív egész szám. Az alábbi program kiszámítja a szorzatukat. Ha hibás, javítsuk ki!
szorzat <- y számláló <- 1 while számláló < x do szorzat <- szorzat + y számláló <- számláló + 1
Maple és bc feladatok
1. Mi lesz rek(5) értéke?
rek := proc(x::integer) local s,i; if x<3 then return x; end if; s := 0; for i from 1 to x-1 do s := s + rek(i); end do: s; end proc;
2. Írjuk át az előző feladatot bc-be.
3. Mi lesz az eredménye az alábbi kódnak?
select(i->isprime(i+2),[seq(i,i=1..20)]);
4. Mit ad vissza az alábbi program? L egy lista, amelyben legaláb 10 darab 8-as és legalább 10 darab 9-es van.
k := 0; for j from 1 to 3 do k := k+1; while(L[k] <> 8) do k := k+1; end do; end do: k;
5. Mit ad vissza az alábbi program?
lista := [1,5,4,6,3,2,2]; k := 1; q := lista[1]; for j from 2 to nops(lista) do if lista[j] > q then k := j; q := lista[j]; end if; end do; k;
6. Írjunk egy power nevű bc programot a beépített függvényeket használva (bc -l), mely a power(a,b) hívás után kiszámítja ab értékét nem csak egész b esetén.
Feladatok a 2. ZH-hoz
LaTeX
1. Mit jelentenek az alábbi fogalmak: ligatúra, törhetetlen szóköz, kurzív kiegyenlítés, groteszk (betűcsalád)?
2. Mi a különbség (La)TeX-ben parancs és deklaráció között? Mondj mindkettőre 2-2 példát!
3. Egy magyar nyelvű dokumentum írásában a 60-dik oldal közelében jársz, ami a negyedik vagy ötödik fejezete lesz a műnek. Hogyan fogsz a dokumentum más részeiben erre a részre hivatkozni?
4. Készítsd el az alábbi táblázatot LaTeX-ben!
AND | 0 1 ----+----- 0 | 0 0 1 | 0 1
5. Írd le a következő fájl forráskódját: alábbi képleteket! Nem kell a fájl preambulumát leírni (\documentclass ... \usepackage ...,) de kell a cím, és a dokumentum törzse (\begin{document} ... \section ... \end{document}).
6. Írd le Pythagoras tételét egy tételszerű környezetben, és hivatkozz rá!
A képletek leírásánál tudni kell használni az alábbi függvényeket, parancsokat: \int, \lim, \dots, \infty, \frac, _, ^, \sum, \sin, \cos, \pi, \left(, \right), \left|, \right|, \le, \ge, \ne
HTML
1. Készítsd el az alábbi táblázatot XHTML-ben!
Hová | Indulás | Érkezés |
---|---|---|
Bécs | 08:10 | 12:20 |
Pécs | 10:15 | 14:20 |
Reguláris kifejezések
1. Írj olyan reguláris kifejezést, amely illeszkedik az alábbi email-címekre:
wazzup@hotmail.com juppie@googlemail.com jee@freemail.hu yes@egon.gyaloglo.hu login@inf.elte.hu
de nem illeszkedik a következőkre:
nem@jo@hotmail.com bena@hu ez@sem.leszjo ujabbrosszpelda@ ezisrossz@.hu @gmail.com
Segítség: Használhatjuk a \b horgonyt a szóhatár megtalálásához (esetünkben ez egybeesik a sor végével is).
2. Írj reguláris kifejezést, mely illeszkedik az összes olyan 2-jegyű számra, mely előtt a Combinatorics' szöveg szerepel, pl. illeszkedik a 98-ra a Combinatorics'98 Conference szövegben, de nem illeszkedik a 98-ra a már 98 óta szövegben!
3. Példa sed parancs használatára. A titkárnőnk begépelte egy titkarno.txt nevű fájlba az ismerőseim nevét, születési időpontját és lakhelyét. (A fájl letölthető a linkről).
A cat parancs hatására kilistázhatjuk a fájl tartalmát:
cat titkarno.txt
Kiss Ábel, szül:1984.05.01,Budapest Nagy Tamás, szül:Ajka,1983.08.04 Közepes Ákos, szül:1985.03.01,Gyöngyös Átlagos Mihály, szül:Debrecen,1983.05.15 Nevesincs Gergely, szül:1982.01.25,Szolnok Mégegy Ábel, szül:1982.10.11,Budapest
A kimenetet beirányítjuk a sed parancs bemenetére, majd a sed paranccsal kicseréljük az összes Ábelt Olgára:
cat titkarno.txt | sed -r 's/Ábel/Olga/g'
Kiss Olga, szül:1984.05.01,Budapest Nagy Tamás, szül:Ajka,1983.08.04 Közepes Ákos, szül:1985.03.01,Gyöngyös Átlagos Mihály, szül:Debrecen,1983.05.15 Nevesincs Gergely, szül:1982.01.25,Szolnok Mégegy Olga, szül:1982.10.11,Budapest
Megjegyzés: a -r opció hatására nem BRE (basic), hanem ERE (extended) regular expression-t lehet használni, vagyis azt, amelyiket leginkább szoktuk. Az s az első / jel után a sed csere parancs miatt kell, az utolsó g betű pedig opció (minden cserét hajtson végre).
Feladat: Mint bizonyára a leleményesebbek észrevették, a sorrend rossz két helyen. Írjunk olyan parancsot, amely után a kimenet a következő lesz:
Kiss Ábel, szül:1984.05.01,Budapest Nagy Tamás, szül:1983.08.04,Ajka Közepes Ákos, szül:1985.03.01,Gyöngyös Átlagos Mihály, szül:1983.05.15,Debrecen Nevesincs Gergely, szül:1982.01.25,Szolnok Mégegy Ábel, szül:1982.10.11,Budapest