Lien Initier les élèves au codage avec l’appli mobile gratuite OctoStudio [licence CC by -sa]
Lien A 2024 Plea for Lean Software (with running code)
Forum Programmation.autre Advent of Code 2023, jour 25
Hello et joyeux Noël à tous.
Ce jour ci comme les années précédentes, il n'y a qu'une seule partie pour le challenge de l'AOC.
On se donne un réseau de câbles comme celui donné en exemple.
jqt: rhn xhk nvd
rsh: frs pzl lsr
xhk: hfx
cmg: qnr nvd lhk bvb
rhn: xhk bvb hfx
bvb: xhk hfx
pzl: lsr hfx nvd
qnr: nvd
ntq: jqt hfx bvb xhk
nvd: lhk
lsr: lhk
rzs: qnr cmg lsr rsh
frs: qnr
(…)
Forum Programmation.autre Advent of Code 2023, jour 24
Dans ce problème, on a un ensemble de grêlons qui se déplacent dans un espace en 3 dimensions.
Ces grêlons ont une position initiale et une vitesse de déplacement.
Voici l'exemple.
19, 13, 30 @ -2, 1, -2
18, 19, 22 @ -1, -1, -2
20, 25, 34 @ -2, -2, -4
12, 31, 28 @ -1, -2, -1
20, 19, 15 @ 1, -5, -3
Les trois premiers nombres sont les coordonnées initiales du grêlon (px, py, pz)
et (…)
Forum Programmation.autre Advent of Code 2023, jour 23
Ce jour ci, il faut trouver son chemin dans un labyrinthe.
Le labyrinthe est composé de plusieurs types de tuile:
des chemins ".", des forêts "#" et des pentes dans une direction "", ">", "v", "<".
Dans la partie 1, on n'a pas le droit d'aller dans le forêt et on n'a pas le droit de remonter une pente.
Le but n'est pas ici de trouver un plus court chemin mais un plus long chemin dans le labyrinthe. Évidemment (…)
Forum Programmation.autre Advent of Code 2023, jour 22
Dans le problème du jour, on a des briques, comme au Tetris mais en 3 dimensions.
Chaque brique est composée de plusieurs cubes tous alignés dans une certaine direction (selon la hauteur, la largeur ou la profondeur).
Voici l'exemple
1,0,1~1,2,1
0,0,2~2,0,2
0,2,3~2,2,3
0,0,4~0,2,4
2,0,5~2,2,5
0,1,6~2,1,6
1,1,8~1,1,9
Chaque brique est donnée par les coordonnées x,y,z de ses deux extrémités et séparés par un "~".
La première ligne représente une brique composé de 3 cubes de coordonnées (1, 0, 1), (1, 1 (…)
Forum Programmation.autre Advent of Code 2023, jour 21
Pour le problème de ce jour, on se donne une grille composée de rochers, de jardins et d'un point de départ.
L'exemple est le suivant:
...........
.....###.#.
.###.##..#.
..#.#...#..
....#.#....
.##..S####.
.##..#...#.
.......##..
.##.#.####.
.##..##.##.
...........
Les "." représentent les jardin, les "#" représentent les rochers et S est la position de départ.
Le but de la partie 1 est de compter le nombre de positions où le jardinier peut arriver en partant de la tuile de départ et en (…)
Forum Programmation.autre Advent of Code 2023, jour 20
Nous sommes toujours sur l'île du désert. Grâce aux pièces détachées reçues de l'île du métal, triées avec notre aide, les lutins ont pu réparer leurs machines et cherchent maintenant à les démarrer.
Première partie
Les machines sont commandées par un système de communication très lutinesque, c'est à dire complexe à souhait : il est constitué de modules reliés les uns aux autres, et qui fonctionnent un peu comme des portes logiques électroniques qui s'envoient des signaux bas ou hauts.
Forum Programmation.autre Advent of Code, jour 19
Pour ce problème, nous avons deux choses.
Tout d'abord, des pièces de machine qui ont chacune 4 évaluations: une évaluation x, une évaluation m, un évaluation a et une évaluation s. Chaque évaluation est représenté par un entier.
Par exemple, une pièce peut avoir l'évaluation suivante:
{x=787,m=2655,a=1222,s=2876}
Ensuite, viennent les workflows. Un workflow est une série de tests sur les évaluations d'une pièce. Un résultat positif pour un test peut soit faire accepter la pièce, soit la faire rejeter, soit (…)
Forum Programmation.autre Advent of Code, jour 18
Pour ce jour ci, le type d'input est le suivant
R 6 (#70c710)
D 5 (#0dc571)
L 2 (#5713f0)
D 2 (#d2c081)
R 2 (#59c680)
D 2 (#411b91)
L 5 (#8ceee2)
U 2 (#caa173)
L 1 (#1b58a2)
U 2 (#caa171)
R 2 (#7807d2)
U 3 (#a77fa3)
L 2 (#015232)
U 2 (#7a21e3)
C'est une liste d'instructions pour creuser.
Le premier symbole indique dans quelle direction il faut aller (L pour gauche, R pour droite, U pour haut, D pour bas) (…)
Forum Programmation.autre Advent of Code, jour 17
Le problème d'aujourd'hui prend en entrée une grille composée de chiffres.
L'exemple donné est le suivant:
2413432311323
3215453535623
3255245654254
3446585845452
4546657867536
1438598798454
4457876987766
3637877979653
4654967986887
4564679986453
1224686865563
2546548887735
4322674655533
Le but est d'acheminer de la lave qui démarre à la tuile en haut à gauche à une usine de pièces de machines dont la localisation est la tuile en bas à droite.
Il s'agit donc de trouver un chemin (un creuset) dans la grille. Seulement le chemin a les contraintes (…)
Forum Programmation.autre Advent of Code, jour 16
Le sol est de la lave
Ce problème prend en entrée une grille composées de différentes tuiles:
- la tuile vide ("."),
- les mirroirs ("/" et "\")
- et les diviseurs ("|" and "-").
Par exemple, on a la grille suivante.
.|...\....
|.-.\.....
.....|-...
........|.
..........
.........\
..../.\\..
.-.-/..|..
.|....-|.\
..//.|....
Dans la partie 1, un faisceau de lumière commence du bord en haut à gauche et se dirige vers la droite.
- Lorsque le faisceau rencontre une tuile vide (…)
Forum Programmation.autre Advent of Code, jour 15
Remettre la production de lave en route
D'accord, j'ai été un peu rapide dans mon interprétation d'hier, on avait simplement focalisé la lumière du soleil vers le chambre de fusion.
Là il faut calibrer les lentilles de focalisation pour condenser les rayons au maximum et faire, enfin, fondre la roche.
Première étape : courir après un renne qui a piqué une page du manuel.
Pour ça on va calculer une sorte de hash d'une série d'instructions du type :
rn=1,cm-,qp=3,cm=2,qp-,pc=4,ot=9,ab=5,pc-,pc=6,ot=7
Forum Programmation.autre Advent of Code, jour 14
Jour 14, tout en haut des nuages
À partir de demain nous allons redescendre, il n'y a plus d'île au-dessus de l'île de lave, donc une fois que la lave se remettra à couler, on va retourner en arrière pour tout remettre en marche.
On imagine déjà devoir faire s'écouler la lave vers les bonnes sources chaudes, et activer les bonnes machines pour fabriquer les bonnes pièces, pour réparer les autres machines pour envoyer du sable pour filtrer l'eau, pour (…)