k.amira Posté(e) le 24 février 2008 Signaler Posté(e) le 24 février 2008 posté par simo2309 uses crt,graph; var i2,j2,npro,nfn,nelt,nnt,nnel,ndim,ndl,nnb,nnapp,i,j,pilote,mode,x1,y1,x2,y2,x1f,y1f,x2f,y2f:integer; pp,y11f,x11f,i3,k,nt,n,p,q,n1,n2,nfen:integer; tga,qt,ql,a,b,c,pivot,cosa,sina,lx,ly,l,x21,x11,y11,x22,y22,y21,xmax,ymax:real; alp,ro,x1c,x2c,y1c,y2c,x11c,y11c:real; rox,roy:integer; case1:boolean; f1,f2,f3,f4:text; fd,fr,fdon,fint,nature:string; type co=array[1..6]of integer; di=array[1..3] of real; rest=array[1..6]of integer; rig=array[1..6]of real; gr=array[1..50]of real; var corg:array[1..50]of di; qa,qqa:array[1..6] of real; fen:array[1..50]of rig; f:array[1..50]of real; ff:array[1..50]of real; fff:array[1..50]of real; r:array[1..50]of real; u:array[1..50] of real; uu:array[1..50] of real; connec:array[1..50] of co; res:array[1..50]of rest; fn:array[1..50]of di; prop:array[1..50] of di; tr:array[1..6] of rig; rigid:array[1..6] of rig; grigid:array[1..6] of rig; w:array[1..6]of integer; grig:array[1..50]of gr; procedure don; begin {Lecture des donnes generales} readln(f1,nnt,nelt,nnel,ndim,nnapp,nfn,nfen,npro); {Lecture des coordonnees des noeuds} for i:=1 to nnt do begin for j:=1 to ndim do begin read(f1,corg[i,j]); end; end; {Lecture de la connectivit‚} for i:=1 to nelt do begin for j:=1 to nnel +1 do begin read(f1,connec[i,j]); end; end; {Lecture des conditions d'appuis} ndl:=3; for i:=1 to nnapp do begin read(f1,nnb); for j:=1 to ndl do begin read(f1,res[nnb,j]); end; for q:=ndl downto 1 do begin res[nnb,q+1]:=res[nnb,q]; end; res[nnb,1]:=nnb; end; for i:=1 to nnt do begin res[i,1]:=i; end; {Lecture des charges nodales} for i:=1 to nfn do begin readln(f1,fn[i,1],fn[i,2],fn[i,3]); n1:=trunc(fn[i,1]); n2:=trunc(fn[i,2]); f[3*(n1-1)+n2]:= fn[i,3]; end; {Lecture des charges entre noeuds} for i:=1 to nfen do begin for j:= 1 to 5 do begin read(f1,fen[i,j] ); end; end; {Lecture des proprietes} for i:=1 to npro do begin readln(f1,prop[i,1],prop[i,2],prop[i,3]); prop[i,1]:=prop[i,1]*prop[i,2]; prop[i,2]:=prop[i,1]*sqr(prop[i,2])/12; end; end; procedure impdon; begin writeln(f3,'Nombre de noeuds = ',nnt:2); writeln(f3,'Nombre d''elements = ',nelt:2); writeln(f3,'Nombre de noeuds par element = ',nnel:2); writeln(f3,'Dimension du probleme = ',ndim:2); Writeln(f3); writeln(f3); writeln(f3,'Coordonnees des noeuds'); writeln(f3,'**********************'); case ndim of 3:writeln(f3,'Noeud x y z'); 2:writeln(f3,'Noeud x y' ); end; for i:=1 to nnt do begin write(f3,' ',i:2); for j:=1 to ndim do begin write(f3,' ',corg[i,j]:12:3); end; writeln(f3); end; writeln(f3); writeln(f3); writeln(f3); writeln(f3,'Connectivite des elements'); writeln(f3,'*************************'); writeln(f3,'Element noeud 1 noeud 2 Prop'); for i:=1 to nelt do begin write(f3,' ',i:2); for j:=1 to nnel+1 do begin write(f3,' ',connec[i,j]:10); end; writeln(f3) ; end; writeln(f3); writeln(f3); writeln(f3,'degres de libertes bloquees'); writeln(f3,'***************************'); writeln(f3,'noeud ux uy rz'); for i:= 1 to nnt do begin for j:=1 to ndl+1 do begin write ( f3,' ',res[i,j]:5); end; writeln(f3); end; writeln(f3); writeln(f3); writeln(f3,'charges nodales'); writeln(f3,'***************'); writeln(f3,'noeud dir valeur'); for i:= 1 to nfn do begin writeln ( f3,trunc(fn[i,1]):2,' ',fn[i,2]:0:0,' ',fn[i,3]:9:3); end; writeln(f3,'charges entre noeuds'); writeln(f3,'********************'); writeln(f3,'noeud valeur nature'); for i:= 1 to nfen do begin if fen[i,4]=2 then nature:='CONCENTREE' else nature:='REPARTIE'; writeln ( f3,trunc(fen[i,1]):2,' ',fen[i,3]:9:3,' ', nature); end; writeln(f3); writeln(f3); writeln(f3,'proprietes des elements'); writeln(f3,'***********************'); writeln(f3,'elem Sec iner E'); for i:= 1 to nelt do begin write( f3,i:2,' ',prop[connec[i,nnel+1],1]:5:4,' ',prop[connec[i,nnel+1],2]:6:4,' '); writeln(f3,prop[connec[i,nnel+1],3]:9:4); end; end; begin clrscr; writeln; writeln; writeln; writeln('====================================================================='); writeln('= *************************************************************** ='); writeln('= ='); writeln('= CALCUL DES STRUCTURES PAR LA METHODE DES ELEMENTS FINIS ='); writeln('= ='); writeln('= *************************************************************** ='); writeln('= ='); writeln('= ='); writeln('= Programme de Mr: ='); writeln('= ********************************* ='); writeln('= * SIMO2309 * ='); writeln('= * ETUDIENT * ='); writeln('= * DEPARTEMENT DE GENIE CIVIL * ='); writeln('= * UNIVERSITE MOHAMED BOUDIAF * ='); writeln('= ********************************* ='); writeln('= ='); writeln('====================================================================='); writeln; writeln; writeln; writeln(' APPUIYEZ SUR << ENTER >> POUR CONTINUER'); readln; clrscr; WRITELN; writeln; writeln('DONNEZ LE NOM DU FICHIER DE DONNEES EN INDIQUANT SON CHEMIN D''ACCES'); readln(fd); fdon:=fd+'.don'; assign(f1,fd); assign(f3,fdon); reset(f1); don; close(f1); nt:=3*nnt; rewrite(f3); impdon; close(f3); writeln('Consultez les fichiers:'); writeln(' ',fdon,' pour les donn‚es'); writeln(' '); writeln(' ' ); writeln(' Appyuez pour continuer'); readln; end. Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.