From 797761eb1aada8a474f4199c0f921702ac8c2942 Mon Sep 17 00:00:00 2001 From: Yannick Francois Date: Thu, 15 Feb 2018 17:15:28 +0100 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20des=20r=C3=A9ponses?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reponse-anna-livia-ALG - boutdecode.txt | 77 ++++++++++++++++++ .../reponse-anna-livia.txt | 19 +++++ ...onse-eric-lecture_code_E1_resultat_ELT.txt | 49 +++++++++++ .../reponse-decoupage-mot/reponse-eric.txt | 7 ++ .../reponse-etienne-bout-de-codev1.pdf | Bin 0 -> 28176 bytes .../reponse-etienne-bout-de-codev2.pdf | Bin 0 -> 28180 bytes .../reponse-decoupage-mot/reponse-etienne.txt | 46 +++++++++++ suivi.md | 13 ++- 8 files changed, 207 insertions(+), 4 deletions(-) create mode 100644 episode-001/reponse-decoupage-mot/reponse-anna-livia-ALG - boutdecode.txt create mode 100644 episode-001/reponse-decoupage-mot/reponse-anna-livia.txt create mode 100644 episode-001/reponse-decoupage-mot/reponse-eric-lecture_code_E1_resultat_ELT.txt create mode 100644 episode-001/reponse-decoupage-mot/reponse-eric.txt create mode 100644 episode-001/reponse-decoupage-mot/reponse-etienne-bout-de-codev1.pdf create mode 100644 episode-001/reponse-decoupage-mot/reponse-etienne-bout-de-codev2.pdf create mode 100644 episode-001/reponse-decoupage-mot/reponse-etienne.txt 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 0000000000000000000000000000000000000000..960cf49d2050b9065e186e9a9009223c51cc44e9 GIT binary patch literal 28176 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 literal 0 HcmV?d00001 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