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 →
Ci-dessous, les différences entre deux révisions de la page.
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:40] Hypathie [Quatre sortes d'objets] |
utilisateurs:hypathie:tutos:algo-definition-et-langage [13/12/2014 16:27] (Version actuelle) Hypathie [Les actions] |
||
---|---|---|---|
Ligne 77: | Ligne 77: | ||
===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 100: | Ligne 116: | ||
y := 1 | y := 1 | ||
| | ||
- | Tantque i <= puissance FAIRE | + | Tantque (i := puissance) FAIRE |
| | ||
y := y * x | y := y * x | ||
Ligne 130: | 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 158: | Ligne 174: | ||
j := 1 | j := 1 | ||
- | Tantque i <= puissance FAIRE | + | Tantque (i := puissance) FAIRE |
y := y * x | y := y * x | ||
Ligne 336: | 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 564: | 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 599: | 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 traitement, dans 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 i 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 722: | 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.// | ||