Inscription / Connexion Nouveau Sujet
Niveau Licence Maths 1e ann
Partager :

Affichage

Posté par
liberusalain
09-02-19 à 04:05

Salut comment allez vous? je suis nouveau dans le domaine algo. maintenant je suis en train de faire un algo. le but de cet algo, c'est d'afficher " Bonjour Monsieur ou Madame X quant la personne entre son nom et son sexe a savoir M ou F.
Maintenant je n'arrive pas a afficher Monsieur ou Madame lorsque la personne entre son sexe. Aide moi STP

VARIABLES
2 nom EST_DU_TYPE CHAINE
3 sexe EST_DU_TYPE CHAINE
4 slt EST_DU_TYPE CHAINE
5 M EST_DU_TYPE CHAINE
6 DEBUT_ALGORITHME
7 AFFICHER "Quel est ton nom?"
8 LIRE nom
9 AFFICHER "Quel est ton sexe?"
10 LIRE sexe
11 slt PREND_LA_VALEUR sexe + " "+ nom
12 SI (sexe=="M" ou sexe=="F") ALORS
13 DEBUT_SI
14 AFFICHER "Bonjour"
15 AFFICHER " "
16 AFFICHER slt
17 FIN_SI
18 FIN_ALGORITHME

Posté par
carita
re : Affichage 09-02-19 à 08:42

bonjour

ligne 10 : selon toi, quelle chaine dois taper la personne ?
tu ne précises pas

ligne 12 : à quoi sert ce test ?

Posté par
carita
re : Affichage 09-02-19 à 08:47

oups, mal réveillée, je viens de voir : " la personne entre son nom et son sexe a savoir M ou F. "

bon, ben déroule ton algo à la main, par exemple avec ton propre nom (au brouillon).

que va contenir la chaine slt ?

Posté par
liberusalain
re : Affichage 09-02-19 à 11:18

Salue, la chaine slt contenue: sexe+" "+ nom.
dans la ligne 10, je veux que la personne tape M ou F. le probleme c'est que, je veux ajouter un line afin que M contenu Masculin ou F contenue Feminin de sorte que quant la personne tape M ou F l'algo affiche Monsieur ou Madame.

Posté par
flight
re : Affichage 09-02-19 à 11:29

salut
une proposition en excel vba

Citation :
Sub message()
nom = InputBox("saisir votre nom")
genre = UCase(InputBox("entrez votre genre F ou M"))
Select Case genre
Case Is = "M"
MsgBox "Bonjour Monsieur" & " " & nom
Case Is = "F"
MsgBox "Bonjour Madame" & " " & nom
End Select
End Sub

Posté par
carita
re : Affichage 09-02-19 à 11:43

salut Flight

liberusalain
"je veux ajouter un ligne afin que ... quand la personne tape M ou F l'algo affiche Monsieur ou Madame. "

oui
mais comme tu as fait ton test :
- il n'y aucune distinction des cas M ou F
- à aucun moment tu ne dis à l'algo d'afficher Monsieur ou Madame

... comment veux-tu dans ces conditions obtenir l'affichage souhaité ?

tu as déroulé ton algo à la main?

perso, si j'essaie avec "F" et "carita", ça m'affiche "bonjour F carita"...
où est l'erreur ?

Posté par
liberusalain
re : Affichage 09-02-19 à 21:48

Tout Va bien. Merci a vous tous.

VARIABLES
2 slt EST_DU_TYPE CHAINE
3 nom EST_DU_TYPE CHAINE
4 sexe EST_DU_TYPE CHAINE
5 m EST_DU_TYPE CHAINE
6 DEBUT_ALGORITHME
7 AFFICHER "Quel est ton nom?"
8 LIRE nom
9 AFFICHER "Quel est ton sexe? ( M / F)"
10 LIRE sexe
11 SI (sexe=="M") ALORS
12 DEBUT_SI
13 slt PREND_LA_VALEUR " " + nom
14 AFFICHER "Bonjour Monsieur"
15 AFFICHER " "
16 AFFICHER slt
17 FIN_SI
18 SI (sexe=="F") ALORS
19 DEBUT_SI
20 slt PREND_LA_VALEUR " "+ nom
21 AFFICHER "Bonjour Madame"
22 AFFICHER " "
23 AFFICHER slt
24 FIN_SI
25 FIN_ALGORITHME

Posté par
carita
re : Affichage 09-02-19 à 23:00

bonjour

2 remarques :

1) tu peux simplifier ton algo en remplaçant les 4 lignes :

13 slt PREND_LA_VALEUR " " + nom
14 AFFICHER "Bonjour Monsieur"
15 AFFICHER " "
16 AFFICHER slt


par 2 lignes :
13 slt PREND_LA_VALEUR  "Bonjour Monsieur  " + nom
14  AFFICHER slt


tu mets un espace après Monsieur, et ainsi tu allèges ton algo d'une ligne

même chose pour 20 à 23.


2) plutôt que faire 2 tests "SI" en séquentiel,
il serait plus judicieux de faire un test "SI... SINON"

SI (sexe=="M") ALORS
        DEBUT_SI
        on traite le cas monsieur
        FIN_SI
SINON                                   // on est donc dans le cas  (sexe=="F")
       DEBUT_SINON
        on traite le cas madame
        FIN_SINON
      
-----
tu as testé ton algo, par exemple sur algobox?

Posté par
liberusalain
re : Affichage 11-02-19 à 02:22

Je vous salue, Je vous remercie pour votre aide. Pour le test si, ce que j'aimerais faire  c'est de mettre un " sinon si " toute foi la personne mettre une autre chose au niveau du sexe.
La structure
Si ....Alors

Finsi
  Sinon si ....alors

Finsinon si

Sinon.....

FinSinon

Malheureusement je ne vois pas Sinon si dans algobox.
Je vous remercie pour votre aide.

J'aimerais avoir beaucoup de TP de base pour que j'avance.

Posté par
carita
re : Affichage 11-02-19 à 08:57

bonjour

bonne idée de vouloir tester la saisie.

on peut déjà penser au cas de la saisie en lettres minuscules :
tel quel, ton algo ne va pas reconnaitre la saisie « m » : voir modifs lignes 5 et 11.

ensuite, il y a plusieurs façons de traiter l'erreur de frappe.

- soit en imbriquant un autre SI/SINON (ligne 11 à 18) dans le SINON du premier test.

la limite de cette méthode, c'est qu'en cas d'erreur de saisie du genre, le programme s'arrête et ne permet pas une nouvelle saisie.

1 VARIABLES
2   G EST_DU_TYPE CHAINE
3 DEBUT_ALGORITHME
4   LIRE G
5   SI (G=="M" ou G=="m") ALORS
6     DEBUT_SI
7     AFFICHER "cas Mr"
8     FIN_SI
9     SINON
10       DEBUT_SINON
11       SI (G=="F" ou G=="f") ALORS
12       DEBUT_SI
13       AFFICHER "cas Mme"
14       FIN_SI
15       SINON
16         DEBUT_SINON
17         AFFICHER "Erreur de saisie"
18        FIN_SINON

19    FIN_SINON
20 FIN_ALGORITHME


- soit en utilisant l'instruction TANTQUE.

on introduit une autre variable - que j'ai appelée VALIDE, initialisée à 0 ,
qui prend la valeur 1 seulement lorsque la saisie est correcte.
dans le cas contraire, on permet une nouvelle saisie.

note : VALIDE != 1  est la syntaxe algobox  pour écrire  VALIDE différent de 1

1   VARIABLES
2     G EST_DU_TYPE CHAINE
3     VALIDE EST_DU_TYPE NOMBRE
4   DEBUT_ALGORITHME
5     VALIDE PREND_LA_VALEUR 0
6     TANT_QUE (VALIDE != 1) FAIRE
7       DEBUT_TANT_QUE
8       LIRE G
9       SI (G=="M" ou G=="m" ou G=="F" ou G=="f") ALORS
10        DEBUT_SI
11        VALIDE PREND_LA_VALEUR 1
12        FIN_SI
13        SINON
14          DEBUT_SINON
15          AFFICHER "Erreur de saisie "
16          FIN_SINON
17      FIN_TANT_QUE
18    //suite de l'algo inchangée, à insérer
19  FIN_ALGORITHME

Posté par
liberusalain
re : Affichage 11-02-19 à 12:28

Bonjour
Pour le "m" j'etais pense avec ça, j'oubliais de le mettre. Mais c'est que j'envie de mettre c'est "Bonjour" ou "Bonsoir" cela va en rapport avec l'heure.

Posté par
carita
re : Affichage 11-02-19 à 14:01

pour "bonjour" ou "bonsoir"

avec algobox, l'opérateur va être obligé de saisir l'heure avant...
à ma connaissance, il n'est pas possible de récupérer l'heure système.

algobox est intéressant à titre didactique, de par la génération automatique de "structures" d'instructions, quand on débute avec la logique des algorithmes.

mais pour ce que tu souhaites faire, il faut envisager d'autres langages de programmation, qui permettent de récupérer des informations système, dont l'heure, sous un format déterminé.

... mais ça, c'est une autre aventure

Posté par
liberusalain
re : Affichage 11-02-19 à 14:35

Ok, merci pour vos conseilles, vos aides. Merciiiiii

Posté par
carita
re : Affichage 11-02-19 à 14:36

avec plaisir
bonne suite !

Posté par
liberusalain
re : Affichage 12-02-19 à 01:37

Salut, Comme vous le savez. Je suis un etudiant libre sur le net. J'aimerais savoir apres les algorithme, quel langage de programation je peux choisir. a savoir C; C++...

Posté par
mathafou Moderateur
re : Affichage 12-02-19 à 18:18

Bonjour,

pour tricher avec Algobox on peut écrire des "choses" (!!) comme ça :

VARIABLES
// variable chaine poubelle
msg EST_DU_TYPE CHAINE
d EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
// en fait on affecte à d par effet de bord
msg PREND_LA_VALEUR (d=(new Date()).getHours())
AFFICHER d
FIN_ALGORITHME

à l'heure qu'il est ça donne :

***Algorithme lancé***
18
***Algorithme terminé***

mais bon c'est plus vraiment du Algobox

on peut faire plein de choses non documentées en glissant subrepticement du JavaScript dans l'affectation d'une variable chaine !

ou plus proprement, définir des extensions (voir aide de Algobox) écrites proprement en JavaScript, mais bon ... il faut les sauvegarder en fichier .js et les charger avec le programme.

Posté par
mathafou Moderateur
re : Affichage 12-02-19 à 19:25

* non documentée dans Algobox, bien entendu,
mais parfaitement documentées dans JavaScript

Posté par
liberusalain
re : Affichage 13-02-19 à 02:55

ok, c'est bien



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !