Kezdőoldal » Számítástechnika » Programozás » Free Pascal. Vki küldene egy...

Free Pascal. Vki küldene egy forráskódot egy olyan programra, ami 1től 100ig betüvel írja ki a beolvasott számot (nem arra a verzióra gondolok, amikor case-el 1től 100ig megadom minden egyes számnak a nevét:D :D)?

Figyelt kérdés
2013. máj. 15. 16:17
1 2
 11/13 SimkoL ***** válasza:

Mivel nyugdíjas vagyok és aranyszívem van tessék a teszt program:



program Teszt;


var i, n : integer;

s: string;



function Szoveg( const szam: integer): string;

const

Ones: array[0..9] of string[10] = ('', 'egy', 'kettő', 'három', 'négy', 'öt', 'hat', 'hét', 'nyolc', 'kilenc');

Tens: array[0..10] of string[10] = ('', 'tíz', 'húsz', 'harminc', 'negyven', 'ötven', 'hatvan', 'hetven', 'nyolcvan', 'kilencven', 'száz');

var

egyes, tizes: integer;

begin

egyes:= szam mod 10;

tizes:= szam-egyes;

Szoveg:=Tens[tizes div 10]+Ones[egyes];

if tizes=10 then Szoveg:='tizen'+Ones[egyes];

if tizes=20 then Szoveg:='huszon'+Ones[egyes];

if egyes = 0 then Szoveg:=Tens[tizes div 10];

end;



begin

n:= 1;

while n <> 0 do

begin

Write('Kérem a számot: ');

ReadLn(s);

Val(s, i, n);

end;

Writeln(i, ' Szövegesen: ',Szoveg(i));

ReadLn;

end.

2013. máj. 17. 12:04
Hasznos számodra ez a válasz?
 12/13 SimkoL ***** válasza:

Magyarázat :)


program Teszt;


var i, n : integer;

s: string;



function Szoveg( const szam: integer): string;

const

//egy tömbbe berakjuk az egyeseket

Ones: array[0..9] of string[10] = ('', 'egy', 'kettő', 'három', 'négy', 'öt', 'hat', 'hét', 'nyolc', 'kilenc');

//egy tömbbe berakjuk a tízeseket

Tens: array[0..10] of string[10] = ('', 'tíz', 'húsz', 'harminc', 'negyven', 'ötven', 'hatvan', 'hetven', 'nyolcvan', 'kilencven', 'száz');

var

egyes, tizes: integer;

begin

//szétbontjuk egyesek és tizesekre

egyes:= szam mod 10;

tizes:= szam-egyes;

//alaphelyzetben az függvény értéke a Tens tömb (tizes div 10 -edik) eleme + az Ones tömb egyes eleme (pl. 87 Tens[8]+Ones[7]

Szoveg:=Tens[tizes div 10]+Ones[egyes];

//magyar szabályok szerint

if tizes=10 then Szoveg:='tizen'+Ones[egyes];

if tizes=20 then Szoveg:='huszon'+Ones[egyes];

//igazából akkor szükséges, ha a nullát is ki akarjuk íratni, akkor első elemnek fel kell venni az Ones tömbbe

if egyes = 0 then Szoveg:=Tens[tizes div 10];

end;



begin

n:= 1;

//amíg n <> 0-val addig ismételjük

while n <> 0 do

begin

Write('Kérem a számot: ');

ReadLn(s);

//stringet számmá alakítjuk, ha sikerült n=0

Val(s, i, n);

end;

Writeln(i, ' Szövegesen: ',Szoveg(i));

ReadLn;

end.

2013. máj. 17. 12:26
Hasznos számodra ez a válasz?
 13/13 tabaki ***** válasza:
Ez így használhatatlan. A fontosabb részeket be kéne karikázni pirossal, és az egészet a suli gépére menteni. hogy Kérdezőnek ne kelljen fáradnia a másolással.
2013. máj. 17. 13:35
Hasznos számodra ez a válasz?
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!