epi-4eme-algo - WordPress.com

publicité
EPI Algorithme
et
Programmation
………………………………………………………………………
Mme Poulain
1
Cet EPI algorithme et programmation couvre le nouvel enseignement d’informatique évalué au
brevet des collèges.
Ce cahier recense les activités proposées et réalisées par les élèves de 4B à l'utilisation du logiciel
Scratch.
Ces activités leur ont permis de se familiariser progressivement aux principes de l’algorithmique.
L'utilisation régulière de ce logiciel Scratch leur a permis également de s’initier à la
programmation informatique.
Cette initiation étant nouvelle en classe de 4ème, le niveau espéré en juin 2016 a dû être revu à la
baisse car les élèves les plus faibles se montrent plus lents dans la compréhension de la logique
informatique.
Les ressources numériques (algorithmes, programmes…) liées à ce cahier ont été mis en ligne
sur le site mathsanath.wordpress.com créé pour les élèves du collège Victor Hugo de Volvic.
2
Fiche 1 : Scratch et les variables informatiques
1. Variable, affection
2. Lecture, écriture
Une variable est une donnée qu’un algorithme
Pour qu’un algorithme reçoive une donnée,
stocke ; elle porte un nom et possède une valeur.
on lui commande de la «lire».
On peut comparer une variable à une boîte
• Avec l’instruction lire A», l’algorithme
portant une étiquette.
attend que l’utilisateur saisisse une valeur pour
Quand on donne une valeur à une variable, on dit
la variable A.
qu’on lui «affecte» cette valeur.
Pour qu’un algorithme renvoie une donnée,
Affecter la valeur 3 à la variable A, c’est ranger
on lui commande de l’« écrire
la valeur 3 dans une boîte qui porte l’étiquette
• Avec l’instruction «écrire B», l’algorithme
renvoie la valeur stockée dans la variable B.
«A». On note : A 3.
3
4
Travaux Pratiques 1 : Scratch et les variables informatiques
 Un premier programme de calcul :
On veut réaliser un script correspondant
au programme de calcul ci-dessous.
Pour demander un nombre à l'utilisateur, il
faut utiliser les commandes de la catégorie
. Pour effectuer des calculs, il faut utiliser les commandes de la catégorie
.
1. Reproduire et compléter le script ci-dessus avec les valeurs appropriées.
2. Vérifier le bon fonctionnement du script avec deux valeurs différentes pour le nombre de départ.
Essai 1 :
Essai 2 :
 Avec deux variables :
On veut réaliser un script correspondant
au programme de calcul ci-dessous.
1. Pourquoi n'est-il pas possible d'écrire le script avec une seule variables ?
2. On a renommé la variable "nombre" en "nombre de départ" et créé une deuxième variable "résultat".
Compléter le script ci-contre pour qu'il affiche le résultat du programme de calcul.
Vérifier le bon fonctionnement du script avec deux essais.
Essai 1 :
Essai 2 :
 Des programmes en pagaille :
1. Pour chaque programme de calcul ci-dessous, écrire le script permettant d'en calculer le résultat.
5
2. Tester ces programmes avec différentes valeurs. Que constate-t-on ?
Fiche 2 : Scratch et les instructions conditionnelles (Si…alors…)
Une instruction conditionnelle est une
2. Instruction Si… Alors… Sinon…
instruction
qui a besoin d’une condition pour se réaliser. On
reconnaît une instruction conditionnelle grâce
aux mots Si et Alors. Dans Scratch, il y a deux
blocs d’instruction
conditionnelle :
Si… Alors…
Si… Alors… Sinon…
.
1. Instruction Si… Alors…
Exemple :
Exemple :
Cet algorithme demande de saisir un
nombre.
Ensuite, si ce nombre est inférieur à 10,
alors
le miaulement du chat sera déclenché.
L’algorithme ci-dessus comporte un bloc Si… Alors…
Sinon… pour indiquer à l’utilisateur si il est mineur ou
majeur. Cet algorithme demande à l’utilisateur de
saisir son âge. Ensuite, si ce nombre est strictement
inférieur à 18, alors le chat dit « Tu es mineur », sinon (le
nombre est supérieur ou égal à 18) le chat dit « Tu es
majeur ».
6
7
8
Fiche 3 : Scratch et les boucles (Pour…de...à…jusque...)
Quand on écrit un algorithme, il est parfois utile
• Une boucle peut
de répéter un certain nombre de fois les mêmes
aussi dépendre d’une
instructions. On utilise pour cela une structure de
condition d’arrêt.
boucle. Dans une structure de boucle, toutes les
La boucle « Jusqu’à » est une boucle qui est
instructions sont exécutées à chaque passage de
répétée jusqu’à ce qu’une condition devienne
la boucle.
vraie.
• Une boucle peut être
Exemple : l’algorithme ci-dessous demande
répétée un nombre de fois, ce
un nombre à l’utilisateur et le multiplie par_2
nombre de répétitions étant
jusqu’à ce que le nombre devienne supérieur à
connu à l’avance.
100. Le programme affiche le nombre obtenu.
Exemples :
1. L’algorithme ci-contre
fait avancer 4
fois le lutin de 50 pas.
2. L’algorithme ci-dessous affecte 3 à la variable A.
Puis il multiplie à 5 reprises la valeur de la variable A
par 2.
Après le 1er passage dans la boucle, la variable A vaut
6. À la fin du programme, la variable A vaut 96.
Remarque : il existe d’autres types de boucles.
• La boucle «Tant que» est répétée tant qu’une
condition reste vraie.
• Une boucle
peut être répétée
indéfiniment.
9
Application 1 : Scratch et les relatifs.
On considère un programme de calcul dont l'algorithme s'écrit :
1. Compléter le tableau en indiquant les valeurs obtenues à chaque étape de l'algorithme :
2. Juliette a écrit le programme ci-dessous.
Compléter le tableau en indiquant les valeurs
de chacune des variables a, b et c.
10
11
12
Application 2 : Scratch VS Tableur et les relatifs.
Exercice 1 :
Voici un programme de calcul :
Choisir un nombre.
Le multiplier par (2).
Ajouter 27.
Multiplier par (6) le résultat.
Soustraire le triple du nombre choisi.
1. On considère la feuille de calcul qui correspond à ce programme :
Quelle formule doit-on entrer dans les cellules :
B2
B3
B4
B5
2. Quel nombre donne le programme de calcul si l'on choisit :
a. le nombre 5 ?
b. le nombre 12 ?
c. le nombre 3 ?
3. En appliquant ce programme à un certain nombre, Valentin a obtenu 0. Es-tu capable de retrouver le
nombre que Valentin avait choisi ?
4. Léa veut écrire un script correspondant à ce programme de calcul avec Scratch. Aide-la à remettre les
instructions dans le bon ordre.
13
Exercice 2 :
1. Décrire par une phrase les étapes successives de ce script d'un programme de calcul :
…………………………………………………....
……………………………………………………
……………………………………………………
…………………………………………………….
2. Quel nombre donne le programme de calcul si l'on choisit :
a. le nombre 5 ?
b. le nombre 12 ?
c. le nombre 3 ?
Exercice 3 :
1. Décrire par une phrase les étapes successives de ce script d'un programme de calcul :
…………………………………………………....
……………………………………………………
……………………………………………………
…………………………………………………….
2. Quel nombre donne le programme de calcul si l'on choisit 4 comme nombre de départ ?
3. Pour quel nombre de départ ce programme de calcul ne pourra-t-il pas donner de résultat ? Pourquoi ?
Exercice 4 :
Voici un programme de calcul :
Complète les formules en B2, B3, B4 et B5
Ecris le script à rentrer sur scratch correspondant
à ce programme.
14
Choisir un nombre.
Le multiplier par 3.
Soustraire 5.
Multiplier par (2) le résultat.
Ajouter le double du nombre choisi.
Application 3 : simulation d'un lancer de dés (probabilités)
15
Travaux Pratiques 2 : Probabilités et Outils numériques
Exercice 1 :
Léa a écrit le script suivant afin de simuler un grand nombre de lancers d'un dé équilibré à 6 faces.
1. Expliquer rapidement à quoi sert ce
script.
2. On lance à présent deux dés équilibrés à 6 faces et on s'intéresse à la somme de ces deux dés.
a. Modifier le script en ajoutant les données suivantes afin d'obtenir une estimation de la probabilité
d'obtenir une somme égale à 7 :
Attention, il faudra utiliser les blocs opérateurs pour définir la somme !
b. Modifier le script afin d'obtenir une estimation de la probabilité d'obtenir
une somme égale à 12.
c. Comment peut-on expliquer la différence de ces deux résultats ? Peut-on
calculer les valeurs théoriques d'avoir une somme égale à 12 ou égale à 7 ?
Exercice 2 :
Ouvrir un tableur pour simuler un lancer de deux dés équilibrés grâce à la formule
=ALEA.ENTRE.BORNES(1;6) à entrer en A2 et à étirer ensuite jusqu'en B201 (pour avoir 200 lancers de
2 dés).
16
1. Quelle formule faut-il entrer dans la cellule D2 pour que le tableur calcule les sommes obtenues ?
2. Taper en G2 la formule =NB.SI(D2:D201;F2). Quel résultat trouve-t-on ? Pouvait-on le prévoir ?
3. Etirer la formule de G2 à G13. Actualiser en tape sur la touche F9 de votre clavier.
4. La somme ayant la fréquence maximale est-elle toujours la même ?
Si oui, quelle est-elle ?
Si non, expliquer pourquoi ce n'est pas toujours la même.
Exercice 3 :
Dans un tableur, la fonction JOURSEM, avec le réglage "2", affiche un nombre entre 1 et 7 :
1 pour lundi, 2 pour mardi…et 7 pour dimanche.
exemple : La formule =JOURSEM(DATE(2016;12;1);2) renvoie un 4 car le 01/12/2016 tombe un jeudi.
1. L'instruction =JOURSEM(DATE(2016;5;20);2) affiche le résultat 5. Qu'est-ce-que cela signifie ?
2. Prendre la feuille 2 dans votre tableur (en bas) et déterminer quel jour de la semaine était le 1er janvier
2000 et le jour de votre naissance.
3. Prendre la feuille 3 du tableur. Voici les dates de naissance de tous les élèves de la classe. Déterminer
le jour de naissance de chaque élève.
4. Votre professeur est née un samedi. Si on prend un élève au hasard dans la classe, quelle est la
probabilité qu'il soit lui aussi né un samedi ?
17
Application 4 : Scratch et les puissances de 10
18
Travaux Pratiques 3 : calcul de la puissance d’un nombre avec scratch.
Il s’agit dans un premier temps de faire créer un programme qui calcule les nombres donnés par
l’utilisateur à la puissance 2, puis à la puissance 3. Le programme doit retourner le résultat final.
Enfin, on souhaite créer un programme qui demande à l’utilisateur un nombre de départ, le nombre que
l’on doit mettre en exposant et qui calcule la puissance du nombre donné avec l’exposant donné.
Variables :
Créer trois variables « nombre entier », « exposant » et résultat.
Aide :
Voici les différentes briques utilisées pour la conception de ce programme.
19
20
Travaux Pratiques 4 : égalité de Pythagore avec scratch (calcul de l'hypoténuse)
Créer un programme qui calcule la longueur de l'hypoténuse d’un triangle rectangle, connaissant les deux
côtés de l'angle droit, à l’aide de l'égalité de Pythagore.
Consigne :
Nous disons à l’utilisateur qu'il doit calculer la longueur de l’hypoténuse.
Aide : Voici les différentes briques utilisées pour la conception de ce programme.
21
Travaux Pratiques 4 : égalité de Pythagore avec scratch
(calcul d'un côté de l'angle droit)
Créer un programme qui calcule la longueur manquante du côté de l'angle droit d’un triangle rectangle,
connaissant un côté de l'angle droit et l'hypoténuse, à l’aide de l'égalité de Pythagore.
Consigne :
Nous disons à l’utilisateur qu'il doit calculer la longueur manquante du côté de l'angle droit.
Aide : Voici les différentes briques utilisées pour la conception de ce programme.
22
23
Travaux Pratiques 4 : égalité de Pythagore avec scratch (partie 1)
Créer un programme qui calcule la longueur d’un côté d’un triangle rectangle, connaissant les deux autres,
à l’aide de l'égalité de Pythagore.
Consigne :
Nous demanderons à l’utilisateur s’il doit calculer la longueur de l’hypoténuse. Suivant la réponse, nous
créerons une condition afin de calculer la longueur demandée.
Aide : Voici les différentes briques utilisées pour la conception de ce programme.
24
25
Travaux Pratiques 5 : égalité de Pythagore avec scratch (partie 2)
Vous devez créer un programme qui précise à l’utilisateur si un triangle donné est rectangle en
utilisant la réciproque du théorème de Pythagore.
Variables :
Créer trois variables « Plus grande longueur », « longueur 1 », « longueur 2 ».
Pour aller plus loin :
Détecter quelle est la plus grande longueur parmi les valeurs saisies.
Aide :
Voici les différentes briques utilisées pour la conception de ce programme.
26
Suivi et évaluation
27
Téléchargement