Transformer un texte en son morse en turbo pascal

Description

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 d‚bute 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.

Codes Sources

A voir également

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.