r
Cela faisait un moment que APTEP-INFO n'avait pas publié de travaux portant sur des programmes écrits en langage évolué •
Marc OUZIAUX nous donne l'occasion de combler cette lacune, en nous envoyant l'article suivant :
MARC OUZIAUX
Professeur au Lycée BAGGIO de LILLE 42 Bis rue Faidherbe
59 139 WA'ITIGNIES
1 PRESENTATION 1
Dans le cadre de séances d'informatique en classe de
Mathématiques ,Spéciales Technologiques, on peut":'
soit familiariser l'élève à ·l'utilisation de. logiciels
aidant le mécanicien pour Ja détermination d'éléments intervenant
dans la conception d'un mécanisme ( roulements par exemple )
.
.'·
soit lui faire entrevoir comment pourrait s'élaborer le
logiciel en question.
L'étude proposée· suit cette deuxième démarche.· Elle utilise
1 'acquis mathématique de la ·classe pour b~tir le coeur d'un
logiciel de résistance des matériaux qui déterminerait l'effort.
tranchant et le moment fléchissant d'ùne poutre charg~e.
i
Sa longueur a volontairement été· limitée de fa~on que
l'exercice demandé puisse etre réalisé au cours d'une séance
d'une durée de deux heures.
CALCUL DES DIAGRAMMES D'EFFORT TRANCHANT
ET DE MOMENT FLÉCHISSANT
PAR LA MÉTHODE DES MATRICES TRANSFERT
1) PRINCIPE
1-1) Etude du tron~on n (q=c:te) "T.c;. ·~ G
""r_..._.__..-:-:-1...-~.L.
11\~1
-'·-· _ _ _ ___.j~
:D GT\
Il\. Dl.r1
1'1\-' G-1~2)Etude de la frontière nIF~
G l>'f1"'
=- \\,_1
_cr\.:o
ç;
- t't\.o~-1. 1 l'tl. ;:. /)\, - 1'1\. tYr\ 0\.. 1'1\~'i G- ~cr lil:I · ll: :
~~J
·
l:
t'tl\ -ati'\C&. ~~ ~ÙEI
1-3)6énéralisation;exemple : poutre comportant cinq tron~ons
0 ~ t 2> ~
s
1 '1. 1 3 1 ~ 1
s
!
"""t.\'r~<:UrroM-W1o ç.,_
fi.
ç::-, Ç'" ~='s f"tt\a)'n:~ frO'II. )ofi.S .:I)'i. ~ :p:!» !D"' !J)s1-4) Exemple de conditions aux limites avec deux appuis aux extrémités 2)EXEMPLE t-f o't.,..T~ov.,~: ("'\ 'ï!.rr\<:lo \:cor. ~"'s (\ ~~r•~- Çro~~.'r..:irG.I (\ 'ô-fr( ta.-\ C' 2>f\S ~ e.J; o,tl'll\ 0,2.1'11\ o,t""" E~ ~'='-F:i. -rol "\.21 "~ 1/1.\
-- ' l e . . ql.M ~l::.5oooxqz.
~~ .. -:l.ooo. tJ'" .t,l'-q;-
=
Sooo. o,~=-..l.oen..N' .e, t -r~t -rsvs
~3) EXERCICE DEMANDÉ On donne
program T _Mf;
type matrice=array(1 •• 3,1 •• 3J of real;
var Dl,Ei,Fl,T1,T2,T3,T4,T5,S,P,M :matrice; type vecteur=array[1 •• 3,L •. ~1] of real;
var A,Vl,V2,V3,V4,V5,B,U,V :vecteur; var i,j,k :integer;
var t:real;
var car,let:char;
procedure mult_mat(var P,Fl,Dl:matrice); begin
for i:=l tc 3 do for j:=l tc 3 do begin t:=O;for k:=l ta 3 do t:=t+Fl[i,kl*Dl[k,j]; P[i,j]:=t; end; end; On demande: procéd~re --- ~---~---~ INITIALISATION des MATRICES procédure - - - - et des VECTEURS
procédure;--
·--L---~~-=~~~~~~---~ ENTRÉE des MATRICES TRON
ENTRÉE des MATRICES FRONTI~RE procédure ---- CALCUL des MATRICES TRANSFERT
CALCUL du VECTEUR d'ÉTAT A
procédure
-oui non
1 EXEMPLE DE SOLUTION
program T _Mf;
type matrice=array[1 •• 3,1 •• 3J of real;
var D1,E1,F1,T1,T2,T3,T4,T5,S,P,M :matrice; type vecteur=array[1~.3,1 •• 1J of real;
var ~,V1,V2,V3,V4,V5,B,U,V :vecteur;
var i,J·,k :integer; var t:real;
var car,let:char;
procedure initm(var D1:matrice); begin
for i:=1 to 3 do for j:=l to 3 do Dl[i,JJ:=O; end;
procedure initv(var V:vecteur); begin
for i:=l to 3 do V[i,l]:=O; end;
procedure entre_mat(var Dl:matrice; var car:char); begin
for i:=l to 3 do begin for j:=l to 3 do begin
end;
write( · ·,car,' [; ,i, ·, · , j , ']=? ') ;read(D1[i,jJ); end;
writeln; end;
procedure addit_mat(var S,Fl,Dl :matrice); begin
fo~ i:=l tc 3 do for J:=l to 3 do S[i,j]:=F1[i,j]+D1[i,j]; end;
procedure mult_mat(var P,Fl,Dl:matrice); begin
for i:=! to 3 do for j:=l to 3 do begin
end;
t:=O;for k:=l to 3 do t:=t+Fl[i,kl*Dl[k,j]; P[i,j]:=t;
end;
procedure sortie(var U,V:vecteur ;var M :matrice); begin for i:=l to 3 do begin end; t:=O;for k:=l to 3 do t:=t+M[i,kJ*V[k,l]; U[i,l]:=t; end;
....
Att~k
ck
la
?5e
56
begin ($Programme Principal$) .
initm(D1) ;initm(El) ;initm(F1) ;initm(T1) ;initm(T2) ;initm(T3) ;initm.(T4);. initm(TS) ;initm(S) ;initm(P) ;initm(M); · . ·
initv(A);initv(V1);initv(V2);initv(V3);initv(V4);inity~VS).;initv(B);i~itv(U);
initv(V);
repeat;clrscr;
writeln('CALCUL DES VALEURS DE L''EFFORT TRANCHANT'); writeln('ET DU MOMENT FLECHISSANT PAR LA METHODE'); writeln(' DES MATRICES TRANSFERT '); writeln('entrée des matrices tronçons');writeln; car:='d';
entre_mat(D1,car);writeln; car:='e';
entre_mat( El., car); wri te ln;
writeln('entrée de la matrice frontière');writeln; car:=·'f'; entre_mat(F1,car);writeln; mult_mat(T1,E1,D1); mult_mat(T2,E1,T1); addit_mat(T3,T2,F1); mult_mat(T4,E1,T3); mult_mat(TS,E1,T4); A(1,1]:=0; A(2,1]:=-T5(1,3]/T5(1,2];A(3,1]:=1; sortice(Vl,A,Dl); sortie(V2,A,T1); sortie(V3,A,T2); sortie(V4,A,T3); sortie(V5,A,T4); sortie(B,A,T5); c 1 rscr; writeln('frontière writeln( 'A writeln('V1 writeln( 'V2
.
,'
effort tranchant en N ',A(2, 1] :8:2,' ',V1(2,1]:8:2,' -','moment fléchissant en mN'); A(1,1] :8:2); V1(1,1]:8:2); wri te ln ( · V3 writeln( 'V4 writeln( 'V5 writeln( 'B gotoxy(20,24); ' , V2 ( 2 , 1 J : 8 : ~ , ' ' , V3 ( 2 , 1 J : 8 : 2 , ' ',V4(2, 1] :8:2,' ',V5(2,1]:8:2,' , ,8(2,1]:8:2,' write('voulez-vous continuer 0/N ?'); readln (let); until(let='n') or (let='N'); end. V2 ( 1 , 1 J : 8 : 2 ) ; V3(1,1J:8:2); V4[1,1]:8:2); V5[1,1]:8:2); 8[1,1]:8:2);' VALEURS PARTI CUL I ERES
1
CALCUL DES VALEURS DE L'EFFORT TRANCHANT
ET DU MOMENT FLECHISSANT PAR LA METHODE
· DES MATRICES TRANSFERT
entrée des matrices tronçons d[1,1]=? 1 d[2,1J=? 0 d[3,1]=? 0 d
c
1 , 2 l =?-o .
2 · dc
1 ,:s
l =?o
d[2,2]=? 1 d[2,3]=? 0 d[3,2]=? 0 d[3,3]=? 1 e[1,1l=? 1 e[2,1J=? 0 e[3,1]=? 0 e[1,2J=? -0.2 e[2,2l=? 1 e[3,2]=? 0 entrée de la matrice frontièref[1,1]=? 0 f[2,1]=? 0 f[3,1]=? 0 f[1,2]=? 0 f[2,2]=? 0 f[3,2]=? 0 e[1,3]=? 100 e[2,3]=? -1000 e[3,3]=? 1 f[1,3]=? 0 f[2,3]=? -2000 f[3,3]=? 0