exercices
+2
Napoléon
sorour
6 participants
Forum INFOMATH :: Enseignement de l'informatique :: Informatique - Collège & Lycée :: Exercices Pascal :: Récursivité
Page 1 sur 2
Page 1 sur 2 • 1, 2
exercices
EX1
1/ Donner un module qui permet de remplir une matrice
EX2
1/ Vérifier qu'une chaîne ch ne contient que des lettres alphabétiques
2/ Tester que la chaîne est un palindrôme
3/ Détermiener le nombre des voyelles dans la chaîne
Remarques
Envisagez une solution récursive pour chaque module.
Une chaîne est palindrôme si elle est lue de la même maniere de gauche à droite et de droite à gauche.
1/ Donner un module qui permet de remplir une matrice
2/ Donner un module qui permet de trier les lignes d'une matrice
3/ Donner un module qui permet d'afficher une matrice
3/ Donner un module qui permet d'afficher une matrice
EX2
1/ Vérifier qu'une chaîne ch ne contient que des lettres alphabétiques
2/ Tester que la chaîne est un palindrôme
3/ Détermiener le nombre des voyelles dans la chaîne
Remarques
Envisagez une solution récursive pour chaque module.
Une chaîne est palindrôme si elle est lue de la même maniere de gauche à droite et de droite à gauche.
sorour- Entier Naturel
-
Nombre de messages : 12
Localisation : monastir
Réputation : 0
Points : 6151
Date d'inscription : 20/01/2008
Feuille de personnage
Capacité linguistique:
(1000/1000)
Re: exercices
Nous poursuivons nos bonnes habitudes. Pour chaque sujet proposé, on essaie de donner des indications pour aider les élèves à travailler. On essaie aussi d'enrichir un peu la discussion, en élargissant l'étendue des exercices: modifier les questions, les rendre plus difficiles ...
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7871
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: exercices
EX2
1/ Vérifier qu'une chaîne ch ne contient que des lettres alphabétiques
2/ Tester que la chaîne est un palindrôme
3/ Détermiener le nombre des voyelles dans la cahîne
Nous avons bien traité cet exercice. Voir le lien suivant:
Sujet: Etude des palindrômes
Il contient 39 messages. Il a été vu 220 fois.
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7871
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: exercices
ok mais le lien ne marche pas
sorour- Entier Naturel
-
Nombre de messages : 12
Localisation : monastir
Réputation : 0
Points : 6151
Date d'inscription : 20/01/2008
Feuille de personnage
Capacité linguistique:
(1000/1000)
Re: exercices
vérifie bien! ça marche, je l'ai essayé:
https://infomath.1fr1.net/algorithmique-f19/etude-des-palindromes-t166.htm
sinon fais une petite recherche sur le forum:
Clique sur en Haut de la page,
puis entre le mot "palindr*" sans guillemets biensûr
https://infomath.1fr1.net/algorithmique-f19/etude-des-palindromes-t166.htm
sinon fais une petite recherche sur le forum:
Clique sur en Haut de la page,
puis entre le mot "palindr*" sans guillemets biensûr
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7871
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: exercices
Oui le lien marche sans probleme.
lamia- Modérateur
-
Nombre de messages : 1936
Age : 38
Localisation : Tunis
Réputation : 53
Points : 6800
Date d'inscription : 04/11/2007
Feuille de personnage
Capacité linguistique:
(996/1000)
Re: exercices
sorour a écrit:ok mais le lien ne marche pas
Le forum est fait avec PHP 3.0
Il y a parfois des problèmes avec le navigateur Firefox.
Méfiez-vous donc.
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7871
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: exercices
1/ Donner un module qui permet de remplir une matrice
- Code:
var
i , j , n : integer
M : tab
begin
write("entrer la taille du matrice");
read(n);
for i=1 to i=n do
begin
for j=1 to j=n do
begin
write("M[i][j]=");
read(M[i][j]);
end;
end;
end;
suneddine- Nombre Réel
-
Nombre de messages : 730
Age : 39
Localisation : tunisie
Réputation : 5
Points : 6321
Date d'inscription : 11/11/2007
Feuille de personnage
Capacité linguistique:
(995/1000)
Re: exercices
3/ Donner un module qui permet d'afficher une matrice
- Code:
var
i , j , n : integer
M ; tab
begin
for i=1 to i=n do
begin
for j=1 to j=n do
begin
writeln(M[i][j]);
end;
end;
end;
suneddine- Nombre Réel
-
Nombre de messages : 730
Age : 39
Localisation : tunisie
Réputation : 5
Points : 6321
Date d'inscription : 11/11/2007
Feuille de personnage
Capacité linguistique:
(995/1000)
Re: exercices
Merci mosa
mais tu as confondu entre Pascal et le langage C dans la manipulation des matrices!
En Pascal, on déclare le type matrice d'entier 10x10 ainsi:
Ton point fort c'est que tu écris des codes sources sans les avoir compilés et c'est toujours très proche de la solution correcte syntaxiquement!
mais tu as confondu entre Pascal et le langage C dans la manipulation des matrices!
En Pascal, on déclare le type matrice d'entier 10x10 ainsi:
- Code:
Type
MATRICE = array[1..10,1..10] of integer;
Var
M: MATRICE;
Ton point fort c'est que tu écris des codes sources sans les avoir compilés et c'est toujours très proche de la solution correcte syntaxiquement!
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7871
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: exercices
Mosa, merci pour l'effort que tu as fourni mais j'ai demandé des solutions récursives
sorour- Entier Naturel
-
Nombre de messages : 12
Localisation : monastir
Réputation : 0
Points : 6151
Date d'inscription : 20/01/2008
Feuille de personnage
Capacité linguistique:
(1000/1000)
Re: exercices
Salut, je veux poser une question svp ce site est visé pour qui ??????????????????
Pour la question du palindrome j’ai demandé une solution récursive !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Pour la question du palindrome j’ai demandé une solution récursive !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
sorour- Entier Naturel
-
Nombre de messages : 12
Localisation : monastir
Réputation : 0
Points : 6151
Date d'inscription : 20/01/2008
Feuille de personnage
Capacité linguistique:
(1000/1000)
Re: exercices
Salut, je veux poser une question svp ce site est visé pour qui ??????????????????
INFOMATH est un forum dont les deux thèmes principaux sont:
- les mathématiques
- la programmation informatique
Ce n'est pas dédié à une catégorie bien précise d'étudiants ou d'élèves.
C'est vrai. On n'a pas fait une version récursive. C'est intéressant de la faire.Pour la question du palindrome j’ai demandé une solution récursive !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7871
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: exercices
merci pour la réponse
sorour- Entier Naturel
-
Nombre de messages : 12
Localisation : monastir
Réputation : 0
Points : 6151
Date d'inscription : 20/01/2008
Feuille de personnage
Capacité linguistique:
(1000/1000)
Re: exercices
sorour a écrit:EX1
1/ Donner un module qui permet de remplir une matrice2/ Donner un module qui permet de trier les lignes d'une matrice
3/ Donner un module qui permet d'afficher une matrice
EX2
1/ Vérifier qu'une chaîne ch ne contient que des lettres alphabétiques
2/ Tester que la chaîne est un palindrôme
3/ Détermiener le nombre des voyelles dans la chaîne
Remarques
Envisagez une solution récursive pour chaque module.
Une chaîne est palindrôme si elle est lue de la même maniere de gauche à droite et de droite à gauche.
Les exercices sont intéressants, je veux les faire, mais je préfère laisser le temps aux autres d'y travailler. Alors bon courage c'est du trés facile.
manianis- Nombre Réel
-
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 6254
Date d'inscription : 11/10/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: exercices
merci manianis, je sais que c'est banal pour vous mais pour un financier plus ou moins.
suneddine- Nombre Réel
-
Nombre de messages : 730
Age : 39
Localisation : tunisie
Réputation : 5
Points : 6321
Date d'inscription : 11/11/2007
Feuille de personnage
Capacité linguistique:
(995/1000)
Re: exercices
A mon avis, il ne faut jamais dire C'EST FACILE.
methodiX- Admin
-
Nombre de messages : 1260
Localisation : Le couloir de l'école polytechnique de Tunis
Réputation : 68
Points : 7253
Date d'inscription : 22/03/2007
Feuille de personnage
Capacité linguistique:
(1000/1000)
Re: exercices
3/ Détermiener le nombre des voyelles dans la chaîne
désolé mes amis, c'est un peu dur pour moi avec la récursivité
- Code:
var
i , nb_voy : integer;
ch : string;
begin
write ('saisir une chaîne');
read(ch);
nb_voy=0;
for i=1 to i=length(ch) do
begin
if ((ch[i]='a') OR (ch[i]='A') OR (ch[i]='e') OR (ch[i]='E') OR (ch[i]='i') OR (ch[i]='I') OR (ch[i]='o') OR (ch[i]='O') OR (ch[i]='u') OR (ch[i]='U') OR (ch[i]='y') OR (ch[i]='Y')) then
begin
nb_voy=nb_voy+1;
end;
end;
write('il existe', nb_voy,'dans cette chaîne');
end;
suneddine- Nombre Réel
-
Nombre de messages : 730
Age : 39
Localisation : tunisie
Réputation : 5
Points : 6321
Date d'inscription : 11/11/2007
Feuille de personnage
Capacité linguistique:
(995/1000)
Re: exercices
en fait, j'ai trouvé la diffidulté car il s'agit des procédures comme la saisie d'une matrice, et non pas des fonctions comme la factorielle
suneddine- Nombre Réel
-
Nombre de messages : 730
Age : 39
Localisation : tunisie
Réputation : 5
Points : 6321
Date d'inscription : 11/11/2007
Feuille de personnage
Capacité linguistique:
(995/1000)
Re: exercices
Déterminer le nombre de voyelles d'une chaîne de caractères avec un procédé récursif.
L'idée est que le nombre de voyelles d'une chaîne CH de n caractères, est égal au nombre de voyelles de cette chaîne CH privée de son dernier caractère auquel on ajoute 1 si le dernier caractère est Voyelle.
nombreVoyelle(CH,pos) = nombreVoyelle(CH,pos-1) + estVoyelle(CH[pos])
estVoyelle(c): fonction qui retourne 1 si c est une voyelle, 0 sinon.
J'espère que c'est clair.
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7871
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: exercices
- Code:
prodedure estvoyelle (var ch : string);
var
i : integer;
begin
if ((ch[i]='a') OR (ch[i]='A') OR (ch[i]='e') OR (ch[i]='E') OR (ch[i]='i') OR (ch[i]='I') OR (ch[i]='o') OR (ch[i]='O') OR (ch[i]='u') OR (ch[i]='U') OR (ch[i]='y') OR (ch[i]='Y')) then
begin
estvoyelle=1;
else
estvoyelle=0;
end;
end;
function nombrevoyelle (var ch : string ; var pos : integer);
var
i : integer;
pos=length(ch);
begin
for i=pos down to i=1 do
begin
nombrevoyelle=nombrevoyelle(ch;pos-1)+estvoyelle(ch[pos]);
end;
end;
begin
write('saisir une chaîne');
read(ch);
write('il existe',nombrevoyelle(ch,pos),'dans cette chaîne);
end.
suneddine- Nombre Réel
-
Nombre de messages : 730
Age : 39
Localisation : tunisie
Réputation : 5
Points : 6321
Date d'inscription : 11/11/2007
Feuille de personnage
Capacité linguistique:
(995/1000)
Re: exercices
C'est toujours facile. Il faut des uniquement des connaissancesmethodiX a écrit:A mon avis, il ne faut jamais dire C'EST FACILE.
manianis- Nombre Réel
-
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 6254
Date d'inscription : 11/10/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: exercices
mosa a écrit:mes amis qu'en pensez vous ?
- Code:
function estvoyelle(c:char):boolean;
begin
estvoyelle := UpCase(c) in ['A','E','O','I','U','Y'];
end;
function nombrevoyelle(var ch : string ; nv, i : integer):integer;
begin
if (i <= length(Ch)) then begin
if (estvoyelle(ch[i])) then
nombrevoyelle:=nombrevoyelle(ch,nv+1,i+1)
else
nombrevoyelle:=nombrevoyelle(ch,nv,i+1)
end else
nombrevoyelle := nv;
end;
var ch : string;
begin
write('saisir une chaîne : ');
readln(ch);
write('il existe ',nombrevoyelle(ch,0,1),' dans cette chaîne');
readln;
end.
J'ai essayé de corriger votre solution.
manianis- Nombre Réel
-
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 6254
Date d'inscription : 11/10/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Re: exercices
tester si une chaîne est palindrôme
- Code:
function test(ch:string):boolean;
begin
if ch='' then test:=true
else
if ch[1]=ch[length(ch)] then begin
delete(ch,1,1);
delete(ch,length(ch),1);
test:=test(ch);
end
else test:=false;
end;
sorour- Entier Naturel
-
Nombre de messages : 12
Localisation : monastir
Réputation : 0
Points : 6151
Date d'inscription : 20/01/2008
Feuille de personnage
Capacité linguistique:
(1000/1000)
Re: exercices
Merci Sourour pour le code.
Est-il possible de remplacer :
Est-il possible de remplacer :
- Code:
delete(ch,1,1);
delete(ch,length(ch),1);
test:=test(ch);
- Code:
test := test(Copy(Ch,2,Length(Ch)-2));
manianis- Nombre Réel
-
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 6254
Date d'inscription : 11/10/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Page 1 sur 2 • 1, 2
Sujets similaires
» Série d'exercices
» Cours + Exercices de C/C++
» Série d'exercices: Récursivité
» Exercices de Gestion et de Comptabilité
» Ensemble d'exercices sur la récursivité
» Cours + Exercices de C/C++
» Série d'exercices: Récursivité
» Exercices de Gestion et de Comptabilité
» Ensemble d'exercices sur la récursivité
Forum INFOMATH :: Enseignement de l'informatique :: Informatique - Collège & Lycée :: Exercices Pascal :: Récursivité
Page 1 sur 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum