Calcul des termes Un et Vn (suites croisées) :
program suites; function V(n:byte):word;forward ; begin
uses wincrt;
var
n:byte;
function U(n:byte):word;
begin
if n=0 then U:=1
else U:= 3+ U(n-1)+2 * V(n-1);
end;
function V(n:byte):word;
begin
if n=0 then V:=2
else V:= 2* U(n-1)+ 3 * V(n-1);
end;
writeln('Donner n : ');
readln(n);
writeln('U ',n,' = ', U(n));
writeln('V ',n,' = ', V(n));
end.
Supprimer un élément du fichier de données grâce à un accès direct :
{Ouverture et accès directe à une valeur dans un fichier de données program fichier_eleves; var procedure ouvrir(var eleve1:f_eleve); procedure saisie(var rang:byte;p_fin:byte); procedure suppression(var eleve1:f_eleve;rang:byte;p_fin:byte); seek(eleve1,rang); {écraser la valeur à supprimée par la dernière valeur} seek(eleve1,p_fin); {tronquer le fichier à partir de la dernière valeur} begin p_fin := filesize(eleve1)-1; saisie(rang,p_fin); suppression(eleve1,rang,p_fin); close(eleve1);
à fin de la supprimer. €
cas ou les valeurs ne sont pas triées}
uses wincrt;
type f_eleve = file Of string; {Type fichier de chaînes}
eleve1 : f_eleve; {instance de f_eleve}
rang, p_fin : byte;
var
chemin : string;
begin
chemin:='c:\fich_el.dat';
assign(eleve1,chemin);
reset(eleve1);
end;
begin
repeat
writeln('entrer le rang de l''élève à supprimé : (0 --> ',p_fin,')');
readln(rang);
until rang in [0..p_fin];
end;
var
ch : string;
begin
seek(eleve1,p_fin); {récuperation de la dernière valeur du fichier}
read(eleve1,ch);
write(eleve1,ch);
truncate(eleve1);
end;
ouvrir(eleve1);
write('L''enregistrement n° : ',rang,' a été supprimé avec succès !');
end.
