transformer un texte en son morse en turbo pascal
vous introduisez un texte et le prog le transforme en son.
Source / Exemple :
program traduc_morse;
uses crt;
var c:char;
ligne:string[80];
i,a,b,r,d,e,f:integer;
rep : integer;
procedure sont(n,t,u,v,w,x:integer);
begin
for a:=1 to n do
begin
sound(450);
delay(180);
nosound;
delay(50);
end;
for b:=1 to t do
begin
sound(450);
delay(250);
nosound;
delay(50);
end;
for r:=1 to u do
begin
sound(450);
delay(180);
nosound;
delay(50);
end;
for d:=1 to v do
begin
sound(450);
delay(250);
nosound;
delay(50);
end;
for e:=1 to w do
begin
sound(450);
delay(180);
nosound;
delay(50);
end;
for f:=1 to x do
begin
sound(450);
delay(250);
nosound;
delay(50);
end;
end;
begin
clrscr;
write ('Bonjour je vais traduire votre texte en morse,');
write (' votre texte ne contiendra pas de :!?=+-* ou');
writeln ('tout autre caractere speciale.');
writeln ('Mais avant tous voulez vous un son de dbute et de fin?');
writeln ('1 pour oui,2 pour non)');
readln (rep);
writeln;
writeln ('Donnez votre texte et appuyer sur enter pour la traduire :');
repeat
readln(ligne);
if length(ligne) > 0 then
begin
for i:=1 to length(ligne) do
begin
c := ligne[i] ;
if (c >= '.') and (c <= 'z') then
(*tiret(3);*)
begin
if rep=1 then
sont(0,1,1,1,1,1);(*debute de transmition*)
case c of
'0' :sont(0,5,0,0,0,0);
'1' :sont(1,4,0,0,0,0);
'2' :sont(2,3,0,0,0,0);
'3' :sont(3,2,0,0,0,0);
'4' :sont(4,1,0,0,0,0);
'5' :sont(5,0,0,0,0,0);
'6' :sont(0,1,4,0,0,0);
'7' :sont(0,2,3,0,0,0);
'8' :sont(0,3,2,0,0,0);
'9' :sont(0,4,1,0,0,0);
'.' :sont(1,1,1,1,1,1);
'a','A' :sont(1,1,0,0,0,0);
'b','B' :sont(0,1,3,0,0,0);
'c','C' :sont(0,1,1,1,1,0);
'd','D' :sont(0,1,2,0,0,0);
'e','E' :sont(1,0,0,0,0,0);
'f','F' :sont(2,1,1,0,0,0);
'g','G' :sont(0,2,1,0,0,0);
'h','H' :sont(4,0,0,0,0,0);
'i','I' :sont(2,0,0,0,0,0);
'j','J' :sont(1,3,0,0,0,0);
'k','K' :sont(0,1,1,1,0,0);
'l','L' :sont(1,1,2,0,0,0);
'm','M' :sont(0,2,0,0,0,0);
'n','N' :sont(0,1,1,0,0,0);
'o','O' :sont(0,3,0,0,0,0);
'p','P' :sont(1,2,1,0,0,0);
'q','Q' :sont(0,2,1,1,0,0);
'r','R' :sont(1,1,1,0,0,0);
's','S' :sont(3,0,0,0,0,0);
't','T' :sont(0,1,0,0,0,0);
'u','U' :sont(2,1,0,0,0,0);
'v','V' :sont(3,1,0,0,0,0);
'w','W' :sont(1,2,0,0,0,0);
'x','X' :sont(0,1,2,1,0,0);
'y','Y' :sont(0,1,1,2,0,0);
'z','Z' :sont(0,2,2,0,0,0);
else sont(8,0,0,0,0,0);
end;
if rep=1 then
sont(1,1,1,1,1,0);(*fin de transmition*)
end;
end;
end;
until length(ligne) = 0;
end.
Conclusion :
bientot je créerai un site avec mes source et un forum...
se programme peu etre utile pour comprendre les procédure et leur appel en turbo pascal.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.