0% ont trouvé ce document utile (0 vote)
25 vues45 pages

Algorithme Programmation PASCAL C Part1

Transféré par

dafex84535
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
25 vues45 pages

Algorithme Programmation PASCAL C Part1

Transféré par

dafex84535
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Algorithme et Programmation

en PASCAL et/ou en C

Dr FOTSING TALLA Bernard


Chargé de Cours – IUTFV de Bandjoun – UDS
[Link]@[Link]

PARTIE 1 : Algorithme et Programmation

V1 – Mai 2016
V2 – Mai 2017
Objectifs du cours

Fixer les bases de la programmation informatique : compréhension des


notions d’algorithmique et d’algorithmes.
Parcours des aspects classiques de la programmation (variables,
itérations, tableaux, fonctions, pointeurs, etc.).
Mettre l’accent sur les aspects importants et essentiels du langage C
nécessaires à tout ingénieur électronicien pour concevoir le logiciel de
base d'un système embarqué.
Le langage C est un outil de choix pour le développement embarqué,
tant pour des applications s'appuyant sur des SE complets (Linux) que
pour les programmes embarqués dans des microcontrôleurs.
L’étudiant devra maîtriser les appels d'E/S de base et formatés en
langage C utiles pour les systèmes embarqués.
Il devra également comprendre comment on développe une application
embarquée en langage C à travers des TDs/TPs.
Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 2
Contenu du cours

Le contenu de cette première partie se résume aux points suivants :


Concepts fondamentaux
• Ordinateur et programmes
• Données et résultats d’un programme
• Notions d’algorithmes et d’algorithmique
Les concepts de l’algorithme
• variables, constantes et types
• Instructions élémentaires : affichage, saisie, affectation
• Les structures conditionnelles et les itérations.
• Les procédures et fonctions
• Les tableaux et les enregistrements

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 3


1. Concepts fondamentaux

1.1 Objectifs
1.2 Ordinateur et programmes
1.3 Comment parler à un ordinateur
1.4 Notions d’algorithme et d’algorithmique
1. Concepts fondamentaux

1.1 Objectifs
1.2 Ordinateur et programmes
1.3 Comment parler à un ordinateur
1.4 Notions d’algorithme et d’algorithmique
1.1 Objectifs
Le but, du cours d’algorithmique est d’apprendre à résoudre les
problèmes comme une machine ;
d’obtenir de la machine qu’elle effectue un travail à notre place.
On doit pouvoir expliquer à la machine comment elle doit s’y
prendre.
Mais alors, comment le lui dire ? Comment le lui apprendre ?
Comment s’assurer que la machine fait ce travail aussi bien que
nous ? Sinon mieux que nous ?
Voilà autant de questions auxquelles nous devons répondre dans le
cadre de ce cours.
Pour cela, il faudra savoir expliciter et formaliser son raisonnement.
Concevoir et écrire des algorithmes : séquences d’instructions qui
décrit comment résoudre un problème particulier.

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 6


1. Concepts fondamentaux

1.1 Objectifs
1.2 Ordinateur et programmes
1.3 Comment parler à un ordinateur
1.4 Notions d’algorithme et d’algorithmique
1.2 Ordinateur et programmes

Un ordinateur est une machine électronique programmable servant


au traitement de l’information codée en binaire (suite de 1 et 0).
Un ordinateur est une machine totalement dénuée d'intelligence. Il
n'est capable de traiter qu’un nombre limité d'instructions.
Pourtant, contrairement aux autres machines, l'ordinateur est
capable d’effectuer une infinité de tâches concernant le traitement
rationnel de l’information : machine universelle.
En effet, un même ordinateur peut effectuer des tâches variées
(calculer les notes des étudiants, traiter du texte, statistiques, …).
Alors, comment une machine aussi stupide (pas intelligent) peut
traiter autant de problèmes différents?
Grâce aux actions de base qu'elle sait réaliser, il est possible en les
assemblant de façon pertinente, de résoudre la plupart des
problèmes concernant le traitement de l'information. Il suffit de lui
indiquer l'ordre dans lequel il faut qu'il effectue ces actions basiques
Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 8
et avec quelles données.
1.2 Ordinateur et programmes

Il suffit de lui indiquer l'ordre dans lequel il faut qu'il effectue ces
actions basiques et avec quelles données.
Ces ordres élémentaires sont appelés instructions et sont
rassemblées au sein d'un programme. L’ordinateur est capable de
mettre en mémoire un programme puis de l’exécuter.
Comme l'ordinateur exécute très rapidement et sans erreurs les
ordres qu'on lui donne (les instructions), il exécute beaucoup de
traitements complexes plus vite et plus sûrement qu'un homme.
Pour donner des ordres à l'ordinateur, il est nécessaire de pouvoir
communiquer avec lui. Cette communication passe par un langage
de programmation, dans lequel est écrit le programme.
Un programme est un assemblage et un enchaînement
d’instructions élémentaires écrit dans un langage de programmation,
et exécuté par un ordinateur afin de traiter les données d’un
problème et renvoyer un ou plusieurs résultats.
Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 9
1.2 Programmes : Données et résultats

Un programme de calcul de moyenne nécessite qu’on lui fournisse


des notes dont on cherche la moyenne : nous les appellerons
informations données ou plus simplement données.
En retour le programme fournit la moyenne cherchée : nous les
appellerons informations résultats ou tout simplement résultats.
Les résultats peuvent eux-mêmes être des données pour d’autres
programmes.

Programme de calcul de
Notes Moyenne
la moyenne

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 10


1.2 Ordinateur : fonctionnement

La mémoire centrale
Elle permet de mémoriser les programmes pendant le temps
nécessaire à leur exécution.
On y trouve également les informations manipulées par des
programmes.
Elle est constituée de mots mémoire et chaque mot mémoire est
repéré par un numéro appelé adresse. La taille d’un mot
01010
dépend de l’ordinateur considéré
L’unité centrale de traitement 11110

Elle est chargée de prélever chaque instruction de programmes


situés en mémoire centrale et de l’exécuter.
Les périphériques : Il s’agit de tous les appareils susceptibles
d’échanger des informations avec la mémoire centrale (clavier,
souris, écran, imprimante, etc.).
Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 11
1. Concepts fondamentaux

1.1 Objectifs
1.2 Ordinateur et programmes
1.3 Comment parler à un ordinateur
1.4 Notions d’algorithme et d’algorithmique
1.3 Comment parler à l’ordinateur

Nous avons vu que l’ordinateur ne sait exécuter qu’un nombre limité


d’opérations élémentaires codées en binaire.
Nous exprimons cela en disant que l’ordinateur ne comprend que le
langage machine. Cependant, il est très difficile d’écrire des
programmes complexes dans ce langage.
Fort heureusement, nous communiquons avec les chinois sans
connaître leur langue
Il suffit de recruter un interprète (un traducteur). De manière
analogue, nous pouvons communiquer avec l’ordinateur sans
connaître sa langue à l’aide d’un traducteur.

Programme en Traducteur Programme en


notre langage langage machine

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 13


1. Concepts fondamentaux

1.1 Objectifs
1.2 Ordinateur et programmes
1.3 Comment parler à un ordinateur
1.4 Notions d’algorithme et d’algorithmique
1.4 Notions d’algorithme et
algorithmique
Un algorithme représente l'enchaînement des actions (instructions)
nécessaires pour faire exécuter une tâche à un ordinateur (résoudre
un problème)
Un algorithme s'écrit le plus souvent en pseudo-langage de
programmation (appelé langage algorithmique). Un algorithme n'est
donc exécutable directement par aucune machine.
Mais il a l'avantage de pouvoir être traduit facilement dans tous les
langages de programmation.
L'algorithmique, l'art d'écrire des algorithmes, permet de se
focaliser sur la procédure de résolution du problème sans avoir à se
soucier des spécificités d'un langage particulier.
Pour résoudre un problème, il est vivement conseillé de réfléchir
d'abord à l'algorithme avant de programmer proprement dit, c'est à
dire d'écrire le programme en langage de programmation.
.
Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 15
1.4 Notions d’algorithme et
algorithmique
L'algorithmique, vous la pratiquez tous les jours et ceci depuis
longtemps
Œufs, huile, sel, etc. recette
→ omelettes

Meuble en kit noticedemo


  ntatge→ cuisinière équipée

Cafetière instructio
  ns
→ Expresso

Complexité : En combien de temps un algorithme va-t-il atteindre le


résultat escompté ? De quel espace a-t-il besoin
Calculabilité : Existe-t-il des tâches pour lesquelles il n’existe aucun
algorithme ? Etant donnée une tâche, peut-on dire s’il existe un
algorithme qui la résolve ?
Correction : Peut-on être sûr qu’un algorithme réponde au
problème pour lequel il a été conçu ?
Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 16
2. Concepts et instructions
de base

2.1 Variables, constantes et types


2.2 Syntaxe générale d’un algorithme
2.3 Instructions élémentaires
2.4 Simulation d’un algorithme
2. Concepts et instructions
de base

2.1 Variables, constantes et types


2.2 Syntaxe générale d’un algorithme
2.3 Instructions élémentaires
2.4 Simulation d’un algorithme
2.1 Variables, constantes et types

Les données d'un programme sont mémorisées en mémoire


centrale, dans des sortes de cases que l'on appelle variables.
Une variable possède un nom unique appelé identificateur qui sert
à repérer un emplacement donné en mémoire centrale et par lequel
on peut accéder à son contenu.
Une variable peut être représentée par une (plusieurs) case(s)
mémoire, qui contient la valeur d'une donnée.
Par exemple, on peut avoir en mémoire une variable prix et une
variable quantit qui contiennent les valeurs 10.2 et 5

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 19


2.1 Variables, constantes et types

Attention à ne pas confondre la variable et son contenu.


Une variable est un contenant, c'est à dire une sorte de boîte, alors
que le contenu d'une variable est une valeur numérique,
alphanumérique ou booléenne, ou de tout autre type.
Deux variables peuvent avoir la même valeur, mais une variable ne
peut pas avoir plusieurs valeurs en même temps.
En revanche, la valeur d'une variable peut varier au cours du
programme. L'ancienne valeur est tout simplement écrasée et
remplacée par la nouvelle.
Les variables dont la valeur ne change pas au cours de l'exécution
du programme sont appelées variables constantes ou plus
simplement constantes.

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 20


2.1 Variables, constantes et types

Toutes les variables n'ont pas besoin de la même place en


mémoire.
Certains (en fonction de leur taille) prennent plus de place que
d’autres. Le type d’un objet définit sa taille.
C’est pourquoi, il faut déclarer le type de chaque variable (en plus
de son nom). Le type détermine le domaine de valeurs de la
variable.
En algorithmique, on distingue 5 types principaux :
- le type caractère (lettres minuscules, lettres majuscules, chiffres,
ponctuation, code des opérations, espace, retour chariot,… et plus
généralement toutes les touches que l'on peut trouver sur une
machine à écrire).
Pour représenter, les valeurs du type caractère, nous les encadrons
par un couple d’apostrophes. Exemples : ‘A’, ‘4’, etc.

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 21


2.1 Variables, constantes et types

- le type chaîne de caractères (suites de caractères) : C’est


l’ensemble des chaînes que l’on peut former en juxtaposant les
caractères. Nous les encadrons par deux doubles côtes. Exemples :
"Bernard Fotsing", "A", "" (chaîne vide), etc.

- le type entier (les nombres sans virgule) : Exemple : 23

- le type réel (les nombres à virgule et sans virgule) : Exemples : 1,


3.5, -16.7, +5, etc.

- le type booléen (logique) : C’est l’ensemble des valeurs logiques


Vrai ou Faux. Elles n'ont que deux valeurs possibles: soit VRAI, soit
FAUX) : Exemples : 3>5

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 22


2.1 Variables/constantes : déclaration

Pour qu'un programme utilise une variable, il faut au préalable que


cette variable ait été déclarée.
Déclarer une variable c’est donc réserver une place en mémoire, lui
attribuer un identificateur (le nom de la variable), et définir son type.

La syntaxe de déclaration d’une variable est la suivante :


variable <liste d’identificateurs> : type
ou bien
VAR <liste d’identificateurs> : type

La syntaxe de déclaration d’une constante est la suivante :


constante <identificateur> <valeur/expression de la constante> : type
ou bien
CONST <identificateur> <valeur/ expression de la constante> : type

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 23


2.1 Variables/constantes : déclaration

Remarque 1: Pour des besoins de lisibilité, les mots clés du


langage algorithmique (types inclus) (comme VAR) seront écrits soit
en gras, soit soulignés. Ne pas mélanger ces deux formats dans le
même programme.
Remarque 2 : La liste des identificateurs (lorsqu’il y en a plusieurs
de même type) est séparée par des virgules. On peut aussi déclarer
chaque identificateur sur sa propre ligne.
Remarque 3 : Un identificateur peut être composé de lettres et de
chiffres mais il ne doit pas commencer par un chiffre et ne doit pas
comporter d'espaces.
Remarque 4 : L'identificateur des variables doit être suffisamment
significatif pour qu'on reconnaisse leur fonction aisément. Par
exemple pour des variables représentant un prix et une quantité,
évitez a et b mais utilisez plutôt prix et quant.

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 24


2.1 Variables/constantes : déclaration

Exemples de déclaration de variables :


VAR nom, prenom :Chaîne de caractères
variable val, unNombre : Entier
variable taux : Réel ;

Exemples de déclaration de constante :


CONST TVA 19.5 : Réel
Constante MAX 100 : Entier
DMAX MAX * 2 : Entier

TD1 : Donnez des exemples de déclarations correctes de


variables et des exemples de déclarations erronées de variables

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 25


2.1 Variables/constantes : opérateurs

Selon le type des variables, on a les opérations différentes.


Type Opérations (symbole ou mot clé) Observations
addition (+), soustraction (-),
multiplication (*), division (/),
RÉEL Exemple : 7/2 donne ?
exposant (^), pourcentage(%),
comparaisons (<, ≤, >, ≥, =, ≠)

addition (+), soustraction (-), Ici DIV est la division entière et ne donne que le chiffre avant la
multiplication (*), division (DIV), virgule du résultat (elle renvoie un entier). L’opération
ENTIER modulo (MOD), exposant (^), supplémentaire appelée modulo, notée mod renvoie le reste de
pourcentage (%), comparaisons (<, ≤, la division entière. Exemples : 7 DIV 2 donne ?
>, ≥, =, ≠) 7 MOD 2 donne ?

Les caractères sont comparés selon l’ordre du code ASCII.


C’est ainsi qu’on peut comparer tous les caractères entre eux.
Par exemple la lettre Z (majuscule), de code ASCII 90 est
CARACTÈRE comparaisons (<, ≤, >, ≥, =, ≠)
inférieure à la lettre a (minuscule) de code ASCII 97. L’ordre
ASCII des lettres de la même casse suit l’ordre alphabétique,
de sorte que A<B<C<D<…

L’opérateur & sert à concaténer des chaînes de caractère, ce


qui signifie transformer plusieurs chaînes en une seule en les
comparaisons (<, ≤, >, ≥, =, ≠)
CHAÎNE ajoutant les unes à la suite des autres.
Concaténation (&), longueur, extraction
Ex : "Bonjour" & "à tous" donne "Bonjour à tous"
longueur ("Bonjour") donne 7

Fotsing comparaisons (=, ≠),Algorithme


Talla Bernard, Ph.D négation et
(NON),
programmation - PASCAL/C 26
BOOLÉEN Exemples : NON (3 = 5) donne ?
conjonction (ET), disjonction (OU)
(2>6) ET (5>3) donne ?
2. Concepts et instructions
de base

2.1 Variables, constantes et types


2.2 Syntaxe générale d’un algorithme
2.3 Instructions élémentaires
2.4 Simulation d’un algorithme
2.1 Syntaxe générale d’un algorithme
ALGORITHME <nom de l’algorithme>
{Une description sommaire de ce que fait l’algorithme}

{Déclaration des constantes s’il y en a}


CONST <identificateur> <valeur> : type

{Déclaration des variables s’il y en a}


VAR <liste d’identificateurs> : type

DEBUT
{Ensemble des instructions}
FIN

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 28


2.2 Syntaxe générale d’un algorithme

Les mots du langage algorithmique sont écrits en gras ou soulignés.


Un algorithme commence par le mot ALGORITHME ou
PROGRAMME suivi de son identificateur (le nom du programme).
Ensuite viennent les déclarations: dans un premier temps celles des
constantes, annoncée par CONST, puis celle des variables,
annoncée par VAR
Le corps du programme commence par DEBUT et se termine par
FIN.
En langage algorithmique, on insère des commentaires entre deux
accolades ouvrante "{" et fermante "}".
Certains langages de programmation spécifique utilisent les balises
/* */ pour les commentaires sur plusieurs lignes, et // pour les
commentaires sur une seule ligne.

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 29


2.2 Syntaxe générale d’un algorithme

Une instruction se termine parfois par un point-virgule (;) surtout


lorsqu'on écrit plusieurs instructions sur une même ligne.
Certains langages imposent d'ailleurs que chaque instruction se
termine par ce point-virgule (PASCAL, C, etc.)
Les trois étapes du corps d’un algorithme sont :
Préparation du traitement : données nécessaires à la résolution du
problème. Les données d'un programme doivent être récupérées en
mémoire centrale, à partir du clavier ou d'un fichier par exemple,
pour pouvoir être traitées.
Traitement : Résolution pas à pas du problème, (après
décomposition en sous problèmes si nécessaire), par le processeur
qui exécute le programme.
Edition des résultats : impression des résultats à l’écran, dans un
fichier, etc.

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 30


2.2 Syntaxe générale d’un algorithme
ALGORITHME ELeveAuCarre
{Cet algorithme calcule le carré du nombre que lui fournit l’utilisateur}

VAR unNombre, sonCarre : Entier {déclaration des variables}

DEBUT
{Préparation du traitement}
Ecrire("Quel nombre voulez-vous élever au carré ?")
Lire (unNombre)
{Traitement : calcul du carré}
sonCarre unNombre * unNombre

{Présentation du résultat}
Ecrire("Le carré de ", unNombre) ;
Ecrire("c’est ", sonCarre) ;
FIN

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 31


2. Concepts et instructions
de base

2.1 Variables, constantes et types


2.2 Syntaxe générale d’un algorithme
2.3 Instructions élémentaires
2.4 Simulation d’un algorithme
2.3 Instructions élémentaires

Une instruction est un ordre élémentaire que peut exécuter


directement l'ordinateur.
Les données manipulées par les instructions de plusieurs formes:
des variables proprement dites
des variables constantes
des valeurs littérales (écrites telles qu'elles : ex "bonjour", 45, VRAI)
des messages (libellés) envoyés à l'utilisateur (quelles données sont à entrer,
quels résultats sont affichés…), qui sont des valeurs littérales particulières
des expressions complexes (combinaisons de variables, constantes et valeurs
littérales avec des opérateurs) ex : 2 * r * 3.14
Les instructions élémentaires les plus courantes sont :
l'affectation : le fait de donner une nouvelle valeur à une variable
l'affichage sur l'écran
la saisie à travers le clavier
D'autres instructions permettent de lire et d'écrire sur d'autres périphériques: nous
les étudierons plus tard.

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 33


2.3 Instructions élémentaires : saisie

La saisie est une instruction qui permet de placer en mémoire les


informations fournies par l’utilisateur.
Elle assigne une valeur entrée au clavier dans une variable.
Tant que l'utilisateur n'entre rien au clavier, le déroulement du
programme est stoppé.
Sa syntaxe est :
Lire (variable1 [, variable2, …]*) ou bien Saisir (variable1 [, variable2, …]*)

Exemples :
Lire(x)
{Cette instruction va lire la valeur saisie au clavier et l'affecte à la variable x}
Lire (x, y)
{Cette instruction lit la première valeur saisie au clavier et l'affecte à x, puis lit
la deuxième valeur saisie et l'affecte à y}

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 34


2.3 Instructions élémentaires: affichage

L’affichage est une instruction qui permet de visualiser les


informations placées en mémoire.
Elle fournit des résultats sous forme directement compréhensible
pour l'utilisateur à travers l'écran.
Sa syntaxe est :
Ecrire (expression1 [, expression2, …]*) ou bien
Afficher (expression1 [, expression2, …]*)
Exemples
Ecrire (nom)
{Cette instruction permet d'afficher la valeur de la variable nom à l'écran. Si
nom est une chaîne qui vaut "Toukam", cette instruction affichera Toukam à
l'écran}
Ecrire ("Bonjour!")
{Celle-ci permet d'afficher la chaîne littérale Bonjour! à l'écran}
Ecrire (a, b) {Quand on veut afficher deux objets à la suite, on les sépare d'une
virgule Si a vaut 5 et b vaut 10, on obtient alors à l'écran : 510}
Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 35
2.3 Instructions élémentaires: affichage

Remarque
On peut mélanger l'affichage de valeur littérales et de variables.
Cela est particulièrement utile si on veut voir apparaître un libellé
(texte accompagnant la saisie des données ou l'édition des
résultats, permettant de guider l'utilisateur).

Exemple
Ecrire ("Voici les résultats : x = ", x, " et y = ", y)
Ils apparaîtront dans l’ordre. Nous aurons donc à l’écran (en
supposant que les valeurs de x et y sont respectivement 5 et 10) : x
= 5 et y = 10

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 36


2.3 Instructions élémentaires: affectation

L’affectation consiste tout simplement à placer une valeur dans une


variable (ce qui revient à changer le contenu de cette variable)
C’est une instruction qui permet d’attribuer à la variable identifiée
par l'élément placé à gauche du symbole la valeur de l'élément
placé à droite de ce symbole.
Sa syntaxe est : <variable> <expression>
La nouvelle valeur est évaluée à partir d'une expression, qui peut
être
- soit une autre variable ou constante,
- soit une valeur littérale
- soit une combinaison de variables, de valeurs littérales et d'opérateurs
L’instruction d’affectation agit en deux temps :
Tout d’abord elle détermine la valeur de l’expression à droite du symbole ,
puis range le résultat dans la variable située à gauche.

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 37


2.3 Instructions élémentaires: affectation

Exemples
x 3 {x vaut ?}
nom "Fotso" {le contenu de la variable nom est ?}
val 50 {le contenu de la variable val vaut ?}
val val * 2 {le contenu de la variable val vaut ?}

Remarque : Différences entre affectation et égalité mathématique :


1) L’instruction x y n’a pas la même signification que l’instruction
y x contrairement aux mathématiques où x = y est équivalent à y
= x.
L'instruction x y signifie que x va prendre la valeur de y. Au
contraire y x signifie que y va prendre la valeur de x.
2) On ne peut affecter de valeur qu’à une variable. Il est impossible
d’affecter une valeur à une expression.

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 38


2.3 Instructions élémentaires: affectation

Ainsi, par exemple, l’instruction a + 5 b n’a pas de sens, alors que


a + 5 = b a une signification en mathématiques.
3) Il est possible de retrouver la même variable à droite et à gauche
de l’affectation. Ecrire a a + 3 a un sens en programmation, alors
que a = a + 3 n'a pas de sens en mathématiques. Cela signifie que
l’on évalue a + 3 avec l'ancienne valeur de a et qu’on range le
résultat dans a. La valeur de a sera donc augmentée de 3 par cette
opération.
PROGRAMME TestAffectaion
VAR a, b : entiers {a et b ont une valeur indéterminée}

DEBUT
a 3 {a vaut ?}
{b n’a pas encore de valeur (ou plus exactement a une valeur indéterminée)}
b a+2 {b vaut ?, a vaut toujours ?}
a b*2 {a vaut 10, b vaut ?}
b b+1 {b vaut 6}
FIN

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 39


2.3 Instructions élémentaires: affectation

Exemple complet de saisie , d’affichages et d’affectation


Algorithme TTC
{Saisit un prix HT et affiche le prix TTC correspondant}
Constante TVA 20.6 : réel
Titre "Résultat" : chaîne
Variable prixHT, prixTTC : réels {déclarations de variables}

Début {préparation du traitement}


Ecrire("Donnez-moi le prix hors taxe :")
Lire(prixHT)
prixTTC prixHT * (1+TVA/100) {calcul du prix TTC}

Ecrire(Titre) {présentation du résultat}


Ecrire(prixHT, " FCFA H.T. devient ", prixTTC, "FCFA T.T.C.")
Fin

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 40


2.3 Instruction élémentaire: initialisation

Remarque : Initialisation des variables


Au début d’un programme, les variables n’ont pas encore reçues de
valeur ; on dit qu’elles sont indéfinies.
Toutes les variables doivent être initialisées, c’est-à-dire recevoir
une valeur initiale, avant leur utilisation (à droite d'une affectation ou
dans une expression conditionnelle).
Sinon, le contenu de la variable n’est pas vide, il n'est pas forcement
nul, il est quelconque.
Ainsi, lorsqu’on utilise une variable indéfinie (qui n’a pas encore
reçue de valeur), le comportement du programme va être aléatoire.
De là vient la nécessité de toujours bien initialiser les variables
avant d’utiliser leur valeur.

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 41


2.3 Instruction élémentaire: initialisation

L’initialisation s’effectue généralement au début du programme,


juste après les déclarations.
Elle prend la forme d'une simple affectation ou d’une saisie au
clavier.
PROGRAMME initialisation
{déclarations}
VAR x , y : entiers
a : chaîne
DEBUT
{initialisation}
x 0
Lire(y)
a "hello"
{autres instructions }
FIN

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 42


2. Concepts et instructions
de base

2.1 Variables, constantes et types


2.2 Syntaxe générale d’un algorithme
2.3 Instructions élémentaires
2.4 Simulation d’un algorithme
2.4 Simulation d’un algorithme

Il s’agit de dérouler l’algorithme pas à pas en indiquant dans un


tableau les contenus des différents variables en vue d’identifier ce
qu’il fait ou de vérifier qu’il fait exactement ce qu’on vaudrait qu’il
fasse.
Exemple :
ALGORITHME X
CONST SEUIL 13.25 : réel
VAR valA, valB : réels
compteur : entier
mot, tom : chaînes
DEBUT
valA 0.56
valB valA
valA valA * (10.5 + SEUIL)
compteur 1
compteur compteur + 10
mot "Bonjour"
tom "Au revoir"
Ecrire ("Valeur de valA est ", valA)
FIN
Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 44
2.4 Simulation d’un algorithme : TDs

1) Simuler l'algorithme suivant et indiquez ce qu'il fait.


ALGORITHME CaFaitQuoi
{Cet algorithme ……………………………………..}
VAR valA, valB : réels
DEBUT
Ecrire("Donnez deux valeurs")
Lire (valA, valB)
valA valB
valB valA
Ecrire("Maintenant, mes donnes sont :", valA, " et ", valB)
FIN
2) Ecrire un programme de permutation qui échange les valeurs de
deux variables a et b.
3) Ecrire (et le simuler sur des exemples précis) un algorithme qui
calcule l'âge de l'utilisateur en fonction de son année de naissance.

Fotsing Talla Bernard, Ph.D Algorithme et programmation - PASCAL/C 45

Vous aimerez peut-être aussi