Le(s) langage(s) de progamation (lycée école)

La programmation, c’est avant tout et sur tout de la logique.

Apprendre la logique, c’est bien;
M’enfin, dans la série des enseignements qui devraient être prodigué, où est la morale ? En voila un truc utile.

[quote=“jb1”]bonsoir,
pendant l’orage,

-ordonner un ensemble de nombre (tableau)
-trouver qu’un nombre est premier -de manière simpliste- ou en servant de la racine carrée comme limite

bonne soirée
A+
JB1[/quote]
voici une activité que j’ai faite avec mes élèves de seconde la multiplication égyptienne et russe, je pense que tu peux la faire avec des élèves de troisième.
Ils n’ont que la première page, on teste plusieurs multiplications (les nombres viennent des élèves) et on fait l’algorithme ensemble.
La programmation s’est faite avec algobox mais 3 élèves motivés ont utilisé python à la place.

En fait un élève m’a dit un jour "C’est dur ce que l’on fait, on ne peut pas faire plutôt des additions ou des multiplications :snooty: " Sur ce je lui ai dit d’accord. :mrgreen:

limax, mon smiley n’était aucunement accusateur, je trouve ça super. Moi je n’ai pas eu l’occasion de toucher à ça avant l’IUT. Pour la multiplication egyptienne c’est AMHA encore plus sympa quand on voit la multiplication est la division binaire parce que ça donne plus de « forme » à ces calculs (et du coup on ne fait pas de division/multiplication, mais des décalages).

Dans le même niveau de complexité mon premier algo fut un Bezoud. J’avais d’abord programmé un PGCD classique, du coup c’est vraiment simple, mais il faut soit des tableau soit de la récursivité. N’ayant pas de récursivité sur ma TI82, j’ai utilisé un tableau.

Au passage l’itératif c’est sur fait :smiley: (juste pour m’amuser) :

[code]a=int(input("Entrer un entier a: "))
b=int(input("Entrer un entier b: "))

def russe(a, b):
return (b&1) * a + russe(a<<1, b>>1) if b != 1 else a
print("{}*{}={}".format(a, b, russe(a, b)))[/code]

bonjour,
et vous en pensez quoi “des restes chinois”
A=
JB1
:033

[quote=“MisterFreez”]Au passage l’itératif c’est sur fait :smiley: (juste pour m’amuser) :[/quote] :023
Mais pas avec mes secondes :030

[quote=“jb1”]bonjour,
et vous en pensez quoi “des restes chinois”[/quote]
Comment ça, tu parles pour programmer? Genre conjonction de planète et on trouve la réponse avec la programmation. Moi j’aime bien.

Niveau: lycée j’ai fait ca en 1S et TS, J’aime bien car la programmation est obligatoire.

On remarque que 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153 On souhaite déterminer tous les nombres entiers naturels égaux à la somme des cubes de leurs chiffres.

Pour tout vous dire 5 profs de maths et on y est pas arrivé en 30 minutes.
On a tout sorti bezout, premier, Z/nZ etc… mais problème n’est pas si compliqué que ca, il suffit de calculer 5*9^3 et d’en déduire … et se termine par un algorithme pour dénombrer ces nombres.

[quote=“limax”]Niveau: lycée j’ai fait ca en 1S et TS, J’aime bien car la programmation est obligatoire.

On remarque que 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153 On souhaite déterminer tous les nombres entiers naturels égaux à la somme des cubes de leurs chiffres.

Pour tout vous dire 5 profs de maths et on y est pas arrivé en 30 minutes.
On a tout sorti bezout, premier, Z/nZ etc… mais problème n’est pas si compliqué que ca, il suffit de calculer 5*9^3 et d’en déduire … et se termine par un algorithme pour dénombrer ces nombres.[/quote]
Un problème NP complet ?
153 qu’on voit comme un nombre et comme une chaine de caractère).
:smiley: pour jouer avec du javascript (oui monsieur) :

L’implémentation est naïve, je sais pas s’il y a d’autres moyens de les déduire (mais s’il est bien NP on voit la logique classique de résolution de ces problèmes : on génère les valeurs (souvent c’est aléatoire pas comme ici) et test de la solution).

tu es trop fort misterfreez :mrgreen: :023

Pour son problème de restes chinois il y a bien le classique phare

[quote]Un phare émet un signal jaune toutes les 15 minutes et un signal rouge toutes les 28 minutes.
On aperçoit le signal jaune a 0h02 mn et le rouge a 0h08 mn. A quelle heure verra–t–on pour la première fois les deux signaux émis en même temps [/quote]

j=15;r=8
while  j!=r:
    if j>r:
        r+=28
    elif j<r:
        j+=15
    print('j={} r={}'.format(j,r))
print("Il sera {} heure et {} minutes".format(j//60,j%60))

rmq: Misterfreez va bien me passer encore mon code avec sa “moulinette à code” :laughing:


Pour ma défense, c'est ce genre de problèmes qui m'a amené à faire du dev et à adorer ça. C'est des petits problèmes assez simples, mais ils m'amusent toujours autant et depuis un an et demi (un peu plus en fait) j'écris de plus en plus mon code sous une forme fonctionnelle (voir [url=https://linuxfr.org/users/barmic/journaux/adopter-un-style-de-programmation-fonctionnel]adopter un style de programmation fonctionnel[/url]).

Pour ma défense, c’est ce genre de problèmes qui m’a amené à faire du dev et à adorer ça. C’est des petits problèmes assez simples, mais ils m’amusent toujours autant et depuis un an et demi (un peu plus en fait) j’écris de plus en plus mon code sous une forme fonctionnelle (voir adopter un style de programmation fonctionnel).

@misterfreezz J’ai fait un an de lisp :snooty:

Mais je n’en ai plus fait après et avons pratiqué du pascal.
Il faudrait que je m’y remette un jour.

Je crois qu’ils ont dans les cartons de nous faire enseigner l’informatique à toutes les filières l, es et s.
Évidemment pas de la même façon à des es ou l.
Le problèmes est que l’on ne peut pas tout faire en deux heures par semaine donc il faut faire des choix.

Je fais traiter les thèmes sociétaux sous forme d’exposés.
Je vous conseille place de la toile sur france culture:

n°1: lev-manovich-culture-logiciel-2014-07-05
n°2: ethan-zuckerman-activiste-internet-2014-06-21
n°3: politique-du-design-2014-06-14
n°4: football-et-jeux-video-2014-06-07
n°5: entretien-avec-finn-brunton-auteur-de-«spam»-2014-05-31
n°6: cyberespace-et-geopolitique-2014-05-24
n°7: snowden-un-an-apres-pourquoi-l-amerique-nous-ecoute-t-elle-2014-05-17
n°8: politique-de-l-algorithme-2014-05-10
n°9: l-economie-collaborative-en-questions-2014-05-03
n°10: internet-est-il-en-train-de-disparaitre-2014-04-26

Essaye le caml

Faudra que je réessaye.
L’inférence de type a calmé mes ardeurs la dernière fois que j’ai essayé (je comprends le principe et l’intérêt, c’est l’usage qui pose problème).