La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Programmation Scratch

Présentations similaires


Présentation au sujet: "Programmation Scratch"— Transcription de la présentation:

1 Programmation Scratch
PRO1026 Programmation et enseignement Programmation Scratch Sujets Introduction Calcul de la factoriel Calcul du nombre triangulaire Notions de programmation Variables, vecteurs Structures conditionnelles Structures itératives Fonctions et récursion Passage de messages

2 Introduction La fonction factorielle (n!) consiste à multiplier la valeur de n termes entre eux et est définie comme suit: Si n = 0, alors n! = 1; Si n > 0, alors n! = n (n –1)!; Ainsi: 0! = 1; 1! = 1; 2! = 2 x (2‐1)! = 2 x 1! = 2 x 1 = 2; 5! = 5 x (5‐1)! = 5 x 4! = 5 x 4 x (4‐1) != 5 x 4 x 3! = … = =5 x 4 x 3 x 2 x1 = 120 n! = n x (n‐1) x (n‐2) x … x 1 Donc, si n = 0 alors la solution est de 1. Cela constitue le cas de base. Dans les autres cas, nous sommes dans un cas complexe qui nécessite une récurrence.

3 Notions de programmation (Vecteur): voir l’exemple EX-FACTORIELLE-RECURSIF-VECTEUR.sb2
Calcule de la factorielle: création d’une pile (vecteur) pour stocker les valeurs intermédiaires

4 Notions de programmation (Vecteur): voir l’exemple EX-FACTORIELLE-RECURSIF-VECTEUR.sb2
Calcule de la factorielle: création d’une pile (vecteur) pour stocker les valeurs intermédiaires

5 Notions de programmation (Vecteur): voir l’exemple EX-FACTORIELLE-RECURSIF-VECTEUR.sb2
Calcule de la factorielle: création d’une pile (vecteur) pour stocker les valeurs intermédiaires (fonctions utiles pour la manipulation de liste (vecteurs)) Ajout d’un élément à la fin d’une liste Suppression de l’élément 1: premier dernier: dernier élément supprimé tout: tous les éléments supprimés Accéder à un élément dans une liste 1: premier ajouté dernier: dernier ajouté

6 Notions de programmation (Vecteur): voir l’exemple EX-FACTORIELLE-RECURSIF-VECTEUR.sb2
Calcule de la factorielle: création d’une pile (vecteur) pour stocker les valeurs intermédiaires n! = n * n-1 * n-2 * …. * 3 * 2 Premier appel de factorielle(n) n ajouter à la liste (pile) Second appel de factorielle(n-1) Valeur du dernier élément de la pile * n-1 ajouter à la liste (pile) Après le n-1 ième appels à factorielle() Critère d’arrêt number1 = 1 Affichage des résultats

7 Notions de programmation (Vecteur): voir l’exemple EX-FACTORIELLE-RECURSIF-VECTEUR.sb2
Calcule de la factorielle: création d’une pile (vecteur) pour stocker les valeurs intermédiaires Fonction principale (point d’entrée)

8 Notions de programmation (Vecteur): voir l’exemple EX-FACTORIELLE-RECURSIF-VECTEUR.sb2
Calcule de la factorielle: création d’une pile (vecteur) pour stocker les valeurs intermédiaires Fonction factorielle()

9 Notions de programmation (Variable): voir l’exemple EX-FACTORIELLE-RECURSIF.sb2
Calcule de la factorielle: création d’une variable pour accumuler les valeurs intermédiaires n! = n * n-1 * n-2 * …. * 3 * 2 Premier appel de factorielle(acc, n) La variable acc est mise à jour avec la valeur n Second appel de factorielle(acc, n-1) La valeur de acc = acc * n-1 Après le n-1 ième appels à factorielle() Critère d’arrêt number1 = 1 Affichage des résultats

10 Notions de programmation (Variable): voir l’exemple EX-FACTORIELLE-RECURSIF.sb2
Calcule de la factorielle: création d’une variable pour accumuler les valeurs intermédiaires

11 Notions de programmation (Variable): voir l’exemple EX-FACTORIELLE-RECURSIF.sb2
Calcule de la factorielle: création d’une variable pour accumuler les valeurs intermédiaires

12 Notions de programmation: voir l’exempleEX-NOMBRE-TRIANGULAIRE.sb2
Calcule du nombre triangulaire: Calcul du nombre de blocs d’une pyramide, traçage de chaque bloc, affichage du nombre de blocs Nombre blocs de la base Nombre de blocs par étage Nombre d’étages Total Nombre de blocs total de la pyramide Largeur du carré dessiné Numéro de l’étage dessiné

13 Notions de programmation: voir l’exempleEX-NOMBRE-TRIANGULAIRE.sb2
Calcule du nombre triangulaire: Calcul du nombre de blocs d’une pyramide, traçage de chaque bloc, affichage du nombre de blocs LCarre = 360 / nbBlocBase

14 Notions de programmation: voir l’exempleEX-NOMBRE-TRIANGULAIRE.sb2
Calcule du nombre triangulaire: Calcul du nombre de blocs d’une pyramide, traçage de chaque bloc, affichage du nombre de blocs (px,py) py = Lcarre * noEtage LCarre px = -(nbBlocBase/2 * LCarre) + noEtage-1 * LCarre/2 + noBlocEtage * LCarre Position x du premier bloc d’un étage

15 Notions de programmation: voir l’exempleEX-NOMBRE-TRIANGULAIRE.sb2
Calcule du nombre triangulaire: Calcul du nombre de blocs d’une pyramide, traçage de chaque bloc, affichage du nombre de blocs noBlocEtage += 1 nbBlocTotal += 1

16 Notions de programmation (programmation multi-lutins, transmission de message): voir l’exemple EX-NOMBRE-TRIANGULAIRE-COLLABORATION.sb2 Calcule du nombre triangulaire: Calcul du nombre de blocs d’une pyramide, traçage des blocs d’un étage par des lutins différents, traçage de chaque bloc, affichage du nombre de blocs Transmission de message Un lutin peut transmettre un message à un autre lutin Un lutin peut être réveillé quand il reçoit un message

17 Notions de programmation (programmation multi-lutins, transmission de message): voir l’exemple EX-NOMBRE-TRIANGULAIRE-COLLABORATION.sb2 Calcule du nombre triangulaire: Calcul du nombre de blocs d’une pyramide, traçage des blocs d’un étage par des lutins différents, traçage de chaque bloc, affichage du nombre de blocs Programmation multi-lutins

18 Notions de programmation (programmation multi-lutins, transmission de message): voir l’exemple EX-NOMBRE-TRIANGULAIRE-COLLABORATION.sb2 Calcule du nombre triangulaire: Calcul du nombre de blocs d’une pyramide, traçage des blocs d’un étage par des lutins différents, traçage de chaque bloc, affichage du nombre de blocs Programmation multi-lutins (Pomme: fonction principale) Demande la largeur de la pyramide Initialisation des variables Transmission d’un message (SignalChatDebout) au Lutin Chat Debout pour lancer le traçage des blocs (premier étage) Attente d’un message (SignalPomme) pour l’affichage du nombre de blocs total Affichage du nombre de blocs total

19 Notions de programmation (programmation multi-lutins, transmission de message): voir l’exemple EX-NOMBRE-TRIANGULAIRE-COLLABORATION.sb2

20 Notions de programmation (programmation multi-lutins, transmission de message): voir l’exemple EX-NOMBRE-TRIANGULAIRE-COLLABORATION.sb2 Calcule du nombre triangulaire: Calcul du nombre de blocs d’une pyramide, traçage des blocs d’un étage par des lutins différents, traçage de chaque bloc, affichage du nombre de blocs Programmation multi-lutins (Chat Debout) Sur réception du message SignalChatDebout Traçage des blocs d’un étage complet Si c’est le dernier étage à traçer, transmission du message SignalPomme pour permettre de retourner le contrôle au lutin Pomme Sinon, transmission du message SignalChatVolant pour lancer le traçage des blocs du prochain étage

21 Notions de programmation (programmation multi-lutins, transmission de message): voir l’exemple EX-NOMBRE-TRIANGULAIRE-COLLABORATION.sb2

22 Notions de programmation (programmation multi-lutins, transmission de message): voir l’exemple EX-NOMBRE-TRIANGULAIRE-COLLABORATION.sb2 Calcule du nombre triangulaire: Calcul du nombre de blocs d’une pyramide, traçage des blocs d’un étage par des lutins différents, traçage de chaque bloc, affichage du nombre de blocs Programmation multi-lutins (Chat Volant) Sur réception du message SignalChatVolant Traçage des blocs d’un étage complet Si c’est le dernier étage à traçer, transmission du message SignalPomme pour permettre de retourner le contrôle au lutin Pomme Sinon, transmission du message SignalChatDebout pour lancer le traçage des blocs du prochain étage

23 Notions de programmation (programmation multi-lutins, transmission de message): voir l’exemple EX-NOMBRE-TRIANGULAIRE-COLLABORATION.sb2


Télécharger ppt "Programmation Scratch"

Présentations similaires


Annonces Google