Algorithme avec do et while
Fermé
widi
Messages postés
34
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
16 décembre 2006
-
5 déc. 2006 à 13:08
widi Messages postés 34 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 16 décembre 2006 - 6 déc. 2006 à 09:54
widi Messages postés 34 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 16 décembre 2006 - 6 déc. 2006 à 09:54
Bonjour tout le monde, j'ai un petit problème pour écrire mon algo, et en plus j'ai fait les choses à l'envers j'ai deja écrit mon programme:
mon programme :
do
{
cout<<"Entrer une longueur positive et inferieure a 80 de la zone d'affichage: "<<endl;
cin>>longueur;
}
while (longueur<0 || longueur>80);
ce n'est que le début mais c'est juste avec le do et le while que je ne sait pas comment faire. Je ne sais pas comment écrire le DO
Je vous remercie de vos réponses.
mon programme :
do
{
cout<<"Entrer une longueur positive et inferieure a 80 de la zone d'affichage: "<<endl;
cin>>longueur;
}
while (longueur<0 || longueur>80);
ce n'est que le début mais c'est juste avec le do et le while que je ne sait pas comment faire. Je ne sais pas comment écrire le DO
Je vous remercie de vos réponses.
A voir également:
- Algorithme while
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
- Algorithme euromillion excel gratuit - Forum Algorithmes / Méthodes
- Code ascii algorithme - Guide
- Algorithme qui calcule le carré d'un nombre - Forum Algorithmes / Méthodes
2 réponses
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
5 déc. 2006 à 13:59
5 déc. 2006 à 13:59
Ou est le probleme ? Ta syntaxe est bonne, et ton algo aussi il me semble, du moins si tu as bien déclarer ta variable longueur avant. Tu as testé ton prog avant ou pas ?
widi
Messages postés
34
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
16 décembre 2006
5 déc. 2006 à 14:30
5 déc. 2006 à 14:30
ben oui mais ça c'est mon programme, c avec l'algo que j'ai un pb.
do (mais en algo)
{
ecrire "Entrer une longueur positive et inferieure a 80 de la zone d'affichage: "
}
tant que 0<longueur<80
ftant que
tu comprend mon problème?
Merci de repondre
do (mais en algo)
{
ecrire "Entrer une longueur positive et inferieure a 80 de la zone d'affichage: "
}
tant que 0<longueur<80
ftant que
tu comprend mon problème?
Merci de repondre
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
5 déc. 2006 à 14:35
5 déc. 2006 à 14:35
hAAA
Désolé j'ai mal compris ta question ^^
En algo tu écrit comme ca :
En tout cas c'est comme ca qu'on m'a appris :)
Désolé j'ai mal compris ta question ^^
En algo tu écrit comme ca :
Faire BLABLABLA Tant que CONDITION
En tout cas c'est comme ca qu'on m'a appris :)
widi
Messages postés
34
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
16 décembre 2006
5 déc. 2006 à 14:53
5 déc. 2006 à 14:53
ouai mais le do car tu peut avoit while sans do
Tu l'écrit comme ça??
Tu l'écrit comme ça??
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
5 déc. 2006 à 15:14
5 déc. 2006 à 15:14
Je t'ai répondu justement ^^
Pour traduire un while :
Et pour traduire un do{ ... }while( ... );
tu fais :
Pour traduire un while :
Tant que CONDITION FAIRE .... .... FIN TANT QUE
Et pour traduire un do{ ... }while( ... );
tu fais :
FAIRE .... .... TANT QUE CONDITION
widi
Messages postés
34
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
16 décembre 2006
5 déc. 2006 à 15:30
5 déc. 2006 à 15:30
merci bcp
bonne apres midi
bonne apres midi
widi
Messages postés
34
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
16 décembre 2006
5 déc. 2006 à 18:06
5 déc. 2006 à 18:06
Bonjour tout le monde j'ai fait un algorithme pour un programme et je voudrais savoir ce que vous en pensez je vous donne l'algo et le programme:
algo:
1/ Description du résultat.
Afficher une zone rectangulaire dont la hauteur et la largeur est donnée par l’utilisateur. A l’intérieur de cette zone rectangulaire sera afficher un disque de centre, de rayon et de motif donnés.
2/ Idée de l’algorithme.
- Afficher la première largeur de la zone rectangulaire.
- Afficher les débuts de ligne
- Afficher le disque à l’endroit choisit par l’utilisateur
- Afficher les fins de ligne
- Afficher la deuxième largeur de la zone rectangulaire.
3/ Lexique local des variables.
colonne (entier) Intermédiaire (???)
ligne (entier) Intermédiaire (???)
longueur (entier) donnée
largeur (entier) donnée
abscisse (reel) donnée
ordonnée (réel) donnée
rayon (réel) donnée
motif (????) donnée
4/ Algorithme
Faire
Écrire « Entrez la largeur positive et inferieur à 80 de la zone d'affichage : »
Largeur affecté de Lire
Tant que 0<largeur<80
Ftant que
Faire
Ecrire « Entrez la longueur positive et inférieur a 60 de la zone d'affichage : »
longueur affecté de Lire
Tant que 0<longueur<60
Ftant que
Ecrire « Entrez l'abscisse du centre du cercle : »
Abscisse affecté de Lire
Ecrire « Entrez l'ordonnée du centre du cercle : »
ordonnée affecté de Lire
Faire
Ecrire « Entrez le rayon positif du cercle : »
rayon affecté de lire
Tant que rayon<0
Ftant que
Faire
Ecrire « Entrez le motif du cercle sauf ('+','-','|',' ') : »
motif affecté de Lire
Tant que motif = « + », motif = « - », motif = « | », motif = « »,
Ftant que
Ecrire « + »
Pour colonne de 1 à inférieur à la largeur
Ecrire « - »
Fpour
Écrire « + »
Ecrire « \n »
Pour ligne de 0 à inférieur à la longueur
Ecrire « | »
Pour colonne de 0 à inférieur à largeur
Si racine carré ((ordonnée-ligne)(ordonnée-colonne)+(abscisse-ligne)(abscisse-colonne))
Ecrire motif
Sinon
Ecrire « »
Fsi
Fpour
Ecrire « | »
Ecrire « \n »
Fpour
Pour colonne de 1 à inférieur ou égale à largeur
Ecrire « - »
Fpour
Ecrire « + »
Ecrire « \n »
Le programme:
#include <iostream>
#include <cmath>
using namespace std;
main (){
int colonne, ligne,longueur, largeur;
float abscisse,ordonnee,rayon;
char motif;
do
{
cout << "Entrez la largeur positive et inférieur à 80 de la zone d'affichage : "<<endl;
cin >> largeur;
}
while(largeur<0 || largeur>80);
do
{
cout << "Entrez la longueur positive et inférieur à 60 de la zone d'affichage : "<<endl;
cin >> longueur;
}
while(longueur<0 || longueur>60);
cout << "Entrez l'abscisse du centre du cercle : "<<endl;
cin >> abscisse;
cout << "Entrez l'ordonnée du centre du cercle : "<<endl;
cin >> ordonnee;
do
{
cout << "Entrez le rayon positif du cercle : "<<endl;
cin >> rayon;
}
while(rayon<0);
do
{
cout << "Entrez le motif du cercle sauf ('+','-','|',' ') : " << endl;
cin >> motif;
}
while(motif=='+' || motif=='-' || motif=='|' || motif==' ');
cout << '+';
for(colonne=1;colonne<=largeur;colonne++)
{
cout << '-';
}
cout << '+';
cout << endl;
for(ligne=0;ligne<longueur;ligne++)
{
cout << '|';
for(colonne=0;colonne<largeur;colonne++)
{
if(sqrt((ordonnee-ligne)*(ordonnee-ligne)+(abscisse-colonne)*(abscisse-colonne))<=rayon)
{
cout << motif;
}
else
{
cout << ' ';
}
}
cout << '|' << endl;
}
cout << '+';
for(colonne=1;colonne<=largeur;colonne++)
{
cout << '-';
}
cout << '+';
cout << endl;
}
Sinon j'ai aussi un problème pour le char motif je ne sais pas comment le définir dans mon lexique des variables
Merci de vos réponses
algo:
1/ Description du résultat.
Afficher une zone rectangulaire dont la hauteur et la largeur est donnée par l’utilisateur. A l’intérieur de cette zone rectangulaire sera afficher un disque de centre, de rayon et de motif donnés.
2/ Idée de l’algorithme.
- Afficher la première largeur de la zone rectangulaire.
- Afficher les débuts de ligne
- Afficher le disque à l’endroit choisit par l’utilisateur
- Afficher les fins de ligne
- Afficher la deuxième largeur de la zone rectangulaire.
3/ Lexique local des variables.
colonne (entier) Intermédiaire (???)
ligne (entier) Intermédiaire (???)
longueur (entier) donnée
largeur (entier) donnée
abscisse (reel) donnée
ordonnée (réel) donnée
rayon (réel) donnée
motif (????) donnée
4/ Algorithme
Faire
Écrire « Entrez la largeur positive et inferieur à 80 de la zone d'affichage : »
Largeur affecté de Lire
Tant que 0<largeur<80
Ftant que
Faire
Ecrire « Entrez la longueur positive et inférieur a 60 de la zone d'affichage : »
longueur affecté de Lire
Tant que 0<longueur<60
Ftant que
Ecrire « Entrez l'abscisse du centre du cercle : »
Abscisse affecté de Lire
Ecrire « Entrez l'ordonnée du centre du cercle : »
ordonnée affecté de Lire
Faire
Ecrire « Entrez le rayon positif du cercle : »
rayon affecté de lire
Tant que rayon<0
Ftant que
Faire
Ecrire « Entrez le motif du cercle sauf ('+','-','|',' ') : »
motif affecté de Lire
Tant que motif = « + », motif = « - », motif = « | », motif = « »,
Ftant que
Ecrire « + »
Pour colonne de 1 à inférieur à la largeur
Ecrire « - »
Fpour
Écrire « + »
Ecrire « \n »
Pour ligne de 0 à inférieur à la longueur
Ecrire « | »
Pour colonne de 0 à inférieur à largeur
Si racine carré ((ordonnée-ligne)(ordonnée-colonne)+(abscisse-ligne)(abscisse-colonne))
Ecrire motif
Sinon
Ecrire « »
Fsi
Fpour
Ecrire « | »
Ecrire « \n »
Fpour
Pour colonne de 1 à inférieur ou égale à largeur
Ecrire « - »
Fpour
Ecrire « + »
Ecrire « \n »
Le programme:
#include <iostream>
#include <cmath>
using namespace std;
main (){
int colonne, ligne,longueur, largeur;
float abscisse,ordonnee,rayon;
char motif;
do
{
cout << "Entrez la largeur positive et inférieur à 80 de la zone d'affichage : "<<endl;
cin >> largeur;
}
while(largeur<0 || largeur>80);
do
{
cout << "Entrez la longueur positive et inférieur à 60 de la zone d'affichage : "<<endl;
cin >> longueur;
}
while(longueur<0 || longueur>60);
cout << "Entrez l'abscisse du centre du cercle : "<<endl;
cin >> abscisse;
cout << "Entrez l'ordonnée du centre du cercle : "<<endl;
cin >> ordonnee;
do
{
cout << "Entrez le rayon positif du cercle : "<<endl;
cin >> rayon;
}
while(rayon<0);
do
{
cout << "Entrez le motif du cercle sauf ('+','-','|',' ') : " << endl;
cin >> motif;
}
while(motif=='+' || motif=='-' || motif=='|' || motif==' ');
cout << '+';
for(colonne=1;colonne<=largeur;colonne++)
{
cout << '-';
}
cout << '+';
cout << endl;
for(ligne=0;ligne<longueur;ligne++)
{
cout << '|';
for(colonne=0;colonne<largeur;colonne++)
{
if(sqrt((ordonnee-ligne)*(ordonnee-ligne)+(abscisse-colonne)*(abscisse-colonne))<=rayon)
{
cout << motif;
}
else
{
cout << ' ';
}
}
cout << '|' << endl;
}
cout << '+';
for(colonne=1;colonne<=largeur;colonne++)
{
cout << '-';
}
cout << '+';
cout << endl;
}
Sinon j'ai aussi un problème pour le char motif je ne sais pas comment le définir dans mon lexique des variables
Merci de vos réponses