Professional Documents
Culture Documents
Principe de l'algorithme
Règles d'algorithme :
Convention
- mettre les identifiants des variables en minuscules, le nom de la variables doit refléter
son contenu
- nom de la fonction ou de la procédure : une majuscule au début de chaque mot, coller,
ou on utiliser des underscor.
- PQL : Plan qualité logiciel (description des normes algorithmique)
Les variables :
Une variable doit avoir un nom, une valeur et un type
Le type correspond au différente valeur de la variable
Les différents typess : entier, réel, boolean, les cractères(alphabétique ou numérique), les
chaînes de caractères (attention aux typages des varaibles);
Les priorités :
La multiplication est prioritaire sur la division et la soustraction
3 * 2 + 5 = 11
3 * (2 + 5) = 21
Nom : carreEntier
Rôle : calculer le carré d'un entier et l'afficher
Donne : valeur entrer par l'utilisateur
Résultat : carre d
proc principale
début
ecrire ("Entrer une valeur")
valeur lire()
carre valeur * valeur
ecrire (carre)
fin
Nom : changeValeur
Rôle : Echanger les valeurs de saisies
Donnee : les 2 valeurs saisies au clavier
Résultat : les 2 valeurs échangées
Principe :
debut
ecrire("Entrer deux valeurs")
a lire()
b lire()
ca
ab
bc
ecrire( "Valeurs de a et b"a,b )
fin
Lexique :
a, b, c: réel
Instructions
Ex
debut
ecrire("Entrer deux nombre")
valeur1 lire()
valeur2 lire()
if (valeur1 > valeur2) alors
resultat valeur1 divvaleur2
reste valeur1 mod valeur2
Les tableaux :
Un tableau doit être déclaré de même type, toutes les valeurs doit avoir un type commun.
Pour accéder à un élément du tableau, on utilise l'indice
debut
pour i de 0 à 9 faire
ecrire("Entrer un nombre")
valeur lire()
si valeur > = 0 et valeur < = 100 alors
t[i] <- valeur
fsi
fpour
fin
Lexique :
Fonction et procédure
max t[0]
pour i de 1 à taille faire
if t[i] > max alors
max t{i]
finsi
finfaire
retourner max
Fin
min t[0]
pour i de 1 à taille faire
if t[i] < min alors
min t{i]
finsi
finfaire
retourner min
Fin
Programme principale
MAX 10
minTab, maxTab : entier
tab tableau[MAX] : entier
Saisie(tab, M)
minTab = rechercheMax(tab, MAX)
maxTab = rechercheMaxtab,Min)
calculMoyenne(tab,MAX, moyenne)
Fin
Programme principale
Début
a,b, c, delta : entier
ecrire("Entrer a : ")
a lire()
ecrire("Entre b:")
b lire()
ecrire("Entrer c")
c lire()
delta calculDiscriminant(a,b,c)
calculRacine(delta, racine)
Fin
d = (y ^2) – (4*x*z)
returner d
Fin
Fonction calculRacinePositif(e x : entier, e y : entier, e delta :entier, r1 : entier, r2 : entier)
r1, r2 : entier
r1 = - y –sqrt(delta)/2 * x
r2 = - y + sqrt(delta)/2 * x
Fin
Formule
n!/p!*(n-p)!
Debut
res val
pour i de 1 à val-1 faire
res res *i
finpour
Fin
Fonction récursif
Les tries à Bull : n'est pas trop optimisé. Le principe c'est de balayer tout le tableau, et on va
comparer élément par éléments (2 par 2) élément en cours avec l'élément suivant. Si l'élément
en cours et plus grand que la suivante en échange. Il faut faire 2 boucles imbriqué. Il faut le
tableau soit pré-reillé
Trie par insertion
On part du principe, qu'on déplace les éléments au bon endroit.
Pour le trie insertion fonctionne, il faut que la tableau soit déjà triller.
Utiliser. Pour insérer la valeur :
- soit on fait un décallage
- soit on dimentionne
- soit on supprime un élément
12345 insertion de 8
Trie par sélection, le tableau n'est pas triller au départ. Il faut rechercher la plus petite valeur.
Ensuite on la mais dans la première position, et on reboucle
82031
02831
01832
01238
Déterminer le pas du Shell : prendre des caleurs qui ne sont pas pert et qui ne sont pas
multiples entre elles
Quick Sort
Le trie le plus rapide, trie de récurssion. On choisi une valeur dans le tableau éléatoire. et on
cherche la position définitive de cette valeur. Eµnsuite on exécute des déplacements. On
compare la valeur médiane. Puis au décalle la madiane vers la gauche et en redivise par 2.
Recherche récursif
Structure dynamique
Un pointeur : c'est une variable au lieu de contenir une valeur, va contenir l'adresse d'une
valeur. Le pointeur indique l'adresse le premier élément de la structure.
Un pointeur doit être initialisé à null au départ, un contient une structure de même type.