Professional Documents
Culture Documents
Texte
Son
Images
mesures
Traitement
Informatique
Donnes
Rsultats
Entres
Sorties
Texte
Son
Images
mesures
"
# $
Texte
=> Fichier source
COMPILATEUR
Langage de
programmation
Logiciel
install dans
l'ordinateur
Application
autonome
Fichier
excutable
%
Langage Evolus :
C, Pascal, Fortran, Basic
Visual Basic, LabVIEW
Assembleur
Compilation = Traduction
Langage Machine
Le seul comprhensible
par l'ordinateur
&
$
" '
(
# $
"
(
!
"
)
-
" ,
!
%
A lg o r it h m e
S u it e d 'in s t r u c t io n s q u i u n e
f o is e x c u t e s c o r r e c t e m e n t
c o n d u it u n r s u lt a t d o n n
A lg o r ith m iq u e
S c ie n c e q u i t u d ie la
s t r u c t u r e lo g iq u e d e s
p ro g ra m m e s
'
%
Pascal
Fortran
Algorithme
LabVIEW
Visual Basic
- ,
/0
/
/1
/2
Basic
"#
3456!
'
'
, '
'
,
!
!
)
1&
7 1 8&,8
9!3
$
3446!
:!
!
-
,'
"
"
%
)
!
$%
' )
)
'
'
0
7 )
1
'
>
)
<
<
'
)
'
$
')
<
'
%
"
'
1
- ")
=
=
!
#
>=
=
' *
)
'
<
<
=!
!
&$%
"
)
o
o
o
o 0
o
>
' @
o
'
o 0
o
/ o
>
<
;
A
) !
B!
"
$-
) !
$!
"
1re variable
FACE AVANT
2me variable
'
,
o
o
o
o
*
<
$ '
"
>=
!
C * ?
'
<
, '
:?
'
=!
Bouger
l'ensemble
(diag ou FA)
Texte
Pipette (copier
une couleur)
Colorer un objet
Pour cbler
'
<
=!
*
"
B' ,
) *
'
!
! ' (
(
)
"
$
)
)
(
)&
$
"
F3
FG
)*
;
;
- !
&
!
!
)
"
)
'$
LA MEMOIRE :
Empilement
d'octets
'
)
o
o
'
"
%
#
PALETTE DE COMMANDES
'
"
PALETTE DE COMMANDES
)
&
"'
)
' @"
'
!
)
$%
+, - ./ /0+1
CODAGE SUR UN OCTET
de 00000000 11111111
de
28 -1 = 255
positif
Type char (langage C)
Type I8 en LabVIEW
Complment deux
4. 0
de
27 -1 = 127
de 11111111 10000000
f
ngati
' +22 0 1 0- 3
de 00000000 01111111
+0, 0.
de
-1
" #
- 27 = -128
+, - ./ &+1 .
CO DAG E S UR DE UX O CTE TS
S ans b i t d e si gne
V aleurs dcim ales possibles
de
2 16 -1 = 65535
A vec b i t d e si gne
p o s it i
Type int (langage C)
Type I16 en LabV IE W
n g at
Com plm ent deux
&$%
f
de
2 15 -1 = 32767
de
-1
- 2 15 = -32768
if
!
Un nombre virgule flottante peut toujours s'crire :
+ 0,662 * 2 - 26
Signe : 1 bit
Exposant :8 bits
Mantisse : 23 bits
8 bits
23 bits
11 bits
52 bits
15 bits
64 bits
*$%!
Vraie : True
Variable Boolenne
Fausse : False
Codage sur 1 seul bit
N'existe pas dans tous les langages :
OK en labVIEW mais pas en C !
'
! ' (
(
&
&)
'$
3!3
"
&)&
HI!
'
;
(
&)*
)
"
" '
"
!
(
&)5
)
"@
"
"
*
(
oui
Contact appuy ?
non
Arrt moteur
Organigramme
Pseudo code
'
Dbut
Si condition vraie
alors instructions 1
sinon instructions 2
Suite
Dbut
oui
Condition
Instructions 1
non
Instructions 2
Suite
Une
structure
conditionnelle
(structure de choix) permet de
raliser une suite d'instructions
ou une autre, en fonction du
rsultat d'un test.
"
Un seul diag
visible la fois
La transmission des
donnes se fait via un
tunnel d'entre ou de
sortie.
La condition :
met en jeux
un oprateur
de
comparaison
Le rsultat boolen de la
condition est connect au
slecteur ?
Le diagramme
cach
"
Les structures
conditionnelles
peuvent
tre
imbriques
Diagramme cach
! ' (
%
$
H
J
*
H !
'$
G!G
'
)
$
'
5
(
Lire contact
oui
Contact appuy ?
non
Arrt moteur
Organigramme
Pseudo code
"
La boucle While permet la rptition d'une suite
d'instruction tant qu' une condition est vraie.
Instructions du dbut
Faire
instructions rpter
tant que condition
suite du programme
Dbut
Instructions
rpter
non
Condition
oui
2 6/ 7
0+2
, 4
+0.0 .
.,4 2 048
+)
"
"
Diagramme rpt
Terminal conditionnel
Terminal d'itration :
compte les rptitions
,
Pseudo code correspondant :
Variable N type entier
Variable compt type entier
N 100
Faire
compt
N-1
afficher compt
attendre 1s
tant que N >0
Fin
&
Le wagon doit faire 10 aller-retour.
Dbut
i
oui
non
i=9
aller-retour
Fin
i+1
Organigramme
Pseudo code
!
La boucle FOR permet la rptition d'une suite
d'instructions un nombre prdtermin de fois
Instructions du dbut
Pour i = 0 N-1, faire :
instructions rpter
i
i+1
suite du programme
Dbut
i
oui
non
i = N-1
Instructions
rpter
i
i+1
Suite
Non ralis si N = 0
Organigramme
2 6/ 7
0+2
, 4
+0. . ,4 2 048
+)
"
Diagramme rpt
Nombre de tours de
boucle
Terminal d'itration :
compte les rptitions
!
Modifications par l'utilisateur
prises en compte
9 11 5)
I
GI
'
'
1 &!
9 11 5)&
K<
=!
9 11 5)*
)
GI
I
"
"
#
" $
LA MEMOIRE :
Empilement
d'octets
Tab[0]
Tab[1]
Tab[2]
&
'
(
"
Tableau vide
&
Indice du 1er
lment visible
Tableau de variables
numriques
&
)+
,
-
Tableau vide
Tableau de variables
numriques
(
" $
"
*
&
(
&
'
(
$% 0 0 4
"
&$% 0.+
Pas d'indexation :
la dernire valeur
calcule au dernier tour
de boucle est transmise
via le tunnel de sortie
/01
:)
3I
GI!
)
!
(
I
:)&
3-
GI! <
'$
"
3I
=!
6
#
"
!
:)*7
L
M"
'
'
'
#2/
,
,
2/ ,
& %
&
,(
$N
0 /0 ./
:)57
L
M"
.; <
=%
% $ N $ /3 D
24 6/ ,
D !
2
2 9> ;
'
.+06;
2 6/
'
'
#2/
!
!
,
,
2/ ,
& %
&
0
(
%
$N
,(
D !
!
%
N<
$N
N
=?M N
$ /3 D
D
< ? =3?M N
< ? =?M
D
N
< ? =3?M
P ! < ? =?M Q
$N
0 /0 ./
-4+24 6/ ,
2 9> ;
$ N ! P< ? =3?M Q
,
.+06; < % =%
?
7 " @ A+ 2
Le rle du graphe droulant : Waveform Chart est d'afficher
l'volution temporelle d'une donne variable dans le temps.
)
A chaque instant le graphe ne reoit qu'une donne la fois :
Ce n'est pas un tableau de valeurs.
Par programmation, il faut donc rpter l'envoi
des donnes au graphe, le terminal graphe
doit donc tre dans une boucle while.
9 2 3 , 0.
" 7
Gnration d'un
nombre alatoire
' @
) !
LE FORMATAGE DU GRAPHE
7 " @ A+ 2
donne
5
10
15
20
25
30
35
40
9 2 3 , 0.
" 7
L'indice du point
(n ligne du tableau)
Le Graphe est un indicateur
de type tableau.
Par dfaut son type est DBL.
Cet indicateur reoit toutes les valeurs la fois,
il doit tre hors de la boucle.
3. +0, 0.
" 7
Connecter le tableau
des abscisses ici
Connecter le tableau
des ordonnes ici
9 2 3 , 0.
" 7
Trac de courbe,
chelle linaire :
xi = xd + i * (xf-xd)/N
apparat
automatiquement
On dispose ici
d'un cluster
(assemblage)
de 2 tableaux.
!' (
(
?) 7
,4 +/30
R
R
#N 3I
) !
(
$
'
'
' *
,
1 &!
?)&7
$
! 3II
!
(
?)*7
( 41 33 304
'
$!
M" "
! '
(
<=N
$
<G
D =
) !
!
?)57
( 41 33 3+-
% L <=N GI
2 6/
'
P3 ? <3 D < !G =G =Q
,
'
) !
<
ST!
B
C
(
EXEMPLE : Programmer n!
On sait que n! = (n-1)! . n
Pour calculer n!, il faut avoir d'abord calcul (n-1)!
Pour calculer (n-1)!, il faut avoir d'abord calcul (n-2) !
Pour calculer (n-2)!, il faut avoir calcul (n-3)!
Etc ....
4
A la ime itration,
on utilise le rsultat
calcul l'itration
prcdente
"
On utilise des registres dcalage dans les boucles For et dans les
boucles While pour transmettre des valeurs d'une itration l'itration
suivante.
Au ime tour de boucle, la valeur
calcule est fonction
de la valeur calcule au tour prcdent
6
5# /
5#
5 #2/
!!
Factorielle n
<' 74
7
,@
8 N<
/3
OG
= ?U
9
6
)
9
5# /
6
5#
)
9
6
5 #2/
Tirer avec la
souris pour
disposer de la
donne
transmise par
la i-2me
itration
Affichage sur un
graphe droulant de
la moyenne des trois
derniers
nombres
alatoires gnrs
/
0
!"
&
"
'
!
(
0)
B)
'
"
'$
.!G
!
(
B)&
#
(
L
3I
8
'$
$
$
B)*
.!U
,
% #
%
$
"
"
3 /9
36
+/13. 2
3I
.A+ 142 0 1 1
,'
D3I!
I!
Langage classique :
Langage LabVIEW :
Flot d'instructions
Flot de donnes
@
Les instructions crites
s'excutent squentiellement
On ne matrise pas
l'ordre d'excution
des instructions
"
tape 1
diag 1
tape 2
diag 2
tape 3
diag 3
Etc ...
<
"
'$
!
!
!#
!
Cette structure est souvent utilise
en informatique d'instrumentation
tape 1
tape 2
Configuration
Acquisition
carte d'acquisition Sortie Commande
tape 3
RAZ carte daq
!$
!
)
'
'
,'
'
&
A
*
,)
(
!
D) 7
. $
$
G
'
!
E
!
&
)
<
!
)
" +
'$
!
" )
)
)
!
<)
<3ID =W !
="
'
'
)
"
,
*
'$
" )
"
!
33
*!
7
M
'
"
!
,
'E
' )
)
!
*
)
"'
' @
'
)
'
!
! &
, )
"
'
,'
)
"
,
'
'E !
"
'E
'E
*
,
"
'
'E
/
"
!
,'
0
7
%
"
) , )
'E
!<
!
*
'
=!
"
' (
(
E) 7 +2
/ 8 F.4 4..
#
'
!
<=
2/B
&
&
(2/B
E/
/B
3X?
<
GI
<: )
=
'
!
2F
F
;
(8/B
DC
GX?C
<=
YZ!
=
'
<=
#
Sorties interdites
Tous documents manuscrits autoriss
Accs rpertoire personnel autoris
Tlphones portables interdits
!
!
!
"
!"#
$ % &'(
)*
# )*#
*
EXERCICE 2 6 pts (4+1+1)
Un projectile est lanc dans le champ de pesanteur terrestre avec une vitesse initiale V0
faisant un angle avec lhorizontale, partir dune position initiale de coordonnes (0,0).
Les frottements tant ngligs, les quations horaires des coordonnes cartsiennes du
centre dinertie sont :
"5
B E E IB=
H>02
5 B
B E B E /BB
&
'7J
$ %
&
#
'
*
/0
(
#
)
+ ,-
&
*
1
(
3
/0
'
&
4
*
N.B : Avec les valeurs de V0 et de proposes, le pas temporel pourra tre t = 0,1
et le nombre de points N = 100.
>
>
"*
*
2/ Raliser un programme qui affiche la variable yi pour i allant de 0 9 sur un graphe
droulant sachant qu la ime itration :
yi = (xi + y i-1 ) / 2
xi est un tableau de commandes numriques initialis (1, 0, 0.)
Le droulement du graphe sera temporis par une attente de 100 ms.
Lensemble du programme tournera en boucle et sarrtera par appui sur un bouton
STOP.
*