Apprendre à programmer

Apprendre à programmer - C++ - Programmation

Marsh Posté le 27-06-2004 à 13:25:48    

Cette Méthode animée d'apprentissage est vraiment unique et révolutionnaire. Elle permet d’apprendre la programmation en C++ même aux petits enfants.  
Voici le teste que les enfants ordinaires savent résoudre après 5 heures du cours de Sam Arlen:
www.users.skynet.be/fa519799/fr1/Testfr.html  
Je me demande s’il y a un adult que peut passer ce teste.
 
A propos : après 40 heures les élèves de Sam Arlen sont capables de passer facilement l’examen à l’institut supérieur traditionnel.  
Maintenant ce cours extraordinaire est disponible pour tous gratuitement en ligne  
www.users.skynet.be/fa519799/
Les amis !
Excusez-moi pour des fautes éventuels en français  mais je ne suis pas un francophone. Dans ce cadre j’apprécierais vraiment votre aide en correction.  
En tout cas j’espère que ma méthode peut être vraiment utile à beaucoup des gens qui ont des problèmes en apprentissage avec des méthodes traditionnels. Je propose le teste à votre jugement simplement pour montrer qu’il ne s’agit pas de programmation pour des enfants.  Si ce teste est difficile à vous ça vaut la peine de télécharger mon cours.  
Après 1-2 heures des études vous verrez que ce teste est très facile.  
 

Reply

Marsh Posté le 27-06-2004 à 13:25:48   

Reply

Marsh Posté le 27-06-2004 à 13:39:03    

st1 fake :o

Reply

Marsh Posté le 27-06-2004 à 13:46:52    

J'ai un doute sur la validité de la dernière question du questionnaire... (je connais pas trop le C++ mais en C c'est indéfini)
 
Enfin bon, c'est bien connu que les petits apprennnent vite.
(encore faut il les interesser)


Message édité par leneuf22 le 27-06-2004 à 13:58:12
Reply

Marsh Posté le 27-06-2004 à 14:02:35    

quelle question ?

Reply

Marsh Posté le 27-06-2004 à 14:10:08    

oui, c'est un UB

Reply

Marsh Posté le 27-06-2004 à 16:41:55    

leneuf22,  
Merci de votre reponse et je suis d'accord avec vous  
a propos des enfants: il faut les interesser. C'est ça que je fais à Bruxelles.  
A propos de C: j'ai verifié le code avec C compiler et ça marche bien:
 #include<stdio.h>
  main()
 {  int a=10;  int b=8; int c=6;
 a+=--a + a* ++a;
 c+=--b !=3 > ++c;
 b= ++c + --a ==3 * ++b != ++c + --b <= ++b ;
 printf("a==%d",a);
  printf(" b==%d",b);
 printf(" c==%d",c);
Mais pour passer ce teste vous ne devez utiliser qu'une calculatrice bien sur.  
 }

Reply

Marsh Posté le 27-06-2004 à 16:51:17    

que ça compile ne change rien

Reply

Marsh Posté le 27-06-2004 à 16:54:27    

le problème étant principalement l'ordre d'évaluation indéterminé entre la rvalue et la lvalue


Message édité par Taz le 27-06-2004 à 16:54:42
Reply

Marsh Posté le 27-06-2004 à 17:20:44    

Nic_Ver a écrit :

leneuf22,  
Merci de votre reponse et je suis d'accord avec vous  
a propos des enfants: il faut les interesser. C'est ça que je fais à Bruxelles.  
A propos de C: j'ai verifié le code avec C compiler et ça marche bien:
 #include<stdio.h>
  main()
 {  int a=10;  int b=8; int c=6;
 a+=--a + a* ++a;
 c+=--b !=3 > ++c;
 b= ++c + --a ==3 * ++b != ++c + --b <= ++b ;
 printf("a==%d",a);
  printf(" b==%d",b);
 printf(" c==%d",c);
Mais pour passer ce teste vous ne devez utiliser qu'une calculatrice bien sur.  
 }


Tu es professeur en fait ? A quel moment et à qui apprends-tu la programmation ? En primaire ? Secondaire ? Stages ?


---------------
[:whatde]
Reply

Marsh Posté le 27-06-2004 à 17:22:14    

le  "main()" et 3 printf au lieu d'un seul sont révélateurs
 
d'ailleurs ça fout quoi les printf en C et stdio.h ?


Message édité par Taz le 27-06-2004 à 17:23:10
Reply

Marsh Posté le 27-06-2004 à 17:22:14   

Reply

Marsh Posté le 27-06-2004 à 19:17:46    

a 4 ans je faisais deja du Lisp :o

Reply

Marsh Posté le 27-06-2004 à 20:08:41    

Taz a écrit :

le  "main()" et 3 printf au lieu d'un seul sont révélateurs
 
d'ailleurs ça fout quoi les printf en C et stdio.h ?


 
Je ne vois vraiment pas le problème avec main() (on le retrouve comme ça tout au long du K&R d'ailleurs). C'est plus l'absence de return et le fait que ce soit du C et pas du C++ qui sont gênants.


Message édité par printf le 27-06-2004 à 20:09:09

---------------
Un matin je me lèverai et il fera beau.
Reply

Marsh Posté le 27-06-2004 à 20:09:54    

red faction a écrit :

a 4 ans je faisais deja du Lisp :o


 
Moi je faisais du LOGO, au CP :D


---------------
Un matin je me lèverai et il fera beau.
Reply

Marsh Posté le 27-06-2004 à 20:12:35    

printf a écrit :

Je ne vois vraiment pas le problème avec main() (on le retrouve comme ça tout au long du K&R d'ailleurs). C'est plus l'absence de return et le fait que ce soit du C et pas du C++ qui sont gênants.

avant de donner des cours aux autres, tu ferais bien de lire un peu l'ANSI et d'apprendre à faire la différence entre C et C++

Reply

Marsh Posté le 27-06-2004 à 20:24:08    

c'est de toutes façons un si bon exemple d'UB qu'un simple volatile suffit à prendre ton « exercice » en défaut

Reply

Marsh Posté le 27-06-2004 à 20:29:27    

bref tout ça ne me parait pas très sérieux

Reply

Marsh Posté le 27-06-2004 à 20:33:34    

Taz a écrit :

avant de donner des cours aux autres, tu ferais bien de lire un peu l'ANSI et d'apprendre à faire la différence entre C et C++


 
Tu t'es trompé dans le quote :??:


---------------
Un matin je me lèverai et il fera beau.
Reply

Marsh Posté le 27-06-2004 à 20:34:53    

printf a écrit :

Tu t'es trompé dans le quote :??:

oui et non : ma remarque est là même pour toi.

Reply

Marsh Posté le 27-06-2004 à 20:38:09    

Taz a écrit :

oui et non : ma remarque est là même pour toi.


 
Ah OK, c'était un template de réponse :o
 
Je parle bien de C ANSI et pas de C++ (puisque, comme tu le fais remarquer, ça n'en est pas).


---------------
Un matin je me lèverai et il fera beau.
Reply

Marsh Posté le 27-06-2004 à 20:50:18    

justement, le C ANSI a bani le type par défaut int

Reply

Marsh Posté le 27-06-2004 à 21:16:18    

Taz a écrit :

justement, le C ANSI a bani le type par défaut int


 
Autant pour moi, je viens de vérifier :jap:
Cela dit, le standard utilise le terme  shall et non must et moi je lis ça comme une RFC :o
 
Plus sérieusement, je suis troublé car dans le K&R (même dans la deuxième édition) ils utilisent simplement main().
Et surtout, le compilateur m'indique :
[Warning] return type defaults to `int'
OK, c'est un warning, mais cela signifie que si je ne précise pas, main() retourne de toutes façons un int.
 
Cela dit, cela ne coûte pas grand-chose de le préciser, c'est vrai.


---------------
Un matin je me lèverai et il fera beau.
Reply

Marsh Posté le 27-06-2004 à 21:25:56    

c'est comme ça, le K&R révisé n'est pas le document du WG14, alors y a des petites irrégularités.
je ne vois pas de conditionnel dans "shall" (d'ailleurs quand Kennedy disait "we shall oppose any foe" je crois pas qu'il déconnait)
 
les compilos sont laxistes. int main() ou int main(int argc, char **argv) __doit__ être la signature de main. c'est un peu bordélique à cause des différentes versions du C. en C++, il n'y a pas ce passif. int main() .|

Reply

Marsh Posté le 27-06-2004 à 21:36:55    

OK :jap:
 
Concernant shall, c'est le futur de should; or ce dernier n'est que très rarement utilisé dans son sens impératif. Mais là encore, tu as raison et le standard de la langue anglaise fait foi :D


---------------
Un matin je me lèverai et il fera beau.
Reply

Marsh Posté le 27-06-2004 à 22:17:56    

Taz, tu n'es pas obligé de transformer tous les topics C & C++ en croisade pour le respect strict des normes :D

Reply

Marsh Posté le 27-06-2004 à 22:18:55    

antp a écrit :

Taz, tu n'es pas obligé de transformer tous les topics C & C++ en croisade pour le respect strict des normes :D


 
Moi je trouve ça intéressant [:spamafote]


---------------
Un matin je me lèverai et il fera beau.
Reply

Marsh Posté le 27-06-2004 à 22:19:45    

Ouais mais bon il le répète un peu partout, quand c'est un topic dont le but pour une fois autre chose que "c'est où mon erreur dans ce code ?", il aurait pu s'abstenir [:kiki]

Reply

Marsh Posté le 27-06-2004 à 22:21:02    

le truc c'est que quand on donne des conseils aux autres, surtout pour leur donner les bases, je trouve pas très amicale de fourvoyer son auditeur dès la première ligne.
 
edit: cela dit, le code avec les variables a, b, c est vraiment problématique et est un vrai comportement indéfini, je trouve ça regrettable, surtout dans un cours, surtout sur un chapitre qui s'acharne sur la priorité des opérateurs, l'ordre d'évaluation étant quelque chose de connexe. Bref, c'est un mauvais exercice, préjudiciable, qui révèle des lacunes chez notre « enseignant ».
 
S'il faut donner l'exemple aux autres, il faut déjà vérifier chaque point le mieux possible, et surtout ne pas se montrer trop sur de soi.
 
Le point sur le int main, d'accord, je fais chier, l'UB, c'est un vrai problème. De ces deux points, je tire ma propre conclusion. Débutants, vous trouverez bien mieux ailleurs ou dans un bon livre


Message édité par Taz le 27-06-2004 à 22:26:05
Reply

Marsh Posté le 27-06-2004 à 22:23:55    

printf a écrit :

OK :jap:
 
Concernant shall, c'est le futur de should; or ce dernier n'est que très rarement utilisé dans son sens impératif. Mais là encore, tu as raison et le standard de la langue anglaise fait foi :D


 
http://www.m-w.com/cgi-bin/diction [...] ll&x=0&y=0
2b

Reply

Marsh Posté le 27-06-2004 à 22:31:18    

Cela dit, c'est vrai aussi que pour apprendre à des enfants, le respect des normes n'est pas primordial dans le sens ou il peut rendre la compréhension plus difficile.
 
En tous cas je trouve l'initiative de M. Arlen très intéressante.


---------------
Un matin je me lèverai et il fera beau.
Reply

Marsh Posté le 27-06-2004 à 22:33:51    

moi pas d'apprendre à des enfants le C. alors que tu prends un truc comme python, t'as le module turle, là tu as de quoi t'amuser.
 
et le respect de la norme a du bon. main est une fonction, "main()" ne ressemble à rien, le jour ou le gus il va apprendre les fonctions, il va voir "<retour> nom(<paramètres> )' il va bien biter. Le respect de la norme apporte cohérence et clareté

Reply

Marsh Posté le 27-06-2004 à 22:33:52    


 
Très intéressant :jap:
ça montre qu'il existe aussi des normes, des standards parfois controversés pour les langues.


---------------
Un matin je me lèverai et il fera beau.
Reply

Marsh Posté le 27-06-2004 à 22:34:19    

mais le langage n'est ni plus ni moins qu'une convention

Reply

Marsh Posté le 27-06-2004 à 22:37:20    

Taz a écrit :

mais le langage n'est ni plus ni moins qu'une convention


 
Certe : mais les ereurs de syntaxe sons moins problematiquees.
 
Donc on peut se permettre plus de libertés, puisqu'une langue est comprise par des humains et non pas des machines bêtes et méchantes :o


---------------
Un matin je me lèverai et il fera beau.
Reply

Marsh Posté le 27-06-2004 à 22:40:07    

justement : si tu veux apprendre quelque chose, il faut que ça soit clair, avec peu d'exceptions, logique. Le Français est difficile à apprendre parce qu'il ne suit aucun de ces précepts

Reply

Marsh Posté le 27-06-2004 à 22:45:04    

Taz a écrit :

justement : si tu veux apprendre quelque chose, il faut que ça soit clair, avec peu d'exceptions, logique. Le Français est difficile à apprendre parce qu'il ne suit aucun de ces précepts


 
Le Français c'est comme le Perl quoi :whistle:
 
Mais je te trouve tout de même assez négatif vis à vis de cette méthode. Si dans le fond, tu as raison, je pense que le but est d'initier des enfants aux grands concepts de la programmation plutôt qu'à la syntaxe d'un langage en particulier.


---------------
Un matin je me lèverai et il fera beau.
Reply

Marsh Posté le 27-06-2004 à 22:47:26    

ben tu leur pourris pas la tête avec l'exercice 5 que tu ne comprends pas toi même. c'est d'aillersu sans intérêt pour des enfants.
 
alors que jouer avec turtle, faire du concret, ça c'est intéressant

Reply

Marsh Posté le 27-06-2004 à 22:51:13    

Là je suis d'accord.
 
turtle ça doit ressembler à du LOGO justement :D
Sinon y'a un truc qui doit être pas mal pour les enfants (j'y pense à cause du nom), ce sont les Lego Mindstorms (mais ça coûte la peau des fesses, donc c'est pas tip top pour les écoles).


---------------
Un matin je me lèverai et il fera beau.
Reply

Marsh Posté le 27-06-2004 à 22:56:54    

les lego mindstorms avec l'interface graphique (géniale) sinon à programmer en Java, ça vaut pas la peine.
 
turtle, c'est du logo oui
 

Code :
  1. def spirale_rectangulaire(cote, pas=10, max=200, epaisseur=3, couleur='green'):
  2.     reset()
  3.     color(couleur)
  4.     width(epaisseur)
  5.     while(cote<max):
  6.         left(90)
  7.         forward(cote)
  8.         cote=cote+pas
  9. spirale_rectangulaire(20)

Reply

Marsh Posté le 27-06-2004 à 23:52:40    

ya un emul pour ca :D ?

Reply

Marsh Posté le 28-06-2004 à 12:27:01    

Bonjour Taz,
vous avez ecris:
le problème étant principalement l'ordre d'évaluation indéterminé entre la rvalue et la lvalue
Si l'ordre d'évaluation etait indéterminé on ne pourrait jamais résoudre l'exercise.
 

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed