Accueil > Forum > > > > TPE Labyrinthe
TPE Labyrinthe
vendredi 16 décembre 2011 à 20:01:42 |
TPE Labyrinthe

mattwal
|
Bonsoir,
Je suis actuellement en 1ère S et dans le cadre du TPE j'ai pris comme sujet " Une souris peut elle mémoriser un chemin de labyrinthe ? "
J'ai donc fais un petit algorithme avec le logiciel Algobox ( nous avons commencer à l'utiliser en cours ) mais je rencontre quelques problème car ce logiciel est vraiment très embêtent lorsqu'on veut ajouter une ligne de code entre deux déjà existantes ...
Ce petit programme est un modèle de mon labyrinthe, à chaque intersection le programme choisis aléatoirement un chemin, pour le moment le programme ne revient pas en arrière lorsqu'il est dans un "cul de sac", la prochaine chose que je veux intégrer c'est justement un retour en arrière en cas d'erreur mais comme le logiciel algobox n'est vraiment pas pratique (c'est galère de modifier plusieurs fois le code... )et sans les commentaires je me suis déjà emmêler les pattes.
J'ai donc pour projet de développer ce petit programme en C ou autre langage facilement accessible pour mieux pouvoir toucher au code et même insérer des commentaires.
Le logiciel CodeBlocks peut-il convenir à un débutant comme moi ?
Voici mon code
Code :
1 VARIABLES
2 x EST_DU_TYPE NOMBRE
3 DEBUT_ALGORITHME
4 x PREND_LA_VALEUR ALGOBOX_ALEA_ENT(0,1)
5 SI (x==0) ALORS
6 DEBUT_SI
7 x PREND_LA_VALEUR ALGOBOX_ALEA_ENT(2,3)
8 SI (x==2) ALORS
9 DEBUT_SI
10 AFFICHER "Perdu"
11 FIN_SI
12 SI (x==3) ALORS
13 DEBUT_SI
14 AFFICHER "Perdu"
15 FIN_SI
16 FIN_SI
17 SI (x==1) ALORS
18 DEBUT_SI
19 x PREND_LA_VALEUR ALGOBOX_ALEA_ENT(4,5)
20 SI (x==4) ALORS
21 DEBUT_SI
22 AFFICHER "Perdu"
23 FIN_SI
24 SI (x==5) ALORS
25 DEBUT_SI
26 x PREND_LA_VALEUR ALGOBOX_ALEA_ENT(6,7)
27 SI (x==6) ALORS
28 DEBUT_SI
29 AFFICHER "Perdu"
30 FIN_SI
31 SI (x==7) ALORS
32 DEBUT_SI
33 x PREND_LA_VALEUR ALGOBOX_ALEA_ENT(8,9)
34 SI (x==8) ALORS
35 DEBUT_SI
36 AFFICHER "Perdu"
37 FIN_SI
38 SI (x==9) ALORS
39 DEBUT_SI
40 AFFICHER "Gagner"
41 FIN_SI
42 FIN_SI
43 FIN_SI
44 FIN_SI
45 FIN_ALGORITHME
Je suppose que dans le code en C j'aurais des IF,THEN,ELSE etc...
Et si vous avez des tutos à me proposer je suis preneur.
Je vous remercie par avance pour votre aide.
|
|
samedi 17 décembre 2011 à 13:47:45 |
Re : TPE Labyrhinte

buno
|
Hello,
Pour faire du C, Code Blocks ou bien Visual Studio feront très bien l'affaire.
Par contre, tu es dans la section C#. Je déplace donc ton message dans la section C/C++.
N'hésites pas à revenir si tu as des questions!
Note: TPE = ?? Travail Personnel Encadré?
@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
|
|
dimanche 18 décembre 2011 à 12:16:25 |
Re : TPE Labyrinthe

mattwal
|
Voila j'ai commencé à écrire mon code :
Code C/C++ : #include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv)
{
int x = 0; // Au départ, on part de 0
const int MAX = 1, MIN = 0;
//choix aleatoire entre 0 et 1 ( premiere intersection )
srand(time(NULL));
x = (rand() % (MAX - MIN + 1)) + MIN;
//coté perdu
if (x == 0)
int y = 2;
const int MAX = 3, MIN = 2;
srand(time(NULL));
y = (rand() % (MAX - MIN + 1)) + MIN;
if (y == 2)
printf("Perdu !\n");
if (y == 3)
printf("Perdu !\n");
//coté gagnant
if (x == 1)
printf("Gagne !\n");
}
Mais à la ligne 14 CodeBlocks me détecte une erreur, je n'arrives pas à trouver quelle est mon erreur.
Si vous avez besoin de mon schéma de mon labyrinthe je le posterais.
Merci pour votre aide
PS : Définition de TPE pour ceux qui ne savent pas ce que c'est( wikipédia ):
Les travaux personnels encadrés (TPE), sont des projets de recherche scolaire par groupe de 2, 3 ou 4 élèves (il se peut malgré tout qu'un élève fasse un TPE seul), sur des domaines ciblés et répondant à une problématique. Ils concernent, aujourd'hui dans les lycées français, les 1res des séries générales (ES, L et S), et font l'objet d'une épreuve anticipée du baccalauréat. Les notes en dessous de la moyenne ne sont pas comptées dans cette épreuve.
|
|
dimanche 18 décembre 2011 à 13:21:18 |
Re : TPE Labyrinthe

buno
|
Yop,
Il manque des accolades à ta condition if
Code C/C++ :
if (condition)
{
// code si vraie
}
else
{
// code si faux
}
@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
|
|
jeudi 22 décembre 2011 à 13:36:26 |
Re : TPE Labyrinthe

mattwal
|
Merci pour votre aide.
J'ai un peu modifier mon code car j'aimerais que l’action se déroule plusieurs fois, le nombre de fois entrer lorsque le programme le demande.
Mais le programme s'arrête et m'affiche "Vous avez demander X essais", X etant le nombre que j'ai entré juste avant.
Une fois a cette étape le programme ne vas pas plus loin, je ne trouve pas l'erreur mais il me semble que ca doit être une erreur avec les accolades.
Merci
Code C/C++ : #include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv)
{
int y = 0; // le nombre d'essais entré
puts(" saisir nombre d'essai puis tapez entree ");
scanf("%d", &y); // Lecture du nombre entier
printf("Vous avez demander %d essais \n", y);
return EXIT_SUCCESS;
{
int compteur = y;
while (compteur <= y );
}
int x = 0; // on declare la variable X
const int MAX = 1, MIN = 0;
srand(time(NULL));
x = (rand() % (MAX - MIN + 1)) + MIN; // X prend la valeur 0 ou 1
if (x == 0)
{
int a = 0; //
int b = 0; // Nombre de fois ou x=0 est sorti
b = a + 1; // une sortie de plus
printf("nombre de réussite %d \n", b);
}
if (x == 1)
{
int c = 0; //
int d = 0; // Nombre de fois ou x=1 est sorti
d = c + 1; // une sortie de plus
printf("nombre d'echecs %d \n", d);
}
system("PAUSE"); // met le programme en pause
}
|
|
jeudi 22 décembre 2011 à 14:33:45 |
Re : TPE Labyrinthe

buno
|
Hello,
Mais le programme s'arrête
Bah oui, c'est ce que tu lui demande ici:
Code C/C++ : printf("Vous avez demander %d essais \n", y);
return EXIT_SUCCESS; // ici, tu quittes la fonction en cours, donc le main dans ton cas, donc ton programme
Autre remarque:
Code C/C++ :
Cette boucle ne fait rien, sauf boucler indéfiniment...
@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
|
|
jeudi 22 décembre 2011 à 15:19:09 |
Re : TPE Labyrinthe

buno
|
J'ai traduis ton algo de 2 manières possibles (y'en a d'autres mais ça suffira):
- méthode1: utilisation de switch..case
- méthode2: imbrication 'intelligente' de if
Regarde ce que tu en penses:
Code C/C++ :
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int getAleatoire(int min, int max)
{
int x = (rand() % (max - min + 1)) + min; // X prend la valeur min ou max
//printf("alea = %d (entre %d et %d)\n", x, min, max);
return x;
}
void methode1(int nbEssai)
{
for (int compteur=0; compteur < nbEssai; compteur++)
{
int x = getAleatoire(0,1);
switch(x)
{
case 0:
printf("Perdu!\n");
break;
case 1:
{
x = getAleatoire(4,5);
switch(x)
{
case 4:
printf("Perdu!\n");
break;
case 5:
{
x = getAleatoire(6,7);
switch(x)
{
case 6:
printf("Perdu!\n");
break;
case 7:
x = getAleatoire(8,9);
switch(x)
{
case 8:
printf("Perdu\n");
break;
case 9:
printf("Gagne\n");
}
break;
}
break;
}
}
break;
}
}
}
}
void methode2(int nbEssai)
{
for (int compteur=0; compteur < nbEssai; compteur++)
{
int x = getAleatoire(0,1);
if (x==1)
{
x = getAleatoire(4,5);
if (x==5)
{
x = getAleatoire(6,7);
if (x==7)
{
x = getAleatoire(8,9);
if (x==9)
{
printf("Gagne\n");
continue; // passer au tour de boucle suivant
}
}
}
}
// ici, x vaut 0, 2, 3, 4, 6 ou 8
printf("Perdu\n");
}
}
int main(int argc, char *argv)
{
int nbEssai = 0; // le nombre d'essais saisi
srand(time(NULL)); // init aléatoire
// Récupération du nombre d'essai
puts("Saisir nombre d'essai puis tapez entree ");
scanf("%d", &nbEssai); // Lecture du nombre entier
printf("Vous avez demander %d essais \n", nbEssai);
//methode1(nbEssai);
methode2(nbEssai);
}
@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
|
|
jeudi 5 janvier 2012 à 21:53:16 |
Re : TPE Labyrinthe

mattwal
|
Merci pour votre aide ;)
Le poste peut-il être mis en attente ? Si jamais je rencontre d'autre problème ?
|
|
vendredi 6 janvier 2012 à 09:00:54 |
Re : TPE Labyrinthe

buno
|
Hello,
Le sujet reste ouvert, pas de souci
@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
|
|
Cette discussion est classée dans : fin, code, afficher, debut, algobox
Répondre à ce message
Sujets en rapport avec ce message
generateur de tel avec debut et fin [ par LOLA0678 ]
bonjour je cherche un code simple qui me permet en entrant le debut et la fin de génerer des numero tel avec possibilite de changer le prefixe ici (02
CODE C# POUR COMMENIQUE UN AFFICHER USB [ par MOHAMED_MATTAL ]
JE DEVLP UNE APPLICATION QUI AFFICHE SUR UN PORT SERIE MAIS MON AFFICHER 7 SEGMENT POSSED UNE EMULATION USBBON JE PAS LE N° DE REVENDOR NI DE PRODUCTO
Afficher un BITMap en GDI+ [ par psy4meuh ]
'jour à tous, j'ai besoin d'un peu d'aide sur l'utilisation de la librairie GDI+...Dans mon programme, je récupère une image de webcam au format DIB,
la fonction "afficher le source" de internet explorer [ par zip8000 ]
Bonjour,je cherche a reproduire le resultat de la fonction "afficher la source" qui ouvre le code html d'une page internet. Mon but est de recuperer c
programme de recherche [ par sangohan06 ]
Bonsoir à tous, je sais pas si je suis au bon endroit ,, mais j'ai besoin de votre aide.alors voilà autant le dire toute je commence dans le C. Et j'a
Afficher assembleur sous Code::Block [ par pop70 ]
Quelqu'un sait-il comment on peut afficher le code assembleur produit par Code::Block durant sa compilation. (je ne sais pas si ça change quelque-cho
touché tapée par clavier [ par sidalilo ]
bonjour je veux afficher une touché tapée par le clavier en c++ builder 6 j'ai eu un code qui fait ca mais j'ai su pas comment l'utiliser voila ce cod
types dans lex / yacc [ par Guillemouze ]
bon jvais essayer detre clair.....alors g un code en lex et yass mais g un probleme lors de la compilation du fichier .tab.c et g limpression que ca v
Afficher le code secret [ par fred23 ]
Bonjour,Dans un code, je demande à l'utilisateur d'entrer son code d'accés par un cin>>code;Or, quand on tape le code il s'affiche en clair sur l'ecra
lire un code barre et l'afficher... URGENT [ par skro93 ]
Bonjour à tous, voila mon problème je doit faire un programme en c++ qui permet de lire un code barre grâce a lecteur de code barre "douchette" et ave
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|