Program S1;
Uses crt;
Type
tab = array[1..50] Of integer;
fentier = file Of integer;
Var
f : fentier;
n : integer;
t,gn,pn,u : tab;
//*************************************
Procedure remplir(Var f:fentier;n:integer);
Var
i,v : integer;
Begin
assign(f,'c:\nombre.dat');
rewrite(f);
For i:=1 To n Do
Begin
Repeat
write('saisir un entier entre 1 et 9: ');
readln(v);
Until v In [1..9];
write(f,v);
End;
close(f);
End;
//*************************************
Procedure transfert(Var f:fentier;Var t:tab;n:integer);
Var
i : integer;
Begin
reset(f);
For i:=1 To n Do
read(f,t[i]);
write('les éléments du tableau sont: ');
writeln;
For i:=1 To n Do
write(t[i]:5);
readln;
close(f);
End;
//*************************************
Procedure tri(Var t:tab;n:integer);
Var
i,x,j : integer;
Begin
For i:=1 To (n-1) Do
For j:=(i+1) To n Do
If t[j]<t[i] Then
Begin
x := t[i];
t[i] := t[j];
t[j] := x;
End;
End;
//*************************************
Procedure nombre(t:tab;Var pn,gn:tab;n:integer);
Var
i,x : integer;
Begin
tri(t,n);
For i:= 1 To n Do
pn[i] := t[i];
For i := 1 To n Div 2 Do
Begin
x := t[i];
t[i] := t[n-i+1];
t[n-i+1] := x;
End;
For i := 1 To n Do
gn[i] := t[i];
write(' le plus grand nombre gn: ');
For i := 1 To n Do
write(gn[i]);
writeln;
write('le plus petit nombre pn: ');
For i := 1 To n Do
write(pn[i]);
writeln;
End;
//*************************************
Procedure suite( gn:tab; Var u :tab; n:integer);
Var
i : integer;
Begin
For i := 1 To (n Div 2) Do
u[i] := gn[i]-gn[n-i+1];
End;
//*************************************
Function verif(u:tab;n:integer) : boolean;
Var
i,k,r0,r : integer;
ok : boolean;
Begin
r0 := u[1]-u[2];
ok := true;
i := 2;
k := n Div 2 ;
While (ok) And (i<= k-1) Do
Begin
r := u[i]-u[i+1];
If r0<>r Then
ok := false
Else
i := i+1;
End;
verif := ok;
End;
//*************************************
Begin
Repeat
write('donner n:');
read(n);
Until n In [3..50];
remplir(f,n);
clrscr;
transfert(f,t,n);
writeln;
writeln('______________________________________________');
writeln;
writeln('______________________________________________');
writeln;
nombre(t,pn,gn,n);
writeln;
writeln('______________________________________________');
writeln;
writeln('______________________________________________');
suite(gn,u,n);
If (verif(u,n)) Then
write('u est une suite arithmétique')
Else
write('u n''est pas une suite arithmétique');
End.
Inscription à :
Publier les commentaires (Atom)