• [^] # Re: Ça, c'est fait.

    Posté par (site web personnel, Mastodon) . En réponse au journal Lycée et informatique : spécialité ISN en terminale S. Évalué à 9. Dernière modification le 23 mars 2013 à 20:50.

    Clair qu'il y a une différence… mais je crois qu'il faut comprendre qu'en TI-Basic (celui des z80 et celui des 68k) ainsi que dans le basic des casios et comme en C, on peut écrire une boucle for qui aurait pu être écrite par une boucle while de ce type :

    i = min
    while i < max:
     i = i + step
    
    

    pour min = 2, max = 10, step = 4,

    "TI-Basic z80
    For(I, 2, 10, 4)
    
    
    ©TI-Basic 68k
    for i, 2, 10, 4
    
    
    'Casio Basic
    For 2→I to 10 Step 4
    
    

    Quand le lycéen a déjà fait ça dans sa vie, c'est facile de lui dire qu'en C on fait ainsi :

    /* C */
    for (i = 2; i < 10; i += 4)
    
    

    Le lycéen comprend tout de suite, en faisant remarquer tout de même que c'est un peu verbeux.
    Alors oui on peut faire tout à fait autre chose avec le for du C (c'est pourquoi il est plus verbeux), mais ce qui compte c'est qu'il puisse retrouver ses marques et reproduire le peu qu'il connaît déjà.

    Tu mets ce même lycéen devant un for i in 2 6 10 du shell ou du Python, il capte pas et c'est normal, l'exemple que je viens de donner n'est pas le bon exemple pour expliquer le for en Python. Pour utiliser for en Python dans le cas de figure présent (for i from 2 to 10 step 4), il va falloir enseigner d'abord d'autres concepts…

    C'est pas tant que le TI-Basic est comme le C, c'est qu'on peut très facilement tordre C pour qu'il ressemble à du TI-Basic. Avec Python, certains concepts de base sont différents et homonymes.

    ce commentaire est sous licence cc by 4 et précédentes