diff --git a/b1-algo/c3-3-ALGORITHMIQUE.md b/b1-algo/c3-3-ALGORITHMIQUE.md index cd83838..26162db 100644 --- a/b1-algo/c3-3-ALGORITHMIQUE.md +++ b/b1-algo/c3-3-ALGORITHMIQUE.md @@ -57,19 +57,90 @@ fin objet ``` -### Ecrire le psuedo code permettanrt de créer un chauffeur ou un voyageur en fonction du choix de l'utilisateur +### Ecrire le psuedo code permettant de créer un chauffeur ou un voyageur en fonction du choix de l'utilisateur ``` - var mon_voyageur : objet; - ... +fonction creer_voyageur(chauffeur_autorisé=vrai) + var mon_voyageur : objet; + var est_chauffeur : booléen; + var nom, prenom : chaine; + var unedate : date; + + Afficher "Nom ?" + Lire nom + + Afficher "Prenom ?" + Lire prenom + + Afficher "Date de naissance ?" + Lire date + + si chauffeur_autorisé alors + est_chauffeur = faux; + Afficher "C'est un chauffeur ?" + Si reponse_fin == "oui" Alors + est_chauffeur = vrai + Fin si + fin si + + Si est_chauffeur == vrai Alors + mon_voyageur = nouveau chauffeur(nom,prenom,date); + Sinon + mon_voyageur = nouveau voyageur(nom,prenom,date); + Fin si; + + renvoyer mon_voyageur; +fin fonction ``` +### Ecrire le pseudo code permettant de mettre dans un tableau au minimum un chauffeur et un client. Sachant quon ne peut pas avoir plus d'un chauffeur. - - -### Ecrire le pseudo code permettant de mettre dans un tableau au minimum un chauffeur et un client. Sachant quon ne peu pas avoir plus d'un chauffeur. - - +``` + var tdv : tableau; + var fini, a_chauffeur, vehicule_rempli : booléen; + var nb_voyageurs : entier; + var reponse : chaine; + + nb_voyageurs = 0; + fini = faux; + a_chauffeur = faux; + vehicule_rempli = faux; + + Tant que (fini != vrai et a_chauffeur != vrai et !vehicule_rempli) + tdv[nb_voyageurs] = creer_voyageur(!a_chauffeur); + nb_voyageurs = nb_voyageurs +1; + Si tdv[nb_voyageurs] instancede chauffeur + a_chauffeur = vrai; + fin si; + + vehicule_rempli = (a_chauffeur et nb_voyageurs == 9) ou (!a_chauffeur et nb_voyageurs == 8); + + Si taille(tdv) >= 2 alors + Afficher "fini ?" + Lire reponse_fin + Si reponse_fin == "oui" Alors + fini = vrai + Fin si + Fin si + Fin tant que; +``` ## Puis de vérifier si tout le monde a payé ou pas. +``` +var i entier; +i=0; +fini = false; +Tant que i < taille(tdv) et !fini + si faux == tdv[i]->a_payé() alors + Afficher "tout le monde n'a pas payé"; + fini = vrai + fin si + i = i+1; +fin tant que + +Si i == taille(tdv) et !fini + Afficher "tout le monde a payé"; +fin si + +``` \ No newline at end of file