Cours de Programmation Procédurale
Cours de Programmation Procédurale
Cours de Programmation Procédurale
Prof: I.CHAHID
Plan du Cours:
- Introduction
- Histoire sur la programmation et les langages de programmation
- Initiation à la programmation en langage C
- Variables et Constantes
- Affichage et Lecture sur la console
- Structures alternatives
- Structures Itératives (Boucles)
- Tableaux
- Procédures et Fonctions
Introduction
Introduction
Exemples de Processeurs
Introduction
Un processeur, également connu sous le nom d'unité centrale de traitement (CPU), est
un composant fondamental d'un système informatique chargé d'exécuter des
instructions et d'effectuer des opérations arithmétiques, logiques, de contrôle et
d'entrée/sortie spécifiées par des programmes informatiques.
Code binaire
En code binaire :
Code binaire
ASCII
Code binaire
ASCII - Binary Character Table
1. Début
2. Saisir le poids en kilogrammes (kg) et la taille en mètres (m)
3. Calculer l'IMC en utilisant la formule : IMC = poids / (taille *
taille)
4. Afficher la valeur de l'IMC calculée
5. Interpréter la valeur de l'IMC en fonction des catégories
suivantes :
- IMC < 18.5 : Insuffisance pondérale
- 18.5 <= IMC < 25 : Poids normal
- 25 <= IMC < 30 : Surpoids
- IMC >= 30 : Obésité
6. Fin
Histoire sur la programmation et les langages de
programmation
Histoire sur la programmation et les langages de programmation
Langages de bas niveau : ces langages sont plus proches du langage machine et
sont utilisés pour écrire des systèmes d'exploitation, des pilotes de
périphériques et des micrologiciels. Les exemples incluent le langage
d'assemblage, C et C++.
Histoire sur la programmation et les langages de programmation
Langages de haut niveau : ces langages sont plus faciles à apprendre et à utiliser
que les langages de bas niveau. Ils sont utilisés pour écrire des applications, des
jeux et des sites Web. Les exemples incluent Java, Python et Ruby.
Langages de script : ces langages sont utilisés pour automatiser des tâches
répétitives, telles que le développement Web et l'administration système. Les
exemples incluent Perl, Python et Ruby.
Histoire sur la programmation et les langages de programmation
Un peu d’histoire
Histoire sur la programmation et les langages de programmation
Elle a défini en 1840 le principe des itérations successives dans l'exécution d'une opération.
Le XXe siècle
Aujourd'hui, Alan Turing est célèbre pour son travail sur le craquage de la
machine à coder Enigma en Allemagne nazie en 1939. Mais en 1936, Turing a
publié un article considéré comme l'article fondateur de l'informatique. Turing
a proposé le concept d'une machine universelle. Une machine qui pourrait
suivre les instructions. Il a finalement transformé cette idée révolutionnaire en
un plan pour un ordinateur alimenté par l'électricité qui pourrait exécuter des
programmes.
Histoire sur la programmation et les langages de programmation
1987 Perl
Initiation à la programmation en langage C
Historique
Le langage C est un langage de bas niveau dans le sens où il permet l’accès à des données
que manipulent les ordinateurs (bits, octets, adresses). Le langage C a été conçu pour
l’écriture de systèmes d’exploitation et de logiciels de base. Il permet également de
développer des applications variées de type scientifique ou encore pour l’accès aux bases de
données. De nombreux logiciels du domaine des ordinateurs personnels, tels que Microsoft
Word ou Excel, sont eux aussi écrits à partir du langage C ou de son successeur orienté objet
le C++. Bien que pouvant être considéré de bas niveau, le langage C supporte les structures
de base nécessaires à la conception d'applications structurées.
La compilation
En langage C, un certain nombre de fonctions sont regroupées dans des bibliothèques. Cela
évite au programme d’avoir à réécrire des fonctions déjà connues et communément
utilisées.
Ces bibliothèques peuvent des bibliothèques standard utilisées par les programmeurs :
− stdio : fonctions permettant des entrées (entrée d’un nombre dans un terminal par scanf,
l’entrée dans un fichier par fopen…) ou bien des sorties (affichage de résultats par printf…) ;
− math : fonctions mathématiques ;
− string : fonctions de manipulation de chaîne de caractères ;
− time : fonctions de manipulation de la date et de l’heure ;
−…
Importation des bibliothèques
Un programmeur peut également créer ses propres bibliothèques de fonctions qui seront
réutilisées pour d’autres programmes. Une bibliothèque est composée de deux fichiers :
− Le fichier d’entête ou header (fichier.h) qui contient la déclaration des fonctions, c’est-à-
dire les paramètres que les différentes fonctions utilisent, le type de variables qu’elles
renvoient.
− Le fichier contenant le corps des fonctions en langage C (fichier.c)
Avant d'utiliser une fonction, il est nécessaire d'inclure le fichier en-tête en début de
programme. Exemple:
Commentaires
Les commentaires sont ignorés par le compilateur. Ils sont indispensables pour expliquer des
portions
de code. Ils doivent commencer par /* et se terminer par */. Tout ce qui est compris entre
ces symboles
est du commentaire, saut de ligne compris.
Exemple:
Corps du programme
La fonction main est la fonction principale, aussi appelée point d'entrée du programme. Les
accolades { et } entourent les instructions constituant le corps de la fonction main.
Chaque ligne ou instruction se termine par un point-virgule.
La fonction main peut faire appels à des fonctions. Pour les exécuter il faut utiliser leur nom
en indiquant les noms et les types de paramètres transmis.
VARIABLES ET CONSTANTES
Constantes
Une constante est une valeur portant un nom. En langage C les constantes en C sont non
typées, on les définit dans l'entête de la source, juste en dessous des #include.
Exemple
Une variable est un emplacement de la mémoire dans lequel est stockée une valeur. Les
variables sont définies par un type et un identificateur. L'identificateur (nom) permet
d'identifier l'emplacement de la mémoire représenté par cette variable. Le type détermine la
taille de la variable et donc la taille de l’emplacement mémoire réservé par la machine. Il
permet également de déterminer les opérations pouvant être effectuées sur la variable.
Exemple
Cette déclaration définit deux variables a et b de type entier et une variable i de type
caractère
Variables
Exemple
Exemple
Le langage C est un langage typé. Toute variable, est d’un type précis. Le type d’une variable
définit la façon dont elle est stockée en mémoire.
Entiers
Par défaut, les entiers permettent de stocker des valeurs de signe quelconque. Si on préfixe
un type entier par unsigned, on le restreint à des valeurs uniquement positives.
Entiers
Réels ou flottants
Les flottants servent à représenter les réels. Ils utilisent la représentation à virgule flottante.
Caractères
Une variable de type char sert à représenter le code ASCII d'un caractère, il est donc codé sur
1 octet. Il est possible d'affecter à une telle variable toute valeur du code ASCII entourée de
simples quotes.
Exemple1 Exemple2
Syntaxe
printf(format,param_1,param_2, ...,param_n);
Exemple
Le paramètre format est une chaîne de caractères entre guillemets qui contient les
caractères à afficher tels quels et des codes de format qui indiquent le type de l'information
à afficher. Ces codes commencent par un %.
Les paramètres param_1 à param_n entre virgules sont les informations qui seront affichées
à la place des codes de formats
Lecture
Syntaxe
Exemple
Cette fonction retourne le nombre de données correctement lues. Les & représentent les
adresses des variables auxquelles il faut affecter les données lue au clavier.
Exercice 1
- Un nombre entier
- Un nombre réel
- Afficher les nombres entrés par l’utilisateur
Solution
STRUCTURES ALTERNATIVES
On appelle structure alternative (ou traitement conditionnel) une portion de code qui n'est
pas exécutée systématiquement, c'est à dire des instructions dont l'exécution est
conditionnée par le succès d'un test.
Principe
if (<condition>)
{
<instructions1> ;
}
else
{
<instructions2> ;
}
Principe
Les instructions 1 sont exécutées si le test est vérifié, et les instructions 2 sont exécutées si le
test n'est pas vérifié.
Il est possible de n'avoir pas d'instructions à exécuter si le test n'est pas vérifié. Dans ce le
traitement conditionnel se rédige de la sorte :
if (<condition>)
{
<instructions> ;
}
Comparaisons
La condition a == b est vérifiée si et seulement si a et b ont la même valeur au moment où le test est évalué.
Connecteurs logiques
Il est possible de formuler des conditions plus élaborées en utilisant des connecteurs ET (&&)
et OU (||).
- Faire la soustraction de ces deux nombres et affecter le résultat à une variable nommée « result »
- Afficher la valeur de la variable « result ».
- Si le résultat obtenu est >0, afficher le message « le résultat est strictement positif »
- Si le résultat obtenu est <0, afficher le message « le résultat est strictement négatif »
- Si le résultat obtenu est =0, afficher le message « le résultat est nul »
Solution
STRUCTURES ITERATIVES (BOUCLES)
Les boucles
Une boucle permet d'exécuter plusieurs fois de suite une même séquence d'instructions. Cet
ensemble d'instructions s'appelle le corps de la boucle. Chaque exécution du corps d'une
boucle s'appelle une itération, ou un passage dans la boucle. Lorsque l'on s'apprête à
exécuter la première itération, on dit que l'on rentre dans la boucle, lorsque la dernière
itération est terminée, on dit qu'on sort de la boucle.
Boucle « Répéter…tant que» (while)
while (<condition>)
{
<instructions> ;
}
Les instructions du corps de la boucle sont délimitées par des accolades. La condition est
évaluée avant chaque passage dans la boucle. A chaque fois qu'elle est vérifiée, on exécute
les instructions de la boucle. Une fois que la condition n'est plus vérifiée, l'exécution se
poursuit après l'accolade fermante.
En langage C, la boucle « Répéter... jusqu'à » est en fait une boucle « Répéter ... tant que »,
dans laquelle la condition est évaluée à la fin (la condition est évaluée après chaque passage
dans la boucle).
do
{
<instructions> ;
}
while (<condition>)
do
{
p1.x = p1.x + 100;
p2.x = p2.x + 100;
draw_line(p1, p2, blanc);
}
while (p1.x <700)
Boucle «Répéter pour…de…à » (for)
i =1 ;
<initialisation> ;
while ( i !=7)
while(<condition>)
{
{
p1.x = p1.x + 100;
<instructions> ;
p2.x = p2.x + 100;
<pas> ;
draw_line(p1, p2, blanc);
}
i++ ;
}
Exercice 4
En utilisant la boucle « for », écrire un programme qui affiche 100 fois le message "Hello world !"
Solution
Ecrire un programme en utilisant la boucle « for » qui affiche 100 fois le message "Hello world !"
Exercice 5
Ecrire un programme en utilisant la boucle « do while » qui affiche 100 fois le message "Hello world !"
Solution
Exercice 6
Ecrire un programme en utilisant la boucle « while » qui affiche 100 fois le message "Hello world !"
Solution
LES TABLEAUX
Définition
Un tableau est un regroupement de variables de même type, il est identifié par un nom.
Chacune des variables du tableau est numérotée, ce numéro s'appelle un indice. Chaque
variable du tableau est donc caractérisée par le nom du tableau et son indice.
Si par exemple, T est un tableau de 10 variables. Les différentes variables de T porteront des
numéros de 0 à 9. Chacune de ces variables est un élément de T.
Déclaration
Il est nécessaire de déclarer le type des éléments d’un tableau. Les variables d'un tableau
doivent être de même type. On précise lors de la déclaration du tableau le nombre de
variable qu'il contient. La syntaxe est :
Initialisation
Il est possible d'initialiser les éléments d'un tableau lors la déclaration. Il faut écrire entre
accolades tous
les éléments du tableau, on les dispose par ordre d'indice croissant en les séparant par des
virgules.
Accès aux éléments
Les éléments d'un tableau de taille n sont indicés de 0 a n-1. On note T[i] l'élément d'indice i.
Exercice 7
Une procédure est un ensemble d'instructions portant un nom. Une procédure est définie
ainsi :
Procédures:
Une procédure est un bloc d'instructions. Elle est sujette aux mêmes règles que le main. Il
donc possible de déclarer des variables au sein de la procédure. Ces variables sont des
variables locales qui ne sont accessibles que dans le corps de la procédure. Cela signifie
qu'elles sont crées au moment de leur déclaration et qu'elles sont détruites une fois la
dernière instruction de la procédure exécutée. Dans l’exemple précédent, p1, p2, p3 et p4
sont des variables locales.
Passages de paramètres:
Il est possible que la valeur d'une variable d'une procédure ne soit connue qu'au moment
de l'appel de la procédure. On parle de passage de paramètres.
Passages de paramètres:
Il est possible que la valeur d'une variable d'une procédure ne soit connue qu'au moment de
l'appel de la procédure. On parle de passage de paramètres.
Fonctions:
Syntaxe
Fonctions: