Algorithmes : éléments de base

Objectif : Décrire les données et les actions qui composent un algorithme.

Algorithmes — éléments de base

Démarche de résolution de problème

Étape Livrable
1 — Analyse Spécifications
2 — Conception Algorithme
3 — Implémentation Code source
4 — Tests Programme fonctionnel

Cette démarche automatise la résolution d’un problème énoncé.

Algorithmes — éléments de base

Algorithme

  • Décrit la démarche de résolution.
  • Est composé de :
    • l’environnement : les données utilisées;
    • les actions : les opérations effectuées.
  • L’environnement contient des variables et des constantes.
  • Les actions sont représentées en pseudocode ou en ordinogramme.
Algorithmes — éléments de base

Variable

  • Une variable est caractérisée par :
    • un nom qui l’identifie;
    • un type qui détermine ses valeurs possibles;
    • une valeur qui peut changer et qui respecte son type.
  • Elle correspond à un bloc de mémoire vive.
  • Elle peut être initialisée avec une valeur de départ.

Exemple : aire, valeur 200, type entier, adresse mémoire 10AF.

L’adresse est gérée par le système d’exploitation et reste invisible au programmeur Java.

Algorithmes — éléments de base

Constante

  • Une constante possède un nom, un type et une valeur.
  • Sa valeur ne peut pas changer pendant la résolution du problème.
  • Elle est initialisée avec une valeur de départ qui ne pourra plus être modifiée.

Exemple : PI = 3.14.

Algorithmes — éléments de base

Variable ou constante

right

  • Le programmeur choisit son nom.
  • Le nom est formé de lettres, de chiffres ou de symboles, sans espace.
  • Il devrait exprimer le rôle de la donnée dans l’algorithme.
  • Une variable ou une constante est souvent comparée à une boîte qui ne contient qu’une chose à la fois.
  • Exemples : aire, rayon, moyenne, PI = 3.14, TAUX = 15.
Algorithmes — éléments de base

Types de données

Un type est une étendue de valeurs qui possèdent des propriétés similaires.

  • Numérique : données quantitatives.
  • Alphanumérique, texte ou chaîne de caractères : données textuelles ou alphanumériques.
  • Booléen : données binaires à deux valeurs.
  • Autres types : date, image, vidéo…
Algorithmes — éléments de base

Types de données numériques

  • Nombres entiers : 1, 2, 10, 10500
  • Nombres réels : 1.5, 10.75
  • La virgule décimale est représentée par un point.
  • Les nombres peuvent être utilisés dans des expressions arithmétiques : +, -, *, /.
  • Chaque type occupe un nombre déterminé de bits en mémoire.
  • En Java, un entier occupe 4 octets, soit 32 bits.
Algorithmes — éléments de base

Types de données non numériques

  • Caractères : 'a', 'b', 'A', '*', '&', '1'
  • Chaînes de caractères : 'école', 'Jean', 'Montréal'
  • Booléens : vrai/faux, oui/non ou 0/1.
  • Chaque type occupe un nombre déterminé de bits en mémoire.
  • En Java, un caractère occupe 2 octets et un booléen représente deux valeurs possibles.
Algorithmes — éléments de base

Expression arithmétique

  • Formule calculable composée d’opérateurs et d’opérandes.
  • Opérateurs : +, -, *, /.
  • Opérandes : variables, constantes ou valeurs.
  • Les opérandes et le résultat sont numériques.

Exemple : PI × rayon × rayon

  • Opérateur : multiplication.
  • Opérandes : PI et rayon.
  • Si PI = 3.14 et rayon = 10, le résultat est 314.
Algorithmes — éléments de base

Exemples de types

  • rayon : nombre réel utilisé dans le calcul d’une aire.
  • nombrePersonnes : nombre entier, puisqu’une personne ne peut pas être fractionnée.
  • adresse : texte utilisé dans des traitements comme l’extraction du numéro civique.
  • marié : booléen qui ne peut contenir que vrai ou faux.
Algorithmes — éléments de base

Pseudocode

  • Représente les actions dans un langage semi-formel.
  • Utilise un langage universel et conventionnel.
  • Est indépendant du langage de programmation.

Avantages :

  • proche du langage naturel;
  • compréhensible et facile à utiliser;
  • indépendant du matériel et du logiciel.
Algorithmes — éléments de base

Symboles du pseudocode

  • lire, afficher, : actions simples.
  • +, -, *, /, >, < : opérateurs.
  • nombre1, somme, total : noms de variables.
  • si, alors, sinon, tant que : actions composées.
  • début, fin : délimitent l’algorithme.
Algorithmes — éléments de base

Actions simples

  • Lecture d’une variable : lire(variable).
  • Affichage d’une valeur : afficher(variable).
  • Assignation d’une valeur : nomVariable ← valeur.
  • Une expression peut également être assignée.

Exemples :

rayon ← 4
montant ← (2 × nombre) / 100
Algorithmes — éléments de base

Exemple : aire d’un cercle

début
  lire(rayon)
  PI ← 3.14
  aire ← PI × rayon × rayon
  afficher(aire)
fin
Algorithmes — éléments de base

Ordinogramme

  • Schéma symbolique conventionnel.
  • Illustre les actions d’un algorithme et leur enchaînement.
  • Utilise des symboles simples :
    • flèche pour le sens de l’enchaînement;
    • boîte d’action pour une assignation;
    • boîte de lecture ou d’affichage;
    • boîte de décision pour choisir entre deux options;
    • boîte de début ou de fin;
    • connecteur pour les liaisons.
Algorithmes — éléments de base

Symboles des ordinogrammes

  • Flèche
  • Boîte d’action
  • Boîte de décision
  • Début et fin du programme
  • Boîte de lecture ou d’affichage
  • Connecteur
Algorithmes — éléments de base

Exemple : aire d’un cercle

right

  • Lire le rayon.
  • Initialiser PI à 3.14.
  • Calculer aire ← PI × rayon × rayon.
  • Afficher l’aire.
Algorithmes — éléments de base

Résumé

  • Une variable est une case mémoire décrite par un nom, un type et une valeur.
  • Un type détermine l’étendue des valeurs possibles.
  • Le pseudocode décrit les actions dans un langage semi-formel.
  • L’ordinogramme représente les actions sous forme de schéma.
Algorithmes — éléments de base