Informatique – Niveau 3 2017-2018 – Semestre 2 © Université Constantine 2
Page 1 à 4
Université Abdelhamid Mehri – Constantine 2 Cellule e-learning
2017-2018. Semestre 2
Informatique – Niveau 3
Informatique avancée
– Cours 9 –
Initiation à la programmation (1/4)
Introduction à l’algorithmique
Staff pédagogique
Nom Grade Faculté/Institut Adresse e-mail
Boumaza Amel MAA Sciences économiques [email protected] Guefrouchi Ryma MCB Sciences économiques [email protected] Necibi Khaled MCB Nouvelles technologies [email protected]
Etudiants concernés
Faculté/Institut Département Année Spécialité
Psychologie Psychologie Licence 2 Tronc commun
Sciences économiques Tous les départements Licence 2 Toutes les spécialités
Objectifs du cours 9
Connaître les bases de l’algorithmique
Assimiler les notions de variables, de types et de structures de données
Informatique – Niveau 3 2017-2018 – Semestre 2 © Université Constantine 2
Page 2 à 4
1. Introduction
Le mot algorithme vient du nom du célèbre mathématicien perse Muhammad Ibn Musa al-Khuwarizmi (9e siècle) (يمزراوخلا ىسوم نبا دمحم). En informatique, l’algorithme représente une méthode de résolution d’un problème pouvant être réalisée par une machine. C’est la phase qui précède l’écriture de tout programme.
2. Notion d’algorithme
2.1. Qu’est-ce qu’un algorithme ?
Un algorithme est une suite finie d’opérations élémentaires, à appliquer dans un ordre déterminé, sur des données. Sa réalisation permet de résoudre un problème donné. Trier un tableau, suivre un plan, calculer sa moyenne sont des exemples d’algorithme.
Remarques
Un algorithme doit être écrit dans un langage humain et commun connu par tous. Son intérêt, c’est de déterminer les étapes nécessaires pour résoudre un problème donné avant d’être codé dans un langage de programmation afin qu’un ordinateur puisse l’exécuter rapidement et efficacement.
Cependant, il faut bien comprendre qu’un algorithme est indépendant du langage de programmation utilisé.
Un algorithme doit toujours se terminer après un nombre fini d’opérations, et fournir un résultat.
2.2. Phases d’un algorithme
Les trois phases d’un algorithme sont, dans l’ordre : 1) L’entrée des données
2) Le traitement des données 3) La sortie des résultats
3. Structures de données
Pour qu'un algorithme puisse être décrit et s'effectue, les données d'entrées et de sorties doivent être organisées.
Les structures de données sont un moyen de stocker et d'organiser des données pour faciliter leur stockage, leur utilisation et leur modification. Une structure de données implémente concrètement un type (abstrait) de données, elle est sous forme de variables (nombre, chaîne de caractère…) ou ensemble de variables (tableaux, liste…).
3.1.
VariablesLors de l’exécution d’un algorithme, on va avoir besoin de stocker des données, voire des résultats. Pour cela, on utilise des variables. A chaque variable, on attribue un type (prédéfini), un nom et une valeur.
Remarques
Une variable est un espace de stockage sur mémoire, repérée par un nom, qui va contenir une donnée. Pour utiliser le contenu de cette variable dans une expression, il suffit de l’appeler par son nom.
Dans l’écriture d’un algorithme, on prendra l’habitude de préciser dès le départ le nom des variables utilisées en indiquant leur type (nombre, chaîne de caractère, tableau, ...). Cette étape est appelée déclaration des variables.
Toute variable doit être déclarée et recevoir une valeur initiale.
Informatique – Niveau 3 2017-2018 – Semestre 2 © Université Constantine 2
Page 3 à 4
3.2. Instructions sur les variables
Les instructions de base sur des variables sont les suivantes :
La lecture : on demande à l’utilisateur de l’algorithme de donner une valeur à la variable par saisie;
L’affectation : le concepteur de l’algorithme donne une valeur à la variable. Cette valeur peut-être le résultat d’un calcul ;
L’écriture : on affiche la valeur de la variable sur une unité de sortie, un écran par exemple.
3.3.
Types de base3.3.1. Booléens
Une variable de type « booléen » prend comme valeur VRAI ou FAUX. Les opérations usuelles sont ET, OU et NON qui sont données dans les tables qui suivent :
ET FAUX VRAI FAUX FAUX FAUX
VRAI FAUX VRAI
OU FAUX VRAI FAUX FAUX VRAI VRAI VRAI VRAI
NON
FAUX VRAI VRAI FAUX
3.3.2. Entiers
Une variable de type « entier » peut prendre comme valeur l'ensemble des nombres entiers signés. Les opérations associées sont les opérations usuelles :
+ (addition), - (soustraction),
* (multiplication), / (division).
3.3.3. Rééls
Une variable de type « réel » peut prendre comme valeur l'ensemble des nombres réels. Les opérations associées sont les 4 opérations usuelles : l’addition, la soustraction, la multiplication, et la division.
3.3.4. Caractères ou chaîne de caractères
Une variable de type « caractère » peut prendre comme valeur l'ensemble des caractères imprimables. On notera les valeurs entre guillemets dans une expression.
Remarques
Les valeurs : "1" qui est un caractère, 1 qui est un entier, 1.0 qui est un réel sont différentes et ne seront pas codés de la même manière dans la mémoire de la machine.
Les opérateurs < (strictement inférieur), <= (inférieur ou égal), = (égal), ! = (différent), >
(strictement supérieur), ≥ (supérieur ou égal) permettent de comparer les valeurs de type entier, réel et caractère. Le résultat de cette comparaison est une valeur booléenne.
Informatique – Niveau 3 2017-2018 – Semestre 2 © Université Constantine 2
Page 4 à 4 Exemple :
Algo 1 est un exemple d’algorithme calculant le périmètre d’un cercle (p) ayant un rayon donné (r) :A
Algorithme : Algo 1 Variables:
p, r : nombres réels ; Début
Lire(r) ;
p ← 2 * 3.14 * r ; Ecrire(p) ;
Fin
Remarques
Dans l’algorithme 1, l’utilisateur saisit le contenu de la variable r, alors que le contenu de la variable 𝑝 est affecté au cours du traitement. L’affichage sur écran se fait grâce à l’instruction de l’écrirture.
On suivra toujours la structure de l’algorithme Algo 1 lors de l’écriture d’algorithmes.
Références du cours
Les étudiants peuvent consulter ces références pour approfondir leurs connaissances dans ce cours :
DELEST, M. (2007). Initiation à l'algorithmique.
Froidevaux, C., GAUDEL, M., & SORIA, M. (1990). Types de données et algorithmes.
ROSSIGNOL, C. (2015, Septembre). Bases d’algorithmique.
Sites Web
http://pise.info/algo/codage.htm