Inscription / Connexion Nouveau Sujet
Forum Espace Profs
Partager :

amenagements algorithmes

Posté par
alb12
06-11-17 à 13:49

A conserver

Posté par
alb12
algorithmes 06-11-17 à 13:53

A noter

*** message déplacé ***

Posté par
mathafou
re : amenagements algorithmes 06-11-17 à 14:09

il y a certes des bonnes idées dans cette simplification (mais une complication car le caractère ← n'existe pas au clavier)
et des mauvaises : croire que la notion même d'entrées (ce que l'on fournit à "la fonction") et de sorties (ce que fournit "la fonction" comme résultats) ne font pas partie de l'algorithmique !

Posté par
alb12
re : amenagements algorithmes 06-11-17 à 14:16

c'est surement pour que l'usage du lire/ecrire disparaisse.

Posté par
mathafou
re : amenagements algorithmes 06-11-17 à 14:21

et quand ils voudront programmer ça sur machine ils seront bien emm..és

Posté par
alb12
re : amenagements algorithmes 06-11-17 à 14:27

casio a deja commercialise une calculatrice avec programmation fonctionnelle

Posté par
alb12
re : amenagements algorithmes 06-11-17 à 14:30

@moderateurs
desole pour le double post.
Fil à rapatrier dans le forum Espace Profs ?

Posté par
mathafou
re : amenagements algorithmes 06-11-17 à 14:31

raison de plus pour supprimer tout apprentissage de quoi que ce soit vu que c'est les machines qui feront tout ...
"le peuple" n'a absolument pas besoin de savoir comment ça se passe.

Posté par
alb12
re : amenagements algorithmes 06-11-17 à 14:35

le but au lycee c'est d'ecrire des algorithmes pas de programmer.
Le prof fera comme il veut mais on se doit de preparer les eleves à l'xamen.
Donc de suivre la nouvelle syntaxe.

Posté par
mathafou
re : amenagements algorithmes 06-11-17 à 14:51

Citation :
pas de programmer.

donc lorsqu'on demande de réaliser cet algorithme sur calculette c'est illégal ?
que l'enseignement de l'algorithmique c'est juste du baratin pour faire joli, ou c'est pour s'en servir dans une application pratique ?
Citation :
preparer les eleves à l'xamen

certes, mais ne pas tomber dans l'excès où l'unique but au lycée serait de fabriquer des ânes savants munis d'un bout de papier appelé "bac" ...

et comme je le disais dans l'autre discussion (ce que j'y ai dit n'ayant rien à y faire et serait mieux ici, mais il y avait un contexte précis) :
de toute façon une fonction il faut bien lui définir explicitement quelles sont ses entrées
et définir explicitement ce que sera sa sortie, ce qu'elle fournit comme résultats

qu'on l'écrive en baratin dans le texte de l'énoncé
ou qu'on l'écrive explicitement avec une syntaxe formelle, on s'en fiche.
ça forme de toute façon les entrées et les sorties de la fonction/de l'algorithme.
notion fondamentale.

Posté par
alb12
re : amenagements algorithmes 06-11-17 à 15:01

je pense qu'à terme (eu egard au programme de seconde) on leur demandera
d'ecrire des fonctions et on ne parlera pas d'entree ou de sortie.
Il y a un enorme lobby python qui est hegemonique et qui impose sa norme au lycee et en prepa.

Posté par
mathafou
re : amenagements algorithmes 06-11-17 à 15:11

Citation :
de toute façon une fonction il faut bien lui définir explicitement quelles sont ses entrées
et définir explicitement ce que sera sa sortie, ce qu'elle fournit comme résultats
ça forme de toute façon les entrées et les sorties de la fonction/de l'algorithme.
notion fondamentale.

que ce soit de la programmation Python (pas de l'algorithmique du tout) ou pas.

il fut une temps où tout le monde entier programmait en C sauf les universitaires Français qui ne juraient que par le Pascal
on a vu ce qui en est resté...

et puis les lobby, il y en a vraiment marre (agro-alimentaire, Google, Bruxelles, Python, même combat)

Posté par
alb12
re : amenagements algorithmes 06-11-17 à 15:25

je suis pret à parier que dans le sujet de bac de 2020, on aura:
ecrire une fonction XYZ prenant en arguments blabla et renvoyant  blabla

Posté par
mathafou
re : amenagements algorithmes 06-11-17 à 15:36

qu'on appelle "argument" ou "entrées" c'est exactement pareil
et qu'on appelle "renvoyant" ou "sortie" aussi.
et entretenir ainsi la confusion entre la programmation (en Python, ou pas) et l'algorithmique est néfaste.
on peut, mais à condition d'en être conscient.

Posté par
alb12
re : amenagements algorithmes 06-11-17 à 15:49

bien sûr !
ce qui est important c'est que les eleves comprennent qu'un programme est un mur compose
d'une multitude de briques qui sont des fonctions et pas des programmes qui commencent par "lire" et finissent par "ecrire".

Posté par
mathafou
re : amenagements algorithmes 06-11-17 à 16:10

ne pas confondre les entrées et sorties d'un algorithme qui sont des notions fonctionnelles et ce qu'il "lit" et "écrit"  qui sont des entrées sorties "physiques" sur un clavier ou un écran !!!

et puis des programmes avec des "écrire" multiples en plein milieu ça existe (encore heureux !!)

Posté par
alb12
re : amenagements algorithmes 07-11-17 à 10:22

ma vision des choses.

On considere l'algorithme suivant (conforme bac 2018)
Question: Quelle est la valeur de la variable n à la fin de l'execution de l'algorithme ?


n <- 0
C <- 3.4
tant que C>=1
  n <- n+1
  C <- 0.8*C
fin tant que

sa traduction en python (programme de seconde)

def MaFonction():
  n=0
  C=3.4
  while C>=1:
    n=n+1
    C=0.8*C
  return n

Question: Quelle est la valeur de retour de cette fonction ?

et sa traduction en Xcas et en français (conforme programme seconde)

fonction TaFonction()
  var n,C;
  n:=0;C:=3.4;
  tantque C>=1 faire
    n:=n+1;
    C:=0.8*C;
  ftantque
  retourne n
ffonction:;

Question: Quelle est la valeur de retour de cette fonction ?

Posté par
alb12
re : amenagements algorithmes 09-11-17 à 19:44

un peu de lecture lobbying ?

Posté par
alb12
re : amenagements algorithmes 09-11-17 à 20:32

une couche de plus

Posté par
alb12
re : amenagements algorithmes 11-11-17 à 11:16

Posté par
bbomaths
re : amenagements algorithmes 07-12-17 à 17:00

Bonsoir.

Je viens de tomber sur ce topic intéressant...

Sans vouloir (re)lancer une polémique, je voudrais faire quelques remarques :

1/ S'il n'y a pas de signe  \leftarrow sur nos claviers actuels, on peut utiliser l'association de < et de - pour former <-.

Pour les affectations d'une valeur à une variable, voir . Tout le monde y a mis du sien pour symboliser une affectation.

Sur les claviers dédiés au langage APL, on trouve le symbole  \leftarrow.

2/ Pour Python, s'il y a une hégémonie, il semble qu'elle soit limitée. Python ne semble pas être le langage dominant dans le monde "réel".

Voir les deux liens suivant :



Posté par
alb12
re : amenagements algorithmes 10-12-17 à 14:26

Pour illustrer l'interet des fonctions en programmation,
on peut commenter le programme ci-dessous en classe,
y compris avec des eleves de seconde.
On ne parlera evidemment pas de recursivite,
cette notion etant au programme de deuxieme annee de prepa.
Il faut copier ce code dans une fenetre de programmation de Xcas
pour beneficier de la coloration syntaxique et ainsi distinguer
les fonctions de Xcas de celles de l'utilisateur.


anemone(a,n,c):={
  local L;
  L:=NULL;
  L:=L,cercle(a+i*n,n);
  L:=L,cercle(a-i*n,n);
  L:=L,cercle(a+n,n);
  L:=L,cercle(a-n,n);
  retourne affichage(L,c+rempli),cercle(a,n/2,affichage=rempli+0);
  }:;

tulipe(a,n,c):={
  local L;
  L:=NULL;
  L:=L,cercle(a+i*n,n,3.15,6.4);
  L:=L,cercle(a+i*n-n,n,-0.1,1.58);
  L:=L,cercle(a+i*n+n,n,1.58,3.15);
  L:=L,segment(a+i*n-n,a+2*i*n-n);
  retourne affichage(L,c+rempli);
}:;

fleurs1(x,y):={
  local L,c;
  L:=NULL;
  c:=alea(10)+85;
  si abs(x-y)<0.5 alors 
    retourne L,arc(x,y,-5*pi/12,
    affichage=epaisseur_ligne_3),anemone(y,(y-x)*0.3,c);
  fsi
  L:=arc(x,y,-5*pi/12,affichage=epaisseur_ligne_3),
  anemone(y,(y-x)*0.2,c);
  L:=L,fleurs1(x,x+(y-x)*0.5*exp(i*0.5));
  L:=L,fleurs1(x,x+(y-x)*0.5*exp(-i*0.5));
  retourne L;
}:;

fleurs2(x,y):={
  local L,c;
  L:=NULL;
  c:=alea(10)+85;
  si abs(x-y)<0.5 alors 
    retourne L,arc(x,y,-5*pi/12,
    affichage=epaisseur_ligne_3),
    tulipe(y,(-i)*(y-x)*(0.5)*exp(-i*5*pi/24),c);
  fsi
  L:=arc(x,y,-5*pi/12,affichage=epaisseur_ligne_3),
  tulipe(y,-i*(y-x)*(0.4)*exp(-i*5*pi/24),c);
  L:=L,fleurs2(x,x+(y-x)*0.5*exp(i*0.5));
  L:=L,fleurs2(x,x+(y-x)*0.5*exp(-i*0.5));
  retourne L;
}:;

Enfin pour avoir une jolie carte de voeux on colle en ligne de commandes:

fleurs1(14,14+6*i),fleurs1(14,19+6*i),fleurs2(0,5*i),fleurs2(0,3+4*i),
legende(4+9.0*i,"JOYEUX NOEL 2017 ET BONNE ANNEE 2018")

On peut zoomer et decocher Montrer les axes dans cfg à droite du graphe.
Les couleurs changent à chaque validation.

Posté par
bbomaths
re : amenagements algorithmes 10-12-17 à 20:27

@alp12, bonsoir.

Je dirais que l'intérêt des fonctions en programmation dépend du contexte, matériel ou logiciel.

C'est sûr que développer une application sur un calculateur type PC doté d'une mémoire morte ou vive quasi-infinie (disque dur, barrette RAM 2 Go, ...) facilite l'usage d'appel de fonctions.

En 40 ans de développement en informatique embarquée, j'ai connu des processeurs avec une pile (Data Stack) réduite voire inexistante (pas d'instructions CALL et RET) limitant de facto les appels à des fonctions.

Répondre à ce sujet

Seuls les membres peuvent poster sur le forum !

Vous devez être connecté pour poster :

Connexion / Inscription Poster un nouveau sujet
Une question ?
Besoin d'aide ?
(Gratuit)
Un modérateur est susceptible de supprimer toute contribution qui ne serait pas en relation avec le thème de discussion abordé, la ligne éditoriale du site, ou qui serait contraire à la loi.


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

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 !