Vous êtes sur la page 1sur 21

Université Cheikh Anta Diop de DAKAR

Faculté des Sciences et technique


Département Mathématiques et Informatique

Initiation à l’algorithmique et la
programmation en Langage C
Dr. THIONGANE
mamadou.thiongane@ucad.edu.sn
L1BCGS
2020-2021

FST DMI L1BCGS 2020-2021


Ce cours est une initiation à l’algorithmique et
à la programmation avec le langage C

Objectif:

A Apprendre à développer des algorithmes pour résoudre


un problème donné.

A  Apprendre à programmer les algorithmes avec le


Langage C.

FST DMI L1BCGS 2020-2021


.
Informations
A  les Supports de cours, les fiches TP sont disponibles sur:
https://fad.fst.ucad.sn/

A  Logiciel à installer pour programmer en C:


A  CodeBlocks (Windows, Mac, Unix)
A  Mobile C (Téléphone Android ou Tablette Android)
A  Compilateur en ligne disponible sur https://fad.fst.ucad.sn/
A  Des tutoriels ou bien des liens pour la prise en main des
logiciels seront bientôt disponibles sur https://fad.fst.ucad.sn/.

A  Des solutions aux exercices (fichier pdf, vidéo commentés)


seront probablement proposées sur https://fad.fst.ucad.sn/

A Un Forum de discussion est déjà ouvert:


https://fad.fst.ucad.sn/
FST DMI L1BCGS 2020-2021
Plan du cours
— Introduction à l'algorithmique et à la
programmation
— Concepts de base de l'algorithmique
— Concepts de base du langage C
— Structures de contrôle
— Les types de données composés
— Sous programmes
— La récursivité
FST DMI L1BCGS 2020-2021
Chapitre 1 : Introduction à l’algorithmique et à
la programmation

FST DMI L1BCGS 2020-2021


Généralités sur le traitement de l’information
—  Les ordinateurs sont utilisés pour
—  le traitement d’informations;
—  le stockage d’informations.
—  Le schéma global d’une application informatique est toujours le même :
La notion d’algorithme
—  Pour résoudre un problème de manière informatique il y a un
cheminement méthodique à respecter :
La notion d’algorithme
—  Définition (Notion d’algorithme)
§  description formelle d’un procédé de traitement qui permet, à partir d’un
ensemble d’informations initiales, d’obtenir des informations déduites ;
§  succession finie et non ambigüe d’opérations;
§  se termine toujours (Note : semi-algorithme).

—  Définition (Notion de Programme)


§  suite d’instructions définies dans un langage donné;
§  décrit un algorithme.
Historique
—  L’algorithmique est une science très ancienne.
—  Son nom vient d’un mathématicien arabe du IXième siècle EL
KHAWRISMI.
—  Des mathématiciens grecs comme Euclide ou Archimède en
ont été les précurseurs (calcul du PGCD de 2 nombres, calcul
du nombre π).
—  Quoique intuitive, la notion d'algorithme est difficile à préciser
formellement.
—  Diverses définitions sont possibles
Définitions
—  Un algorithme est la description des étapes à suivre pour
résoudre un problème en un nombre fini d’étapes.

—  « Ensemble de règles opératoires dont l'application permet de


résoudre un problème donné au moyen d'un nombre fini
d'opérations ».

—  L’algorithmique est la science qui consiste à trouver des


méthodes formelles et certifiées pour résoudre de manière
automatique et le plus efficacement possible des problèmes
donnés.

—  Un algorithme est une procédure de calcul bien définie qui prend


en entrée une valeur, ou un ensemble de valeurs, et qui donne en
sortie une valeur, ou un ensemble de valeurs.
Propriétés d’un algorithme
—  Un nombre fini d’étapes
—  Un nombre fini d’opérations par étape
—  Chaque opération est
—  non ambiguë
—  Effective
—  Fournit un résultat
—  Un algorithme doit être indépendant du langage de
programmation utilisé.
—  Un langage de programmation n’étant qu’une façon d’exprimer
un algorithme pour être compris et exécuté par l’ordinateur .

11
La notion de programme
—  Tout traitement demandé à la machine, par l’utilisateur, est effectué par
l’exécution séquencée d’opérations appelées instructions.
—  Une suite d’instructions est appelée un programme.
—  Retenir
—  Un programme est une suite d’instructions permettant à un système
informatique d’exécuter une tâche donnée
—  écrit dans un langage de programmation compréhensible(directement ou indirectement)
par un ordinateur.
Qu’est-ce que la programmation ?
—  Retenir
—  Écriture d’un programme dans un langage de programmation donnée.
—  Langage de programmation : ensemble de règle de vocabulaire et de
grammaire compréhensible par un ordinateur.
Étapes de la construction d’un programme

14
Langage de programmation (1/2)
—  Pour être compris et exécuté par un ordinateur, un algorithme doit
être traduit dans un langage spécifique, qu’on appelle langage de
programmation.
—  On obtient ainsi ce qu’on appelle un programme informatique qui
contient l’ensemble des actions consécutives que l’ordinateur doit
exécuter.
—  Ces actions sont appelées instructions.
—  Le langage utilisé par le processeur de l’ordinateur est appelé
langage machine.
—  C’est le seul langage que l’ordinateur connaît.
—  Un programme en langage machine est uniquement constitué d’une
suite de 0 et de 1 (du binaire).

FST DMI L1BCGS 2020-2021


Langage de programmation(2/2)
—  Il est plus pratique de réaliser un programme dans un
langage plus compréhensible par l'homme et de le traduire
ensuite en langage machine.

—  Selon la méthode de traduction, on distingue:


—  les langages compilés et
—  les langages interprétés.

FST DMI L1BCGS 2020-2021


Langage compilé

—  Dans le cas d’un langage compilé (exemples: C, C++,


Pascal...), le programme réalisé, appelé programme source,
est traduit complètement par ce qu’on appelle un compilateur
avant de pouvoir être exécuté.
—  La compilation génère un programme dit exécutable.
—  Ce programme généré est autonome, c’est-à-dire qu’il n’a pas
besoin d'un autre programme pour s’exécuter.
—  Mais à chaque modification du fichier source (le programme
source) il faudra le recompiler pour que les modifications
prennent effet.

FST DMI L1BCGS 2020-2021


Langage compilé

FST DMI L1BCGS 2020-2021


Langage interprété.

—  Au contraire, un programme écrit dans un langage interprété


(exemples: Perl, Lisp, Prolog...) a besoin, pour chaque
exécution, d'un programme annexe appelé interpréteur qui
va lire le code source pour traduire et faire exécuter une à
une, chacune des instructions.

—  Dans ce cas, il n’y a pas de génération de programme


exécutable.

FST DMI L1BCGS 2020-2021


Compilation et interprétation

FST DMI L1BCGS 2020-2021


FIN

FST DMI L1BCGS 2020-2021

Vous aimerez peut-être aussi