IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Turbo Pascal Discussion :

[TP] Nombres pairs et impairs


Sujet :

Turbo Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2007
    Messages : 49
    Par défaut [TP] Nombres pairs et impairs
    j'ai un autre problème dans un autre énoncé:
    Ecrire un algo et sa traduction en pascal qui permet de:
    - afficher un message"entier pair" et calculer le carré de l'entier si l'entier donnée par l'utilisateur est paire.
    - Afficher un message"entier impaire" et calculer la racine carré de l'entier si l'entier donnée par l'utilisateur est impair

    Pascal ( mon travail)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Program p1;
    uses wincrt;
    var x:integer;
    begin
    writeln('donner la valeur de x');
    readln(x);
    if(x est pair) then begin
                        write('x est pair')
                        write('le carré de x est',sqr(x)');
                        end
                   else begin
                        write('x est impair');
                        write('le racine carré de x est',sqrt(x)');
                        end;
    l'erreur est affiché en if...' expression boleenne attendue'

    Pouvez vous m'aider??
    Ne dites pas que je suis idiote, il y a des prog que j'ai réussi quand meme

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 466
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 466
    Par défaut
    La condition x est pair n'est pas résolvable par le compilateur, du moins pas sous cetet forme. if attend comme condition une expression booléenne pouvant être déterminée. Pour déterminer si un nombre est pair ou impair, il suffit de tester si le reste de sa division euclidienne par 2 vaut 0 ou 1. Si 0, pair, si 1 impair. L'opérateur utilisé est le modulo % :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (x % 2 = 0) then {pair} else {impair}

  3. #3
    Membre chevronné Avatar de Haywire
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2006
    Messages : 462
    Par défaut
    Citation Envoyé par wormful_sickfoot
    La condition x est pair n'est pas résolvable par le compilateur
    Quel dommage ! A quand un langage où il suffira d'écrire ce qu'on veut en français pour que l'ordinateur le fasse??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Demande un nombre à l'utilisateur, si ce nombre est pair dis lui, sinon dis lui qu'il ne l'est pas, ensuite prépare moi un café sans sucre


    Bon pour ne pas poster juste pour déconner je vais anticiper tes deux prochaines erreurs de compilation.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Program p1;
    uses wincrt;
    var x:integer;
    begin
      writeln('donner la valeur de x');
      readln(x);
      if (x % 2 = 0) then 
        begin
          write('x est pair') // mieux vaut utiliser writeln, l'affichage sera plus propre
          write('le carré de x est',sqr(x)'); // idem et aussi il faut supprimer le dernier "'" sinon erreur de compil
        end
      else begin
        write('x est impair'); // writeln
        write('le racine carré de x est',sqrt(x)'); // writeln et de nouveau le "'"
        end;
    end. // il manquait ce end, l'identation le montre clairement

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2007
    Messages : 49
    Par défaut
    Citation Envoyé par Mushroom7
    Quel dommage ! A quand un langage où il suffira d'écrire ce qu'on veut en français pour que l'ordinateur le fasse??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Demande un nombre à l'utilisateur, si ce nombre est pair dis lui, sinon dis lui qu'il ne l'est pas, ensuite prépare moi un café sans sucre


    Bon pour ne pas poster juste pour déconner je vais anticiper tes deux prochaines erreurs de compilation.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Program p1;
    uses wincrt;
    var x:integer;
    begin
      writeln('donner la valeur de x');
      readln(x);
      if (x % 2 = 0) then 
        begin
          write('x est pair') // mieux vaut utiliser writeln, l'affichage sera plus propre
          write('le carré de x est',sqr(x)'); // idem et aussi il faut supprimer le dernier "'" sinon erreur de compil
        end
      else begin
        write('x est impair'); // writeln
        write('le racine carré de x est',sqrt(x)'); // writeln et de nouveau le "'"
        end;
    end. // il manquait ce end, l'identation le montre clairement
    quelle est la difference entre writeln et write??? pourquoi de preference writeln??

    Et merci

  5. #5
    Membre chevronné Avatar de Haywire
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2006
    Messages : 462
    Par défaut
    Write affiche une chaine de caractère et laisse le curseur à la fin de la chaine.
    Writeln affiche une chaine et passe le curseur à la ligne.

    Exemple concret:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    write('x est pair');
    write('le carré de x est ',sqr(x));
    si x vaut 2 cela affichera:
    x est pairle carré de x est 4
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    writeln('x est pair');
    writeln('le carré de x est ',sqr(x));
    si x vaut 2 cela affichera:
    x est pair
    le carré de x est 4

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2007
    Messages : 49
    Par défaut
    Citation Envoyé par Mushroom7
    Write affiche une chaine de caractère et laisse le curseur à la fin de la chaine.
    Writeln affiche une chaine et passe le curseur à la ligne.

    Exemple concret:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    write('x est pair');
    write('le carré de x est',sqr(x));
    si x vaut 2 cela affichera:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    writeln('x est pair');
    writeln('le carré de x est',sqr(x));
    si x vaut 2 cela affichera:
    Merci de me faire comprendre
    au code writeln('le carré de x est',sqr(x)); il parait une erreur signe " ' " attendu, mais pourquoi??? meme si je le remet c'est la meme erreur!

  7. #7
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Kal,

    En Pascal, on dispose de Odd qui renvoie true si la valeur est impaire.

    Mais comme je ne l'ai que très rarement utilisée, je ne sais plus si c'est standard ou si ça dépend du compilateur.

  8. #8
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Très franchement, il ne sert à rien de se lancer dans un langage sans en connaître les bases. Lis des cours et des tutoriaux, ne serait-ce que sur la syntaxe (begin, end, if, for, while, les ";", les ":=", les "=") etc.

    Je te conseille aussi d'utiliser un IDE (ça peut être un éditeur de texte) qui fasse de la coloration syntaxique pour Pascal, ça aide pas mal. Là par exemple tu vois au premier coup d'oeil que ton code ne va pas compiler.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2007
    Messages : 49
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Program p1;
    uses wincrt;
    var x:integer;
    begin
    writeln('donner la valeur de x');
    readln(x);
    if(x%2=0) then write('x est pair')
                        write('le carré de x est',sqr(x)');
                        end
                   else begin
                        write('x est impair');
                        write('le racine carré de x est',sqrt(x)');
                        end;
    Erreur de syntaxe elle est devenue , ou est elle l'erreur
    patientez avec moi, je m'excuse

Discussions similaires

  1. Nombres pairs ou impairs
    Par leratx dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 25/11/2009, 14h35
  2. Réponses: 6
    Dernier message: 27/05/2009, 22h14
  3. [Turbo Pascal] Nombres pairs et impairs dans un tableau
    Par 159753 dans le forum Turbo Pascal
    Réponses: 16
    Dernier message: 18/03/2009, 16h48
  4. Nombre pair ou bien impair
    Par monoar dans le forum Ruby
    Réponses: 10
    Dernier message: 12/08/2007, 21h21
  5. Réponses: 4
    Dernier message: 30/06/2002, 20h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo