Beruflich Dokumente
Kultur Dokumente
10- Afficher tous les éléments d’un tableau T : 11- Afficher les éléments d’un tableau qui sont
(Affichage sans condition) pairs (Affichage avec condition)
Procedure affiche (T:tab; N :integer) ; Procedure affiche ( T:tab; N :integer) ;
Var i:integer; Var i:integer;
Begin Begin
For i:=1 to N do For i:=1 to N do
Writeln(T[i]); if(T[i] mod 2 = 0) then writeln(T[i]);
End; End;
12- Afficher tous les éléments de la 13- Afficher les éléments qui se trouvent
deuxième moitié d’un tableau T. dans les positions impaires d’un tableau
T en commençant par le dernier élément
Procedure affiche (T:tab; N :integer) ; Procedure affiche (T:tab; N :integer) ;
Var i:integer; Var i:integer;
Begin Begin
For i:=(N div 2) to N do For i:=N downto 1 do
Writeln(T[i]); if (i mod 2 <> 0 ) then Writeln(T[i]);
End; End;
16 - Calculer la somme des éléments d’une liste 17 - Construire une chaine de caractères à
Par exemple calculer la somme des codes ascii l’envers
des caractères d’une chaine. Exemple : CH=’ANIS’
la chaine à l’envers est S=’SINA’
Function calcul(ch:string): integer; Function envers(ch:string): string;
Var s,i:integer; Var i:integer; S:string;
Begin Begin
S:=0; S:= '';
For i:=1 to length(ch) do For i:=1 to length(ch) do
S:=S+ord(ch[i]); S:=ch[i]+S;
Calcul:=S; envers:=S;
End; End;
Begin Begin
i:=0; ok:=false; P:=1;
Repeat For i:=1 to Y do
i:=i+1; P:=P*X;
if(T[i] = X) then ok:=true;
Until(ok=true) or (i=N); PUIS:=P;
Verif := ok; End;
End;
Begin Begin
k:=1; M:=X div 1000;
For i:=1 to N do C:=(X mod 1000) div 100;
if(T[i]>0) then D:= (X mod 100) div 10 ;
begin U:=X mod 10;
R[k]:=T[i];
k:=k+1; if (M+C+D+U) mod 5 = 0 then
end; write(' somme multiple de 5 ') else
write(' somme non multiple de 5 ');
For i:=1 to N do End ;
if(T[i]<0) then
begin
R[k]:=T[i];
k:=k+1;
end;
End;
26 – faire un programme pascal qui permet de 27 – faire un programme pascal qui permet de
saisir un entier positif et afficher la somme de saisir un entier positif et afficher la somme de
ses diviseurs (solution 1) ses diviseurs (solution 2)
program ex; program ex;
uses wincrt; uses wincrt;
var
procedure affiche; x:integer;
var sd,i:integer;
begin procedure saisir(var x:integer);
repeat begin
writeln(' donner x >= 0'); repeat
readln(x); writeln(' donner x >= 0');
until(x>=0); readln(x);
until(x>=0);
sd:=0; end;
for i:=1 to x do procedure affiche(x:integer);
if(x mod i=0) then var sd,i:integer;
sd:=sd+i; begin
sd:=0;
writeln('la somme des diviseurs de ', x, ' =' ,sd); for i:=1 to x do
end; if(x mod i=0) then
sd:=sd+i;
writeln('la somme des diviseurs de ', x, ' =' ,sd);
begin end;
affiche;
end. begin
saisir(x);
affiche(x);
end.