Cycle 1 - Séance 5

Les fonctions

Séance 5 : Les fonctions

Durée : environ 45 minutes

Résumé de l'activité :

Intégrer l’ensemble des connaissances du cycle et les compléter par la notion de fonction

Objectifs Pédagogiques :

  • Appréhender les notions de base de la programmation
  • Expérimenter la programmation par bloc
  • Maîtriser la notion de fonction
  • Construire un programme intégrant l’ensemble des notions abordées durant le cycle

Participants : Entre 8 et 16 participants (2 élèves par ordinateur)

Préparation : Disposer 8 ordinateurs disposant d’une connexion internet et ouvrir botly-studio.fr dans un navigateur (MODE : MOYEN)

Matériel : 4 à 8 ordinateurs avec Botly-Studio, ou disposant d’une connexion internet, si possible un robot pour la présentation

Notions liées : Instruction, Bloc, Programme, Simulation, Botly, Boucle, Variable, instruction conditionnelle, condition, fonction

INTRODUCTION ET RAPPEL : 10'

La dernière séance a été consacrée aux instructions conditionnelles.


  1. Pouvez-vous dire à quoi sert une instruction conditionnelle ? A choisir entre plusieurs actions possibles.
  2. Vous rappelez-vous de la structure d’une instruction conditionnelle ? C’est une structure avec une condition. Elle utilise SI : SI… ALORS…. ou SI…ALORS….SINON
  3. Vous rappelez-vous le nom du mathématicien qui a inventé une algèbre basée sur des 0 et des 1 et qui est très utilisée en informatique ? George Boole. On peut également faire appel à la logique booléenne qui repose sur une algèbre binaire basée sur des 0 et des 1 (ou VRAI et FAUX) pour construire ses programmes.

Petit exercice :

Écrivez une instruction conditionnelle qui indique :

“SI un chiffre (par exemple : 4) est pair, ALORS avancer de 100 mm, SINON, reculer de 100 mm”.

Aujourd’hui, la séance est consacrée aux fonctions. Les fonctions ont des points communs avec les variables vues dans la séance 3.

INTRODUCTION DE LA NOTION DE FONCTION : 20’

Le terme « fonction » est utilisé dans plusieurs contextes et avec des sens différents. Nous allons parler du mot FONCTION dans le contexte informatique. Il n’a pas le même sens qu’en mathématiques. Il ne faudra pas confondre les deux.

Dans l’interface Botly Studio, les fonctions sont accessibles à partir du niveau Débutant. Elles se trouvent dans la Bibliothèque "Fonction" et le premier bloc utile pour créer une fonction est celui-ci (voir ci-contre).



La forme du bloc donne un indice sur la façon dont il fonctionne.

Il ressemble un peu aux blocs BOUCLE ou INSTRUCTIONS CONDITIONNELLES car :

    • il se compose d’un en-tête avec quelques mots pour expliquer son fonctionnement (« pour Faire Quelque Chose »).
    • il se termine par une sorte de pied qui marque la fin du bloc.

Mais il a aussi une différence avec ces autres blocs : il n’a pas de petite encoche comme tous les autres blocs.


Définition et autopsie d’une fonction

Une fonction est un ensemble d’instructions qui effectuent une tâche. C’est une boîte, mais dans laquelle on va pouvoir mettre des instructions, des boucles, des instructions, bref… construire un sous-programme qui pourra être utilisé dans le programme principal à plusieurs endroits sans avoir besoin de le réécrire.



Nous avons parlé des variables dans une séance précédente. Les fonctions ont comme point commun avec les variables de pouvoir être renommées (on va pouvoir leur donner un nom).


Et comme pour les variables, cela va créer un bloc spécial qui portera ce nom. Et on va pouvoir l'utiliser pour intégrer la fonction à plusieurs endroits dans le code.


Un exemple pas à pas



1. Pour construire une fonction, on commence par écrire le code de l’action que l’on souhaite obtenir. Dans cet exemple, on commence par écrire le code pour un carré.






2. On va ensuite placer son code à l’intérieur d’une fonction.







3. On va ensuite pouvoir renommer la fonction en cliquant sur le texte qui se trouve en en-tête du bloc.






4. Une fois la fonction renommée, un bloc qui porte le nom de la fonction est créé ; il est utilisable dans le code principal.





Exemple :


L’intérêt principal des fonctions est de pouvoir simplifier son code. On peut par exemple intégrer plusieurs fois une même forme sans avoir besoin de réécrire le même code.


On peut également se créer une « boîte à outils », avec plusieurs formes, ou des lettres de l’alphabet par exemple, et venir intégrer les fonctions au fur et à mesure de son programme.


EXPERIMENTER VIA UNE SUITE DE CHALLENGES : 30'



Défi 1 :

Utiliser les fonctions pour construire une boite à outils permettant de faire facilement plusieurs formes les unes à côté des autres :

    • 1 triangle
    • 1 carré
    • 1 étoile à 5 branches


Défi 2 :

Utiliser la lettre A pour composer des formes originales.

Étape 1 : il faut concevoir le code pour faire la lettre A (attention, à la fin de la forme, le robot doit être placé au point le plus à gauche de la lettre)

Étape 2 : intégrer ce code dans une fonction

Étape 3 : utiliser la fonction pour tracer des formes




Quelques exemples :

CONCLUSION

Bilan :

Qu’est-ce que j’ai appris ? Qu’est-ce qui était difficile ?

A retenir :

En programmation, on doit parfois construire des codes complexes. Pour cela, il peut être utile de créer des « sous-programmes », appelés FONCTIONS.

Une fonction est une sorte de boîte dans laquelle on intègre une partie de code que l’on pourra ensuite insérer facilement à plusieurs endroits dans son programme.

On peut donner un nom à chaque fonction pour faciliter la construction de son code.

Trace écrite :