Exemple de DS1

Voir le sujet précédent Voir le sujet suivant Aller en bas

Exemple de DS1

Message  Hanafi le Sam 29 Nov - 0:58

Voici un exemple de DS1 proposé par Mr Nour Dean Zouari (Lycée Hannibal)

Exercice 1 (6 points)
Nous disposons d'un fichier de réels enregistré sous le nom physique "F_VALEURS1.FCH". Ce fichier est déjà trié par ordre croissant. Nous désirons insérer dans ce fichier et à sa bonne place une nouvelle valeur V donnée. Ecrire une analyse et l'algorithme d'une procédure nommée INSERTION réalisant cette tâche.
L'insertion doit se faire directement dans le fichier et non pas à travers un transfert dans un tableau ou dans un autre fichier.

Exercice 2 (6points)
Etant donné un fichier de texte contenant un ensemble de lignes. Il est demandé de chercher pour chaque ligne, l'existence ou non d'un mot donné et d'afficher suivant le cas l'un des messages suivants :
Le mot (mot) existe dans ligne (i) ou Le mot (mot) n'existe pas dans ligne (i).
Ecrire une analyse et un algorithme d'une procédure nommée CHERCHE et dont les paramètres sont "nl" de type texte et "mot" de type chaîne de caractère.

Exercice 3 (8 points)
Ecrire les analyses et les algorithmes des différents modules d'un programme qui demande un entier A strictement positif et un autre B positif et inférieur à A puis teste si ce nombre A est divisible par B et ce sans l'utilisation des opérateurs "/", "MOD" et "DIV".
Utiliser obligatoirement un procédé récursif pour déterminer une fonction de type booléen qui vérifie si A est divisible par B ou non.
Exemples : Si A = 45 et B = 5 le programme affiche : 45 est divisible par 5
Si A = 23 et B = 2 le programme affiche : 23 n'est pas divisible par 2
Donnez vos solutions Smile
avatar
Hanafi

Messages : 106
Date d'inscription : 25/10/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Exemple de DS1

Message  Ilyes KHAILI le Mer 3 Déc - 16:52

Bonjour tout le monde cheers
Voici ma proposition et j’espère qu’elle est correcte

Exercice 1 :
Uses WinCrt;
Type
fiche=file of real;
Procedure insertion;
var
f:fiche;
n,aux1,aux2:real;
i:integer;
begin
write('Donner n = ');readln(n);
assign(f,'c:\F_VALEURS1.FCH');
reset(f);
read(f,aux1);
while not (EOF(f))and(n>aux1) do
read(f,aux1);
if eof(f) then
write(f,n)
else
begin
seek(f,filepos(f)-1);
read(f,aux2);
seek(f,filepos(f)-1);
write(f,n);
while not eof(f) do
begin
read(f,aux1);
seek(f,filepos(f)-1);
write(f,aux2);
aux2:=aux1;
end;
write(f,aux2);
end;
close(f);
end;
begin
insertion;
end.
Exercice 2:
uses wincrt;
var
t:text;
mot:string;
procedure cherche(var t:text;mot:string);
var
x:string;
i:integer;
begin
reset(t);
i:=0;
while not eof(t) do
begin
i:=i+1;
readln(t,x);
write('Le mot (',mot);
if pos(mot,x)<>0 then
write(') existe dans ligne (')
else
write(') n''existe pas dans ligne (');
writeln(i,').');
end;
end;
begin
assign(t,'c:\Texte.txt');
write('Donner un mot = ');readln(mot);
cherche(t,mot);
end.
Exercice 3 :
uses wincrt;
var
a,b:integer;
procedure lecture(var a,b:integer);
begin
repeat
write('Donner un entier strictement positif A = ');readln(a);
until a>0;
repeat
write('Donner un autre entier inferieur a A = ');readln(b);
until b<a;
end;
function divi(a,b:integer):boolean;
begin
if a<0 then
divi:=false
else
if a=0 then
divi:=true
else
divi:=divi(a-b,b);
end;
begin
lecture(a,b);
if divi(a,b) then
writeln(a,’ est divisible par ‘,b)
else
writeln(a,’ n’’est pas divisible par ‘,b)
end.

Bonne chance a tous pour les examens.
Réviser bien study

Ilyes KHAILI

Messages : 24
Date d'inscription : 13/11/2008
Age : 27

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Exemple de DS1

Message  Hanafi le Jeu 4 Déc - 23:32

Excellent travail, Ilyes !!! B r a v o !!! Laughing
Comme d'habitude, vous méritez d'être nommé Le Principal Plus Important Genie de Programmation. Je suis fiére de vous. Bonne chance pour vos examens.
sunny
avatar
Hanafi

Messages : 106
Date d'inscription : 25/10/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Exemple de DS1

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum