Vous êtes sur la page 1sur 48

Introduction la programmation et algorithmique

BTS IRIS 1re anne 1

Introduction
Quest ce quun ordinateur : une machine totalement dnue d'intelligence capable deffectuer un grand nombre de tches Excute trs rapidement et sans erreurs les ordres

qu'on lui donne

Introduction la programmation et algorithmique

BTS IRIS 1re anne 2

Quest-ce quun programme ?


Assemblage et enchanement dinstructions lmentaires
crit dans un langage de programmation

Excut par un ordinateur afin de traiter les donnes dun problme


et renvoyer un ou plusieurs rsultats

BTS IRIS 1re anne Introduction la programmation et algorithmique

Environnement de programmation
Programme scrit dans un fichier texte On crit les commandes les unes la suite des autres
Le compilateur vrifie la syntaxe du fichier texte

Avaancer au lieu de avancer

traduit en langage machine (100101100101001011)

Hlas, il ne dtecte pas les bugs !!! Si on fonce dans le mur, il ne nous dit rien !
Introduction la programmation et algorithmique

BTS IRIS 1re anne

Environnement de programmation
Environnement de programmation ddi
Fichier source Fichier traduit

compilateur

Affichage des Erreurs

BTS IRIS 1re anne Introduction la programmation et algorithmique

Programmation
Un programme est ralis dans le but deffectuer un

ensemble de traitements particuliers sur un ensemble de donnes


Dfinir sous quelle forme les donnes initiales seront

fournies lapplication Dfinir sous quelle forme les rsultats seront communiqus Expliciter les diffrentes actions raliser pour raliser cette tche
BTS IRIS 1re anne Introduction la programmation et algorithmique

Donnes et traitements
Donne : valeur stocke variable ou constante Type Traitement : oprations sur les donnes instructions
Donnes initiales
Traitements

rsultats

BTS IRIS 1re anne Introduction la programmation et algorithmique

Analyse du problme
Dcomposer la tche
Exemple simple : moyenne de 10 notes
notes saisies
Calculer Moyenne

moyenne affiche

saisie clavier

Lire et stocker les donnes notes

Additionner les donnes notes et stocker donne somme

Diviser la donne somme par 10 et stocker la donne moyenne

Afficher la Donne moyenne

affichage cran

BTS IRIS 1re anne Introduction la programmation et algorithmique

Sous programme
Sous-programme Diviser pour mieux rgner Intrts : Programmer tche par tche Meilleure lisibilit du code conomie de codage et rutilisation Inconvnients : Ncessite de rflchir en blocs de fonctionnalits

BTS IRIS 1re anne Introduction la programmation et algorithmique

O on apprend rellement programmer

BTS IRIS 1re anne Introduction la programmation et algorithmique

10

Algorithmique
Un peu de vocabulaire Algorithme : enchanement des actions (instructions) ncessaires pour rsoudre un problme Diffrentes appellations

langage algorithmique pseudo-langage de programmation pseudo-code)

BTS IRIS 1re anne Introduction la programmation et algorithmique

11

Organisation dun programme


Exemple dun programme :
PROGRAMME monProgr /* Constantes: initialisation obligatoire */ CONST const1 <- 10 : entier const2 <- "bonjour!" : chane // les variables au sens strict VAR varReel1, varReel2 : rels varChaine : chane DEBUT Instruction1 Instruction2 FIN

dclarations

Corps du programme

O on se rend compte quun ordinateur nest quune succession de boites !

BTS IRIS 1re anne Introduction la programmation et algorithmique

13

Les donnes
Donnes = ensemble des informations manipules

par un programme
Les donnes d'un programme sont mmorises en

mmoire centrale dans des variables (sortes de cases)

BTS IRIS 1re anne Introduction la programmation et algorithmique

14

Notion de variable
Une variable possde : une valeur contenue par la case mmoire un identificateur : nom unique par lequel on peut accder son contenu un type qui dfinit la taille de la place occupe

Ne pas confondre la variable et son contenu


Une variable est un contenant (case ou bote) Le contenu d'une variable est une valeur numrique,

alphanumrique

BTS IRIS 1re anne Introduction la programmation et algorithmique

15

Variable
Une variable (VAR) est donc une boite dans laquelle on met une valeur (un nombre, un mot) qui peux changer (si lutilisateur modifie la valeur

par exemple)

Les variables dont la valeur ne change pas au cours de l'excution du programme sont appeles

variables constantes (CONST)

BTS IRIS 1re anne Introduction la programmation et algorithmique

16

Dclaration de variable
Dclarer une variable : rserver une place en mmoire attribuer l'identificateur cette place La dclaration indique : lidentificateur le type Exemple : VAR maVar : rel

BTS IRIS 1re anne Introduction la programmation et algorithmique

17

Types (1)
Type caractre lettres, chiffres, ponctuation, code des oprations, espace, retour chariot, Exemples : a + .
Type chane de caractre suites de caractres Exemples : bonjour cac40

BTS IRIS 1re anne Introduction la programmation et algorithmique

18

Types (2)
Type entier les nombres entiers Exemples : 3 45
Type rel les nombres rels Exemples : 3,14
133

37,7

BTS IRIS 1re anne Introduction la programmation et algorithmique

19

Types (3)
Type boolen que deux valeurs possibles soit VRAI, soit FAUX

BTS IRIS 1re anne Introduction la programmation et algorithmique

20

Exemples de variables
Mmoire centrale (mmoire vive)

Identificateur : X Type : entier Valeur : 25


X 25

Identificateur : Y Type : rel


Y 3,7

Valeur : 3,7

BTS IRIS 1re anne Introduction la programmation et algorithmique

21

O laddition devient complique

BTS IRIS 1re anne Introduction la programmation et algorithmique

22

Oprateurs
Les oprations possibles sur les variables dpendent de

leur type
On ne peux pas multiplier des mots

BTS IRIS 1re anne Introduction la programmation et algorithmique

23

Rels
oprations possibles addition soustraction multiplication Division comparaisons symbole ou mot cl + * / <, , >, , =,

BTS IRIS 1re anne Introduction la programmation et algorithmique

24

Entiers
oprations possibles addition soustraction Multiplication Division Division entire Modulo Comparaisons symbole ou mot cl + * / DIV MOD <, , >, , =,
BTS IRIS 1re anne Introduction la programmation et algorithmique

25

Caractres
oprations possibles comparaisons symbole ou mot cl <, , >, , =, (exemple a < z)

BTS IRIS 1re anne Introduction la programmation et algorithmique

26

Chanes
oprations possibles Concatnation Longueur Extraction symbole ou mot cl & Longueur (chane) Extraction (sous-ch, ch)

BTS IRIS 1re anne Introduction la programmation et algorithmique

27

Boolens
oprations possibles comparaison ngation conjonction disjonction symbole ou mot cl =, NON ET OU

BTS IRIS 1re anne Introduction la programmation et algorithmique

28

Rappel
PROGRAMME monProgr /* Constantes: initialisation obligatoire */ CONST const1 <- 10 : entier const2 <- "bonjour!" : chane // les variables au sens strict VAR varReel1, varReel2 : rels varChaine : chane DEBUT Instruction1 Instruction2 FIN
BTS IRIS 1re anne Introduction la programmation et algorithmique

dclarations

Corps du programme

29

BTS IRIS 1re anne Introduction la programmation et algorithmique

30

Instructions
Instruction = ordre que peut excuter l'ordinateur
excution d'un programme : changes d'informations en mmoire Calculs Affichage des rsultats

BTS IRIS 1re anne Introduction la programmation et algorithmique

31

Informations
Les informations manipules par les instructions

peuvent prendre plusieurs formes:


des variables des constantes des valeurs littrales ("bonjour", 45, VRAI) des expressions complexes : combinaisons de variables,

constantes et valeurs littrales avec des oprateurs (2 * r * 3.14)

BTS IRIS 1re anne Introduction la programmation et algorithmique

32

Les instructions lmentaires


Affectation : le fait de donner une nouvelle valeur

une variable (mettre un nombre dans une boite) Saisir : Permet lordinateur de rcuprer ce que lutilisateur tape au clavier afficher : Permet lordinateur dafficher sur l'cran ce quon veux (le rsultat dun calcul, une variable)

BTS IRIS 1re anne Introduction la programmation et algorithmique

33

L affectation
Syntaxe : Variable <- Valeur
Valeur value partir dune expression : Variable (le contenu dune autre boite) Constante (une valeur fixe : PI) valeur littrale (3 6 5.12) expressions complexes (un calcul)
BTS IRIS 1re anne Introduction la programmation et algorithmique

34

Exemples
X <- Y
X <- 25 X <- 3,3 C <- a maChaine <- bonjour B <- VRAI X <- 25 + Y + 3

BTS IRIS 1re anne Introduction la programmation et algorithmique

35

Diffrence avec le = mathmatiques


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 que la premire variable va prendre la valeur de la seconde
Le contenu de la premire boite sera le mme celui de la

seconde boite Mais si on modifie le contenu de la seconde boite aprs, a na pas dimpact sur le contenu de la premire boite !
BTS IRIS 1re anne Introduction la programmation et algorithmique

36

Exemples
Algo : Maths :
Algo : Maths : Algo : Maths :

x <- y x = y

diffrend de y <- x quivaut y = x


impossible ! a un sens a un sens impossible
BTS IRIS 1re anne

x + 12 <- y x + 12 = y x <- x + 7 x = x + 7

Introduction la programmation et algorithmique

37

La saisie
Syntaxe : Saisir variable1 [,variableN]*
Permet un utilisateur de communiquer des donnes

au programme Assigne une valeur entre au clavier dans une variable Tant que l'utilisateur n'entre rien au clavier, le droulement du programme est stopp

BTS IRIS 1re anne Introduction la programmation et algorithmique

38

Exemples
Saisir x Saisir x, y Saisir a, b, c, d, e, f

BTS IRIS 1re anne Introduction la programmation et algorithmique

39

Avantages
Utiliser le mme programme pour des donnes

diffrentes Sans instruction de saisie (ou de lecture sur un priphrique quelconque), un programme fournirait toujours le mme rsultat

BTS IRIS 1re anne Introduction la programmation et algorithmique

40

Piges
Saisir une valeur ne correspondant pas au type de la

variable o elle doit tre stocke


Essayer de mettre un mot dans une variable de type texte

Lutilisateur peut penser que le programme sest arrt Si il ny a rien daffich, lutilisateur ne voit quun curseur clignotant

BTS IRIS 1re anne Introduction la programmation et algorithmique

41

Laffichage
Syntaxe : Afficher variable1 [, variableN]*
L'instruction d'affichage permet de fournir des

rsultats l'utilisateur travers l'cran

BTS IRIS 1re anne Introduction la programmation et algorithmique

42

Exemples
Afficher x
Afficher bonjour Afficher x, y, z Afficher x + y Afficher le rsultat de x + y est : ,

x + y
On peut afficher plusieurs trucs la suite grce la virgule !
BTS IRIS 1re anne Introduction la programmation et algorithmique

43

Avantages
Permet de fournir un rsultat
Permet de guider lutilisateur Permet dafficher des valeurs intermdiaires Permet de dbuguer

BTS IRIS 1re anne Introduction la programmation et algorithmique

44

Exemple complet
PROGRAMME bonjour CONST bj <- Bonjour : chane mr <- Monsieur : chane varNom, ch : chane

VAR

DEBUT Afficher Quel est votre nom ? Saisir varNom ch <- mr & varNom Afficher bj, ch FIN
BTS IRIS 1re anne Introduction la programmation et algorithmique

45

BTS IRIS 1re anne Introduction la programmation et algorithmique

46

Raliser un algorithme : exprimer en pseudo-code les rgles de traitement dun problme pour le soumettre un ordinateur (par un programme)
Les donnes dun programme sont mmorises dans des variables qui sont des cases mmoire Les instructions permettent de manipuler et de dplacer une donne d'un endroit un autre de la mmoire
BTS IRIS 1re anne Introduction la programmation et algorithmique

47

Une variable est un contenant, qui contient une et une

seule valeur un moment donn. Elle est caractrise par


un identificateur (son nom) une valeur (qui peut varier au cours du programme, sauf pour les

constantes) un type (qui dtermine sa taille et les oprations 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 entre au

clavier) l'affichage (permet d'crire le contenu d'une variable ou d'une expression l'cran)
BTS IRIS 1re anne Introduction la programmation et algorithmique

48