Inscription / Connexion Nouveau Sujet

1 2 +


Posté par
mathafou Moderateur
re : algorithme 03-01-18 à 11:11

...variable temporaire...

déja dit (plusieurs fois)
c'est bien pour ça que passer par un algorithme au départ est important plutôt que de tout planquer dans du travail fait de lui-même par Python en interne à l'insu de l'utilisateur !!

l'algorithme (avec des variable(s) intermédiaires) sera valable quel que soit le langage de programmation utilisé, y compris en Python !
rien n'oblige en Python d'utiliser des tuples
c'est juste que c'est du gachis de ne pas les utiliser.

Posté par
vham
re : algorithme 03-01-18 à 11:23

Bonjour,

--> mathafou : Avec tout le respect que vos compétences oblige, il est temps de passer à une vraie réalisation.
chacha25 dit ne pas savoir programmer sur sa Casio, il sait encore moins sur SageMath.
il écrit le  27-12-17 à 12:27
" Avec cette algorithme que j'ai écris en langage casio je dois le programmer en Python avec Sage "
Il a donc besoin d'exemples qui fonctionnent (tutoriels) d'où il pourra (se) poser des questions (s'il ne comprend pas) et apprendre...

Je ne sais comment les subtilités entre algorithme et programme lui sont montrées en classe, mais c'est bien au-delà de ce qui le préoccupe

Posté par
mathafou Moderateur
re : algorithme 03-01-18 à 11:46

ce qu'il a donné n'est déja pas du langage casio
et visiblement il ne l'a pas écrit en langage casio non plus contrairement à ce qu'il prétend (vu la dernière difficulté qu'il a maintenant pour afficher sur la casio)

algorithme : écriture textuelle avec des formules de maths et des affectations :
"à la mode ancienne" : "prend la valeur de" en pur français
à la mode moderne : "←"
décrivant la structure et l'enchainement des opérations théoriques à effectuer

c'est ce qu'il fait en écrivant tout au début

Citation :
variables: u,k,b,a,n
debut
entrée : n
a←0
u←0
b←12
u←0
tant que uu←(2a+b)/3
n←n+1
sortie u
fin


ceci est bien un algorithme, purement symbolique, en aucun "langage"

sa traduction mot à mot en Python serait

n = int(input("valeur de n :")) traduction de "entrée n"
a = 0
b = 12
etc ...
remarquer que l'affection "symbolique" de l'algorithme "←" a été traduite dans le langage Python par "="

le même en langage Casio :
? → N (traduction de entrée n)
0 → A attention c'est 0 que l'on met dans A, ce n'est pas "A reçoit la valeur 0" c'est pareil mais la syntaxe est différente
12 → B
etc

je ne vois pas comment on pourrait faire quoi que ce soit sans être conscient de ces différences entre un algorithme et sa traduction en un programme !!

Posté par
vham
re : algorithme 03-01-18 à 12:25


--> mathafou : Vous avez parfaitement défini l'algorithme en bon français le 27-12-17 à 12:33
pour calculer an et bn :
à partir de a0 et b0
pour tous les k successivement de 1 à n inclus
       calculer ak et bk à partir de ak-1 et bk-1
ici le dernier ak, bk calculé est an, bn

il n'est plus besoin de se pencher sur une description en "langage non défini" qui n'est même pas du Casio.
Est-ce que la traduction en Python que j'en ai donnée le 03-01-18 à 10:26 convient ? est comprise ?
c'est peut-être cela qu'il faut faire dire à chacha25...

Posté par
mathafou Moderateur
re : algorithme 03-01-18 à 12:49

on peut certes sauter des étapes de développement entre
l'algorithme général de principe servant à calculer n'importe quelle suite
et sa traduction directe sur machine !
mais

- je le souligne une fois de plus, c'est le demandeur lui-même qui a suggéré le langage symbolique de description des algorithmes en général avec les a←0 etc, "à la mode moderne" selon les recommandations actuelles (supprimant les "prend la valeur" trop typés et verbeux)

- cette "méthode" de travail (sauter des étapes) n'est pas plus à recommander que d'en sauter lors de l'apprentissage du développement effectif d'une expression algébrique.


l'algorithme est bien à ce stade et avec les conventions d'écritures adoptées

a←0
b←12
k←0
entrer n
tant que k<=n-1
t←a
a←(2a+b)/3
b←(t+2b)/3
k←k+1
afficher a
afficher b
fin du tant que

étape indispensable avant de le traduire dans quelque langage de programmation que ce soit

1 2 +




Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !