Equations sous dev pascal

AdR -  
KX Messages postés 19031 Statut Modérateur -
Bonjour, tout le monde et merci de prendre le temps de lire ce message.
Je rencontre un problème sur un exercice de programmation. Je n'arrive pas à formuler des équations sous dev pascal.

Voici l'énoncé que je n'arrive pas à résoudre.
"Si l'on additionne les deux nombres mystères on obtient 2004, si l'on calcul leur différence ( le plus grand moins le plus petit) et si l'on retranche 1 à cette différence, cela donne 1105.
Écrire un programme Pascal qui calcule ( grâce à des équations ) et affiche la valeur de ces deux nombres."

Je bloque complètement dès le début :S.
Merci de votre future aide.
AdR
Configuration: Windows Vista
Firefox 3.0.5

5 réponses

  1. william7007 Messages postés 344 Statut Membre 46
     
    Bonjour
    je m'excuse si je m'éloigne de ton domaine mais il se fait que moi je ne connais pas le Pascal et je fais avec le java donc tu peux essaie de traduire ton programme toi même sinon voilà ce que j'ai trouvé en Java

    
    import java.math.*;
    
    public class NombreMagique {
    	
    	
    	public void afficheNombre(){
    		int a;
    		int b;
    		int som, dif;
    		boolean ver = true;
    		
    		while(ver){
    			a = (int)((Math.random())*10000);
    			b = (int)((Math.random())*10000);
    			som = a + b;
    			dif = (a < b)?(b - a):(a - b);
    			
    			if((som == 2005) && (dif == 1105 )){
    				ver = false;
    				System.out.println("a = "+a+"\nb = "+b+"\nSomme = "+som+"\nDifference = "+dif);
    			}
    		}
    		
    	}
    
    }
    
    
    


    et tu as comme solution

    
    a = 450
    b = 1555
    Somme = 2005
    Difference = 1105
    
    


    bonne chance et à plus
    0
  2. AdR
     
    Merci de ton temps dévoué à mon problème mais le problème c'est que c'est bel et bien en dev pascal que je dois le résoudre :S
    Le Java ce sera pour plus tard xD
    0
  3. KX Messages postés 19031 Statut Modérateur 3 020
     
    J'ai réécris en Pascal le programme de william7007 cependant l'utilisation des random me parait mal choisi (peut-être est-ce dû à des différence entre Pascal et Java) et c'est pourquoi je propose un autre programme mais avec des boucles...
    program NombreMagique;
    
    var a,b,som,dif:integer; ver:boolean;
    begin
    ver:=true;
    randomize;
    
    while ver do
          begin
          a:=random(10000);
          b:=random(10000);
          som:=a+b;
          dif:=abs(b-a);
    
          if (som=2005) and (dif=1105) then begin
                                            ver:=false;
                                            writeln('a = ',a);
                                            writeln('b = ',a);
                                            writeln('Somme = ',som);
                                            writeln('Difference = ',dif);
                                            end;
          end;
    
    writeln; write('Fin du programme. Appuyer sur Entree'); readln;
    end.
    Et :
    program NombreMagique;
    
    var a,b,som,dif:integer;
    begin
    
    for a:=1 to 10000 do
    for b:=a to 10000 do
        begin
        som:=a+b;
        dif:=b-a;
        if (som=2004) and (dif-1=1105) then begin
                                          writeln('a = ',a);
                                          writeln('b = ',b);
                                          writeln('Somme = ',som);
                                          writeln('Difference = ',dif);
                                          writeln;
                                          end;
        end;
    
    writeln; write('Fin du programme. Appuyer sur Entree'); readln;
    end.
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. william7007 Messages postés 344 Statut Membre 46
     
    Ok je voie c'est cool ce que tu as fait.
    je cris qu'ici avec les boucles tu auras une répetition du genre
    il affiche
    c = a + b;
    et encore
    c = b + a;

    si je ne me trompe pas biensure.
    0
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      En fait non parce que la boucle a commence à partir de b, du coup on aura toujours a<=b...
      0