Vous êtes sur la page 1sur 2

Exercice 3.

Program POSITIOND;
Uses WinCrt;
Var c:string[1]; ch:string;
chIf,n,p:integer;
Begin
Writeln('Tapez un chIffre');
Readln(chIf);
Writeln('Tapez un entier');
Readln(n);
str(chIf,c); str(n,ch); p:=
pos(c,ch);
p:= p + pos(c, copy(ch,p + 1,
length(ch) - p));
Writeln('La deuxime position
de ',c,' dans ',n,' = ',p);
End.
Exercice 5.
program ex3;
uses wincrt;
var
ch:string;
j,i,n:integer;
begin
writeln('Donner le nombre de
lignes du triangle:');
readln(n);
ch:='';
for i:=1 to n*2-1 do
ch:=ch+'*';
writeln(ch);
for i:=1 to n-1 do
begin
ch[i]:=' ';
ch[2*n-i]:=' ';
writeln(ch);
end;
end.
Exercice 6.
program ex5;
uses wincrt;
var
ch:string;
i:char;
j,n:integer;
oc:array['A'..'Z'] of integer;
begin
writeln('Donner le texte :');
readln(ch);
for i:='A' to 'Z' do
oc[i]:=0;
for i:='A' to 'Z' do
for j:=1 to length(ch) do

if (ch[j]=i) or (ch[j]=chr(ord(i)
+32)) then
oc[i]:=oc[i]+1;
for i:='A' to 'Z' do
writeln(i,' ', oc[i],' | ');
end.
Exercice 7.
program ex6;
uses wincrt;
var
t,tn,tp:array[1..20] of
integer;
i,j,n,k:integer;
oc:array['A'..'Z'] of integer;
begin
writeln('Donner
la
taille
du
tableau:');
readln(n);
for i:=1 to n do
begin
writeln('Donner t[',i,']=');
readln(t[i]);
end;
j:=1;
k:=1;
for i:=1 to n do
begin
if(t[i]>=0) then
begin
tp[j]:=t[i];
j:=j+1;
end
else
begin
tn[k]:=t[i];
k:=k+1;
end;
end;
for i:=1 to k-1 do
write(tn[i],' | ');
writeln;
for i:=1 to j-1 do
write(tp[i],' | ');
end.
Exercice 8.
program cv;
uses wincrt;
var
t,tv,tc:array[1..20] of char;
n,i,v,c:byte;
begin
{Saisie de la taille du tableau}

writeln('Donner la taille du
tableau T entre 5 et 20:');
readln(n);
{Remplissage du tableau}
for i:=1 to n do
begin
writeln('Donner l''element
t[',i,']=');
readln(t[i]);
end;
{Initialisation des compteurs v et
c des tableaux tv et tc}
c:=0;
v:=0;
{Parcourir les lments du
tableau t et voir si la nature est
voyelle pour mettre dans tv sinon
mettre dans tc}
for i:=1 to n do
{utiliser upcase pour couvrir en
mme temps l'intervalle des Maj
et des Min}
if upcase(t[i]) in
['A','E','Y','U','I','O'] then
begin
v:=v+1;
tv[v]:=t[i];
end
else
begin
c:=c+1;
tc[c]:=t[i];
end;
{Affichage des trois tableaux}
for i:=1 to n do
write(t[i],' | ');
writeln;
for i:=1 to v do
write(tv[i],' | ');
writeln;
for i:=1 to c do
write(tc[i],' | ');
end.
Exercice 9
program D24051115h30;
uses wincrt;
type
tab=array[1..20] of integer;

var
n:integer;
u:tab;
procedure saisie(var n:integer);
begin
repeat
write('Donnez un nombre : ');
readln(n);
until n in [3..20];
end;
procedure remplire(var
u:tab;n:integer);
var
i:integer;
begin
u[1]:=1;
u[2]:=3;
for i:=3 to 20 do
u[i]:=(2*u[i-1])+(3*u[i-2]);
end;
procedure affiche(u:tab;n:integer);
begin
write('u[',n,']=',u[n]);
end;
begin
saisie(n);
remplire(u,n);
affiche(u,n);
end.
Exercice 10.
Program cdu ;
Uses wincrt ;
Function verif(n :integer )
:boolean ;
Var
c, d, u : integer ;
Begin
c := n div 100 ;
d :=n mod 100 div 10 ;
u := n mod 10 ;
verif :=((c*d*u) mod (c+d+u) = 0)
;
end ;
Procedure affichage ;
Var
i : integer ;
Begin
For i :=100 to 999 do
If verif(i) then write(i, ) ;
End ;
Begin
Affichage ;
End.

Vous aimerez peut-être aussi