• 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

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

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 pas est donc

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