FORUM Syndrome-OC - Jacky-PC


  Programmation


  Autre


  demande d'aide pour un programme en turbopascal

 




DoZz78, flavius424 Jeux videos et Lan party : faap Tuning PC : gaugo, 1 utilisateur anonyme et 20 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

demande d'aide pour un programme en turbopascal

n°7098
guigui978
Posté le 11-12-2006 à 22:09:12  profilanswer
 

Bonjour,  
mon petit frère me demande de l'aider à trouver l'erreur qu'il a fait dans son programme (apparemment il ne marche pas!) j'en suis maintenant incapable.  
Pourriez-vous l"aider?  
Il s'agit du Codage binaire sur 16 bits d'un nombre entier relatif  
Voilà son programme:  
 
{$APPTYPE CONSOLE}  
 
uses  
SysUtils;  
 
const  
taille=16;  
 
type  Tabcode=array[1..taille] of integer;    
 
function LIRE_ENTIER:integer;  
var nombre:integer;  
begin  
Writeln ('Quel nombre veux tu convertir en binaire?');    
Readln (nombre);  
 
 While (nombre>32767) or (nombre<-32768) do  
        begin  
        Writeln ('Error!!! :-( Please try again!! Please enter another number!!!');  
        Readln (nombre);  
        end;  
 
If nombre=0 then   //si l'entier à coder est nul, on donne directement le résultat  
        begin  
        Writeln ('Le nombre binaire est egal a 0000 0000 0000 0000');  
        Readln;  
        end;  
 
Var  
i : integer ;  
(puissance): integer;  
(somme): integer;  
 
Begin  
i :=1;  
(puissance) :=0;  
(somme) :=0;  
 
Repeat  
i :=i*2  
(puissance) :=(puissance)+1  
Until i>(nombre)  
 
If i>(nombre) do  
i :=i/2  
(puissance) :=(puissance)-1  
tabcode[puissance] :=1  
 
tabcode[1;i]:=0  
 
 
 
If i<(nombre) do  
(somme) := i +i/2  
 
 
Repeat  
 
begin  
If (somme)<(nombre)  
then do tabcode[puissance] :=1  
else        tabcode[puissance] :=0  
 
(puissance) :=(puissance)-1  
 
until (somme)=(nombre)  
 
end  
 
 
Merci de votre aide  

mood
Google
Posté le 11-12-2006 à 22:09:12  profilanswer
 

n°7099
nicodache
marmotte en chocolat concept ©
Posté le 12-12-2006 à 21:51:31  profilanswer
 

alleï, on va lisibiliser tout ca :D
 

Code :
  1. uses SysUtils; 
  2. const taille=16; 
  3. type Tabcode=array[1..taille] of integer;   
  4. function LIRE_ENTIER:integer;
  5.     var nombre:integer;
  6.     begin
  7.         Writeln ('Quel nombre veux tu convertir en binaire?');
  8.     Readln (nombre);
  9.     While (nombre>32767) or (nombre<-32768) do
  10.         begin 
  11.             Writeln ('Error!!! :-( Please try again!! Please enter another number!!!');
  12.             Readln (nombre); 
  13.         end; 
  14.         If nombre=0 then   //si l'entier à coder est nul, on donne directement le résultat   
  15.             begin 
  16.                 Writeln ('Le nombre binaire est egal a 0000 0000 0000 0000'); 
  17.                 Readln; 
  18.             end; 
  19.         Var i : integer ; 
  20.         (puissance): integer; 
  21.         (somme): integer; 
  22.         Begin 
  23.             i :=1; 
  24.             (puissance) :=0; 
  25.             (somme) :=0; 
  26.             Repeat 
  27.                 i :=i*2 
  28.                 (puissance) :=(puissance)+1 
  29.             Until i>(nombre) 
  30.             If i>(nombre) do 
  31.                 i :=i/2 
  32.             (puissance) :=(puissance)-1 
  33.             tabcode[puissance] :=1 
  34.             tabcode[1;i]:=0 
  35.             If i<(nombre) do 
  36.                 (somme) := i +i/2 
  37.             Repeat 
  38.                 begin 
  39.                     If (somme)<(nombre) 
  40.                         then
  41.                             do tabcode[puissance] :=1 
  42.                         else
  43.                             tabcode[puissance] :=0 
  44.                     (puissance) :=(puissance)-1 
  45.             until (somme)=(nombre) 
  46. end


 
[edit]visiblement, il manque des bouts :D
du style un ou deux end.
p'tet aussi ;


Message édité par nicodache le 12-12-2006 à 21:52:07

---------------
modérateur inside [:nicodache] plankaivoo [:nicodache] - ici powered - Je roule en micra 1l 55cv et je t'emmerde :o
n°7100
Trracer
Posté le 13-12-2006 à 09:43:58  profilanswer
 

Quel compilo ? Quelles sont les erreurs ?
 
Sinon y'a des ";" te des "end" qui manquent comme le dit Nico, ensuite "//" n'est pas un commentaire en pascal (c'est "{...}" ou eventuellement "(*...*)" ).
 
C'est quoi au juste la signification de "(variable)" ? Je connais pas cette syntaxe de declaration de variable.

mood
Google
Posté le 13-12-2006 à 09:43:58  profilanswer
 


Aller à :
Ajouter une réponse

  FORUM Syndrome-OC - Jacky-PC


  Programmation


  Autre


  demande d'aide pour un programme en turbopascal

 

Hit Parade