Informatika1-2008/GyakorloZHFeladatok
1. sor: | 1. sor: | ||
Gyakorló feladatok az 1. zárthelyire | Gyakorló feladatok az 1. zárthelyire | ||
− | + | (az oldal fejlesztés alatt áll, a feladatokat folyamatosan bővítjük) | |
== Linux == | == Linux == | ||
24. sor: | 24. sor: | ||
* Írjuk ki a 2 és 200 közötti páros számok négyzeteit! | * Írjuk ki a 2 és 200 közötti páros számok négyzeteit! | ||
+ | |||
+ | * Generáljunk 1 és 10 között 5 db (nem feltétlenül különböző) véletlen egész számot a rand() függvény segítségével, a számokat tegyük egy listába! | ||
* Írj procedúrát, mely a kapott listát megfordítja! | * Írj procedúrát, mely a kapott listát megfordítja! | ||
70. sor: | 72. sor: | ||
* Írj procedúrát, mely kap két listát azonos hosszúságú listát, és megadja, hogy melyik az a legkisebb pozíció, ahol az első lista adott eleme nagyobb, mint a második lista megfelelő eleme! | * Írj procedúrát, mely kap két listát azonos hosszúságú listát, és megadja, hogy melyik az a legkisebb pozíció, ahol az első lista adott eleme nagyobb, mint a második lista megfelelő eleme! | ||
+ | * Írj procedúrát, mely adott n pozitív egész számra kiszámolja n! értékét! Old meg a feladatot rekurzió használatával, illetve anélkül is! | ||
+ | |||
+ | * Írj egy procedúrát, mely a megmondja, hogy egy adott listában mekkora a leghosszabb növő rész hossza! | ||
+ | pl. feladat([5,3,7,9,1,2]); eredménye: 3 (mert a [3,7,9] rész monoton növő, de ennél hosszabb ilyen rész nincs a listában) | ||
+ | |||
+ | * Írj procedúrát, mely egy számot kap paraméterül és visszaadja a szám azon legkisebb többszörösét, mely 0-ra vagy 3-ra végződik! | ||
+ | pl. feladat(14); eredménye: 70 | ||
+ | |||
+ | * Írj procedúrát, mely megadja egy adott szám legkisebb olyan osztóját, mely 1-nél nagyobb! Ha ez épp az adott szám, akkor procedúra kiírja azt az egyértelmű következtetést, hogy a szám prím! | ||
+ | pl. feladat(15); eredménye: 3 | ||
+ | |||
+ | * Írj procedúrát, mely három számot kap paraméterül, legyenek ezek a, b és c; és kiírja az a*x^2+b*x+c=0 egyenlet megoldásait! | ||
+ | változatok: | ||
+ | a megoldáshoz használható a solve függvény | ||
+ | a megoldáshoz nem használható a solve függvény (figyelj arra, hogy felléphetnek különleges esetek, pl a=0, vagy a diszkrimináns negatív) | ||
+ | |||
+ | * Írj procedúrát, mely egy listát kap, és kiválogatja belőle a 0-ra végződő számokat, és összegyűjti őket egy másik listába ezek tized részeit! | ||
+ | pl. feladat([5,30,7,9,10,20]); ereménye: [3,1,2] | ||
+ | változatok: | ||
+ | Oldd meg a feladatot select és map segítségével! | ||
+ | Oldd meg a feladatot for ciklus segítségével! | ||
+ | |||
+ | * Írj procedúrát, mely adott n-re ellenőrzi, hogy a Pascal-háromszög n. sorának összege tényleg 2^n! | ||
* Mit ad eredményül az alábbi program? | * Mit ad eredményül az alábbi program? | ||
+ | |||
with(plots): | with(plots): | ||
with(plottools): | with(plottools): | ||
80. sor: | 106. sor: | ||
display(vonalak); | display(vonalak); | ||
+ | * 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; | ||
+ | * Mi lesz az eredménye az alábbi kódnak? | ||
+ | select(i->isprime(i+2),[seq(i,i=1..20)]); | ||
− | + | * 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; | ||
+ | * 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; | ||
− | |||
+ | == Xhtml == | ||
− | + | hamarosan... | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |
A lap 2008. október 18., 21:10-kori változata
Gyakorló feladatok az 1. zárthelyire
(az oldal fejlesztés alatt áll, a feladatokat folyamatosan bővítjük)
Tartalomjegyzék |
Linux
hamarosan...
Logika
hamarosan...
Folyamatábrák
hamarosan...
Maple
- Rajzold ki a sin(x)*x^3 függvényt a -10-től 5-ig terjedő intervallumon!
- Számoljuk ki Maple-le, az 1+1/2+1/3+...+1/100 eredményét! Adjuk meg az értéket racionális tört alakban és lebegőpontos számként is!
- Mennyi nops(op({1,1,1,2,3})); értéke?
- Írjuk ki a 2 és 200 közötti páros számok négyzeteit!
- Generáljunk 1 és 10 között 5 db (nem feltétlenül különböző) véletlen egész számot a rand() függvény segítségével, a számokat tegyük egy listába!
- Írj procedúrát, mely a kapott listát megfordítja!
pl. feladat([3,7,9,1,2,5]); eredménye: [5,2,1,9,7,3]
- Írj procedúrát, mely meghatározza egy lista maximális elemét!
változatai: pl. feladat([3,7,9,1,2,5]); eredménye: 9 Keresd meg az abszolút értékben legnagyobb elemet! pl. feladat([3,7,-9,1,-2,5]); eredménye: -9 Keresd meg a maximális elem helyét az adott listában! pl. feladat([3,7,9,1,2,5]); eredménye: 3
- Írj procedúrát, mely a kapott listában lévő elemeket összeadja!
pl. feladat([3,7,9,1,2,5]); eredménye: 27 változatai: Add össze az elemek négyzeteit a kapott listában! pl. feladat([3,7,9,1,2,5]); eredménye: 169 Add össze az elemek hármas maradékait a kapott listában! pl. feladat([3,7,9,1,2,5]); eredménye: 6 A kapott listában add össze a prímszámokat! pl. feladat([3,7,9,1,2,5]); eredménye: 17
- Írj egy procedúrát, mely megadja az n. prímszámot! (n bemenő paraméter)
pl. feladat(6); eredménye: 13
- Írj procedúrát, mely megadja, hogy hány darab prímszám van n-ig! (n bemenő paraméter)
pl. feladat(16); eredménye: 6
- Írj procedúrát, mely két listát kap, és eredményül egy harmadik listát ad, mely tartalmazza az összes olyan szorzatot, melynek első tagja az első, második tagja a második listából való.
pl. feladat([a,b,c],[x,y]); eredménye: [a*x,a*y,b*x,b*y,c*x,c*y]
- Adott egy sorozat a következő kezdő értékekkel és rekurziós összefüggéssel:
a(1)=4, a(2)=5, a(3)=6, a(n)=a(n-1)-2*a(n-2)+3*a(n-3) Írj procedúrát, mely adott n-re kiszámítja a sorozat megfelelő értékét! Figyelj arra, hogy Maple megjegyezze a már kiszámolt értékeket!
- Írj procedúrát, mely kap egy listát és visszaadja egy másik listában, hogy mely helyeken szerepel a kapott listában prímszám!
pl. feladat([3,7,9,1,2,5]); eredménye: [1,2,5,6]
- Írj procedúrát, mely a kapott n elemű l listára egy n-1 elemű m listát ad vissza, ahol m[i]:=l[i]+l[i+1] !
pl. feladat([3,7,9,1,2,5]); eredménye: [10,16,10,3,7] változatok: Írj egy procedúrát, mely az előbbi lépést addig ismétli míg végül egy egyelemű listát kapunk! (Mi lesz a kapott egyelemű lista egyetlen eleme?)
- Írj procedúrát, mely kap két listát azonos hosszúságú listát, és megadja, hogy melyik az a legkisebb pozíció, ahol az első lista adott eleme nagyobb, mint a második lista megfelelő eleme!
- Írj procedúrát, mely adott n pozitív egész számra kiszámolja n! értékét! Old meg a feladatot rekurzió használatával, illetve anélkül is!
- Írj egy procedúrát, mely a megmondja, hogy egy adott listában mekkora a leghosszabb növő rész hossza!
pl. feladat([5,3,7,9,1,2]); eredménye: 3 (mert a [3,7,9] rész monoton növő, de ennél hosszabb ilyen rész nincs a listában)
- Írj procedúrát, mely egy számot kap paraméterül és visszaadja a szám azon legkisebb többszörösét, mely 0-ra vagy 3-ra végződik!
pl. feladat(14); eredménye: 70
- Írj procedúrát, mely megadja egy adott szám legkisebb olyan osztóját, mely 1-nél nagyobb! Ha ez épp az adott szám, akkor procedúra kiírja azt az egyértelmű következtetést, hogy a szám prím!
pl. feladat(15); eredménye: 3
- Írj procedúrát, mely három számot kap paraméterül, legyenek ezek a, b és c; és kiírja az a*x^2+b*x+c=0 egyenlet megoldásait!
változatok: a megoldáshoz használható a solve függvény a megoldáshoz nem használható a solve függvény (figyelj arra, hogy felléphetnek különleges esetek, pl a=0, vagy a diszkrimináns negatív)
- Írj procedúrát, mely egy listát kap, és kiválogatja belőle a 0-ra végződő számokat, és összegyűjti őket egy másik listába ezek tized részeit!
pl. feladat([5,30,7,9,10,20]); ereménye: [3,1,2] változatok: Oldd meg a feladatot select és map segítségével! Oldd meg a feladatot for ciklus segítségével!
- Írj procedúrát, mely adott n-re ellenőrzi, hogy a Pascal-háromszög n. sorának összege tényleg 2^n!
- Mit ad eredményül az alábbi program?
with(plots): with(plottools): vonalak:=[]: for i from 1 to 5 do vonalak:=[op(vonalak),line([i,i],[i,i+1]),line([i,i+1],[i+1,i+1])]; end do: display(vonalak);
- 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;
- Mi lesz az eredménye az alábbi kódnak?
select(i->isprime(i+2),[seq(i,i=1..20)]);
- 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;
- 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;
Xhtml
hamarosan...