Vous êtes sur la page 1sur 33

Lyce Diderot BTS I.R.I.

LES BASES DE LA PROGRAMMATION

G.VALET
Sept 2010 Ve rs i o n 1 . 4

Courriel : genael.valet@diderot.org , URL : http://www.diderot.org

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

UN PROGRAMME, QUEST-CE QUE CEST ?


Introduction

Notion de Programme

Structures de donnes Structures de contrle

A quoi sert un programme ?


Rsoudre un problme donn par calcul et traitement de linformation Exemple de la Navigation GPS :
Problme : Guider lutilisateur pour trouver son chemin Informations traites : Donnes cartographiques et Position GPS (Latitude, Longitude)

Comment sexcute t-il ?


Sur un calculateur (systme informatis) par un ou plusieurs microprocesseurs Squentiellement : Les instructions sont excutes les unes aprs les autres par un processeur ou un processus (Cas du multitche)

Comment crire un programme ?


Avec un langage de programmation
Evolu et indpendant du processeur Machine et donc dpendant du processeur
2

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

TRAITEMENT DES DONNES


Introduction

Notion de Programme

Structures de donnes Structures de contrle

Dfinition
Srie doprations sur des donnes brutes dans le but de produire, transformer, transmettre, analyser ou classifier des informations
Exemple : Le traitement des signaux bruts mis par des satellites permettent de dterminer la distance entre le rcepteur et les metteurs et den dduire la position du rcepteur

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

ENTRE DE DONNES
Introduction

Notion de Programme

Structures de donnes Structures de contrle

Les entres de donnes permettent un programme de traiter linformation Saisie de lutilisateur


Clavier, souris, tablette Clavier virtuel Joystick

Donnes provenant dun capteur


Camra Cellule photolectrique, temprature ,ultra son Capteur de pression, de vitesse

Donnes de communication
Rseau Ethernet, liaison srie Bluetooth, Zigbee, 3G Base de donnes
4

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

SORTIE DE DONNES
Introduction

Notion de Programme

Structures de donnes Structures de contrle

La sortie dun programme donne le rsultat de son traitement


Affichage
Ecran LCD Voyants Message

Commande
Moteur Ouverture de vanne Vrin

Donnes de communication
Rseau Ethernet, liaison srie Bluetooth, Zigbee, 3G Base de donnes

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

ORGANISATION DU TRAITEMENT
Introduction

Notion de Programme

Structures de donnes Structures de contrle

Chane de traitement de linformation

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

EXEMPLE DE SYSTME
Introduction

Notion de Programme

Structures de donnes Structures de contrle

Capteurs
Mesure des grandeurs physiques

Commande
Energie mcanique

Systme uP

Communication
Echanges avec lextrieur
7

Introduction Notion de programme Structures de donnes Structures de contrle

BASES DE LA PROGRAM MATION


Chapitre 2

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

REPRSENTATION
Introduction

Notion de Programme

Structures de donnes Structures de contrle

Reprsentation fonctionnelle

Il est important de savoir reprer les entres/sorties dun programme/systme

Exemple de tri de nombres


Suite { 5 47 25 10 1 23 12 }

Pour rsoudre ce problme, il faut dcomposer le problme en sous problmes plus simples
Comment faire ?
9

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

NOTION DALGORITHME
Introduction

Notion de Programme

Structures de donnes Structures de contrle

Lalgorithme est la rsolution dun problme sous la forme dune srie doprations ef fectuer Exemple du tri de la suite : { 5 47 25 10 1 23 12 }
1re tape : Rechercher le minimum sur une partie du tableau 2me tape : Permuter les lments si un minimum a t trouv Puis rpter les 2 tapes sur une plus petite portion jusqu la fin de la srie

Avant dcrire lalgorithme, il faut dcomposer :

10

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

ECRITURE DE LALGORITHME
Introduction

Notion de Programme

Structures de donnes Structures de contrle

Tri de la suite : { 5 47 25 10 1 23 12 }
k0,n7 Tant que k<n, Faire Rechercher minimum (min) entre k et n Permuter le min trouv avec k kk+1 Fin du Faire

Il reste dterminer lalgorithme de la Recherche du minimum


min k, m k Tant que m<n Si nombre lindice m < nombre lindice min Alors min m Fin du Si mm+1 Fin

11

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

PROGRAMME ET LANGAGES
Introduction

Notion de Programme

Structures de donnes Structures de contrle

Lcriture dun programme passe par lutilisation dun langage de programmation


Le langage permet de dfinir
Une syntaxe (Comme la grammaire en franais) Un jeu dinstructions (Comme les mots en franais)

Exemples :
Java, C/C++, Objective C (iPhone), php, Ada, Ruby, Javascript,

Les langages machine ou assembleur :


Ils sont spcifiques un processeur ou une famille de processeurs Il faut rcrire le programme si on change de processeur

Les langages dits volus


Il ne sont pas spcifiques et il nest pas ncessaire de rcrire tout le programme en cas de changement de processeur Leur syntaxe est plus facile comprendre Ces langages facilitent le travail du dveloppeur grce aux bibliothques de programmes
12

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

ECRITURE DU PROGRAMME SOURCE


Introduction

Notion de Programme

Structures de donnes Structures de contrle

Le code source du programme est un fichier texte contenant une suite dinstructions
Lensemble des instructions autorises dpend du langage utilis La syntaxe aussi

Comment crire un programme source ?


A laide dun simple diteur de texte Ou avec un IDE : Integrated Development Environment
Beaucoup de fonctionnalits Permet aux dveloppeurs dtre plus efficaces dans les grands projets

Peut-on choisir un langage de programmation ?


Cela dpend du processeur qui excutera le programme Les langage C, Java, Ada permettent de dvelopper pour la plupart des processeurs Comment le savoir ?
Documentation de lenvironnement de dveloppement
13

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

CHANE DE DVELOPPEMENT DUN PROGRAMME


Introduction

Notion de Programme

Structures de donnes Structures de contrle

Cas dun langage compil


Environnement de Dveloppement du programme Bibliothques
Rseau, Maths, graphique, ...

Source du programme
Langage volu (C, ADA, )

Compilateur
Vrification de la syntaxe

Edition de lien
Utilisation ventuelle de bibliothques

Programme
Langage Machine ou Assembleur

Chargement du programme

Systme microprogramm cible Adresse instruction excuter Processeur Instruction excuter


14

Priphriques
Entres/Sorties

Mmoire
Mmoire ROM, FLASH ou RAM

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

CODE SOURCE : EXEMPLE EN C


Introduction

Notion de Programme

Structures de donnes Structures de contrle

Directives de compilation

Dbut du programme
Variable Lutilisateur doit saisir des donnes Cration, ouverture dun fichier

Ecriture des donnes dans Le fichier et fermeture


15

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

LES VARIABLES
Introduction

Notion de Programme

Structures de donnes Structures de contrle

Quest-ce quune variable ?


Cest un symbole associ une valeur ou un objet Sa valeur peut changer pendant lexcution du programme

Caractristiques dune variable


Un nom ou identificateur Un type
Entier, flottant, caractre, chane de caractre,

Une valeur

A quoi sert une variable ?


A stocker temporairement une donne qui va tre utilise dans la suite du programme
Exemple : Longitude et Latitude pour la position dun GPS. Ces variables vont permettre la localisation sur une carte

O est stocke une variable ?


En gnral, dans la mmoire vive du systme Mais aussi dans une base de donnes, dans un fichier,
Si on souhaite quelle soit persistante aprs la fin de lexcution dun programme
16

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

EXEMPLES DE VARIABLES
Introduction

Notion de Programme

Structures de donnes Structures de contrle

En langage C
int a; a=12; a = a +2 ;
Type et nom de la variable Affectation Raffectation

En Ada
a : integer; a := 12; a := a +2 ;

En PHP
$a = 12; $a = $a +2 ;
Typage et affectation Identique au C

En Java
int a; a=12; a = a +2 ;

17

Introduction Notion de programme Structures de donnes Structures de contrle

BASES DE LA PROGRAM MATION


Chapitre 3

18

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

LES STRUCTURES DE DONNES


Introduction

Notion de Programme

Structures de donnes Structures de contrle

Dfinition
Cest une structure logique destine contenir des donnes permettant de simplifier leur traitement et donc lcriture du programme

Exemple dune structure de donnes


Problmatique : Traiter et stocker les valeurs venant dun acclromtre, soit lacclration mesure sur les 3 axes x, y et z Cration dune structure de donnes contenant les 3 valeurs
Captage logique

Acclromtre

Traitement

Stockage

x y z

Structure de donnes

x, y, z
19

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

CATGORIES DE STRUCTURES DE DONNES


Introduction

Notion de Programme

Structures de donnes Structures de contrle

Structures finies
Constantes
Valeur qui ne varie pas

Variables
Valeur qui peut varier en cours dexcution du programme

Structures composes finies


Comme x,y et z de laccelromre

Structure indexes
Les tableaux [1n]
On accde un lment en utilisant son index ou indice

Les tableaux multidimensionnels [1..n][1..m]

Structures rcursives
Liste, arbres, graphes
20

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

LES TABLEAUX A UNE DIMENSION


Introduction

Notion de Programme

Structures de donnes Structures de contrle

Structure indexe
Cest un ensemble dlments (des variables, par exemple), auquel on accde laide dun index ou indice

Exemple : Un tableau de n entiers


Index Valeur

n-1

52

14

13

21

487

254

Pour accder au :
1 er lment : tableau[0] 4 me lment : tableau[3] dernier lment : tableau[n-1]

Exemple en Langage C
int t[5] = { 1, 45, 12, 4, 0 } ; t[4]=7; t[0] = t[0] + t[2] + 10;

0 1

1 45

2 12

3 4

4 0

Avant
Aprs
21

0
23

1
45

2
12

3
4

4
7

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

LES TABLEAUX MULTIDIMENSIONNELS


Introduction

Notion de Programme

Structures de donnes Structures de contrle

Structure avec plusieurs index


Lensemble est assimilable un tableau de tableaux

Cas du tableau 2 dimensions aussi appel matrice


Il sagit dun tableau o chaque lment est un pointeur sur un autre tableau Tab[0][0] 0 Tableau de pointeurs 1 2 3 p0 p1 p2 p3 0 2 1 2 3 4

58 14 12 57 1 3 7 Tab[1][3]

16 12 21 71 5 4 41 85 10 9 76 42

Tab[2][2]

Tab[3][1]

Tab[3][2]
22

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

EXEMPLE TABLEAU MULTI EN C


Introduction

Notion de Programme

Structures de donnes Structures de contrle

Exemple dutilisation dun tableau 2 dimensions Dclaration du tableau 0 1


int tab[3][4] = { {1,2,3,4} , {5,6,7,8}, {9,10,11,12} };

2 3 7 11

3 4 8 12

0 1 2

1 5 9

2 6 10

Oprations sur le tableau


tab[0][1] = tab[2][1] * 2; tab[1][3] = tab[1][3] + tab[2][3]; tab[0][0] = tab[0][1] + tab[1][3]; tab[0][0] = tab[0][0] % 9;

0 0 1 2 4 5 9

1 20 6 10

2 3 7 11

3 4 20 12 0 1

0 40 5

1 20 6

2 3 7

3 4 20 0 1 2

0 1 5 9

1 20 6 10

2 3 7 11

3 4 20 12
23

10

11

12

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

LES STRUCTURES PERSONNALISES


Introduction

Notion de Programme

Structures de donnes Structures de contrle

Possibilit de construire des structures de donnes personnalises En langage C, une structure est un ensemble logique de donnes.
Les donnes sont accessibles par lintermdiaire dun seul ensemble
Dfinition de la structure
Structure accel Dclaration dune variable de type accel

x y z

struct accel { int x; int y; int z; };

struct accel monAccelero;


Initialisation de la structure

monAccelero.x = 2; monAccelero.y = 3; monAccelero.z = 0;

Cette notion sera aborde plus tard dans le cours


24

Introduction Notion de programme Structures de donnes Structures de contrle

BASES DE LA PROGRAM MATION


Chapitre 4

25

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

LE BLOC DINSTRUCTIONS
Introduction

Notion de Programme

Structures de donnes Structures de contrle

Un bloc est un ensemble dinstruction contiges


Dlimit par un dbut et une fin de bloc

Les dlimiteurs peuvent tre :


Des signes de ponctuation Des mots cls Dbut de bloc
int fonction( int a ) { int resultat = 0; resultat = a * a; return resultat; }

Exemple en C
Dbut de bloc Fin de bloc
int a=0; b=1; { a=a+1; b=b+3*a; }

Fin de bloc

Attention : Une variable dclare au sein dun bloc nexiste pas en dehors de ce bloc
26

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

DFINITION DUNE STRUCTURE DE CONTRLE


Introduction

Notion de Programme

Structures de donnes Structures de contrle

Cest une commande qui dfinit lordre dans lequel les instructions dun programme sont excutes
Le passage dune instruction lautre peut tre conditionnelle La structure dfinit un bloc dinstructions

Les dif frents types de structures de contrle


Les fonctions
Un bloc dinstruction peut-tre appel et renvoyer un rsultat

Le if, then, else


Un bloc dinstruction sexcute si une condition est vraie

Le switch, case
Une variable est teste chaque cas dispose dun bloc dinstruction qui lui est propre

Les boucles for , while


Rptition dun bloc dinstruction tant quune condition est vraie
27

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

LA STRUCTURE IF
Introduction

Notion de Programme

Structures de donnes Structures de contrle

Excution conditionnelle
Le rsultat de lvaluation dune expression conditionne lexcution du bloc dinstruction

Langage algorithmique
Si condition vraie Alors Bloc1 Sinon Bloc 2 Fin du Si
Condition

Fausse

Vraie

Bloc 2
Bloc 1

Langage C
if ( condition ) { bloc1 } else { bloc2 }

Fin

28

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

LA STRUCTURE WHILE
Introduction

Notion de Programme

Structures de donnes Structures de contrle

Excution conditionnelle itrative dun bloc dinstruction


Lexcution dun bloc dinstruction est rpte tant quune condition est vraie

Langage algorithmique
Tant que condition vraie Faire Bloc dinstructions Fin tant que

Condition

Fausse

Langage C
while ( condition ) { bloc dinstructions }

Vraie Bloc 1

Fin

29

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

LA STRUCTURE DO WHILE
Introduction

Notion de Programme

Structures de donnes Structures de contrle

Excution conditionnelle itrative dun bloc dinstruction


Lexcution dun bloc dinstruction est rpte tant quune condition est vraie Lvaluation de la condition se fait aprs lexcution du bloc

Langage algorithmique
Faire Bloc dinstructions Tant que condition vraie
Bloc 1

Langage C
Condition

Vraie

do { bloc dinstructions } while ( condition )


Fin

Fausse

30

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

LA STRUCTURE SWITCH CASE


Introduction

Notion de Programme

Structures de donnes Structures de contrle

Excution conditionnelle successive


Selon variable Faire Cas o variable=valeur1 Faire instructions Fin du Faire Cas o variable=valeur2 Faire instructions Fin du Faire Pour tous les autres cas Faire instructions Fin du Faire Fin du Selon switch (var) { 0 : instruction; break; 1 : instruction; break; default : instruction; }

Langage algorithmique Langage C


31

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

FONCTIONS
Introduction

Notion de Programme

Structures de donnes Structures de contrle

Une fonction est un sous -programme rutilisable


Elle utilise un ou plusieurs paramtres Elle retourne un rsultat

Reprsentation
Paramtre 1 Paramtre n

Fonction

Rsultat

Les fonctions peuvent tre incluses dans des bibliothques


Inclure la bibliothque permet dutiliser la fonction

Les fonctions simplifient le codage dun programme


Le dveloppeur peut sappuyer sur un ensemble de bibliothques dj crites Exemples en C : printf(), scanf(),
32

Lyce

Diderot

Section technicien suprieur en Informatique et rseaux

IRIS

Les bases de la programmation

MISE EN PLACE DUNE FONCTION EN C


Introduction

Notion de Programme

Structures de donnes Structures de contrle

Prototype et dfinition
Nom de la fonction Paramtres

Utilisation de la fonction
int resultat;

int fonction( int param1, int param2 );


Type de la valeur de retour

resultat = fonction(50, 14);


Appel de la fonction

int fonction(int param1, int param2 ) { Stockage du int r = param1 * param2; rsultat return r; } Renvoi de r Dfinition de la fonction #include <stdlib.h> int main(void) { char *chaine = "123 " ; int entier = atoi(chaine); }

Pour utiliser une fonction venant dune bibliothque


Inclure la bibliothque stdlib.h contenant la fonction atoi

Appel de la fonction atoi


33

Vous aimerez peut-être aussi