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

Pascal Discussion :

Exercices sur les structures conditionnelles


Sujet :

Pascal

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Exercices sur les structures conditionnelles
    Bonsoir

    Je profite de mon premier post sur ce forum :
    Ali, 19 ans, étudiant en 3e mathématiques, Tunisie.

    Voici l'énoncé de mes exercices :
    1/ Soit l'entier n.Tester la parité de chacun des 2 chiffres de n.
    Exp: n=16-> 1 est impair et 6 est pair.
    2/ Décider si un entier est divisible par ses 2 chiffres.
    Exp: 24 est divisible par 2 et par 4.
    Je choisis de travailler avec la condition if then et d'utiliser le mod et le div de chaque entier mais je ne trouve pas la solution.
    J'aimerais donc, si possible, avoir une solution à ces exercices et merci.

  2. #2
    Membre éprouvé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Points : 917
    Points
    917
    Par défaut
    Je pense que tu as le droit de reflechir

    1) pourquoi ne pas diviser ton entier en 2 autre : 16 -> 1 , 6

    comment avoir le 6 ? 16 % 10 = 6

    comment avoir le 1 ? une simple division suffit : sur des entiers 16 / 10 = 1

    comment determiner si les chiffres sont paires ou pas : un simple % 2 suffit, si le chiffre est paire le reste de la division par 2 renverra forcement 0 et 1 dans le cas d un chiffre impaire

    une ebauche d algo:

    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
    18
    19
     
     
    entier i;
    entier j;
     
    entier nb = 16;
     
    i = nb / 10;
    j = nb % 10;
     
    si i % 2 = 0
      affichier (i + "est pair")
    else
      afficher(i + "est impaire")
     
    si j % 2 = 0 
      affichier (j + "est pair")
    else
      afficher(j + "est impaire")

  3. #3
    Membre éprouvé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Points : 917
    Points
    917
    Par défaut
    pour ton 2eme exo ca ressemblerai a un truc du genre


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for i = 0 to nb do
    begin
      if (nb % i = 0) then
        writeln(i);
    end;

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Pour le deuxième j'ai une autre méthode, je ne sais pas si c'est exact ou non :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    uses wincrt;
    var
    n,u,d:integer;
    begin
    write('donner la valeur de n: ');
    read (n);
     
    u:= n mod 10;
    d:= n div 10;
     
    if (u=0)
        then write( n,' n''est pas divisible par 0');
     
    if ( n mod u=0) 
     
               then write( n,' est divisible par ',u)
     
    else
            write(n,' n''est pas divisible par ',u);
     
    if ( n mod d=0)
           then  write( ' et divisible par ', d)
    else
            write(' ne divisible pas par ',d); 
    end.

  5. #5
    Membre éprouvé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Points : 917
    Points
    917
    Par défaut
    le probleme avec ta 2eme methode c est que tu ne vas pas trouver tous les diviseurs

    dans ton cas, 53 sera divisble par 5 alors que ce n est pas le cas (car tu isole de 5 et le 3)

    et tu ne trouveras pas certains diviseur comme 12 qui est divisible par 3 alors que 1 n est pas divisible par 3 ni 2 (quand je dis divisible je parle bien avec un reste de 0 hein )

    d ou la boucle

  6. #6
    Membre éprouvé
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Points : 1 294
    Points
    1 294
    Par défaut

    1/ Soit l'entier n.Tester la parité de chacun des 2 chiffres de n.
    Exp: n=16-> 1 est impair et 6 est pair.




    2/ Décider si un entier est divisible par ses 2 chiffres.
    Exp: 24 est divisible par 2 et par 4.


    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
    18
    19
     
    procedure test(N: integer; var U, D: integer; var isEvenN, isEvenU, isEvenD, isDivByU, isDivByD: boolean);
    begin
      U := N mod 10;
      D := N div 10;
     
      isEvenN := (N and 1) = 0;
      isEvenU := (U and 1) = 0; // ou = isEvenN !
      isEvenD := (D and 1) = 0;
     
      isDivByU := (U <> 0); 
      isDivByD := (D <> 0);
     
      if isDivByU then 
        isDivByU := (N mod U) = 0;
     
      if isDivByD then 
        isDivByD := (N mod D) = 0;
    end;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme sur les structures conditionnelles
    Par minus1992 dans le forum Général Python
    Réponses: 3
    Dernier message: 25/02/2015, 08h24
  2. exercice sur les structures
    Par nitch01 dans le forum Débuter
    Réponses: 6
    Dernier message: 20/01/2010, 12h22
  3. exercice/corrige sur les structure de donne
    Par mdh12 dans le forum Débuter
    Réponses: 1
    Dernier message: 01/12/2009, 22h58
  4. Exercice sur les structures
    Par Robmilou dans le forum Débuter
    Réponses: 2
    Dernier message: 19/05/2008, 01h57
  5. aide pour exercice sur les structures
    Par demetria dans le forum C
    Réponses: 10
    Dernier message: 25/09/2007, 22h11

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