Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Program max_min;
- Uses Wincrt;
- Type
- fich = file of byte;
- Var
- n: Byte;
- f: fich;
- g,ch:string;
- Procedure saisie (Var n:Byte);
- Begin
- Repeat
- Write('n=');
- Readln(n);
- Until n In[3..50];
- End;
- Procedure remp (Var f:fich; n:Byte);
- Var
- x,i: Byte;
- Begin
- Rewrite(f);
- For i := 1 To n Do
- Begin
- x := Random(9-1)+1;
- Write(f,x);
- End;
- Close(f);
- End;
- Procedure rempch (Var ch:string; Var f:fich);
- Var
- x,i: Byte;
- chx:string;
- Begin
- Reset(f);
- i := 0;
- ch:='';
- While Not(Eof(f)) Do
- Begin
- i := i + 1;
- Read(f,x);
- str(x,chx);
- ch:=ch+chx;
- End;
- close(f);
- End;
- procedure tri_crois(Var ch:string;n:Byte);
- Var
- i: Byte;
- v:Boolean;
- aux:char;
- Begin
- Repeat
- v := True;
- For i:=1 To n-1 Do
- Begin
- If ch[i] > ch[i+1]
- Then
- Begin
- aux := ch[i];
- ch[i] := ch[i+1];
- ch[i+1] := aux;
- v := False;
- End;
- End;
- n := n -1;
- Until V;
- End;
- function grand(ch:string): string;
- Var chg:string;
- i:byte;
- Begin
- chg:='';
- for i:=length(ch) DownTo 1 do
- begin
- chg:=chg+ch[i];
- end;
- grand:=chg;
- End;
- procedure verif(g:string;n:byte);
- var e1,e2:integer;
- c,i,j,xi,xj:byte;
- U:array [1..n] of byte;
- r:shortint;
- V:boolean;
- begin
- i:=1;
- j:=n;
- c:=0;
- Repeat
- c:=c+1;
- val(G[i],xi,e1);
- val(G[j],xj,e2);
- U[c] := xi-xj;
- i:=i+1;
- j:=j-1;
- until i>j;
- r:=U[2]-U[1];
- i:=2;
- while (i<=c-1) and (U[i+1]-U[i] = r) do
- i:=i+1;
- V:=i>c-1;
- if V then write('ce nombre forme une suite arithmétique de raison r=',r)
- else write('ce nombre ne forme pas une suite arithmétique');
- end;
- Begin
- Randomize;
- Assign(f,'C:\Pascal\max_min_bac_2010_prat\nombres.dat');
- saisie(n);
- remp(f,n);
- rempch(ch,f);
- tri_crois(ch,n);
- Writeln('Le plus petit nombre est: ',ch);
- Writeln('le plus grand nombre est: ',grand(ch,n));
- g:=grand(ch,n);
- verif(g,n);
- End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement