• Aucun résultat trouvé

1- Procédure saisir d un entier. 4- Procédure remplir un tableau T

N/A
N/A
Protected

Academic year: 2022

Partager "1- Procédure saisir d un entier. 4- Procédure remplir un tableau T"

Copied!
5
0
0

Texte intégral

(1)

Mr. ANIS ELBAHI 4SCX-MAT-TECH Page 1

1- Procédure saisir d’un entier

Sans condition Avec condition

Procedure saisir (var N :integer) ; Begin

Writeln('donner N'); readln(N);

End;

Procedure saisir (var N :integer) ; Begin

Repeat

Writeln(' donner N '); readln(N);

Until( condition);

End;

2- Procédure saisir d’un intervalle 1<a<b≤50

3- Saisir une chaine formée au maximum de 5 caractères et contenant au moins un

espace

Procedure saisir (var a,b :integer) ; Begin

Repeat

Writeln(' donner a '); readln(a);

Writeln(' donner b '); readln(b);

Until(a>1) and (a<b) and (b<=50);

End;

Procedure saisir (var ch:string) ; Begin

Repeat

Writeln(' donner votre chaine '); readln(ch);

Until(length(ch)<=5) and (pos(‘ ‘,ch)<>0);

End;

4- Procédure remplir un tableau T

Sans condition Avec condition

Procedure remplir (var T:tab; N :integer) ; Var i:integer;

Begin

For i:=1 to N do begin

Writeln(' T[ ', i , ' ] '); readln(T[i]);

end;

End;

Procedure remplir (var T:tab; N :integer) ; Var i:integer;

Begin

For i:=1 to N do repeat

Writeln(' T[ ', i , ' ] '); readln(T[i]);

until(condition);

End;

5- Procédure remplir un tableau T de

façon aléatoire T[i]  [2..10] 6- Procédure remplir un tableau T de façon croissante

Procedure remplir (var T:tab; N :integer) ; Var i:integer;

Begin

For i:=1 to N do

T[i] := random(9)+2;

End;

Procedure remplir (var T:tab; N :integer) ; Var i:integer;

Begin

Writeln(' donner le premier élément ');

readln(T[1]);

For i:=2 to N do repeat

Writeln(' donner un element ', i); readln(T[i]);

until(T[i] >T[i-1]);

End;

(2)

Mr. ANIS ELBAHI 4SCX-MAT-TECH Page 2

7- Procédure remplir un tableau T par des éléments distincts

8- Procédure initialiser un tableau T par des 1

Procedure remplir (var T:tab;N:integer);

Var i,j,nb:integer;

Begin

Writeln(

'

donner le premier élément

'

);

readln(T[1]);

For i:=2 to N do Repeat

Writeln

(' T[ ', i , ' ] ');

readln(T[i]);

nb:=0;

For j :=1 to i-1 do

if(T[j] = T[i]) then nb:=nb+1;

Until( nb=0);

End;

Procedure remplir (var T:tab ; N :integer) ; Var i:integer;

Begin

For i:=1 to N do T[i] := 1;

End;

9- Remplir un tableau T par des caractères alphabétiques MAJUSCULES

de façon aléatoires

Procedure remplir (var T:tab; N :integer) ; Var i,x:integer;

Begin Randomize;

For i:=1 to N do begin

x:=random(26)+65;

T[i]:=chr(x);

End;

End;

10- Afficher tous les éléments d’un tableau T : (Affichage sans condition)

11- Afficher les éléments d’un tableau qui sont pairs (Affichage avec condition)

Procedure affiche (T:tab; N :integer) ; Var i:integer;

Begin

For i:=1 to N do Writeln(T[i]);

End;

Procedure affiche ( T:tab; N :integer) ; Var i:integer;

Begin

For i:=1 to N do

if(T[i] mod 2 = 0) then writeln(T[i]);

End;

12- Afficher tous les éléments de la deuxième moitié d’un tableau T.

13- Afficher les éléments qui se trouvent dans les positions impaires d’un tableau T en commençant par le dernier élément

Procedure affiche (T:tab; N :integer) ; Var i:integer;

Begin

For i:=(N div 2) to N do Writeln(T[i]);

End;

Procedure affiche (T:tab; N :integer) ; Var i:integer;

Begin

For i:=N downto 1 do

if (i mod 2 <> 0 ) then Writeln(T[i]);

End;

(3)

Mr. ANIS ELBAHI 4SCX-MAT-TECH Page 3 14- Calculer le nombre des éléments positifs

dans un tableau T

15- Calculer le factoriel d’un entier X X !=1*2*3*…*X

Function nombre(T:tab; N:integer): integer;

Var i,nb:integer;

Begin nb:=0;

For i:=1 to N do

If(T[i] >=0 ) then nb:=nb+1;

Nombre:=nb;

End;

Function FACT (X:integer): longint;

Var i:integer; F:longint;

Begin F:=1;

For i:=1 to N do F:=F*i;

FACT:=F;

End;

16 - Calculer la somme des éléments d’une liste Par exemple calculer la somme des codes ascii

des caractères d’une chaine.

17 - Construire une chaine de caractères à l’envers

Exemple : CH=’ANIS’

la chaine à l’envers est S=’SINA’

Function calcul(ch:string): integer;

Var s,i:integer;

Begin S:=0;

For i:=1 to length(ch) do S:=S+ord(ch[i]);

Calcul:=S;

End;

Function envers(ch:string): string;

Var i:integer; S:string;

Begin S:= '';

For i:=1 to length(ch) do S:=ch[i]+S;

envers:=S;

End;

18- Vérifier si un élément X existe ou non dans le tableau T

19- Calculer X à la puissance Y 23=2*2*2=8

Function verif(T:tab; N,X:integer): boolean;

Var i:integer; ok:boolean;

Begin

i:=0; ok:=false;

Repeat i:=i+1;

if(T[i] = X) then ok:=true;

Until(ok=true) or (i=N);

Verif := ok;

End;

Function PUIS (X,Y:integer): longint;

Var i:integer; P:longint;

Begin P:=1;

For i:=1 to Y do P:=P*X;

PUIS:=P;

End;

(4)

Mr. ANIS ELBAHI 4SCX-MAT-TECH Page 4 20- Trier un tableau T (de N entiers) de façon

croissante en utilisant le tri à bulles

21 - Chercher la position du minimum d’un tableau T

Procedure tri_b(var t:tab; N:integer);

Var i,aux:integer; ok:Boolean;

Begin Repeat Ok:=false;

For i:=1 to N-1 do If(T[i]>T[i+1] then Begin

Aux:=T[i];

T[i]:=T[i+1];

T[i+1] :=aux ; OK := true ; End;

N:=N-1;

Until(N=1) or (OK= false);

End;

Function POSMIN(t:tab; n:integer) : integer;

Var pm,i : integer ; Begin

pm :=1 ;

For i :=2 to N do if T[i]<T[pm] then

pm:=i;

POSMIN:=pm;

End ;

22- Remplir un tableau R par les éléments strictement positifs qui se trouvent dans un tableau T puis par les éléments strictement négatifs qui se trouvent dans le même tableau T.

23 - Afficher si la somme des chiffres d’un entier formé de 4 chiffres est multiple de 5.

Procedure remplir(var R:tab; T:tab; n:integer);

Var i,k:integer;

Begin k:=1;

For i:=1 to N do if(T[i]>0) then

begin R[k]:=T[i];

k:=k+1;

end;

For i:=1 to N do if(T[i]<0) then

begin R[k]:=T[i];

k:=k+1;

end;

End;

Procedure affiche (X :integer) ; Var M,C,D,U : integer;

Begin

M:=X div 1000;

C:=(X mod 1000) div 100;

D:= (X mod 100) div 10 ; U:=X mod 10;

if (M+C+D+U) mod 5 = 0 then

write(' somme multiple de 5 ') else write(' somme non multiple de 5 ');

End ;

(5)

Mr. ANIS ELBAHI 4SCX-MAT-TECH Page 5 24 - Trier un tableau T (de N entiers) de façon

décroissante en utilisant le tri par sélection

25- Saisir une chaine formée uniquement par des caractères alphabétiques.

Procedure tri_s(var t:tab; N:integer);

Var i, j,pm, aux:integer;

Begin

For i:=1 to N-1 do Begin

pm:=i;

For j:=i to N do

If(T[j] > T[pm] )then pm:=j;

aux:=T[i];

T[i]:=T[pm];

T[pm] :=aux ; End;

End;

procedure saisir(var ch:string);

var nb,i:integer;

begin repeat

writeln('donner une chaine ');

readln(ch);

nb:=0;

for i:=1 to length(ch) do

if(ch[i] in ['A'..'Z', 'a'..'z'] ) then nb:=nb+1;

until(nb=length(ch));

end;

26 – faire un programme pascal qui permet de saisir un entier positif et afficher la somme de

ses diviseurs (solution 1)

27 – faire un programme pascal qui permet de saisir un entier positif et afficher la somme de

ses diviseurs (solution 2) program ex;

uses wincrt;

procedure affiche;

var sd,i:integer;

begin repeat

writeln(' donner x >= 0');

readln(x);

until(x>=0);

sd:=0;

for i:=1 to x do if(x mod i=0) then sd:=sd+i;

writeln('la somme des diviseurs de ', x, ' =' ,sd);

end;

begin affiche;

end.

program ex;

uses wincrt;

var x:integer;

procedure saisir(var x:integer);

begin repeat

writeln(' donner x >= 0');

readln(x);

until(x>=0);

end;

procedure affiche(x:integer);

var sd,i:integer;

begin sd:=0;

for i:=1 to x do if(x mod i=0) then sd:=sd+i;

writeln('la somme des diviseurs de ', x, ' =' ,sd);

end;

begin saisir(x);

affiche(x);

end.

Références

Documents relatifs

La demande d’asile reste donc une des premières démarches effectuées car elle permet, le temps qu’elle soit traitée, d’avoir une présence « régulière » sur le

strictement positifs qui se trouvent dans un tableau T puis par les éléments strictement négatifs qui se trouvent dans le même tableau T. 21 - Afficher si la somme des chiffres d’un

2 Il peut en particulier exiger des renseignements oraux, la production de justificatifs et de preuves, ordonner des expertises, procéder à des inspections et examiner sur place

Nous souhaitons tracer un axe (segment fléché) sur une page du cahier et y placer les planètes en respectant leur distance par rapport au Soleil.. Tracer l’axe, en diagonal, sur

Le coefficient de proportionnalité qui permet de passer de la durée du parcours à la distance parcourue s'appelle vitesse

Pour la fonction porteuse (critère R), seule l’épaisseur de dalle nécessaire, utilisée pour le calcul selon l’EN 1992-1-1, peut être prise en compte. b Pour les dalles

■ Lorsque des armatures de poinçonnement sont exigées, la procédure de l’Eurocode 2 est simple ; la limite à partir de laquelle aucune armature d’effort n’est requise peut

Le pas est donc