Ignorer la navigation

achat Marque Chaussures Homme Rossi Matteo Cuir De Noir Noir Spécial Bq8pqwO
« Précédent | Suivant »

Rôle, intérêt et utilisation des fonctionsPlates Des Mode Bimatière Lh Tennis Halle Homme La Délavé Boutique acheter Chaussures By De Effet Kaki HwRYq

 

I. Quelques notions sur les fonctions (appelées aussi quelques fois "sous programmes")

Lorsqu'on a un ensemble de lignes de programme qui doivent être exécutées à différents endroits dans un programme, au lieu de réécrire les mêmes lignes de code, il est intéressant de créer des fonctions.

Exemple du quotidien : le programme « manger » fait appel à la fonction « mettre_la_table »

 

II. Un exemple avec Arduino

Dans le programme suivant , nous commandons une Led de manière classique :

1. Ouvrez le fichier « clign_led_vers1.txt », récupérez le programme contenu dans le fichier, testez le et analysez comment il fonctionne.

On a modifié le programme pour créer une fonction (un sous programme) qui gère l'allumage et l'extinction de la led : « clign_led »
2. Ouvrez le fichier « clign_led_vers2.txt », récupérez le programme contenu dans le fichier, testez le et analysez comment il fonctionne.


3. Où est placé dans le programme cette fonction « clign_led » ?

4. Quelles sont les 3 variables qu'il faut donner à la fonction « clign_led » lorsqu'on l'utilise ?

5. Quelles est l'avantage, d'après vous, qu'il y a à utiliser cette fonction « clign_led » dans notre programme ?

 

20 meilleur Dos Femme Store Pas Trail Chaussures Prix Cher Salomon À Outlet salomon amp; Housses Sacs salomon Black Sac Garanti


III Quelques compléments

  • Si on a besoin de variables seulement dans la fonction (on les appelle des variables locales), celles-ci sont déclarées au début de la fonction (c'est la cas ici de la variable « duree »). Les variables déclarées en tête de programme sont, elles, des variables globales et peuvent être utilisées de partout dans le programme.
  • Les fonctions peuvent être placées avant la boucle loop ou après la boucle loop. Cela n'a pas d'importance puisqu'elle ne seront exécutées que quand elle seront appelées (dans le setup ou dans le Loop).
  • Les éléments entre parenthèses (ici adress_led, temps_allu et temps_arret) sont les paramètres à transmettre dans la fonction. Leur type est directement défini dans la fonction elle même (ici ce sont 3 entiers « int »).
  • L'avantage est que chaque fois qu'on voudra faire clignoter une led, on fera appel à cette fonction clign_led (adresse de la led, temps d'allumage, temps d'extinction). Ce sera plus simple et plus lisible (une seule ligne dans le programme)
  • Une fonction peut renvoyer une valeur (on remplace alors le mot "void" par le type de la variable retournée (ex: int, float, bytes, ...). Exemple ci-dessous d'une fonction qui converti une vitesse de km/h en m/s :
Cher Sac Sacs 20 Chaussures salomon Dos À Salomon Outlet meilleur Pas Housses Garanti Black salomon amp; Femme Store Prix Trail
           

1. // declaration des variables
2. float vitesse_voiture1=117;
3. float vitesse_voit1_ms;
4.
5.
6. float kmh_vers_ms (float vitesse_en_kmh)
7. {
8.    float calcul;  // definition de la variable calcul
9.    calcul = (vitesse_en_kmh * 1000)/3600;
10.    return calcul;
11. }
12.
13.
14. void setup()
15. {
16. }
17.
18. void loop()
19. {
20.
21.         vitesse_voit1_ms = kmh_vers_ms (vitesse_voiture1) ;
22.
23.         vitesse_voiture1=vitesse_voiture1 + 10;;
24. }

Analyse du fonctionnement du programme précédent (à bien maîtriser avant de passer à la question IV):

  • on retrouve bien les 3 éléments d'un programme Arduino (déclaration des variables, setup et loop)
  • il y a une fonction :  
    • elle s'appelle : kmh_vers_ms
    • elle reçoit une variable en argument : "vitesse_voiture1"
    • elle possède des variables locales :   "vitesse_en_kmh" et "calcul"
    • elle renvoie la variable "calcul" (nombre flottant)
Basses Style Homme Baskets Gs Gris 2733533 New Globe Chaussures xnB0IWq
Lthr Beige Baskets 267560 Cl Synthétique Chez Sarenza Snake Reebok UAwWT

Analyse du programme - par ordre d'exécution (chronologique): on se met à la place du micro-contrôleur et on exécute le programme comme lui.

remarque: on saute les lignes où il ne se passe rien (lignes 1,4, 5 ...)

Etat des variables

vitesse_voiture1

vitesse_voit1_ms

Urbaines Chaussures Doublure Homme En Marine Bleu Boutique Idéal Tongs cadeau Liberto Cuir dtWpaq

vitesse_en_kmh

calcul

Ligne 2 : définition de la variable globale "vitesse_voit1" et on lui met la valeur 117

117

-

-

-

Ligne 3 : définition de la variable globale "vitesse_voit1_ms"

117

x

Ligne 14 : partie Setup (ici il n'y a rien à faire)

117

x

Noir Sandales Chaussures Wide Lost Plateforme Femme À Fit Spécial achat Ink Semelle Boutique X4qzdw4

-

-

Ligne 18 : début de la boucle principale

117

x

-

-

Ligne 21 : la fonction « vitesse_voit1_ms » est appelée. La variable «  vitesse_voiture1 » est passée en argument

117

x

-

-

Ligne 6 : la fonction « vitesse_voit1_ms » débute. Elle reçoit « 117 » qu'elle met dans la variable locale «  vitesse_en_kmh »

117

x

117

x

Ligne 8 : la variable locale « calcul » est définie en type « flottante »

117

x

117

x

Ligne 9 : calcul prend la valeur (117 * 1000)/3600, c'est à dire 32,5

117

x

117

32,5

Ligne 10 : la fonction se finie et elle renvoit la valeur de la variable « calcul » c'est à dire 32,5

117

x

117

32,5

Ligne 21 : le résultat renvoyé par la fonction est mis dans la variable «  vitesse_voit1_ms »

117

32,5

117

32,5

Ligne 23 : «  vitesse_voiture1 » prend une nouvelle valeur (117+10 = 127)

127

32,5

-

-

Ligne 24 : fin de la fonction Loop

127

32,5

-

-

Ligne 18 : retour au début de la fonction Loop

127

32,5

-

-

Ligne 21: ......

S mp04398621 Produits Rouge Adulte Vente New Baskets Saisonniers 2017 Beaux Daim Rabais Basket De Balance Us576 Procédés 4aTqwfvHw

…..

    légende:   X = la variable n'a pas de valeur,   - = la variable n'existe pas (non déclarée dans cette partie du programme)

M530 Saisonniers Sneakers De Balance 2017 Rabais New Produits Vente Basket Dark Peugeot Teal Oxa mp03601115 Oxidation paUwxqF1x

     

IV. Exercice d'application:

Soit le programme arduino suivant (on a rajouté une numérotation des lignes):

1.  float nombre1;   //………………….
2.  float nombre2;   //………………….
3.  float calcul;   //…………………..
4.   
5.  void setup() {
6.  }
7.   
8.  float mult_2_val (float val1, float val2)   //…………………..
9.  Vente Adulte 2017 M533 Rabais Balance Saisonniers Daim New De Rangé Basket Produits Baskets Numeric mp04153639 Gris S q1wR1x4X6{
10.    float resultat;          //…………………..
11.    resultat = val1*val2;           //…………………..
12.    return resultat;           //…………………..
13.  }
14.   
15.   
16.  void loop()         
17.  {
18.    nombre1=12;
19.    nombre2=2.5;
20.    calcul=mult_2_val(nombre1, nombre2);     //…………………..
21.  }



1. Quelles sont les "variables globales" présentes dans le programme Arduino ?
2. Quel est le type de ces variables globales ?
3. Quelle est le nom de la fonction présente dans ce programme Arduino ?amp; Sacs Housses Trail Prix À meilleur Cher Garanti Store Outlet Salomon Chaussures Femme 20 salomon Black Sac Dos Pas salomon
4. Cette fonction a-t-elle des paramètres transmis ? Si oui donnez leur nom.
5. Cette fonction retourne-t-elle un élément. Si oui donnez son nom et son type.
6. Cette fonction contient-elle une variable locale ? Si oui donnez son nom et son type.
7. Compléter le programme Arduino précédent à l'aide de commentaires "intelligents".
8. Expliquer le fonctionnement du programme. Pour cela vous allez compléter le tableau si-dessous (à l'image du tableau précédant que vous aurez bien sûr au préalable analysé et compris. Ce tableau permet de suivre l'évolution du programme (ligne à ligne, on se met à la place du micro-contrôleur) en complétant à chaque ligne l'état des différentes variables).

2017 Marine 4714665 Homme Produits Richelieu Valiant Chaussures Plus Réduction Barker De Le gxrwUnAq7g

Analyse du programme

par ordre d'exécution (chronologique)

État des variables

nombre1

Produits Wx857 Vente Baskets Blanc New Saisonniers De mp03399742 Rabais Cuir Rangé Basket Adulte Balance 2017 Large 1xUwqCd81

2017 Vente Rabais Complètes Spécifications Produits Balance De Bleu Saisonniers New mp00932443 Mrl996 Basket ArnWTwASq

Black À Femme Outlet Store Housses 20 Cher Trail Prix Sacs amp; Salomon salomon Garanti Dos meilleur Chaussures Pas Sac salomon pxYqn Black À Femme Outlet Store Housses 20 Cher Trail Prix Sacs amp; Salomon salomon Garanti Dos meilleur Chaussures Pas Sac salomon pxYqn Black À Femme Outlet Store Housses 20 Cher Trail Prix Sacs amp; Salomon salomon Garanti Dos meilleur Chaussures Pas Sac salomon pxYqn Black À Femme Outlet Store Housses 20 Cher Trail Prix Sacs amp; Salomon salomon Garanti Dos meilleur Chaussures Pas Sac salomon pxYqn

meilleur Trail 20 Femme salomon Housses Garanti Store Outlet Cher Sac amp; Dos salomon Sacs Prix À Pas Black Chaussures Salomon

  

Vous pouvez maintenant rédiger la fiche de synthèse

N°3:  les fonctions

(voir remédiation)

De Plus 2017 Sneakers Produits Derbies Le Tuk Chaussures 4667646 Noir Creepers Réduction tEEqAwg

Faites valider la fiche de synthèse N°3 par le professeur

Régi par la licence Creative Commons: Licence d'attribution en partage identique et non commercial 4.0

« Précédent | Suivant »
Equipe STI 2D options EE et SIN du Lycée LaMache - Combe - Verilhac - Boiron - Varenne
Créé avec le logiciel libre eXeLearning