Valaki segítene megírni a Pascal házimat kérlek?
a. Egy 20 elemű tömböt feltölteni véletlen számokkal (0-200), majd kiiratni a tömb elemeit, majd eldönteni, hogy hány 10-nél nagyobb érték van a tömbben
b. Kérjél be egy szöveget, majd minden második karakterét alakítsd át nagybetűssé. Irasd ki a szöveget!
c. Egy 10 elemű tömbbe tároljuk filmek címét, hosszát (percben). Vedd fel a tömb elemeit kétféle módszerrel (függvénnyel, függvény nélkül)
Nagyon szépen köszönöm ha valaki szán erre egy kis időt, vagy akár elmagyarázza nekem?
a. feladat
10 RANDOMIZE TIMER
20 DIM A(20)
30 LET N = 0
40 PRINT "A TOMB ELEMEI:"
50 FOR I = 0 TO 19 STEP 1
60 LET A(I) = INT(RND * 201)
70 PRINT "A "; I; " ELEM ERTEKE "; A(I)
80 IF A(I) > 10 THEN LET N = N + 1
90 NEXT I
100 PRINT N " ELEM VAN, AMI NAGYOBB 10-NEL"
110 STOP
Tessék, szántam rád időt és el is magyarázom:
//Deklarálunk egy byte típusú tömböt a véletlen számoknak, indexei 1 és 20 közöt vannak
var tomb: array[1..20] of byte;
//Deklarálunk két byte típusú változót, egyet a ciklushoz, egyet a darabszámhoz
i, darab: byte;
//Deklarálunk egy stringet
s : string;
//Deklarálunk egy integer típusú tömböt a filmeknek, indexei 1 és 10 közöt vannak
filmek: array[1..10] of integer;
//Függvény a hibakezeléses szám bekéréshez
function beker(hol_tartunk: byte) : integer;
var i, hiba: integer;
s: string;
begin
hiba := -1;
//Amig a Val eljárás hibakódja nem egyenlő 0-val addig ismételjük
while hiba <> 0 do
begin
Write(#10#13, 'Kérem a ', hol_tartunk, '. elemet: ');
//Szövegként kérjük be
ReadLn(s);
//Átkonvertáljuk számmá
Val(s, i, hiba);
//Ha a szám negatív újrakérjük
if i < 0 then hiba := -1;
end;
//A függvény visszatérési értéke i - a régebbi Pascal-ok nem ismerik a Result-ot
//ezért a függvény nevét használjuk
beker := i;
end;
begin
WriteLn('a. feladat');
//Inicializáljuk a véletlenszám generátort
Randomize;
//Feltöltjük a tömböt, közben ki is íratjuk és meg is számoljuk a 10-né nagyobbakat
darab := 0;
for i := 1 to 20 do //Ciklus 1-től 20-ig
begin
tomb[i] := Random(201); //Véletleszám 0 és 200 között
Write(tomb[i]:4); //Kiírás 4 karakter hosszan
if tomb[i] > 10 then Inc(darab); //Ha 10-nél nagyobb növeljük darab értékét 1-el
end;
WriteLn(darab, ' darab tíznél nagyobb szám van a tömbben');
ReadLn;
WriteLn('b. feladat');
//Bekérjük a stringet
Write('Kérem a szöveget: ');
ReadLn(s);
i := 2;
//Kettesével lépkedünk a string karakterein
while i < Length(s) do
begin
s[i] := UpCase(s[i]); //Nagybetűsre alakítjuk
Inc(i, 2);
end;
WriteLn(s); //Kiíratjuk
ReadLn;
WriteLn('c. feladat');
//Függvénnyel
for i := 1 to 10 do filmek[i] := beker(i);
ReadLn.
end.
Igaz ezért biztos sokan lehurrognak engem, de te remélem okulsz a kész megoldásból is.
Kedves Kérdező !
Ha én már szántam rád időt, akkor Te is szánhattál volna egy 'Köszönöm'-re. Ez nem egy házi feladat megoldó oldal ahol ülnek a 'hozzáértők' a drót végén és várják az elébük dobott feladatot. Szívesen segítünk - néha egymást túllicitálva is :) - de a pici lelkünknek jól esne egy 'Köszi'.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!