Vous êtes sur la page 1sur 18

Introduction à la programmation

I. Notion de programme
Rappel :
Un ordinateur est une machine électronique programmable servant au traitement de
l’information codée sous forme binaire, c’est-à-dire sous forme de tout ou rien (soit le courant passe,
soit il ne passe pas).

L'ordinateur exécute des ordres, il suffit de lui dire les étapes, les actions basiques et les données
à utiliser. Ces ordres élémentaires sont appelés instructions et sont rassemblées au sein d'un
programme.
Comme l'ordinateur a l'avantage d'exécuter 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.

1/4
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 d'ê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.

réflex ion" codage

Problème algorithme programme

Pour obtenir des résultats, la description des données et les algorithmes doivent être codés sous
forme de programmes interprétables par l'ordinateur.

Un programme est un enchaînement d'instruction, écrit dans un langage de programmation,


exécutée par un ordinateur, permettant de traiter un problème et de renvoyer des résultats. Il
représente la traduction un algorithme à l'aide d'un langage de programmation.

analyse codage exécution

Problème Algorithme Programme Résultat


s
L'ordinateur est une machine totalement dénuée d'intelligence. Un programme exécute les
instructions bien précises c'est-à-dire celle que le programmeur lui a donnée. Des erreurs ou des
fantaisies lors de son exécution ne proviennent pas de l'ordinateur mais d'une erreur de conception.

Langage de programmation

Un ordinateur ne connaît que le système d'énumération binaire. Un langage utilisant le système


binaire s'appelle langage machine.
Pour écrire des programmes sous des formes accessibles, on a développé dans les années 50, les
langages d'assemblage.
Cependant, un programme écrit en langage d'assemblage n'est plus directement exécutable par la
machine. Il doit être traduit en un programme équivalent en langage machine. Cette opération de
traduction s'effectue grâce à un autre programme appelé assembleur.
Le langage d'assemblage présent un inconvénient : il reste lié à l'ordinateur pour lequel il a été écrit
car chaque famille de processeurs possède son propre langage d'assemblage. Il est difficile à utiliser
car il nécessite de bonnes connaissances sur le fonctionnement des processeurs.
C'est pourquoi furent conçus les langages de programmation dits évolués plus compréhensibles et
plus lisibles par l'homme.
Un langage de programmation est défini par des règles d'écriture des règles de construction que
doivent respecter les programmes. La difficulté, pour le programmeur, consiste à respecter ses
règles imposées.

On distingue plusieurs types de langage :

■ Langage de programmation procédurale

La programmation procédurale implique l'écriture de l'exécution des instructions les unes à la suite
2/4
des autres (ordre séquentiel).

● Fortran (1957) : applications scientifiques ;


● Cobol (1960) : applications de légion du (ou de calcul, beaucoup d'édition) ; encore très
présent dans le secteur des banques et des assurances (applications grands systèmes) ; menacée par
l'essor de la micro- informatique et des nouveaux langages (la migration se fera cependant
progressivement)
● Basic (1964) : langage destiné à être utilisé par des non informaticiens
● Pascal (1969) : langage scientifique ; peut être utilisé en industrie
● C (1972) : conçues pour l'écriture du système UNIX

■ Langages orientés objets

La programmation orientée objet est basée sur l'écriture et la réutilisation de composants (objets de
classes objets).

● ADA : applications scientifiques et de gestion, applications en temps réel (aéronautique,


aérospatiale…)
● C++ : évolution du C ; très utilisé dans l'industrie
● Java (1995) : conçues pour développer des applications fonctionnant indépendamment sur
tout type de processeur et de systèmes d'exploitation d'où le terme de machine virtuelle Java
(JVM) ; bien adapté pour les applications Web.

■ Langages de programmation événementielle

La programmation événementielle permet le développement d'applications à interfaces graphiques.

● Visual ● DELPHI
Basic ● C++ builder
● Visual C++ ● J++ builder
● Visual J++
● C#(Csharp

3/4
Un programme doit être écrit en langage évolué à l'aide d'un éditeur de texte. Le programme ainsi
obtenu est appelé programmes sources où code source.

Pour être utilisable, ce programme doit être traduit en langage machine. Le programme issu de cette
traduction s'appelle programme objet.
La traduction du programme source en programme objet s'appelle la compilation et est réalisée par un
programme spécialisé appelé compilateur.
La compilation permet de détecter les erreurs dues à un non-respect de la syntaxe du langage.
Un programme est très souvent composé de plusieurs parties (appelées modules) qui devront être
reliées entre elles pour former un fichier exécutable. C'est le rôle de l'éditeur de liens (linker) en
queue de relier les différents modules d'un programme afin d'obtenir un programme exécutable.

Enfin pour être exécuté, un programme exécutable doit être chargé en mémoire centrale grâce aux
chargeurs.

édition
exécutio
analyse codage traductio deliens
n
n
compilateu programm programm résultats
r eobjet e
problème algorithme exécutable
pr
ogramm
e
source

4/4
Intro à l'algo

La création d'un programme nécessite donc plusieurs outils spécifiques qui sont
souvent intégrés au sein d'un environnement de développement (EDI : environnement
de développement intégré). Un environnement de développement est composé de
l'ensemble des programmes qui permettent de créer des programmes exécutables
(éditeurs, compilateur, « linker » il et chargeurs) à ses programmes indispensables
s'ajoutent des bibliothèques de fonction (mathématiques, graphique) et un outil de
débogage (programme de détection d'erreurs).
Les erreurs de logique et d'exécutions ne sont pas détectables à la compilation mais
visibles uniquement lors du fonctionnement du programme exécutable. Les identifier
et puis les corriger n'est pas toujours facile pour de grosses applications. Le débogueur
permet de les localiser plus facilement.

Les autres langages

 Langages de scripts
 SQL (Structured Query Language) signifie langage de requête
structuré
Il permet de rechercher des informations dans des bases de données relationnelles.
IBM a réalisé un prototype de ce langage et la société ORACLE, leader mondial des
bases de données, a commercialisé à 1979 la première version. Depuis, l'ISO
(International Standards Organization) a standardisé une première fois le langage
1987 puis en 1992 (SQL92) et plus récemment en 1999 (SQL3 ou SQL/99).

 JavaScript
JavaScript est un langage développé par Netscape et Sun pour améliorer les
fonctionnalités des pages Web écrites en HTML (langage à balises). Des scripts
écrits en JavaScript sont directement incorporés au code HTML et interprétés par le
navigateur. Le langage interprété et nécessite donc pas de compilateur.
 Langage à balises

Ces langages dits à balises servent à mettre en forme des documents électroniques
pour être après utilisés en intranet, extranet ou pour la GEIDE (gestion de
documents électroniques). Les données sont enregistrées entre des
« balises ». Il ne s'agit pas vraiment de langages, mais de format pour structurer les
données qui pourront être exploitées à partir d'un simple navigateur.

 HTML, XML

Pourquoi passer par l'étape de l'algorithme ?

Nous pouvons effectivement nous poser cette question et penser que l'on peut écrire
directement le programme source à l'aide d'un langage de programmation.

Cependant, l'utilisation direct d’un langage de programmation présente des


inconvénients par exemple :

La possibilité d'exécution immédiate diminue la productivité du programmeur toujours


tenté d'essayer, sans trop réfléchir, de construire son programme un peu au hasard.
Cette attitude se prolonge en cas d'erreur car il paraît plus facile de faire une
modification et de réessayer plutôt que d'analyser la cause de l'erreur. On met alors
beaucoup de temps à fabriquer un programme qui d'erreurs en erreurs et de
modifications en modifications s'écartent généralement d'une solution efficace due à
une bonne analyse préalable.

5
Intro à l'algo

II. Notion de variables et déclarations


1. Présentation
Les programmes ont pour but de traiter différentes données afin de produire des
résultats. Les résultats peuvent eux-mêmes être des données pour d'autres programmes.

Donnée(s) programme résultat(s)

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 par le processeur
qui exécute le programme. Ainsi, toutes 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 peut être représentée par une case mémoire, qui contient la
valeur d'une donnée.
Chaque variable possède un nom unique appelé identificateur par lequel
on peut accéder à son contenu.

Prix
01010

01011 Quantite

Côté ordinateur Côté Programmeur

Par exemple, on peut avoir en mémoire une variable prix et une variable quantité
qui contiennent les valeurs 10.2 et 5
10.2 5

prix quantité

$ 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.

6
Intro à l'algo

2. Déclaration des variables

Pour qu'un programme puisse utiliser une variable, il faut au préalable que cette
variable ait été déclarée, c'est-à-dire que le programme lui ait réservé une place en
mémoire et ait attribué l'identificateur à cette place.
Mais toutes les variables n'ont pas besoin de la même place en mémoire. Un grand
nombre prend plus de place qu'un caractère. Selon le type de l'objet, il faudra lui réserver
plus ou moins de place : c'est pourquoi il faut déclarer le type des variables et pas
seulement leur nom. Par ailleurs, selon le type des variables, les opérations possibles
seront différentes.

Donc la déclaration d'une variable indique deux choses :


- son identificateur (son nom)
- son type (sa taille)

Un identificateur peut être composé de lettres et de chiffres mais il ne peut


pas commencer par un chiffre et il exclut la plupart des signes de
ponctuation, en particulier les espaces.

Mais, dans beaucoup de langage de programmation le caractère “_” est utilisé


dans la déclaration des variables, Même au début. Le nombre maximal de
signes pour un nom de variable dépend du langage utilisé.

L'identificateur des variables doit être suffisamment signifiant 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 quantité.

En algorithmique, on distingue 5 types principaux :

- les caractères (lettres, 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)
- les chaînes de caractère (suites de caractères)
- les entiers (les nombres sans virgule)
- les réels (les nombres à virgule et sans virgule)
- les booléens (qui n'ont que deux valeurs possibles: soit VRAI, soit FAUX) avec pour
opérateurs ET, OU, NON.
-

Rappel des tables de vérité :

a b a ET b a b a OU b a a NON b
V V V V V V V F
V F F V F V F V
F V F F V V
F F F F F F

7
Intro à l'algo

Les opérations possibles sur les variables dépendent de leur type.

1-dans certains langages, il est possible de ne pas déclarer le type des variables. Ce sont des
langages faiblement typés. Mais ceci n'est pas recommandé, c'est pourquoi en algorithmique, nous prendrons
l'habitude de toujours déclarer le type des variables

8
Intro à l'algo

3. Les opérateurs de l’algorithmique

OPERATIONS SYMBOLE OU MOT CLE


TYPE EXEMPLE
POSSIBLES CORRESPONDANT
Réel -15.69 , 0.36 Addition +
Soustraction –
Multiplication * (et pas x pour ne pas confondre avec la lettre x)
Division /
Exposant ^
Pourcentage %
Comparaisons <, ≤,>, ≥, =, ≠
Entier
-10, 3, 689 Addition +
Soustraction –
Multiplication * (et pas x pour ne pas confondre avec la lettre x)
Division DIV
Modulo MOD
Exposant ^
Pourcentage %
Caractère 'B' 'h' '£' '?' '\n' Comparaisons <, ≤,>, ≥, =, ≠
Chaine "Bonjour" "93000" Concaténation &
"toto@caramail.com" Longueur Longueur(chaîne)
Extraction
Booléen VRAI, FAUX Comparaison <, ≤,>, ≥, =, ≠
Négation NON
Conjonction ET
Disjonction OU
Intro à l'algo

% Pour les entiers, la division est notée Div. Elle est nommée division entière et
diffère un peu de la division que l'on trouve sur les calculettes. Elle ne donne que le
chiffre avant la virgule du résultat (elle renvoie un entier).
& Les entiers supportent une opération supplémentaire appelée modulo, notée
mod et qui renvoie le reste de la division entière.
Exemple:
7 / 2 donne 3.5
7 Div 2 donne 3
7 Mod 2 donne 1

’ 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 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 ajoutant les unes à la suite des autres. Ex : «
Bonjour » & « à tous » donne « Bonjour à tous »

Priorité des opérateurs :


1. Opérateurs « multiplicatifs » * / div mod and
2. Opérateurs additifs : + - or
3. Opérateurs relationnels : = < <=, >, >=, <>

Enfin, on a le droit d’utiliser les parenthèses, avec les mêmes règles qu’en
mathématiques. Les parenthèses ne sont ainsi utiles que pour modifier cette
priorité naturelle.

Cela signifie qu’en informatique, 12 * 3 + 5 et (12 * 3) + 5 valent strictement


la même chose, à savoir 41. Pourquoi dès lors se fatiguer à mettre des
parenthèses inutiles ?

En revanche, 12 * (3 + 5) vaut 12 * 8 soit 96. Rien de difficile là-dedans, que du normal.


4. Syntaxe générale de l’algorithme
L’algorithme d’un programme est organisé en plusieurs parties :
 déclaration des constantes
 déclaration des variables
 définition du programme principal
 définition des fonctions et procédures

PROGRAMME Algo1

/* les constantes : il est obligatoire de leur donner une valeur


dès leur déclaration */
CONST x = 10 déclarations
x = "bonjour!"

// les variables au sens strict


VAR prix, remise : réels
reponse : chaîne

10
Intro à l'algo

DEBUT
/* instructions*/ corps du programme
FIN

Un algorithme commence par le mot 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. Pour déclarer une
variable, on indique son identificateur suivi d'un double point et de son type. La valeur
des constantes est donnée dès leur déclaration, avec le signe’=’précédé de son
identificateur.

Le corps du programme commence par DEBUT et se termine par FIN. On peut


insérer des commentaires, soit entre les balises /* */, soit après // jusqu'à la fin de la
ligne.

III. Les instructions élémentaires

1. Présentation générale

L'exécution d'un programme est constituée :


- d'échanges d'informations en mémoire
- de calculs
Une instruction est un ordre élémentaire que peut exécuter directement l'ordinateur.
Une instruction revient à déplacer une information d'un endroit à un autre de la
mémoire.

Les informations (données) manipulées par les instructions peuvent prendre plusieurs
formes :
- des variables proprement dites
- des variables constantes
- des valeurs littérales (écrites telles qu'elles dans le programme: 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'autre instructions permettent de lire et d'écrire sur d'autres périphériques.

11
Intro à l'algo

A. L’affectation

1. Présentation détaillée
L’affectation consiste tout simplement à placer une valeur dans une variable (ce qui
revient à changer le contenu de cette variable)

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

+ Exemple:
Supposons que rayon soit une variable de valeur 5
2 * rayon * 3.14 est une expression qui vaut 31.4

En algorithmique, pour représenter l’opération d’affectation, on va utiliser le symbole ←.


On évite d’utiliser le symbole = pour ne pas le confondre avec l’égalité mathématique.
x←5;
x←y;
x←5+8;
x←5+y;

Les instructions d’affectation sont formées de deux parties :


," A gauche du symbole ←, on trouve toujours le nom d’une variable destinée à
recevoir une valeur.
," A droite, on trouve l’expression qui va donner la valeur qu’on veut affecter à la variable
en question.

L’instruction d’affectation agit en deux temps :


," Tout d’abord elle détermine la valeur de l’expression à droite du ←
," puis elle range le résultat dans la variable située à gauche.

2. L’affectation est différente de l’égalité mathématique

Quand on dit qu'une variable prend pour valeur une autre variable, ça ne veut
pas dire qu'elles seront toujours égales ! Cela veut seulement dire qu'au
moment de l'instruction, la première variable va prendre la valeur de la
seconde.

Voici les principales différences entre l’affectation et l’égalité mathématique :


," L’instructionx ← 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.

," On ne peut affecter de valeur qu’à une variable. Il est impossible d’affecter une valeur à
une expression. Ainsi, par exemple, l’instruction a + 5 ← b n’a pas de sens, alors que
a + 5 = b a une signification en mathématiques.

12
Intro à l'algo

," Il est possible de retrouver la même variable à droite et à gauche de l’expression. 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.

en maths en programmation

a=a+3 a ←a+3 possible! et très courant

$ impossible

Illustration:
VAR
a, b : entiers //a et b ont une valeur indéterminée

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

! Application : la permutation

Comment échanger les valeurs de deux variables a et b ?


(élément de réponse : si on commence par écrire a = b on va détruire la valeur de a … Il
va falloir utiliser une troisième variable…)

3. Compléments

."L’affectation de caractères et de chaines…


Les valeurs numériques, nous l’avons vu, s’écrivent de façon naturelle, sans avoir à
les accompagner de symboles supplémentaires. Il n’en est pas de même avec les
caractères et les chaînes, qu’il faut entourer de guillemets ou d'apostrophe. Sinon, en
effet, le programme pourrait confondre le caractère ou la chaîne avec le nom d’une
variable. Les chaînes sont entourées de guillemets et les caractères de simples
apostrophes.

Exemples:
réponse ← 'o'
mot ← "bonjour "

."L’initialisation des variables


Au début d’un programme, les variables n’ont pas encore reçu 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
13
Intro à l'algo

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.1 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
y ←10
a ←"hello"
/* autres instructions */
FIN

B. La saisie
L’instruction de saisie permet de communiquer des données au programme.
Cette instruction 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é.
."Syntaxe

Saisir variable1 [, variables2, …]*

+ Exemples:

Saisir x
Cette instruction va lire la valeur saisie au clavier et l'affecte à la variable x

Saisir 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

."Utilité de la saisie
On pourrait se dire que l’instruction de saisie est inutile car on dispose déjà un moyen
d’attribuer une valeur aux variables, par l’instruction d’affectation. Mais en fait,
l’instruction de saisie (ou de lecture sur un périphérique autre que le clavier) est
indispensable pour permettre d’utiliser le même programme sur des données différentes
sans avoir à changer les valeurs du programme à chaque fois.

1 Notez que la saisie d'une variable au clavier permet, comme l'initialisation d'affecter une valeur
initiale à une variable : donc les variables saisies n'ont pas à être initialisées.
14
Intro à l'algo

Par exemple, l’instruction lire x à laquelle on fournirait 5, pourrait être remplacée par
x ← 5. Mais alors si on veut utiliser le programme avec une autre valeur, il faudra aller
changer le programme. En revanche, si on utilise une instruction de saisie, le choix de la
valeur se fait en cours d’exécution du programme. On peut donc utiliser le programme
autant de fois que l’on veut avec des données différentes sans avoir à modifier le
programme.

+ Exemple:
Le traitement qui consiste à calculer le périmètre d'un cercle à partir de son rayon peut
s'effectuer pour toutes les valeurs possibles de rayon. A chaque exécution du programme,
on fournit une valeur différente au rayon, ce qui va donner un périmètre différent.

Rayon 2 * 3.14 *rayon Périmètre


du cercle
1° exécution
saisie affichage
5 2 *3.14 * 5 31.4

2° exécution
saisie affichage

7 2 *3.14 * 7 43.74

ect…

Sans instruction de saisie (ou de lecture sur un périphérique quelconque), un


programme fournirait toujours le même résultat.

* Les crochets indiquent des éléments optionnels

C. l'affichage

La plupart des programmes nécessitent de communiquer à l’utilisateur un certain


nombre de résultats par l’intermédiaire d’un périphérique. Pour cela, ils utilisent des
instructions d'affichage.

L'instruction d'affichage permet de fournir des résultats sous forme


directement compréhensible pour l'utilisateur à travers l'écran.

."Syntaxe

Afficher expression1, [expression2]

+ Exemples
Afficher Valeur

15
Intro à l'algo

Cette instruction permet d'afficher le contenu de la variable Valeur à l'écran


Si Valeur est une chaîne qui vaut "esag nde", cette instruction affichera esag nde à
l'écran

Afficher "Bonjour !"


Celle-ci permet d'afficher la chaîne littérale Bonjour ! à l'écran

Afficher 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 :

5 10

/ Remarque : dans la plupart des langages (dont le C++), il faut ajouter dans le
programme un espace entre les différentes expressions à afficher, mais en algorithmique
on ne s'embête pas avec ces détails.

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

Afficher « 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) :

Voici les résultats : x = 5 et y = 10

SYNTHESE

Réaliser un algorithme, c’est exprimer, dans un langage précis (le langage


algorithmique), les règles de traitement d’un problème pour le soumettre à un ordinateur
(par un programme).

Les données d’un programme sont mémorisées dans des variables qui sont des cases
mémoire. Une variable est un contenant, qui contient une et une seule valeur à un
moment donné.
Une variable est caractérisée par :
," un identificateur (son nom)
," une valeur (qui peut varier au cours du programme, sauf pour les constantes) ," un
type (qui détermine sa taille et les opérations possibles)

Les instructions de base sont :

," l'affectation permet de changer la valeur d'une variable.


," la saisie permet d'assigner à une variable, une valeur entrée au clavier

16
Intro à l'algo

," l'affichage permet d'écrire le contenu d'une variable ou d'une expression à


l'écran
Exemple complet
Nous allons écrire un algorithme qui calcule l'âge de l'utilisateur en fonction de son
année de naissance.
PROGRAMME age
CONST année ← 2023

VAR DateNaissance : entier // date de


naissance
DEBUT
Afficher "Entrez votre année de naissance sur 4 chiffres"
Saisir DateNaissance
Afficher "Vous avez, ou aurez dans l'année" , année – DateNaissance, "ans."
FIN
Annexe: complément pour chaines de caractère

Un caractère est lié à un code numérique (ex : code ASCII) qui le représente en machine
et qui permet d’établir une relation d’ordre.
La table ASCII :

17
Intro à l'algo

Opérations sur les chaines de caractère:

SSCHAINE(<chaine>, <pos>, <nb caractères>) - extraction dans <chaine> à partir de la


position <pos> de <nb caractères>

<chaine1> // <chaine> - concaténation de deux chaines de caractère en une seule.


LONGUEUR (<chaine>) donne le nombre de caractères situés entre les deux guillemets
qui délimite la chaine.

RANG (<chaine1>, <chaine2>, <pos>) recherche dans la chaine <chaine1> la sous-


chaine <chaine2> à partir de la position <pos>. Si <chaine2> est trouvée, la fonction
produit la position du premier caractère de <chaine2> dans <chaine1>, sinon 0.

CODE (<caractère>) restitue la valeur du code numérique lié au caractère.

CAR(<nombre>) restitue le caractère correspondant à cette valeur numérique. CAR est


la fonction réciproque de CODE.

CVCHAINE(<nombre>) transforme une variable ou une constante de type numérique,


en variable ou constante de type chaine de caractères.

CVNOMBRE(<caractère>) transforme une variable ou une constante de type chaine de


caractère contenant une valeur numérique, en une variable ou une constante de type
numérique.

Exemple:
Résultat:
SSCHAINE("Informatique", 2, 3) nfo
"BONJOUR" // " A TOUS " BONJOUR A TOUS
LONGUEUR("élèves") 6
RANG("Informatique", "format", 2) 3
RANG("Informatique", "format", 4) 0
CODE("A") 65
CAR(65) A
CAR(CODE("A")) ‘’A ‘’
CVCHAINE(8) ‘’8 ‘’
CVNOMBRE("8") 8

18

Vous aimerez peut-être aussi