Bonsoir,
Je passe du coq à l'âne
On dit qu'il y a 3 étapes pour écrire un programme informatique :
- analyser le problème posé ;
- écrire un algorithme indépendamment d'un langage de programmation ;
- traduire dans un langage que comprend la machine que l'on va utiliser.
Alors si je comprends bien, si on a des difficultés pour analyser le problème, il est donc impossible
d'écrire un algorithme, et encore moins de traduire bien sûr ?
Merci
Bonsoir,
En effet, il y a dans la conception d'un programme deux types d'erreurs.
* les erreurs d'algorithmies qui englobent tes deux premières affirmations et restent intimement liées.
* les erreurs de sémantiques qui englobe la traduction du pseudo-code dans un langage qui possède sa propre sémantique et syntaxe.
BS
Bonjour Louisa,
la résolution d'un problème nécessite que tu l'aies correctement analysé au préalable.
- de quoi disposes tu ? (données de départ)
- que sais tu faire ? (utilisation de tes connaissances)
- à quoi veux-tu aboutir (processus opératoires/calculatoires à indiquer ds l'algorithme pr aboutir aux résultats souhaités).
C'est l'analyse de FOND du problème à résoudre.
Ce n'est qu'une fois que ces conditions sont claires et distinctes ds ton esprit que tu peux tenter de les traduire ds un langage compréhensible par le logiciel de traitement d'algorithme que tu vas utiliser ; c'est l'aspect FORMEL du traitement du problème, qui va permettre à la machine de traiter RAPIDEMENT et sans erreur de calcul (si le pb a été corectement analysé) les données pr te donner direct les résultats et t'épargner ainsi des calculs parfois longs, fastidieux et répétitifs et sans intérêt intellectuel qd on les répète un grand nombre de fois.
Là encore c'est mon point de vue qui n'engage que moi et que je me permets de livrer ici à partir de ma modeste expérience.
Et je trouve très bien que l'on introduise l'algorithmique ds l'enseignement dès la seconde ; après on peut discuter (mais pr moi c'est pas le débat ici, il y a d'autres rubriques du forum pr ça) de savoir si c'est bien que ça ait été inclut ds les programes de maths ; à défaut d'un enseignement spécifique, c'est là je pense que cet enseignement à sa place....mais bon RV evtl à la rubrique EXPRESSo du forum, où ce sujet a déjà dû être évoqué....
Bonjour borneo, Boltzmann_Solver et Philippe
Alors c'est pas fait pour moi, j'interprète toujours tout de travers, alors ça va être galère.
Et si je me trompe dans les données, ça va me donner un résultat que je ne pourrai savoir s'il est juste
ou pas ?
Merci
Bonjour Louisa,
Les algorithmes que l'on te proposera en seconde seront très simple. C'est à dire que leur réponses auront souvent une réponse analytique. Mais dans la recherche, quand on ne peut avoir de réponse analytique de comparaison, on possède souvent des cas tests qui permettent de vérifier si l'on ne s'est pas trompé ou dans des cas plus grave, le bon sens peut nous dire s'ils l'ont ne s'est pas trompé.
Pour te rassurer, pour les quelques exos d'algo que j'ai vu passer, la phase d'analyse du sujet est donnée par le prof (au moins au début). C'est à dire que l'on te donne le programme en pseudo-langage dès le début.
@pppa : Qui d'autre pourrait se coller à cet enseignement ? Les profs de physique-chimie ? Je ne pense pas car un bon nombre ne sont pas totalement à l'aise avec un ordinateur (je parle de ma génération). Donc, tu dois penser à des profs d'informatiques. Ça pourrait être bien, je pense mais ça signifierait sacrifier une matière sur le champ d'honneur pour une année (pense aux profs d'histoire qui ont failli perdre leurs TS). A mon avis, c'est pas encore aujourd'hui que de l'informatique sera au programme du lycée.
Bonjour Boltzmann_Solver
Tes propos me rassurent, merci
Donc un programme en pseudo-langage, c'est du genre :
Prendre 3 chiffre non nuls distincts.
Écrire tous les entiers de 3 chiffres distincts possibles pouvant s'écrire avec ces 3 chiffres.
En faire la somme.
Diviser cette somme par 222.
Soustraire au résultat la somme des 3 chiffres choisis.
----------
Combien obtient-on ? Comment l'expliquer
C'est un pseudo-langage à écrire sous forme formalisée ?
Merci
Bonjour Lièvre.
Il est important dans l'analyse est de prévoir tous les cas et toutes les situations susceptibles de se présenter.
L'algorithme peut être accompagné d'un diagramme avec des rectangles pour les séries d'instructions, des losanges pour les conditions, des lignes reliant les parties du programme, des flèches en boucle pour marquer la répétition d'une exécution etc.
Si on se donnait la peine de construire un ordinateur adapté, on pourrait lui transmettre tel quel un algorithme bien écrit.
Un langage de programmation spécialement conçu pour les élèves a existé dans les années '70 et '80 : le L.S.E. (langage symbolique d'enseignement). Les élèves apprenaient à analyser et à formaliser le problème avant d'écrire le programme. J'en ai un manuel, dont le chapitre de début est intitulé : réfléchissez d'abord, vous programmerez après.
Le Logo, variante du Lisp pour les enfants, inventé par Seymour Papert, est approprié pour dessiner à partir de lignes et de déplacements simples. Il est aussi apte à recevoir des programmes élaborés.
Louisa : je te conseille de télécharger algobox, et de t'entraîner avec les exemples donnés dans l'aide. Ce sera déjà bien plus clair pour toi. Ensuite, essaie de faire les exos postés sur l'île.
Bonjour Plumemeteore
j'ai compris que je dois bien réfléchir avant d'agir
merci
Bonjour borneo
ça fait déjà un bout de temps que j'ai téléchargé Algobox, je fais les exos proposés, enfin les
exemples, mais dès que je me trouve devant un autre sur le forum, plouf ! Je suis de nouveau dans le
noir.
Mais je te remercie, je vais insister
je sais bien borneo, mais les plus simples sont de quel genre, de très courts programmes tu veux
dire ?
Bonjour Louisa
c'est un bon début
maintenant il faudrait afficher le résultat
(et dans un deuxième temps, demander à l'utilisateur
de rentrer la valeur en degrés Fahrenheit)
Bonsoir Daniel
Faut bien que j'y pense pour ne pas dire de bêtises
le "b" c'est pas terrible ça
attends ! je plane là
Bonsoir louisa,
Bonsoir Boltzmann_Solver
Ce n'est pas bien grave, ne t'en fais pas, je cherche à traduire tu vois et je te remercie d'avoir
répondu
Si tu veux, tu me demandes de traduire sans me donner les mots que tu connais. Je veux bien te donner une traduction mais je serai près à parier que tu ne la comprendrais pas. Sinon, j'ai vu que tu parlais de giac dans l'autre poste. Tu bosses sous giac alors... Si tu ne me donnes pas les mots que tu es censée connaitre, je corrigerai le post mais ça ne t'aura pas servi. C'est dommage.
Louisa >>>
tant que tu fais des calculs internes,
l'utilisateur ne voit rien du tout.
si tu veux faire connaître un résultat,
il faut l'afficher avec la commande AFFICHER variable.
@Daniel : Vu la situation des secondes, j'appris les bases de pas mal de logiciel de calcul (Giac/XCAS, x/Wx/maxima, scilab,octave,maple,matlab,TI83,TI89). Même si je préfère des langages plus bas niveau (enfin, que le C en faite et j'en suis pas encore un expert).
@Boltzmann_Solver
je suis loin d'avoir tout ça !
j'ai la Ti89, je programme pratiquement jamais avec
et visual Basic.
donc très limité ...
Hey les pros de la programmation
Je ne vous dérange pas
A demain ! Bye bye !
pour une fois que c'est pas moi qui pique un topic
Bonne nuit à tous
A notre grand dam, nous ne sommes pas pro (VB, vilaine bête :p). Au mieux, des amateurs éclairés.
Bonne nuit Louisa.
Bonne nuit Daniel ! (Ah oui, il y a longtemps pour le Cobol, je suis trop jeune pour avoir connu en dehors des vieux bouquins de ma mediathèque :p).
C'est le même que le tien, mais avec des lignes de texte qui nous rappellent de quoi on parle, ce qui peut être utile quand on entre un nombre au pif, et qu'après on ne sait plus ce qu'on a entré
une variante:
Bonjour Daniel
je n'avais pas vu celui de Louisa non plus. Algobox, quand on fignole, ça prend un peu de temps.
Comment tu fais pour copier du texte depuis le logiciel ? Moi, je dois passer par une image.
j'ai exporter le code sous fichier texte
sur le Bloc-notes c'est pas joli (tout sur la même ligne)
mais ici ça marche:
Bonjour borneo et Daniel
merci , je peux rajouter du texte entre 2, mais je suppose pas n'importe où ?
Merci
Bonjour,
tu peux mettre du texte quand tu veux,
insérer des variables entre deux,
tout est possible,
l'affichage reste sur la même ligne,
tant que tu n'insères pas de retour de ligne.
ça permet de bien présenter les résultats,
ça peut permettre aussi d'informer l'utilisateur
pour savoir où en est le programme.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :