Kódolási feladatok!
A következő algoritmusokat a tanult programnyelvre kellene kódolni és működő programot létrehozni!
1. feladat (vissza a menühöz)
Kódolja az alábbiakban megadott algoritmust Pascal (C, JAVA, BASIC vagy egyéb által tanult) nyelven!
A
KI(X) eljárás az X szöveges kifejezés értékét írja a szabványos
kimenetre (általában a képernyőre), az aktuális karakter-pozícióba.
A
KI(új_sor) eljáráshívás egy „új sor” karaktert ír a kimenetre. A NEM(V)
logikai függvény a paramétere tagadását adja eredményül.
Amennyiben a
használt programozási nyelv nem tartalmaz logikai típust, használjon
helyette egész típusú változót, ahol a 0 reprezentálja a hamis, az 1
pedig az igaz értéket!
A „:=” operátor az értékadást jelöli, mely az
operátor bal oldalán megadott helyen (a változóban) tárolja a jobb
oldalán megadott kifejezés értékét.
Beadandó az algoritmust az adott forrásnyelven kódolva tartalmazó fájl!
Változók:
V:logikai
I:egész
J:egész
Program eleje
V := igaz
Ciklus i:=1-től 8-ig 1-esével
Ha i páratlan szám
akkor V:= igaz
különben V:= hamis
elágazás vége
Ciklus j:=1-től 8–ig 1–esével
Ha V
akkor KI(„A”)
különben KI(„B”)
elágazás vége
V := NEM(V)
Ciklus vége
KI(új_sor)
Ciklus vége
Program vége
2. feladat. (vissza a menühöz)
Kódolja az alábbiakban megadott algoritmust Pascal (C, JAVA, BASIC vagy egyéb által tanult) nyelven!
A
KI(X) eljárás az X szöveges kifejezés értékét írja a szabványos
kimenetre (általában a képernyőre), az aktuális karakterpozícióba!
A
KI(új_sor) eljáráshívás egy „új sor” karaktert ír a kimenetre.A NEM(V)
logikai függvény a paramétere tagadását adja eredményül.
Amennyiben
az ön által használt programozási nyelv nem tartalmaz logikai típust,
használjon helyette egész típusú változót, ahol 0 reprezentálja a
hamis, az 1 pedig az igaz értéket!
A „:=” operátor az értékadást
jelöli mely az operátor bal oldalán megadott helyen (változóban)
tárolja a jobb oldalán megadott kifejezés értékét!
Beadandó az algoritmust az adott forrásnyelven kódolva tartalmazó fájl.
Változók:
I:egész
J:egész
Program eleje
I := 10
Ciklus amíg I > 0
Ciklus J := I-től 1-ig –1-esével
KI(„[”)
KI(„I”)
KI(„]”)
Ciklus vége
Ha J páratlan szám
Akkor KI(J)
KI(”:”)
Különben KI(I)
KI(„;”)
Elágazás vége
I := I – J
KI(új_sor)
Ciklus vége
Program vége
3. feladat (vissza a menühöz)
Kódolja az alábbiakban megadott algoritmust Pascal (C, Java, Basic vagy az ön által tanult) nyelven!
Ki(x:y)
eljárás X szöveges, ill. szám kifejezés értékét írja ki a szabványos
kimenetre (általában a képernyőre) az aktuális karakterpozíciótól! Az
aktuális karakterpozíció a legutoljára kiírt érték mögötti hely. A :y
arra vonatkozik, hogy egy-egy érték kiíratása hány karakteren történjen.
A
Nem(L) az L logikai érték tagadása. Amennyiben az alkalmazott nyelv nem
rendelkezik Logikai típussal, használjon helyette egész típusú
változót, ahol 0-Hamis, 1-Igaz!
A ’:=’ művelet (legyen egyenlő) az értékadás, ahol a bal oldali változó felveszi a jobb oldalon lévő kifejezés értékét.
Beadandó a forrásnyelvű fájl, amely megoldja az alábbi algoritmust.
Konstans n=400
Változók:
b:VEKTOR(1..n):Logikai
i,j:Egész Szám
Program eleje
Ciklus i:=1 től n-ig 1-esével
b(i):=Hamis
Ciklus Vége
Ciklus i:=1 től n-ig 1-esével
j:=0
Ciklus amíg j+i<=n
j:=j+i
b(j):=Nem(b(j))
Ciklus Vége
Ciklus Vége
Ciklus i:=1 től n-ig 1-esével
Ha b(i) akkor KI(i:4)
Ciklus Vége
Program Vége
4. feladat (vissza a menühöz)
Kódolja az alábbiakban megadott algoritmust Pascal (vagy C, vagy JAVA, vagy BASIC) nyelven!
Beadandó az algoritmust az adott forrásnyelven kódolva tartalmazó fájl.
Kiegészítő kérdés! Hol van a második ciklus vége?
Változók
A: tömb [1..10] pozitív egész típus
I: pozitív egész típus
Min: pozitív egész típus
Max: pozitív egész típus
P: pozitív egész típus
Program eleje
Ciklus I := 1-től 10-ig
A[I] := Véletlen(100)
KI(A[I])
Ciklus vége
KI(új_sor)
KI(„Kérem a számot:”)
BE(P)
Min := 100
Max := 0
Ciklus i: = 1-től 10-ig
Ha A[I] > P akkor
Ha A[I] < Min akkor
Min := A[I]
Elágazás vége
különben
Ha A[I] > Max akkor
Max := A[I]
Elágazás vége
Elágazás vége
KI(„P szám:”)
KI(P)
KI(„A legkisebb:”)
KI(Min)
KI(„A legnagyobb”)
KI(Max)
Program vége
5. feladat (vissza a menühöz)
Kódolja az alábbi algoritmust az alábbi programozási nyelvek egyikén: Pascal, Java, BASIC, C, C++ vagy C# !
Konstans
N=50
M=50
Változók
I,J:egész
A[0..N, 0..M] : egész elemekből álló mátrix
Program eleje
Ciklus I:=1-től N-ig
Ciklus J:=1-től M-ig
A[I,J]:= -2 és 2 közé eső véletlen szám
Ciklus vége
Ciklus vége
I := 0
J := 0
Ciklus amíg ((J<=0) és (J<=N) és (I<=0) és (I<=N) és
(A[I,J]<>0))
I := I+A[I,J]
J := J+A[I,J]
Ciklus vége
Ha (A[I,J]=0) akkor KI(„Végállomás”)
Különben KI(„Indexhatár átlépés”)
Elágazás vége
Program vége
6. feladat (vissza a menühöz)
Kódolja az alábbi algoritmust az alábbi programozási nyelvek egyikén: Pascal, Java, BASIC, C, C++ vagy C# !
Változók:
I, J, K egész típusú változók
Program ARMSTRONG
KI(„A háromjegyű Armstrong-számok a következők: ”)
Ciklus I := 1-től 9-ig
Ciklus J:= 0-tól 9-ig
Ciklus K:= 0-tól 9-ig
Ha I*I*I + J*J*J + K*K*K = I*100 + J* 10+ K
Akkor KI(I*100+J*10+K,”,”)
Elágazás vége
Ciklus vége
Ciklus vége
Ciklus vége
Program vége.
7. feladat (vissza a menühöz)
Kódolja az alábbi algoritmust az alábbi programozási nyelvek egyikén: Pascal, Java, BASIC, C, C++ vagy C# !
A
Véletlenegész függvény a megadott határok közötti véletlen egész számot
generál. Ha a függvény nem létezik a használt nyelvben, akkor
alkalmazzon megfelelő képletet, amely a megadott intervallumba eső
véletlenszámot generál!
Konstans
N=20
M=30
Változó
I,J,L:egész
A[1..N],B[1..M],C[1..N]:egész elemű tömb
Program
Ciklus I:=1-től N-ig
A[I]:=Véletlenegész(-20,30) // -20 és 30 közötti vél. egész szám
Ki: A[I]
Ciklus vége
Ciklus I:=1-től M-ig
B[I]:=Véletlenegész(-10,40) // -10 és 40 közötti vél. egész szám
Ki: B[I]
Ciklus vége
L:=0
Ciklus I:=1-től N-ig
J:=1
Ciklus amíg J<=M és A[I]<>B[J]
J:=J+1
Ciklus vége
Ha J<=M akkor
L:=L+1
C[L]:=A[I]
Elágazás vége
Ciklus vége
Ciklus I:=1-től L-ig
KI: C[I]
Ciklus vége
Program vége.
8. feladat (vissza a menühöz)
Kódolja az alábbi algoritmust az alábbi programozási nyelvek egyikén:Pascal, Java, BASIC, C, C++ vagy C# !
A
feladatban szereplő KI(…) eljárás paramétereit a standard kimenetre
írja! A BE(…) eljárás a standard bemenetről olvas a paraméterben
megadott változóba, ha van ilyen, kivéve, ha az első paraméter egy
inputfájl. Utóbbi esetben az olvasást a fájlból kíséreli meg.
Amennyiben a BE ( ) eljárásnak nincs paramétere, akkor az
„>>ENTER<<” lenyomására vár. A Megnyit() eljárás a fájl
változóhoz rendeli, és megnyitja olvasásra az állományt. A konstans
szövegeket idézőjelek között adtuk meg. A „:=” az értékadó, az „=”
pedig az ekvivalencia vizsgáló operátort jelöli.
A maradék(x,y) függvény az x y-nal való maradékos osztásánál képződő maradékot adja vissza.
Az eljárás fejlécében található VAR kulcsszó cím szerinti paraméterátadást jelent.
Adatok: Tnev:szöveg a szöveges állomány neve
T:inputfájl szöveges állomány
Tudjuk, hogy létezik Tnev, T
Elvárjuk, hogy a program sorszámozva kiírja a T állomány sorait 20 soronként lapozhatóan.
Algoritmus lista
i:=0
be(Tnev)
Megnyit(T,Tnev)
beolv(T, sor, sikerült)
ciklus amíg sikerült
i:=i+1
Ha maradék(i , 20)=0 Akkor BE()
KI( i,’. ’, sor)
beolv (T, sor, sikerült)
ciklus vége
Algoritmus vége
Eljárás beolv (VAR T: inputfájl, VAR S: szöveg, VAR Sikerült:Logikai)
Sikerült:=Nem fájl_vége(T)
Ha Sikerült akkor BE(T,S)
Eljárás vége
9. feladat (vissza a menühöz)
Kódolja az alábbi algoritmust a tanult programozási nyelvek egyikén!
A
feladatban szereplő KI( ) eljárás paramétereit a standard kimenetre
írja! A KI(SOREMELÉS) eljáráshívás egy következő sor elejére állítja a
kurzort. A KI():n hívás hatására a KI eljárás paraméterét egy n
hosszúságú területre írja ki, amennyiben a kifejezés n-nél rövidebb, a
fennmaradó helyeket szóközzel tölti fel. A konstans szövegeket
idézőjelek között adtuk meg. A := az értékadó, az = pedig az
ekvivalencia vizsgáló operátort jelöli.
Változók:
I, J egész típusú változók
Program SZORZOTABLA
KI(„SZORZÓTÁBLA:”)
KI(SOREMELÉS)
Ciklus I := 1-től 10-ig
Ciklus J:= 1-től 10-ig
KI(I*J):4
Ha J<>10
Akkor KI(„,”)
Elágazás vége
Ciklus vége
KI(SOREMELÉS)
Ciklus vége
Program vége.
10. feladat (vissza a menühöz)