B1 · 第4集 · 6:51

算法与编程入门

本集通过儿童舞蹈、身体打击乐和机器人编程等实例,讲解算法与编码的区别,展示从基础动作编码到Python编程的学习路径。

来源:Bruno Lambert / tube-numerique-educatif.apps.education.fr · 许可:CC BY-SA 4.0

字幕

  1. Algorithmique et codage, quatrième.

    算法与编程,四年级。

  2. Alors dans cette partie- là, on va aller un peu vers le codage,

    在这一部分中,

  3. le codage informatique, là,

    我们将进一步接触计算机编程,

  4. ce qu'on appelait avant programmer, coder, programmer.

    也就是过去常说的“编程”或“写代码”。

  5. Et on va essayer de faire la différence quand même entre l'algorithme et le codage.

    同时,我们也要区分清楚算法和编程的区别。

  6. Alors, comme toujours, on va essayer de faire un pas de côté,

    和往常一样,我们先换个角度思考,

  7. pas être directement sur les robots, la programmation.

    不直接进入机器人或编程操作。

  8. Là, c'est une activité de mathématiques de CE1 CE2 en rapport avec la motricité,

    这是一个面向小学一、二年级(CE1/CE2)的数学活动,

  9. l'EPS. Il s'agit d'apprendre, c'est dans un document de la DSDEN de Seine- Saint-

    结合了身体运动与体育课(EPS)内容,

  10. Denis sur le codage.

    出自塞纳-圣但尼省国民教育局(DSDEN)关于编程的指导文件。

  11. Donc là, il s'agit, après avoir vu, pratiqué, etc.

    在此基础上,

  12. le madisson, de demander aux élèves d'inventer un codage

    教师请学生自主设计一套动作编码规则,

  13. des déplacements et des pieds.

    特别是用双脚完成的动作。

  14. Donc là, il y a quelques exemples qui sont donnés.

    这里提供了一些示例。

  15. Donc là, voilà, on est toujours dans la même série d'exemples.

    如您所见,这仍属于同一系列示例。

  16. On voit par exemple que notre bibeau, notre botte,

    例如,“小鸭子”“小靴子”,

  17. c'est des déplacements qu'on code.

    都是我们用符号编码表示的动作。

  18. On peut imaginer coder

    我们还可以设想对更复杂的动作进行编码,

  19. des déplacements plus complexes, comme une danse, comme le

    比如舞蹈,比如麦迪逊舞,

  20. madisson, coder une chorégraphie.

    甚至为整套编舞设计编码。

  21. Tout ça, finalement, c'est le même ordre d'idée.

    所有这些,本质上都属于同一类思维活动。

  22. De la même manière, on peut imaginer l'algorithme musical.

    同样地,我们也可以设想“音乐算法”。

  23. On sait bien que la musique se code par les notes.

    众所周知,音乐是通过音符来记录的。

  24. Là, on a l'exemple, par exemple, d'activité où on va

    例如,这里有一个活动示例:

  25. faire des percussions corporelles, travailler sur le rythme,

    让学生做身体打击乐,练习节奏,

  26. sur cette chanson qui est.

    就用这首歌曲来开展。

  27. Série dans ce jeu.

    这个游戏中的序列。

  28. On rajoute d'autres types d'instructions, on voit bien la série d'instructions,

    我们加入其他类型的指令,能清楚看到这一系列指令,

  29. on voit bien le résultat, c'est de faire du rythme,

    也能清楚看到结果:制造节奏,

  30. c'est de faire la musique. Coder, qu'est- ce que ça va être?

    也就是创作音乐。那么,编程到底是什么呢?

  31. Ça va être la traduction de l'algorithme dans un langage qui va être compréhensible

    编程就是把算法翻译成一种机器能理解的语言,

  32. par la machine.

    一种机器能读懂的语言。

  33. Il y a différents types de langages,

    编程语言有多种类型,

  34. on en apprend finalement un certain nombre à l'école.

    最终我们在学校会学习其中若干种。

  35. Ça va demander un effort supplémentaire par rapport à l'algorithme,

    相比设计算法,编程需要额外付出努力,

  36. c'est qu'il va falloir connaître ce langage,

    因为必须掌握这种语言,

  37. ces instructions et comment il fonctionne,

    熟悉这些指令及其运行方式,

  38. et qu'on va pouvoir aussi du coup avoir des erreurs qui ne viennent pas de

    因此还可能出现并非源于算法或思维逻辑的错误,

  39. l'algorithme, du raisonnement, mais des erreurs de transcription du code,

    而是代码转录过程中的错误,

  40. des erreurs de syntaxe par exemple.

    比如语法错误。

  41. Donc j'utilise un Bibot, on n'a

    我们用的是Bibot机器人,但没有……

  42. pas. Le codage, ça va être de taper la séquence d'instructions de déplacement sur

    编程就是把移动指令序列输入到各个按键上,

  43. les différentes touches et donner l'instruction d'y aller.

    再发出‘开始执行’的指令。

  44. Donc ici, le codage va être la transformation, donc l'enfant va voir le chemin,

    在这里,编程就是一种转化过程:孩子先观察路径,

  45. il va l'anticiper, et puis le codage va être la transcription du chemin qu'il

    提前预判路线,然后把脑海中设想的路径,

  46. imagine en une séquence de touches qu'il va devoir faire dans un certain ordre.

    转化为按特定顺序操作的一组按键指令。

  47. Donc on est bien déjà dans une.

    所以,我们其实已经进入了……

  48. Une initiation au codage.

    编程启蒙阶段。

  49. Pour le BlueBot, on peut toujours lui donner des instructions avec les touches.

    对于BlueBot机器人,我们始终可以通过按键发送指令。

  50. C'est comme le Bee- Bot, on voit bien qu'ils se

    它和Bee-Bot很像,

  51. ressemblent quand même avec leur air coquin.

    都带着俏皮可爱的神态。

  52. On a aussi une barre de programmation sur laquelle on peut mettre des petites cartes

    我们还有一条编程栏,可以在上面放置一些小卡片。

  53. qui vont représenter les touches et de nouvelles instructions comme les boucles

    这些卡片代表按键和新指令,比如循环。

  54. qu'on va pouvoir ajouter.

    这些指令我们可以随时添加。

  55. Et il est aussi possible de passer à une application où on va simuler le déplacement

    此外,还可以切换到一个应用程序。

  56. du BlueBot sur un écran, ce qui va ressembler peu à peu à ce qu'on fera au collège.

    在该程序中,我们将模拟BlueBot在屏幕上的移动,这将逐渐接近初中阶段的学习内容。

  57. Alors répéter un motif, faire une frise, c'est un type

    重复一个图案、制作一条花边,是一种典型的活动。

  58. d'activité qu'on va souvent faire coder à nos élèves au collège,

    这类活动,我们常在初中阶段让学生编写程序来完成。

  59. qui va donner lieu à des

    这类活动会引出一些问题。

  60. problèmes de. Alors je donne

    接下来,我举几个初中阶段将开展的活动示例。

  61. quelques petits exemples de ce qu'on va faire au collège.

    (此处指代前文所提活动)

  62. Évidemment, c'est pas le.

    当然,这不是……

  63. C'est pas votre programme et c'est pas à vous de l'enseigner.

    这不是你们的教学大纲,也不需要你们去讲授。

  64. L'idée c'est d'avoir un petit peu une vue d'ensemble, de voir d'où on

    我们的目标是让大家对整体有个初步了解,看清我们从何处出发,又将走向何方。

  65. va et jusqu'où.

    (看清)我们最终能走多远。

  66. On va sur l'algorithmique et la programmation assez rapide.

    我们会较快地进入算法与编程的学习。

  67. Donc là, dans cet exercice, le but c'est de faire construire les six

    本题的目标是画出六个三角形。

  68. triangles. Donc on a bien une espèce de frise de triangles qu'on va faire.

    因此,我们将绘制一条由三角形组成的花边。

  69. On a d'une part le petit programme en bas à gauche qui sert à dessiner un triangle,

    左下角是一个用于绘制单个三角形的小程序。

  70. et le programme principal à droite.

    右侧则是主程序。

  71. La première partie jusqu'à l'encadré avec deux bras jaunes, c'est

    从开头到两个黄色括号之间的第一部分,

  72. pour effacer l'écran et puis initialiser le dessin.

    用于清屏并初始化绘图。

  73. Et la partie entre les deux bras jaunes,

    而两个黄色括号之间的部分,

  74. c'est celle qui consiste vraiment à dessiner un triangle, avancer.

    才是真正用来画三角形、向前移动的代码。

  75. Je recommence, je dessine un triangle, j'avance,

    我再重复一次:画一个三角形,向前移动;

  76. je recommence, je dessine un triangle, j'avance.

    再重复一次:画一个三角形,向前移动。

  77. Là aussi on a une boucle et donc le répéter six fois me permet de dessiner six fois

    这里同样有一个循环,因此重复六次就能画出六个

  78. le triangle. Si j'avais mis répéter quatre fois, j'aurais eu quatre triangles,

    三角形。如果我设为重复四次,就会得到四个三角形,

  79. si j'avais mis répéter huit

    如果设为重复八

  80. fois, j'aurais eu huit triangles.

    次,就会得到八个三角形。

  81. Si j'avais mis avancer de 30 entre les deux, ils auraient été plus proches,

    如果我在两个三角形之间加入‘前进30’,它们会更靠近;

  82. si j'avais mis avancer de 100, ils auraient été plus éloignés,

    如果改为‘前进100’,它们就会更远;

  83. si j'avais enlevé cette ligne, ils auraient été collés,

    如果删掉这一行,它们就会紧贴在一起,

  84. imbriqués les uns dans les autres.

    彼此嵌套。

  85. Quelques autres exemples de frises,

    再看几个其他花边图案的例子:

  86. donc on voit bien qu'on est dans la continuité de ces

    我们可以清楚地看到,这延续了之前那些

  87. suites logiques, qu'on doit comprendre le motif,

    逻辑序列活动——我们需要理解基本图案,

  88. voir combien de fois il se répète,

    观察它重复了多少次,

  89. d'éventuelles différences d'un motif à l'autre,

    留意不同图案之间可能存在的差异,

  90. et apprendre comment faire pour le répéter.

    并学会如何重复绘制它。

  91. Donc c'est vraiment dans la continuité de l'activité sur la chenille,

    这确实与毛毛虫图案活动一脉相承,

  92. des frises logiques qu'on dessine sur des quadrillages,

    即在方格纸上绘制逻辑花边图案,

  93. on a une vraie continuité là de la maternelle au collège sur ces activités qui

    从幼儿园到初中,这类活动始终贯穿其中,

  94. relèvent de l'algorithmique.

    都属于算法范畴。

  95. Évidemment, on est beaucoup plus complexe,

    当然,现在的难度高得多,

  96. mais c'est à chaque fois des apprentissages pour les élèves autour de la notion

    但每次都是围绕‘算法’概念展开的、面向学生的教学内容。

  97. d'algorithme. Alors au lycée à partir de la seconde, en mathématiques,

    到了高中,从高一年级起,数学课上学生开始学习用Python编程;

  98. les élèves apprennent à coder en langage Python et en seconde ils suivent aussi un

    同时,他们也在‘数字与技术科学’课上学习Python,

  99. cours sciences numériques et technologie, aussi ils vont faire du Python.

    因此会多次接触Python。

  100. Donc là le codage Python ça ressemble à

    此时的Python编程,

  101. du codage vraiment à l'ancienne standard où il n'y a plus rien de visuel etc,

    已回归传统标准编码方式,不再有任何可视化元素等,

  102. ça va être une suite de mots.

    而是一连串文字指令。

  103. d'instructions écrites avec des lettres pour parler à la machine.

    用字母写的指令,用来与机器交流。

  104. Là, on rentre dans le codage tel qu'il se pratique.

    这时,我们就进入了实际应用中的编程领域。