Conditions sans IF

Poster un nouveau sujet   Répondre au sujet

Voir le sujet précédent Voir le sujet suivant Aller en bas

Conditions sans IF

Message par informix le Mer 21 Nov - 23:16

Exercice

SANS UTILISER L’INSTRUCTION (IF…ELSE…) NI (SWITCH…CASE)

Essayer d’écrire un programme qui lit 6 nombres entiers a1, a2, a3, a4, a5 et a6 et calcule le nombre d’entiers qui répondent à la condition suivante :

  • ayant « 5 » comme chiffre d’unités, et
  • contenant au moins 3 chiffres, et
  • étant le carré d’un autre nombre entier (exemple : 64 carré de Cool
Essayer de le faire. L'idée n'est pas mal.
informix, Ecole d'ingénieurs
Les passions font vivre l'Homme; sa sagesse le fait seulement durer.

informix
Membre fondamental
Membre fondamental

Messages : 350
Inscrit le : 19 Mar 2007

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Re: Conditions sans IF

Message par nabiL le Jeu 22 Nov - 13:38

Moi, j'ai une idée sur la solution. J'attends les propositions des membres...
Nabil - tunis
خير الناس أنفعهم للناس

nabiL
Admin
Admin

Sexe:Masculin
Messages : 1908
Inscrit le : 19 Mar 2007
Localisation : Tunisie

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

Revenir en haut Aller en bas

Re: Conditions sans IF

Message par manianis le Jeu 22 Nov - 14:44

çà ressemblera à quelque chose comme :

Code:
nbre = (a1 % 5 == 0) && (a1 >= 100) && (sqrt(a1)*sqrt(a1) == a1) +
(a2 % 5 == 0) && (a2 >= 100) && (sqrt(a2)*sqrt(a2) == a2) +
(a3 % 5 == 0) && (a3 >= 100) && (sqrt(a3)*sqrt(a3) == a3) +
(a4 % 5 == 0) && (a4 >= 100) && (sqrt(a4)*sqrt(a4) == a4) +
(a5 % 5 == 0) && (a5 >= 100) && (sqrt(a5)*sqrt(a5) == a5) +
(a6 % 5 == 0) && (a6 >= 100) && (sqrt(a6)*sqrt(a6) == a6);

manianis
Admin
Admin

Sexe:Masculin
Messages : 976
Inscrit le : 10 Oct 2007
Localisation : Tunisie

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

Revenir en haut Aller en bas

Re: Conditions sans IF

Message par nabiL le Jeu 22 Nov - 17:36

manianis:
(a1 % 5 == 0) ne veut pas dire que le chiffre d'unité de a1 est 5. Smile
exemple:
a1 = 120
------------------------------------------------------------
sqrt(a1)*sqrt(a1) == a1, elle est toujours vraie

------------
mais c'est ça l'idée. Wink juste quelques rectifications.
Nabil - tunis
خير الناس أنفعهم للناس

nabiL
Admin
Admin

Sexe:Masculin
Messages : 1908
Inscrit le : 19 Mar 2007
Localisation : Tunisie

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

Revenir en haut Aller en bas

Re: Conditions sans IF

Message par informix le Jeu 22 Nov - 19:31

je ne savais pas qeu c faisable, mais manianis l'a prouvé. bravo
informix, Ecole d'ingénieurs
Les passions font vivre l'Homme; sa sagesse le fait seulement durer.

informix
Membre fondamental
Membre fondamental

Messages : 350
Inscrit le : 19 Mar 2007

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Re: Conditions sans IF

Message par medch le Jeu 22 Nov - 22:00

slt
je crois que la solution est fasse car il faut faire
a1%10= =5;
e pour la condition
(a1 % 10 == 0) && (a1 >= 100) &&(a1<=999)&& (sqrt(a1)*sqrt(a1) == a1) +......

medch
Nouveau membre
Nouveau membre

Messages : 16
Inscrit le : 28 Oct 2007
Localisation : tunis

Revenir en haut Aller en bas

Re: Conditions sans IF

Message par nabiL le Jeu 22 Nov - 22:33

medch a écrit:slt
je crois que la solution est fasse car il faut faire
a1%10= =5;
e pour la condition
(a1 % 10 == 0) && (a1 >= 100) &&(a1<=999)&& (sqrt(a1)*sqrt(a1) == a1) +......


effectivement medch:
la condition a1%10==5 est correcte.

(a1 >= 100) &&(a1<=999) n'est pas correcte. Il faut que le nombre ait au moins 3 chiffres, et non pas uniquement trois chiffres.

@+
Nabil - tunis
خير الناس أنفعهم للناس

nabiL
Admin
Admin

Sexe:Masculin
Messages : 1908
Inscrit le : 19 Mar 2007
Localisation : Tunisie

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

Revenir en haut Aller en bas

Re: Conditions sans IF

Message par medch le Jeu 22 Nov - 23:10

#include
#include
void main ()

{
int a1,a2,a3,a4,a5,a6;
int nombre;

printf("donner un entier; ");
scanf("%d",&a1);
printf("donner un entier; ");
scanf("%d",&a2);
printf("donner un entier; ");
scanf("%d",&a3);
printf("donner un entier; ");
scanf("%d",&a4);
printf("donner un entier; ");
scanf("%d",&a5);
printf("donner un entier; ");
scanf("%d",&a6);



nombre = ((a1 % 10 == 5) && (a1 >= 100) && (sqrt(a1)*sqrt(a1) == a1))
||((a2 % 10== 5) && (a2 >= 100) && (sqrt(a2)*sqrt(a2) == a2) )
|| ((a3 % 10 == 5) && (a3 >= 100) && (sqrt(a3)*sqrt(a3) == a3) )
|| ((a4 % 10 == 5) && (a4 >= 100) && (sqrt(a4)*sqrt(a4) == a4) )
|| ((a5 % 10 == 5) && (a5 >= 100) && (sqrt(a5)*sqrt(a5) == a5) )
|| ((a6 % 10 == 5) && (a6 >= 100) && (sqrt(a6)*sqrt(a6) == a6) );
printf("le nombre est %d \n",nombre);

printf("le nombre est %d",nombre);



}

medch
Nouveau membre
Nouveau membre

Messages : 16
Inscrit le : 28 Oct 2007
Localisation : tunis

Revenir en haut Aller en bas

Re: Conditions sans IF

Message par nabiL le Ven 23 Nov - 8:57

Ca ne doit pas marcher medch
Voilà les raisons:


  • tu as utilisé des OR || entre les conditions ce qui fait que dans "nombre" tu vas trouver soit ZERO soit UN...
  • (sqrt(a1)*sqrt(a1) == a1) elle est toujours VRAI. même pour les nombres réels (non entiers)
J'attends d'autres versions de ta part Wink
Nabil - tunis
خير الناس أنفعهم للناس

nabiL
Admin
Admin

Sexe:Masculin
Messages : 1908
Inscrit le : 19 Mar 2007
Localisation : Tunisie

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

Revenir en haut Aller en bas

Re: Conditions sans IF

Message par informix le Dim 25 Nov - 21:12

il y a une petite relation entre ce sujet et le sujet "vérifier si un nombre est entier ou float" Smile

n'est-ce pas ???
informix, Ecole d'ingénieurs
Les passions font vivre l'Homme; sa sagesse le fait seulement durer.

informix
Membre fondamental
Membre fondamental

Messages : 350
Inscrit le : 19 Mar 2007

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Re: Conditions sans IF

Message par methodiX le Lun 26 Nov - 22:21

je crois que OUI !!! Smile
j'ai trouvé un lien. J'espère que je ne suis pas très bête.
Sami - Methodix, tunis
Le génie de Newton a consisté à dire que la lune tombe alors que tout le monde voit bien qu'elle ne tombe pas.
(Paul Valéry)

methodiX
Admin
Admin

Sexe:Masculin
Messages : 811
Inscrit le : 22 Mar 2007
Localisation : marsa - IPEST

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum