You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
195 lines
4.6 KiB
195 lines
4.6 KiB
# ALGORITHMIQUE
|
|
|
|
## les "bases"
|
|
comment compter, binaire, décimal octet, hexa
|
|
|
|
## Variables :
|
|
mettre une valeur dans une boite en lui donnat un nom
|
|
s'écrit :
|
|
|
|
```
|
|
var a entier;
|
|
a=2;
|
|
```
|
|
|
|
*Note* : zéro s'écrit avec un O barré : `0`
|
|
Types de variables possibles :
|
|
- boolean / booléen / bool : vrai / faux
|
|
- entier / integer / int : 1 ... 3 .... 2345 .... valeur max pour l'ordinateur
|
|
- décimal / float : 0,3 ... 1,2 ... 56,2345 .... valeur max pour l'ordinateur
|
|
- alphanumérique / chaine / string : "bonjour", "a123", ... Par convention on mets des guillements autour.
|
|
|
|
Il existe souvent des variables prédéfinies (fonction des langages) qui ne peuvent être changée, on appelle alors ces variables des **constantes**. Pi est un bon exemple.
|
|
Exemple en JavaScript :
|
|
```
|
|
Math.PI
|
|
```
|
|
Exemple en PHP
|
|
```
|
|
M_PI
|
|
```
|
|
|
|
Au dela des variables simple il existe des variables structurés comme les listes ou les piles (que nous ne détaillerons pas ici). La plus communément utilisée est le tableau.
|
|
Un tableau est série de boite avec un seul nom.
|
|
|
|
On écrira / lira dans un tableau en référençant les cases de celui si par un index numérique commençant à 0. on l'initialisera avec une liste de valeurs entre crochets;
|
|
|
|
```
|
|
var tab tableau;
|
|
tab = [32,12,234,98,6,8,29,15,1053,14,34];
|
|
afficher tab[0]; /* donne 32 */
|
|
afficher tab[3]; /* donne 98 */
|
|
tab[1]=639; /* le tableau deviens [32,639,234,98,6,8,29,15,1053,14,34] */
|
|
```
|
|
|
|
## Opérateurs
|
|
|
|
Un opérateur est un symbole qui utilise ou des opérandes et vaut quelque chose.
|
|
- Opérateurs d'affectation : =, ++, --, +=, -=
|
|
- Opérateurs artimétiques binaires : +, *, /, -
|
|
- Opérateur artimétiques unaire : -
|
|
- Opérateurs conditionnels ou logiques binaires : <, >, ≤, ≥, et, ou, ==
|
|
- Opérateurs conditionnel unaire : !
|
|
|
|
Pour les opérateur d'affectations :
|
|
- = permet de mettre une valeur dans une variable.
|
|
- Les opérateurs unaires -- et ++ correspondent respectivement à ```i=i-1``` et ```i=i+1```
|
|
- Les opérateurs unaires -= et += permettre d'incrémenter d'une valeur donnée. i-=3 et i+=5 correspondent respectivement à ```i=i-3``` et ```i=i+5```. i++ et i-- peuvent donc aussi s'écrire respectivement ```i-=1``` et ```i+=1```
|
|
|
|
**Note** : un utilisera * pour multiplier pour ne pas le confondre avec un X minuscule.
|
|
|
|
## structures
|
|
|
|
un structure est une technique "d'embranchement".
|
|
|
|
### structures conditionelles
|
|
|
|
- si alors sinon
|
|
|
|
```
|
|
si (condition) alors
|
|
_action 1_
|
|
sinon
|
|
_action 2_
|
|
fin si
|
|
```
|
|
|
|
- selon cas
|
|
|
|
```
|
|
selon reponse
|
|
cas "bonjour"
|
|
_action 1_
|
|
fin cas
|
|
cas "merci"
|
|
_action 2_
|
|
fin cas
|
|
cas par defaut
|
|
_action 3_
|
|
fin cas
|
|
fin selon
|
|
```
|
|
|
|
### structures itératives
|
|
|
|
- pour
|
|
|
|
Cette structure permet d'éxécuter une nombre de fois donnée une action
|
|
Il y a 3 choses à préciser, la valeur de départ, la condition de fin et la méthode d'incrément.
|
|
Exemple pour la multiplication par addition
|
|
|
|
```
|
|
variable opD,opG,resultat entier;
|
|
resultat = 0;
|
|
opD=2;
|
|
opG=3;
|
|
|
|
pour i=0; i<opD; i++
|
|
resultat = resultat+opG;
|
|
fin pour;
|
|
|
|
afficher resultat;
|
|
```
|
|
|
|
- tant que
|
|
|
|
exécuter des actions tant qu'une condition est respectée.
|
|
```
|
|
variable choix chaine;
|
|
choix = "oui"
|
|
tant que choix == "oui" faire
|
|
_action 1_
|
|
_action 2_
|
|
afficher "continuer ?";
|
|
lire choix;
|
|
fin tantque;
|
|
```
|
|
- faire tant que (do-while)
|
|
|
|
exécuter des actions tant qu'un condition est respectée, mais au moins une fois
|
|
```
|
|
variable choix chaine;
|
|
faire
|
|
_action 1_
|
|
_action 2_
|
|
afficher "continuer ?";
|
|
lire choix;
|
|
tant que choix == "oui";
|
|
```
|
|
|
|
|
|
|
|
## instructions :
|
|
|
|
un instruction est un élément de programmation "standard" dans la majorité des languages.
|
|
Par convention on terminera une instruction par ;
|
|
|
|
### afficher
|
|
|
|
affiche le résultat (sur un écran par exemple)
|
|
|
|
```
|
|
afficher "bonjour";
|
|
var a entier;
|
|
a=2;
|
|
afficher a;
|
|
```
|
|
|
|
### lire
|
|
|
|
lire la saisie d'un utilisateur
|
|
```
|
|
var reponse chaine;
|
|
lire reponse;
|
|
afficher reponse;
|
|
```
|
|
## commentaires
|
|
Comme en css ou en javascript, par convention nous utiliserons /* */ pour les commentaires en pseudo code.
|
|
|
|
|
|
## exemples
|
|
|
|
Calculer la surface d'un carré ou d'un rond
|
|
```
|
|
var dim entier;
|
|
var surface décimal;
|
|
var type chaine;
|
|
|
|
afficher "Carré ou rond ?";
|
|
lire type;
|
|
|
|
Si type == "carré" alors
|
|
afficher "coté du carré ? "
|
|
lire dim;
|
|
afficher "surface : "
|
|
afficher dim*dim;
|
|
Sinon si type == "rond" alors
|
|
afficher "rayon du rond ? "
|
|
lire dim;
|
|
afficher "surface : "
|
|
afficher PI * dim * dim;
|
|
Sinon
|
|
afficher "rond ou carré uniquement";
|
|
Fin si;
|
|
```
|