diff --git a/episode-001/reponse-decoupage-mot/reponse-anna-livia-ALG - boutdecode.txt b/episode-001/reponse-decoupage-mot/reponse-anna-livia-ALG - boutdecode.txt new file mode 100644 index 0000000..6fd0a9a --- /dev/null +++ b/episode-001/reponse-decoupage-mot/reponse-anna-livia-ALG - boutdecode.txt @@ -0,0 +1,77 @@ + +local function strsplit(delimiter, text) + if delimiter == "" then + error("delimiter matches empty string!") + end + local list, pos, first, last = {}, 1 + while true do + first, last = text:find(delimiter, pos, true) + if first then -- found? + table.insert(list, text:sub(pos, first - 1)) + pos = last + 1 + else + table.insert(list, text:sub(pos)) + break + end + end + return list +end +M.private.strsplit = strsplit + + + +# Groupes + + + +## Fonctions et Variables - représentations de données présentes à l'interieur du bout de code + +### Fonctions et variables assignée dans ce bout de code - Dont la fonction peut être connue en lisant ce bout de code +strsplit +delimiter +text +list +pos +first +last +found + +### Fonctions et variables définies autre part - dont la fonction ne peut pas être connue (mais potentiellement inférée) en lisant ce bout de code +error() +text:find() +text:sub() +table.insert() +M + + +## Grammaire du langage - Element permettant les opérations basiques d'un langage de programmation + +### Constantes - données présentes à l'interieur du bout de code + +"" (string) +"delimiter matches empty string!" (String) +1 (Int) +true (Boolean) + +### Opérateurs - permet de modifier/comparer la donnée +== +- ++ + +### Elements permettant de gérer l'assignation et le scopting des variables +local +function() +private +return += +-- + +### Elements permettant la procéduralité +if/then/else/end +While/do/end +? + + + + + diff --git a/episode-001/reponse-decoupage-mot/reponse-anna-livia.txt b/episode-001/reponse-decoupage-mot/reponse-anna-livia.txt new file mode 100644 index 0000000..a0a7958 --- /dev/null +++ b/episode-001/reponse-decoupage-mot/reponse-anna-livia.txt @@ -0,0 +1,19 @@ +Hello Yannick, + +Merci pour ce premier exercice, je suis super contente d'être le cobaye de cette expérience ! + +Tu trouveras en PJ ma réponse à l'exercice. + +Ce que j'ai pensé de l'exercice : +- je ne connais pas les mots de l'informatique :) +- je n'aime pas ne pas aller chercher la réponse sur internet (j'aurais pu le faire, mais je me dis que ce n'était pas l'esprit de l'exercice) +- j'ai changé plusieurs fois l'organisation des groupes de mots, mais rarement ce qu'il y avait à l'intérieur des groupes. +- j'ai trouvé interessant de choisir un prisme de classement + +Ce que j'ai appris durant l'exercice. +- que "-- found?" est mon némésis, je veux bien une réponse sur ce que c'est parce que je ne sais même pas comment demander aux internets. +- j'ai du mal à comprendre où je dois mettre mon attention pendant l'exercice, pour avancer sur le chemin de la lecture de code. +- Que j'aurais pu classer de plein de manières différentes. + +Voilou, merci encore, et j'ai hate de recevoir l'épisode 2 + diff --git a/episode-001/reponse-decoupage-mot/reponse-eric-lecture_code_E1_resultat_ELT.txt b/episode-001/reponse-decoupage-mot/reponse-eric-lecture_code_E1_resultat_ELT.txt new file mode 100644 index 0000000..ff3daea --- /dev/null +++ b/episode-001/reponse-decoupage-mot/reponse-eric-lecture_code_E1_resultat_ELT.txt @@ -0,0 +1,49 @@ +# Groupes + +# Ce premier groupe de mots détermine la structure et la circulation +# -termes conditionnels : while, if, then, else +# -termes d'action : do, return, break, end +# -terme d'avertissement : error + +# Ce deuxième groupe range les signes par catégorie selon leur rôle +# -signes de ponctuation : ( ) " , { } : . +# -signe d'affectation : = +# -signes d'arithmétique : + - == + +# J'ai regroupé ces trois ensembles par analogie avec la syntaxe humaine (sujet, verbe, complément) +# -variables : delimiter, text, strsplit, pos, first, last +# -fonctions : strsplit, find, insert, sub, found? +# -adjectifs : local, private + +# Ce groupe contient différents types de variables +# -chaînes de caractères : "delimiter matches empty string!" +# -booléens : true +# -nombres : 1 +# -tableaux : table, list + +# En dernier, un peu à part +# -classe : M + +# J'ai l'impression que cet exercice m'a fait réfléchir sur le sens des termes en m'amenant à mobiliser des notions que je connaissais déjà, en me forçant à m'interroger sur des petits bouts de code les uns après les autres. Au début, j'ai essayé de faire des recherches sur Internet pour m'aider mais ça n'a pas été fructueux donc j'ai laissé tomber. Je crois que c'est du R. Je comprends vaguement le code dans l'ensemble mais pas dans le détail. J'ai un peu le sentiment d'être passé à côté de l'exercice et que j'apprendrai surtout en lisant la correction. + + + +local function strsplit(delimiter, text) + if delimiter == "" then + error("delimiter matches empty string!") + end + local list, pos, first, last = {}, 1 + while true do + first, last = text:find(delimiter, pos, true) + if first then -- found? + table.insert(list, text:sub(pos, first - 1)) + pos = last + 1 + else + table.insert(list, text:sub(pos)) + break + end + end + return list +end +M.private.strsplit = strsplit + diff --git a/episode-001/reponse-decoupage-mot/reponse-eric.txt b/episode-001/reponse-decoupage-mot/reponse-eric.txt new file mode 100644 index 0000000..663867e --- /dev/null +++ b/episode-001/reponse-decoupage-mot/reponse-eric.txt @@ -0,0 +1,7 @@ +Hello Yannick, + +Ça y est, j'ai fait le premier exercice de lecture de code. Il est en pièce jointe. +Bonne semaine à toi, et à vendredi ! + +Eric + diff --git a/episode-001/reponse-decoupage-mot/reponse-etienne-bout-de-codev1.pdf b/episode-001/reponse-decoupage-mot/reponse-etienne-bout-de-codev1.pdf new file mode 100644 index 0000000..960cf49 Binary files /dev/null and b/episode-001/reponse-decoupage-mot/reponse-etienne-bout-de-codev1.pdf differ diff --git a/episode-001/reponse-decoupage-mot/reponse-etienne-bout-de-codev2.pdf b/episode-001/reponse-decoupage-mot/reponse-etienne-bout-de-codev2.pdf new file mode 100644 index 0000000..aa8b509 Binary files /dev/null and b/episode-001/reponse-decoupage-mot/reponse-etienne-bout-de-codev2.pdf differ diff --git a/episode-001/reponse-decoupage-mot/reponse-etienne.txt b/episode-001/reponse-decoupage-mot/reponse-etienne.txt new file mode 100644 index 0000000..389af29 --- /dev/null +++ b/episode-001/reponse-decoupage-mot/reponse-etienne.txt @@ -0,0 +1,46 @@ +chalut, + +j'ai fait mes devoirs ! + +- ranger par groupe cohérent chacun des mots/signe de ce bout de code. +done + +- donner un nom à ces groupes. Ce n'est pas très grave si c'est pas LE nom, ce qui m'intéresse, c'est le nom que VOUS lui donné +done + +- expliquer pourquoi ce nom et le regroupement (en quelques mots) +je te propose deux versions, qui témoignent de la progression de ma réflexion. + +dans la v1 +j'ai commencé par identifier les mots-clés, car ça me semblait être le plus simple. ce sont tous les mots qui te sont imposés par le langage. mots-clés parce que ces mots sont généralement courts et ont un sens déterminé. +puis j'ai identifié les variables, dans lesquelles on stocke des valeurs. les variables sont les mots à gauche du signe égal ou sont passées en argument de fonctions. les valeurs sont toujours à droite du signe égal. j'ai utilisé les mots qu'on emploie généralement pour ce genre de choses. ça commençait à devenir bien coloré. +j'ai cherché des catégories pour les mots restants, j'ai vu insert, j'ai compris que j'avais oublié les fonctions. donc j'ai rajouté les fonctions, avec un doute sur find et sub, car ils ne sont pas appelés avec . mais avec : bizarrement. mais j'ai tout de même décidé que c'étaient des fonctions. +ensuite sont venus tous les symboles, que j'ai appelés ponctuation, car ça permet de structurer, découper, regrouper le code. j'ai hésité sur les symboles + - =. je pensais les identifier comme ponctuation au début, puis je me suis dit que a + b c'était comme a.add(b) donc + est devenu une fonction. pareil pour a = 3 qui peut se lire a.assign(3). +là il restait encore les mots table et text. je ne les voyais pas comme des variables car on ne les a jamais déclarés et ils ne varient pas à mon sens. donc mots-clés. +il restait aussi -- found? dont je n'ai pas compris le sens. j’ai donc supposé que c’était un commentaire + +mais je n'étais pas vraiment satisfait à cause de certains cas comme strsplit à la dernière ligne, car strsplit changeait de catégorie par rapport à la première ligne ; à cause de first - 1 qui mélangeait variable et valeur ; à cause du mélange de couleurs dans les paramètres de la fonction find. + +dans la v2 +donc j'ai eu envie de changer de concept et de remplacer variable et valeur par left-value et right-value. c'est Laurent qui m'en a parlé pour la première fois, j'avais pas très bien compris à l'époque, mais là, bizarrement, ça me semblait plus adapté. +donc lvalues ou left-values pour les mots généralement placés à gauche du signe = et vice versa. mais généralement n'est pas une règle. +la règle que je me suis donnée pour distinguer ces deux catégories est la suivante : les lvalues sont modifiées lorsqu'elles apparaissent, les rvalues ne sont pas modifiées. il me semble que le découpage est plus logique maintenant. + +- votre réponse à l'exercice +done + +- ce que vous avez pensez de l'exercice +moins facile que prévu +super utile pour mettre ses connaissances à l'épreuve +j'aimerais avoir une analyse de ma réponse par un expert, ou un découpage cohérent, car je sais que le mien manque de logique et j'ai toujours des doutes en écrivant ce point meta + +- ce que vous avez appris durant l'exercice. +j'ai pensé pendant l'exercice au terme littéral que Laurent emploie souvent et que je n'ai jamais compris. peut-être que l'une de mes deux versions à quelque chose à voir avec ce concept. peut-être pas. +peut-être qu'il n'y a pas qu'un seul découpage correct +tout ce que je sais, c'est que je ne sais rien + +et voilà :) très bonne soirée Yannick + +Etienne Puydebois + + diff --git a/suivi.md b/suivi.md index be3b7bc..251856c 100644 --- a/suivi.md +++ b/suivi.md @@ -2,24 +2,29 @@ Episode 1: En attente de réponse: -- Anna-Livia - Sakada - Carole Gombauld -- Étienne puydebois - Christophe - Elodie - Sarah -- Eric Envoyé et répondu: - Estelle - Alexandra - Souley +- Anna-Livia +- Étienne puydebois +- Eric Episode 1 phase 2: -En attente de réponse +A envoyer: +- Anna-Livia +- Étienne puydebois +- Eric + +En attente de réponse: - Estelle - Alexandra - Souley