Je dois réaliser un emulateur de machine de turing et l'utilisateur doi pouvoir entrer ces programme et les executer mais comme je ne connai pas la taille du programme j'aurais voulu savoir comment faire
Merci d'avance
Je dois réaliser un emulateur de machine de turing et l'utilisateur doi pouvoir entrer ces programme et les executer mais comme je ne connai pas la taille du programme j'aurais voulu savoir comment faire
Merci d'avance
Ta question est un peu mal formulée:
Est-ce que ton programme se lance et l'utilisateur entre le programme donc tu gères le clavier?
Ou est-ce que l'utilisateur écrit son programme dans un fichier et ton programme lit le fichier et le lance?
Si t'as le choix, opte pour la 2eme solution elle sera surement plus simple pour toi...
Jc
Malheuresement je n'ai pas le choi je doi faire un emulateur complet et donc l'utilisateur lance mon programme, ecrit son programme en turing et l'execute. Tou cela en utilisant les fichier.
c'est donc la que ce pose mon problème je ne peu prévoir la taille de son programme et je ne peu donc pas utilise la déclaration de tableau
Ps: est il possible de déclarer un tableau avec des valeur NULL càd un tableau vide de tout caractere ?
utilise les listes chainées
avec un truc genre une fois que ton emulateur lit END
tu relit t'as list du debut et tu remplit ton fichier texte
ou alors tu compte tes maillons tu alloue un tableau en concequences et tu rempli...
Récupére la taille du fichier et tu créés un tableau suffisament grand...Tout cela en utilisant les fichier.
Le seule problème pour utiliser les listes chainé c que je ne sais pas m'en servir et en plus si j'ai bien compris tu considère que mon programme est déja créer or ces l'utilisateur qui le cré au fur et a mesure et donc je ne peu prévoir la taille du programme ni affecté ce programme a un tableau
Cependant est il possible d'utiliser des fichier temporaire pour metre le programme puis de l'enregistrer définitivement dans le fichier quand l'utilisateur aura fini de le taper : :
Merci pour les conseil
je ne peu faire cela que dan le cas ou le fichier existe déja mais si il vient d'être créer mon fichier sera vide et donc je ne pourai rien metre dans mon tableauEnvoyé par fearyourself
Comment conçois-tu l'écriture d'un programme pour une machine de Turing ? Donne nous un exemple d'un tel programme, on y verra déjà plus clair, (moi tout au moins ).
"La haine seule fait des choix" - Koan Zen
"Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
"Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
Faites du Prolog, ça vous changera les idées !
Ma page Prolog
Mes codes sources commentés
Mon avatar : La Madeleine à la veilleuse de Georges de La Tour
cela ce revele impossible mon programme s'etend sur plusieur fichier (environ 9) alors a moin de tout vous donner je ne peu pas.Envoyé par Trap D
Cependant si vous vouler que je vous les envoie pas de prob mais il n'est pas fini c encore la version beta
tu as mal compris ce que j'ai voulut dire...
le concept de la liste chainée c'est que c'est exctesible a souhait parfait pour ton probleme.
(arrete moi si je me trompe)
un fois ton emulateur lancer l'utilisateur peut taper son programme ligne par ligne...
il te suffit de stocker chaque ligne dans un maillon et ensuit d'ecrire ton fichier....
ou encore mieux tu ouvre un FD et au fur a mesure tu fais des write avec un compteur en parrelelle dans ton fichier.
une fois fini tu le relis et le tour et jouer...
pour résumé ya deux technique :
- tu stocke en list puis tu ecris et tu utilise la list pour executer le programme
- tu ecris en "live" dans le fichier avec un compteur qui te donnera le nbr de ligne ecrite puis tu alloue un tableau de cette taille et tu le rempli.
si avec sa ton probleme est pas résolu c'est que j'ai mal compris ton programme.
j'aime assez ce concepte d'ecriture live car je n'ai encore jamais utiliser les maillon en cour alor je ne sai pas si les prof les acepteron je vai donc prendre la methode d'ecriture live et merci pour les renseignement.
Mon probleme et desormais résolu. MERCI
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager