Université Abdelmalek Essaâdi
Faculté des Sciences et Techniques de Tanger
Département : Génie Informatique
Filière: MIPC
Semestre 1
Algorithmique et Programmation 1: Cours 4
Généralités: Les langages de programmation: Généralité.
Prof. Badr-Eddine BOUDRIKI SEMLALI
Email:
[email protected] 2025/2026
Plan de cours
Cours 1 - Généralités et composants d'un ordinateur.
Cours 2 - Généralités et survol sur les systèmes de numération informatique.
Cours 3 - Algorithme informatique.
Cours 4 - Les langages de programmation.
Cours 5 - Langages C informatique.
Cours 6 - La sélection en algorithme et en langages C.
Cours 7 - Les boucles en algorithme et en langages C.
Cours 8 - Les tableaux en algorithme et en langages C.
Algorithmique et Programmation 1 2
Algorithme vs Langage de Programmation
▪ Un programme est la traduction d’un algorithme dans un langage de programmation.
▪ En principe un algorithme est indépendant de toute implantation.
Problème Programmation
(Langage C)
Code source
Analyse de
Problème +
conception Compilation et
exécution
Algorithme Résultats
Algorithme Programmation
Algorithmique et Programmation 1 3
Algorithme vs Langage de Programmation
Programmation informatique :
▪ En informatique, un programme est la traduction d’un algorithme dans un langage de programmation.
▪ Un programme informatique est un ensemble d'opérations destinées à être exécutées par un ordinateur.
▪ C'est une étape importante du développement de logiciels.
Algorithme Programme
Algorithmique et Programmation 1 4
Algorithme vs Langage de Programmation
Distinction algorithme/programme :
▪ Un algorithme ne peut pas être exécuté par un ordinateur.
▪ Un programme exprime un algorithme dans un langage de programmation particulier, ce programme
peut être exécuté par un ordinateur.
Algorithme Programme
Algorithmique et Programmation 1 5
Algorithme vs Langage de Programmation
Types de programmes :
programme source : code écrit par un informaticien dans un langage de programmation.
Programme binaire (ou byte code): décrit les instructions à exécuter par le processeur forme numérique (langage
machine).
Programme exécutable : fichier contenant tout pour fonctionner de façon autonome.
Algorithmique et Programmation 1 6
Algorithme vs Langage de Programmation
Types de programmes :
Programme source Programme binaire
(en langage machine)
Compilation :
▪ c’est la transformation du programme en langage machine.
▪ cette phase est réalisée par l’ordinateur lui-même grâce à un autre programme appelé le compilateur.
Algorithmique et Programmation 1 7
Langage de programmation
Niveaux des langages de programmation (2 nivaux):
1. langage de haut niveau : langage assez éloigné du binaire, facilement compris par l’utilisateur, plus proche
de l’homme (plus lent à l’exécution).
2. langage de bas niveau : plus proche du fonctionnement de la machine (plus rapide à l’exécution), mais
éloigné du langage naturel.
Algorithmique et Programmation 1 8
Langage de programmation
Langage compilé Vs. Langage interprété :
Deux familles de langages de programmation :
Langage de
programmation
Langages Langages
interprétés compilés
Algorithmique et Programmation 1 9
Langage de programmation
Langage interprété Vs. Langage compilé :
▪ Langage compilé : Le compilateur traduit une fois pour toutes le programme source.
La compilation est totale et le programme résultat s'appelle programme exécutable
autonome (il n'aura plus besoin d'un autre programme pour s'exécuter).
Algorithmique et Programmation 1 10
Langage de programmation
Langage interprété Vs. Langage compilé :
▪ Langage interprété : L'interpréteur traduit le programme source instruction par
instruction au moment de son exécution. L'interpréteur ne fournit pas de programme exécutable.
▪ Interpréteur : programme chargé du décodage des instructions.
Algorithmique et Programmation 1 11
Langage de programmation
Langage interprété Vs. Langage compilé :
▪ Langage compilé :
▪ Langage interprété :
Algorithmique et Programmation 1 12
Langage de programmation
Langage interprété Vs. Langage compilé :
❑Remarque : langages intermédiaires :
➢ Certains langages appartiennent aux deux catégories.
➢ Le programme écrit avec ces langages peut parfois subir une compilation intermédiaire vers
un fichier non exécutable (qui nécessite un interpréteur).
➢ Ces langages sont appelés langages intermédiaires (ou semi compilés).
Algorithmique et Programmation 1 13
Langage de programmation
Langage interprété Vs. Langage compilé : Résumé
Algorithmique et Programmation 1 14
Langage de programmation
Exemples de langages couramment utilisés :
Langage Domaine d'application principal Compilé/interprété
ADA Le temps réel Langage compilé
BASIC Programmation basique à but éducatif Langage interprété
C Programmation système Langage compilé
C++ Programmation système objet Langage compilé
Cobol Gestion Langage compilé
Fortran Calcul Langage compilé
Java Programmation orientée internet Langage intermédiaire
MATLAB Calcul mathématique Langage interprété
Mathematica Calcul mathématique Langage interprété
LISP Intelligence artificielle Langage intermédiaire
Pascal Enseignement Langage compilé
PHP Développement de sites web Langage interprété
Prolog Intelligence artificielle Langage interprété
Perl Traitement de chaînes de caractères Langage interprété
Algorithmique et Programmation 1 15
Langage de programmation
Types de programmation :
❑ Deux grandes approches de programmation :
Types de
programmation
Orientée
Procédurale Objet
Algorithmique et Programmation 1 16
Langage de programmation
Il existe deux grandes approches de programmation :
1. Programmation procédurale (structurée) :
▪ se fonde sur le concept de procédure (fonction).
▪ une procédure contient une série d’instructions à réaliser.
▪ N'importe quelle procédure peut être appelée à n'importe quelle étape de l'exécution.
2. Programmation orientée objet (POO) :
▪ Tout tourne autour des "objets" qui sont des petits
ensembles de données représentants leurs propriétés.
▪ Objets = ensembles groupés de variables et de méthodes associées à des entités.
Algorithmique et Programmation 1 17
Langage de programmation
Programmation procédurale Vs. Programmation OO:
Exemples : Pascal, C, Perl, Fortran, ….. Exemples : C++, Java, PHP5, …..
Algorithmique et Programmation 1 18
Langage C: Introduction
Origine :
Inventé par Dennis Ritchie et Ken Thompson
dans «Bell Laboratories » (aux états-unis).
▪ En 1983, l’organisme ANSI (American National Standards Institute) chargeait une commission
de mettre au point une définition explicite et portable pour le langage C. Le résultat est le standard
ANSI-C.
▪ Le langage C est un langage évolué et structuré, assez proche du langage machine.
▪ Inventé au début des années 1972 pour réécrire UNIX. De nombreux langages comme C++, C#,
Java et PHP ou Javascript ont repris une syntaxe similaire au C et reprennent en partie sa logique.
▪ C offre au développeur une marge de contrôle importante sur la machine (notamment sur la
gestion de la mémoire) …
▪ Le C est devenu un des langages les plus utilisés, encore de nos jours.
Algorithmique et Programmation 1 19
Langage C: Caractéristiques
▪ Universel : n'est pas orienté vers un domaine d'application particulier (applications
scientifiques, de gestion, …).
▪ Près de la machine : offre des opérateurs qui sont proches de ceux du langage machine =>
Efficace.
▪ Modulaire : peut être découpé en modules qui peuvent être compilés séparément.
▪ Portable: il est possible d'utiliser le même programme sur plusieurs systèmes (hardware,
système d'exploitation ).
▪ Utilisé dans la programmation système et la robotique : il est à la base des plus grands
systèmes d'exploitation (Unix, Linux, Mac OS).
Algorithmique et Programmation 1 20
Langage C: Outils nécessaires pour programmer en C
Outils nécessaires pour programmer en C :
▪ Un éditeur de texte pour écrire le code source du programme. N’importe quell éditeur de
texte suffit, mais le mieux est d’en avoir un qui colore le code source, ce qui permet une
relecture plus agréable.
▪ un compilateur pour transformer (compiler) le code source en binaire (transformer le
code que l’on écrit en un fichier exécutable compréhensible par le processeur).
▪ un débogueur pour traquer les erreurs. il n’est pas obligatoire, mais il est très utile
pour rechercher les bugs et vérifier le comportement de son programme.
Integrated Developement Environement(IDE):
▪ Il existe deux méthodes de récupérer tous ces logiciels : soit on les prend séparément, et
dans ce cas il faut compiler par soi-même, soit on utilise un logiciel qui réunit les trois : un
IDE (« Environnement de Développement Intégré » en français).
Algorithmique et Programmation 1 21
Langage C: Outils nécessaires pour programmer en C
Outils nécessaires pour programmer en C :
Exemples IDE:
1. Code::Blocks : est un IDE libre et gratuit, disponible pour Windows, Mac et
Linux. Il n'est disponible pour le moment qu'en anglais (Cela ne devrait pas vous
décourager de l'utiliser. En fait, nous utiliserons très peu les menus).
2. Visual C++ : est un IDE édité par Microsoft et très efficace, car adapté pour
Windows. Il possède aussi un débogueur puissant. Bien qu’il ne soit pas libre,
Visual C++ est gratuit (dans sa version Visual C++ Express) et disponible en de
nombreuses langues, dont le français.
Algorithmique et Programmation 1 22
Langage C: Outils nécessaires pour programmer en C
informe le compilateur d’inclure le
fichier stdio.h qui contient les
fonctions d’E/S (printf, scanf)
et des variables globales
La fonction main est la fonction principale
(instructions) toute
instruction simple est
terminée par un point-virgule ;
▪ Une ou plusieurs fonctions dont l’une s’appelle obligatoirement main(), celle-ci constitue
le programme principal. Chaque fonction contient la déclaration de toutes les variables ainsi
que les instructions;
▪ Des commentaires débutent par /* et finissent par */, ils peuvent s’étendre sur
plusieurs lignes.
Algorithmique et Programmation 1 23
Langage C: Structure d’un programme en C
Directives de pré-compilation :
Elles commencent toutes par un #. Parmi ces directives, une seule est obligatoire pour le bon
fonctionnement d’un programme en langage C: #include <stdio.h> : En effet, sans elle, on
ne peut pas utiliser les fonctions utiles pour l’affichage à l’écran et la lecture des données au
clavier. #include <math.h> :permet d’utiliser les fonctions mathématiques de base (sqrt, cos).
#include <stdlib.h> : permet d’utiliser des fonctions générales.
#include<string.h> : permet de manipuler des chaînes de caractères.
Fonction main()
▪ Elle commence par une accolade ouvrante { et se termine par une accolade fermante }. A
l’intérieur, chaque instruction se termine par un point-virgule. Toute variable doit être déclarée.
Algorithmique et Programmation 1 24