logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
utilisateurs:hypathie:tutos:algo-definition-et-langage [06/12/2014 07:31]
Hypathie [Structure générale d'un algorithme]
utilisateurs:hypathie:tutos:algo-definition-et-langage [13/12/2014 16:27] (Version actuelle)
Hypathie [Les actions]
Ligne 72: Ligne 72:
  
 Comparons une fonction et une procédure qui toute deux calculent le cube d'un nombre ; puis comment un programme utilise l'une ou l'​autre. Comparons une fonction et une procédure qui toute deux calculent le cube d'un nombre ; puis comment un programme utilise l'une ou l'​autre.
 +
 +Voir [[utilisateurs:​hypathie:​tutos:​algo-definition-et-langage?&#​structure-generale-d-un-algorithme|la structure générale d'un algorithme]]
 +
  
 ===Fonction cube === ===Fonction cube ===
 +  * Explication :
 +On imagine un tableau où on place 2, le nombre dont calcule la puissance de 3 ;\\ 
 +L'​indice maximal de ce tableau est la puissance à laquelle on veut élever le nombre 2.
 +<​code>​
 +Pour i de 1 à 3 on fait :
 +
 +   ​| ​  ​2 ​  ​| ​  ​2 ​  ​| ​   2   |
 +       ​| ​      ​| ​       |
 +    1 * 2      |        |
 +    = 2        |        |
 +             2 * 2      | 
 +             = 4        |
 +                      4 * 2
 +                      = 8
 +
 +</​code>​
  
   * Déclaration et mise en place de la fonction   * Déclaration et mise en place de la fonction
Ligne 97: Ligne 116:
    y := 1    y := 1
   ​   ​
-      Tantque i <= puissance FAIRE+      Tantque ​(:= puissanceFAIRE
     ​     ​
         y := y * x         y := y * x
Ligne 127: Ligne 146:
   ​   ​
      ​lire(nombre)      ​lire(nombre)
-     ​écrire ('le résultat est : ', fctcube(nombre))+     ​écrire ('le résultat est : ', fctcube(nombre)) ​ // Appel de la fonction, elle rend la résultat qu'on affiche avec écrire
            
             // utilisation du résultat             // utilisation du résultat
Ligne 155: Ligne 174:
         j := 1         j := 1
                        
-           ​Tantque i <= puissance FAIRE+           ​Tantque ​(:= puissanceFAIRE
                        
               y := y * x               y := y * x
Ligne 197: Ligne 216:
  
  
-Voir aussi : [[utilisateurs:​hypathie:​tutos:​algo-exo-constructions-d-algorithmes-de-procedure]]+Voir ci-dessous la structure en sous programme d'un algorithme complexe: [[utilisateurs:​hypathie:​tutos:​algo-exo-constructions-d-algorithmes-de-procedure]]
  
 +Voir aussi : d'​autres exemples simples d'​algorithme de fonctions et de procédures : [[http://​www.est-usmba.ac.ma/​ALGORITHME/​co/​module_ALGORITHME_40.html]]
  
 =====Les Types===== =====Les Types=====
 Il y a quatre types prédéfinis : entiers ; réels ; booléens ; caractères.\\ ​ Il y a quatre types prédéfinis : entiers ; réels ; booléens ; caractères.\\ ​
 Les tableaux sont des types de variables créés.\\ ​ Les tableaux sont des types de variables créés.\\ ​
-Voir ci-dessous : [[utilisateurs:​hypathie:​tutos:​algo-definition-et-langage#​les-types1]]. 
  
- 
-suite : [[http://​www.est-usmba.ac.ma/​ALGORITHME/​co/​module_ALGORITHME_40.html]] 
- 
- 
- 
- 
-===== Les Types ===== 
-Trois types pré-défini ; les tableaux sont des types créés. 
  
 ====Les entiers ==== ====Les entiers ====
Ligne 341: Ligne 352:
  
 <note tip> <note tip>
-Le **ET** et le **OU** algorithmiques ne sont pas le ET et le OU de la logique de bool.+**Le ET et le OU algorithmiques ne sont pas le ET et le OU de la logique de bool.**
  
-En algo, on comprends **ET** comme un **ET-alors** ​ et le **OU** comme **OU-sinon**.+  * __En algo, on comprends **ET** comme un **ET-alors**__ :
  
 ^ a ^ b ^  condition a ET b ^  ^ a ^ b ^  condition a ET b ^ 
 | FAUX| (non évalué)| FAUSSE ​ (pas d'​exécution du code) | | FAUX| (non évalué)| FAUSSE ​ (pas d'​exécution du code) |
-| VRAI | alors b évalué | expression = b qui doit être calculable |+| VRAI | alors b évalué\\ b = VRAI\\ b = FAUX | expression = b qui doit être calculable\\ a ET B = VRAI (condition exécutée)\\ a ET b  = FAUX (condition non exécutée)| 
 + 
 +=> Pour résumer, on tient compte de **b** seulement si a est vrai,\\ et la condition est exécutée si **a et b** sont vrais.  
 + 
 +  * __On comprends le **OU** comme **OU-sinon**__ :
  
 ^ a ^ b ^  condition a OU b ^  ^ a ^ b ^  condition a OU b ^ 
 | VRAI| (non évalué)| VRAI | | VRAI| (non évalué)| VRAI |
-| FAUX | (sinon) b évalué | expression = b qui doit être calculable |+| FAUX | (sinon) b évalué\\ b = FAUX\\ b = VRAI  ​| expression = b qui doit être calculable\\ a OU b = FAUX (condition non exécutée)\\ a OU b = VRAI (condition exécutée) ​| 
 + 
 +=> Pour résumer, **b** est pris en compte seulement si a est FAUX,\\ et la condition est exécutée si **b** est vrai.
  
 </​note>​ </​note>​
Ligne 569: Ligne 586:
 variable i : entier variable i : entier
 i := 1 i := 1
-  TantQue ( i < 3 ) FAIRE   // La boucle s'​arrêtera quand i sera > à 3.+  TantQue ( i < 3 ) FAIRE   // La boucle s'​arrêtera quand i sera >à 3.
                             // On met dans le commentaire la condition contraire ​                             // On met dans le commentaire la condition contraire ​
                             // c'​est-à-dire la condition de terminaison.                             // c'​est-à-dire la condition de terminaison.
Ligne 604: Ligne 621:
 <​code>​ <​code>​
 variable i : entier variable i : entier
-i := 5+i := 1
   Répéter ​   Répéter ​
         i := i + 1         i := i + 1
         écrire('​coucou'​)         écrire('​coucou'​)
-  Jusqu'​à ( i >= 3 )    // C'est une condition d'​arrêt.+  Jusqu'​à ( i >= 3 )    // être égal à 3 est une condition d'​arrêt.
 écrire('​la variable i est égale à ', i) écrire('​la variable i est égale à ', i)
 </​code>​ </​code>​
 <​code>​ <​code>​
 coucou coucou
-la variable i est égale à 6+coucou 
 +la variable i est égale à 3
 </​code>​ </​code>​
 > ATTENTION la boucle s'​effectue toujours une fois > ATTENTION la boucle s'​effectue toujours une fois
  
-<​note>​ +<​note ​tip
-Si on avait mis i := 1 avant l'​exécution du répéter, le retour serait :+Dans le schéma "Tant que" la condition de poursuite est avant le traitementdans le schéma "​Répéter",​ la condition de poursuite est après.\\ ​  
 + 
 +La boucle répéter est donc exécutée au moins une fois.\\  
 + 
 +Avec une boucle répéter, on exécute l'​instruction " tant que la condition est fausse. " 
 <​code>​ <​code>​
-coucou +répéter 
-coucou + Afficher "​Saisir un nombre strictement positif " 
-la variable ​est égale ​à 3+ Saisir ​i 
 + Si i (<= 0) alors  
 +  écrire("​J'​ai dit STRICTEMENT POSITIF !") 
 + Sinon  
 +  écrire("​Bravo"​)  
 + ​Finsi 
 +jusqu'à i > 0
 </​code>​ </​code>​
 +
 +=> Si on entre -2 : on aura "​J'​ai dit STRICTEMENT POSITIF !"
  
 </​note>​ </​note>​
Ligne 727: Ligne 758:
 </​code>​ </​code>​
  
-====Exemple ​de rapport hiérarchique entre une procédure et un algorithme ====+====Exemple ​simple d'un algorithme appelant un sous-algorithme ====
 //Donnez l'​algorithme qui affiche un carré d'​étoile à l'​écran.//​ //Donnez l'​algorithme qui affiche un carré d'​étoile à l'​écran.//​
  
utilisateurs/hypathie/tutos/algo-definition-et-langage.1417847494.txt.gz · Dernière modification: 06/12/2014 07:31 par Hypathie

Pied de page des forums

Propulsé par FluxBB