Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Program bac2010;
- Uses Wincrt;
- Type
- tab = Array [1..50] Of Integer;
- Var
- f: Text;
- n: Integer;
- Procedure creation (Var f:Text);
- Begin
- Assign (f,'C:/bac/nombree.txt');
- End;
- Procedure permute(Var x,y:Integer);
- Var
- aux: Integer;
- Begin
- aux := x;
- x := y;
- y := aux;
- End;
- Procedure Tri_Bulles (Var T :tab ; n :Integer);
- Var
- i: Integer;
- echange: Boolean;
- Begin
- Repeat
- echange := False;
- For i:=1 To n-1 Do
- If T[i] < T[i+1] Then
- Begin
- Permute(T[i], T[i+1]);
- Echange := True ;
- End;
- n := n-1;
- Until (Echange = False) Or (n=1);
- End;
- Procedure remplir (Var f:Text;Var n:Integer);
- Var
- i,x: Integer;
- Begin
- Rewrite (f);
- Repeat
- Write ('Saisir N: ');
- Readln (n);
- Until (2<n) And (n<=50);
- Randomize;
- For i:=1 To n Do
- Begin
- Repeat
- x := Random (10);
- Until x>0;
- Writeln (f,x);
- End;
- Close (f);
- End;
- Function suite (t:tab;n:Integer): Boolean;
- Var
- i: Integer;
- t1:tab;
- test:Boolean;
- Begin
- for i:=1 to n-1 Do
- t1[i]:= t[i]-t[i+1];
- i:=0;
- Repeat
- i:=i+1;
- test:=t1[i]=t1[i+1];
- Until (i=n-2) or (test=false);
- suite := test;
- End;
- Procedure traitement (Var f:Text);
- Var
- t,taux: tab;
- i: Integer;
- pn,gn: String;
- test:Boolean;
- Begin
- Reset (f);
- i := 0;
- While Not (Eof(f)) Do
- Begin
- i := i+1;
- Readln (f,t[i]);
- taux[i] := t[i];
- End;
- Tri_Bulles(taux,n);
- For i:=1 To n Do
- Begin
- Str (taux[i],pn);
- gn := gn+pn;
- End;
- pn := '';
- For i:=n Downto 1 Do
- pn := pn+gn[i];
- For i:=1 To n Div 2 Do
- t[i] := taux[i]-taux[n-i+1];
- Writeln ('Le plus petit nombre est ', pn,' et le plus grand nombre est ',gn);
- test := suite (t,n Div 2);
- If test Then
- Writeln ('U est une suite arithmétique de raison r=',t[2]-t[1])
- Else Writeln ('U n''est pas une suite arithmétique');
- End;
- Begin
- creation (f);
- remplir (f,n);
- traitement (f);
- End.
Advertisement
Add Comment
Please, Sign In to add comment