Académique Documents
Professionnel Documents
Culture Documents
Traitement
Informatique
Texte Texte
Son Son
Images Données Résultats Images
mesures mesures
Entrées Sorties
" # $
!
Texte Application
=> Fichier source COMPILATEUR autonome
Fichier
exécutable
$ %
Langage Evolués :
C, Pascal, Fortran, Basic
Visual Basic, LabVIEW
Compilation = Traduction
Assembleur
, ) - " , +
!
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
C
Fortran
Algorithme Basic
( - , . ( %
/0 )
/
/1
/2
! "#
3456! ' ) '
' - , ' ,
!
!
7 1 8&,8 3446!
) 1& ) 9!3 $ :!
!
! ! "
- ,' " ;
%
) %
!
$%
' ) $ %
) '
0 ' < 1 $ =
7 ) < - ") =
1 '
>
) ' !
) !
' ' ? !
&$% ! "
) ' @ %
o
o
o - , -
o 0 !
o >
o '
o 0 < =
o / -
o >
@ ; ) !
A B!
! ! "
$- * A B
) !
$!
"
FACE ARRIERE : DIAGRAMME
1ère variable
FACE AVANT
2ème variable
' , $ $ ' %
o
o
o *
o < " >=
!
, ' '
C * ? ' < :? =!
Bouger
Pour agir sur les l'ensemble
commandes Texte
(diag ou FA)
Pipette (copier
une couleur)
' ) D <
=!
* A B' , ; ' E
" ) * !
! ' (
( )
" "
$ !
) )
( )&
$ F3 FG !
( )*
; - $
; - !
#
& !
!
) ) !
0 ) "
) ) '$ !
LA MEMOIRE :
Empilement
d'octets
o ) %
o # ) % )
!
! "
PALETTE DE COMMANDES
) "' ) ' - !
& ' @" ) !
$
! !
$%
+, - ./ /0+1
de 00000000 à 11111111
Sans bit de signe
positif
de 0 à 27 -1 = 127
Type char (langage C)
Type I8 en LabVIEW de 11111111 à 10000000
f
négati
Complément à deux de -1 à - 27 = -128
CO DAG E S UR DE UX O CTE TS
S ans b i t d e si gne
A vec b i t d e si gne
f
p o s it i
de 0 à 2 15 -1 = 32767
Type int (langage C)
Type I16 en LabV IE W
if
n ég at
de -1 à - 2 15 = -32768
Com plém ent à deux
&$% !
+ 0,662 * 2 - 26
Vraie : True
Variable Booléenne
Fausse : False
!
$ ' %
! ' ( &
( &)
'$ 3!3 # ) !
$ " !
( &)&
' ∆HI!
; !
( &)*
( &)5
!
*
(
Le wagon doit s'arrêter quand il rencontre l'obstacle.
Marche avant
Variable Mav booléenne
Lire contact Variable contact booléenne
Mav 1
Lire contact
oui non
Contact appuyé ? Si contact = 1
alors Mav 0
sinon « aller à 4ème ligne »
Arrêt moteur fin
'
Début
Si condition vraie
Début alors instructions 1
sinon instructions 2
Suite
oui non
Condition
Instructions 1 Instructions 2
La transmission des
données se fait via un
« tunnel » d'entrée ou de
sortie.
"
!
Elle peut être plus complexe et mettre en oeuvre également des opérateurs
logiques.
Les structures
conditionnelles
peuvent être
imbriquées
Diagramme caché
! ' ( *
%
$
H
J
* H !
#
5
(
Le wagon doit s'arrêter quand il rencontre l'obstacle.
"
La boucle While permet la répétition d'une suite
d'instruction tant qu' une condition est vraie.
Instructions du début
Début Faire
instructions à répéter
tant que condition
suite du programme
Instructions
à répéter
non oui
Condition While = Faire... tant que ....
Suite
Diagramme répété
Terminal conditionnel
Terminal d'itération :
compte les répétitions
$ % ,
2 possibilités
$
( &
Le wagon doit faire 10 aller-retour.
Début
La variable i compte les répétitions
(itérations)
i 0
oui non
i=9
Variable i type entier
aller-retour Pour i = 0 à 9
aller-retour
i i+1
i i+1
fin
Fin Organigramme Pseudo code
Instructions du début
Début Pour i = 0 à N-1, faire :
instructions à répéter
i i+1
i 0
suite du programme
oui non
i = N-1
Instructions
à répéter FOR = Pour ... faire ...
i i+1
Suite
Non réalisé si N = 0
Organigramme
2 6/ 7 0+2 , 4 +0. . ,4 2 048 +)
! ! "
Diagramme répété
Nombre de tours de
boucle
Terminal d'itération :
compte les répétitions
Valeur obtenue
au dernier tour
de boucle
! ( 5
9 11 5)
-
I GI ' ' # 1 &!
0 # !
9 11 5)&
K< =!
9 11 5)*
) GI - )
I )
!
: (
! " !
"
# " $
'
(
"
Tableau vide ) *
&
!
Tableau vide
Tableau de variables
numériques
(
" $ %
"
* &
&
'
! (
$% 0 0 4
"
&$% 0.+
Pas d'indexation :
la dernière valeur
calculée au dernier tour
de boucle est transmise
via le tunnel de sortie
! (
( :)
3I
I GI!
8 )
!
( :)&
3I
I GI! < 3- '$ =!
" 6 "
# !
( :)*7 .1.. .,/0 41 33 304 )
#2/ ,
,
2/ ,
& % $ ! % .; < =%
& ( ,( % $ N $ /3 D
0 % $N D !
0 /0 ./ 24 6/ , 2 2 9> ; , .+06; .
#2/ ,
2/ ,
& ( ,( % $N $ /3 D
N P ! < ? =?M Q
#
?
7 " @ A+ 2
9 2 3 , 0. ! " 7
Génération d'un
nombre aléatoire
LE FORMATAGE DU GRAPHE
7 " @ A+ 2
$
9 2 3 , 0. ! " 7
L'indice du point
(n° ligne du tableau)
!
3. +0, 0. ! " 7
Connecter le tableau
des abscisses ici
Connecter le tableau
des ordonnées ici
9 2 3 , 0. ! " 7
Tracé de courbe,
échelle linéaire :
xi = xd + i * (xf-xd)/N
apparaît
automatiquement
On dispose ici
d'un cluster
(assemblage)
de 2 tableaux.
!
!' (
( ?) 7 ,4 +/30
R !
R #N 3I $
' ,
) ! ' * ' 1 &!
( ?)&7
$ R ! 3II
!
( ?)*7 ( 41 33 304
( ?)57 ( 41 33 3+- 2 6/
' '
% L <=N GI P3 ?√ <3 D < !Gπ =G =Q
, !
M ) !
< - =
ST!
!
B
C
EXEMPLE : Programmer n!
Etc ....
4
A la ième itération,
Variable facto type entier on utilise le résultat
Variable i type entier calculé à l'itération
facto 1 précédente
Pour i = 1 à N faire
facto facto.i
En Labview cela se fait
i i+1
grâce au registre à décalage
afficher facto
fin
! "
On utilise des registres à décalage dans les boucles For et dans les
boucles While pour transmettre des valeurs d'une itération à l'itération
suivante.
Au ième tour de boucle, la valeur
calculée est fonction
de la valeur calculée au tour précédent
5# / 6
5# 6
5 #2/
!!
7 * ( *
Factorielle n
La valeur calculée à la
dernière itération sort par
Clic droit sur le bord de la boucle le tunnel du registre
/=>7?7; 7
$ % ,@ # 8 U -
8 N< D D = ?U
/3 OG
!
On répète la mesure périodiquement => boucle while
Pour calculer Mi, on a besoin des valeurs mesurées dans les deux
itérations précédentes.
6 9 )
5# / 9
6 9 )
9
5#
6 9 )
5 #2/
Affichage sur un
graphe déroulant de
la moyenne des trois
derniers nombres
Tirer avec la aléatoires générés
souris pour
disposer de la
donnée
transmise par /
la i-2ème
itération 0
!"
!
Noeud de rétroaction
Initialisation du noeud
de rétroaction pour
le 1er tour de boucle
& , " V ;
' !
! (
( B)
( B)&
L 36 3I ,' O
3I D3I!
8 I!
!
D
@
On ne maîtrise pas
Les instructions écrites
l'ordre d'exécution
s'exécutent séquentiellement
des « instructions »
! "
) * < ) , = !
) " E '$ !
!#
@ !
!
(
Étape 1 Étape 2
Étape 3
Configuration Acquisition
RAZ carte daq
carte d'acquisition Sortie Commande
!$
! !
& *
A ,)
! (
( D) 7 $ '
! . $ G G ) !
E
!
& < =" ) ,
) ! ) ) ' " *
" + , ) !
M "
' !
, 'E ' ) / !
!
) ' "
! * ! ) ' ,
) ' ! & ,' '
"' ' @ ) , ) " 'E !
!
" 'E , % 'E
!
; * /
" , "
' 'E !
) ) ,' !
0 %
7 " %
; ) , ) !
'E * '
!< / =!
"
' (
( E) 7 +2 / 8 F.4 4..
# $ )
' !
<= / !
/ C % & (2/B
E/
/B
2F
F
GX?C ; <= YZ!
IUT BELFORT MONTBELIARD
Dpt MESURES PHYSIQUES
Sorties interdites
Tous documents manuscrits autorisés
Accès répertoire personnel autorisé !
!
2°/ Ajouter une commande sur la face avant représentant un condensateur en parallèle.
Afficher le nouveau cosϕ’ obtenu sur un second vu-mètre.
Afficher le courant nouveau courant I’ consommé sur un indicateur. *
G ϕ
Un projectile est lancé dans le champ de pesanteur terrestre avec une vitesse initiale V0
faisant un angle α avec l’horizontale, à partir d’une position initiale de coordonnées (0,0).
Les frottements étant négligés, les équations horaires des coordonnées cartésiennes du
centre d’inertie sont :
"5 H>02 B α
5 B α
B α B E B E /BB
B E α E IB= & '7J
#
$ % & ' ( )
# * # + ,-
*
. /0 & 1 2
(
3 /0 & 4
'
*
N.B : Avec les valeurs de V0 et de α proposées, le pas temporel pourra être δt = 0,1
et le nombre de points N = 100.
1°/ Réaliser un programme qui affiche la variable yi pour i allant de 0 à 9 sur un graphe
déroulant sachant qu’à la ième itération :
2°/ Réaliser un programme qui affiche la variable yi pour i allant de 0 à 9 sur un graphe
déroulant sachant qu’à la ième itération :
yi = (xi + y i-1 ) / 2