Problèmes bac scientifique
Page 1 sur 1
Problèmes bac scientifique
Soit à remplir un tableau T par n caractères (avec 6 <= n <= 30). Il s’agit de répartir ces n caractères sur quatre tableaux et les afficher :
TV : un tableau de voyelles
TC : un tableau de consonnes
TCH : un tableau de chiffres
TS : un tableau de symboles
Exemple :
Soit n = 12 et le tableau T suivant:
On doit obtenir les tableaux suivants:
TV
TC
TCH
TS
TV : un tableau de voyelles
TC : un tableau de consonnes
TCH : un tableau de chiffres
TS : un tableau de symboles
Exemple :
Soit n = 12 et le tableau T suivant:
5 | X | $ | i | d | 8 | R | } | f | E | 3 | y |
On doit obtenir les tableaux suivants:
TV
i | E | y |
X | d | R | f |
5 | 8 | 3 |
$ | } |
Dernière édition par Admin le Mar 27 Jan - 22:55, édité 2 fois
exercice n°2
Soit T un tableau de n entiers (2<= n <= 20). On se propose de calculer et d’afficher la moyenne arithmétique d’une séquence de T allant de i à j. (i et j sont deux entiers donnés vérifiant la condition : i<= j <= n ).
Exemple :
Soient n = 10, i = 3 , j = 7 et le tableau T suivant :
Le programme doit afficher : « La moyenne arithmétique de la séquence allant de 3 à 7 est : 8.60 »
Exemple :
Soient n = 10, i = 3 , j = 7 et le tableau T suivant :
T | 25 | -5 | 11 | 8 | 7 | 9 | 8 | 100 | -2 | 0 |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
exercice n°3
Ecrire un programme Pascal qui permet de saisir une chaîne de caractères CH puis d’en extraire les deux nombres formés par les chiffres figurant dans cette chaîne (extraction à partir de la droite puis extraction à partir de la gauche).
Exemple : CH= ‘A45D7FGHJ1’. Le programme affichera 4571 et 1754
correction exercice 3
program exercice3;
uses wincrt;
var
ch, ch1, ch2:string;
i:integer;
begin
writeln('saisir une chaîne');
readln(ch);
{initialisation de ch1 et ch2}
ch1:='';
ch2:='';
for i:=1 to length(ch) do
if ch[i] in ['0'..'9'] then
begin
ch1:=ch1 + ch[i];
ch2:= ch[i] + ch2;
end;
writeln(ch1,' ',ch2);
end.
uses wincrt;
var
ch, ch1, ch2:string;
i:integer;
begin
writeln('saisir une chaîne');
readln(ch);
{initialisation de ch1 et ch2}
ch1:='';
ch2:='';
for i:=1 to length(ch) do
if ch[i] in ['0'..'9'] then
begin
ch1:=ch1 + ch[i];
ch2:= ch[i] + ch2;
end;
writeln(ch1,' ',ch2);
end.
Dernière édition par Admin le Sam 17 Jan - 12:32, édité 1 fois
correction exercice n°1:
program exercice1;
uses wincrt;
var
i,j,k,l,n,m:integer;
t,tv,tc,tch,ts:array[1..30] of char;
begin
repeat
writeln('saisir n ');
readln(n);
until(n in [6..30]);
for i:= 1 to n do
begin
write('t[',i,']=');
readln(t[i]);
end;
j:=0; k:=0; l:=0; m:=0;
for i:=1 to n do
case upcase(t[i]) of
'0'..'9':begin
j:=j+1;
tch[j]:=t[i];
end;
'A'..'Z':if upcase(t[i]) in ['A','E','Y','U','I','O'] then
begin
k:=k+1;
tv[k]:=t[i];
end
else
begin
l:=l+1;
tc[l]:=t[i];
end
else
begin
m:=m+1;
ts[m]:=t[i];
end;
end;
{tableau de voyelles}
for i:=1 to k do
write(tv[i],' ');
writeln;
{tableau de consonnes}
for i:=1 to l do
write(tc[i],' ');
writeln;
{tableau de chiffres}
for i:=1 to j do
write(tch[i],' ');
writeln;
{tableau de symboles}
for i:=1 to m do
write(ts[i],' ');
end.
uses wincrt;
var
i,j,k,l,n,m:integer;
t,tv,tc,tch,ts:array[1..30] of char;
begin
repeat
writeln('saisir n ');
readln(n);
until(n in [6..30]);
for i:= 1 to n do
begin
write('t[',i,']=');
readln(t[i]);
end;
j:=0; k:=0; l:=0; m:=0;
for i:=1 to n do
case upcase(t[i]) of
'0'..'9':begin
j:=j+1;
tch[j]:=t[i];
end;
'A'..'Z':if upcase(t[i]) in ['A','E','Y','U','I','O'] then
begin
k:=k+1;
tv[k]:=t[i];
end
else
begin
l:=l+1;
tc[l]:=t[i];
end
else
begin
m:=m+1;
ts[m]:=t[i];
end;
end;
{tableau de voyelles}
for i:=1 to k do
write(tv[i],' ');
writeln;
{tableau de consonnes}
for i:=1 to l do
write(tc[i],' ');
writeln;
{tableau de chiffres}
for i:=1 to j do
write(tch[i],' ');
writeln;
{tableau de symboles}
for i:=1 to m do
write(ts[i],' ');
end.
série d'exercice corrigée
cliquer sur ce lien pour avoir une série d'exercice corrigée:
http://www.ac-nancy-metz.fr/eco-gestion/eric_crepin/algo/chap02/ex11.htm
http://www.ac-nancy-metz.fr/eco-gestion/eric_crepin/algo/chap02/ex11.htm
cours complet Pascal
cliquer sur ce lien pour avoir le cour:
http://www.cmi.univ-mrs.fr/~campioni/documents/algorithmique/cours2.pdf
http://www.cmi.univ-mrs.fr/~campioni/documents/algorithmique/cours2.pdf
série d'exercice
Exercice 1 :Ecrire un programme Pascal qui réalise le traitement suivant :
· choisir un entier n de l’intervalle [2,9] et un entier Max de l’intervalle [10,99]
· afficher tous les entiers de l’intervalle [1,Max] en remplaçant par le mot ‘boum’ tous les multiples de n ainsi que tous les entiers dont l’écriture contient le chiffre n.
Exemple d'exécutionSi n = 4 et Max = 20 alors la liste suivante sera affichée :
1 2 3 boum 5 6 7 boum 9 10 11 boum 13 boum 15 boum 17 18 19 boum
Exercice 2 :Il vous est demandé de saisir une chaîne de chiffres CH, de chercher la combinaison maximale CMAX et la combinaison minimale CMIN qu’on peut obtenir à partir des chiffres de CH, et enfin de les afficher.Pour déduire CMAX à partir de CH, on vous propose les étapes suivantes :
1. Chercher le plus grand chiffre dans CH
2. Le placer dans la chaîne CMAX
3. Remplacer ce chiffre par ‘*’ dans CH
4. Répéter les étapes 1, 2 et 3
Exemple : si CH = ‘51687412’
La combinaison maximale est : ‘87654211’
La combinaison minimale est : ‘11245678’
Exercice 3 :Chaque caractère possède un code ASCII ; pour que ce code soit "compris" par l’ordinateur, il est converti en code binaire (base 2) sous forme de 0 et 1.Ecrire un programme Pascal permettant de remplir un tableau T de 8 entiers égaux à 0 ou à 1 (code binaire) puis retrouver l’équivalent de ce code en base 10 (code ASCII) et enfin afficher le caractère correspondant. Code binaire (0 ou 1) à Code ASCII (base 10) à Caractère correspondant Exemple :
Code ASCII = 0*27+1*26+0*25+0*24+0*23+1*22+0*21+1*20 = 69
Le caractère ayant comme code ASCII 69 est E
Exercice 4 :Tout nombre positif de deux chiffres ab, tel que a≠b, possède une liste appelée "liste vers 9". Le principe est le suivant : on calcule la différence entre ab et son symétrique ba ; le résultat trouvé subit le même traitement ; on répète ce processus jusqu’à obtenir une différence = 9. L’ensemble constitué par le nombre initial et les résultats des différences est appelé "liste vers 9".Il vous est demandé d’introduire un nombre positif composé de deux chiffres obligatoirement différents, de générer sa "liste vers 9" et enfin de l’afficher.
Exemple : Soit X = 18 ; 81-18 = 63 ; 63-39 = 27 ; 72-27 = 45 ; 54-45 = 9 à fin du traitement
La liste vers 9 est : 18 63 27 45 9
Exercice 5 :On se propose de déterminer une valeur approchée de p par la méthode de LEIBNIZ, définie par la formule suivante : Ecrire un programme Pascal qui utilise la formule ci-dessus pour déterminer et afficher une valeur approchée de p avec une erreur maximale . La valeur de est une donnée.
Exercice 6 :On considère deux suites U et V définies à partir de : La suite Vn tend vers une limite, appelée nombre d’or.
Ecrire un programme pascal permettant de déterminer une valeur approchée du nombre d’or à 10-4 près
(dès que |Vn – Vn-1| < 0,0001).
Exercice 7 :Le professeur Nessay est très distrait. Il va jusqu’à oublier le numéro de sa maison. Il habite une rue qui longe un canal, de sorte que des maisons sont simplement numérotées de 1 à N. Tout ce dont il se souvient, c’est que la somme des numéros de maisons avant est égale à la somme des numéros après sa maison.Ecrire un programme qui détermine et affiche le numéro de la maison du professeur et le nombre des maisons qui forment la rue.
Exemple : Lors de l’exécution, le premier couple affiché sera (6, ce qui signifie qu’il y a 8 maisons numérotées de 1 à 8 et que le numéro de la maison du professeur est 6.
En effet 1+2+3+4+5 = 7+8
· choisir un entier n de l’intervalle [2,9] et un entier Max de l’intervalle [10,99]
· afficher tous les entiers de l’intervalle [1,Max] en remplaçant par le mot ‘boum’ tous les multiples de n ainsi que tous les entiers dont l’écriture contient le chiffre n.
Exemple d'exécutionSi n = 4 et Max = 20 alors la liste suivante sera affichée :
1 2 3 boum 5 6 7 boum 9 10 11 boum 13 boum 15 boum 17 18 19 boum
Exercice 2 :Il vous est demandé de saisir une chaîne de chiffres CH, de chercher la combinaison maximale CMAX et la combinaison minimale CMIN qu’on peut obtenir à partir des chiffres de CH, et enfin de les afficher.Pour déduire CMAX à partir de CH, on vous propose les étapes suivantes :
1. Chercher le plus grand chiffre dans CH
2. Le placer dans la chaîne CMAX
3. Remplacer ce chiffre par ‘*’ dans CH
4. Répéter les étapes 1, 2 et 3
Exemple : si CH = ‘51687412’
La combinaison maximale est : ‘87654211’
La combinaison minimale est : ‘11245678’
Exercice 3 :Chaque caractère possède un code ASCII ; pour que ce code soit "compris" par l’ordinateur, il est converti en code binaire (base 2) sous forme de 0 et 1.Ecrire un programme Pascal permettant de remplir un tableau T de 8 entiers égaux à 0 ou à 1 (code binaire) puis retrouver l’équivalent de ce code en base 10 (code ASCII) et enfin afficher le caractère correspondant. Code binaire (0 ou 1) à Code ASCII (base 10) à Caractère correspondant Exemple :
T | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 |
Le caractère ayant comme code ASCII 69 est E
Exercice 4 :Tout nombre positif de deux chiffres ab, tel que a≠b, possède une liste appelée "liste vers 9". Le principe est le suivant : on calcule la différence entre ab et son symétrique ba ; le résultat trouvé subit le même traitement ; on répète ce processus jusqu’à obtenir une différence = 9. L’ensemble constitué par le nombre initial et les résultats des différences est appelé "liste vers 9".Il vous est demandé d’introduire un nombre positif composé de deux chiffres obligatoirement différents, de générer sa "liste vers 9" et enfin de l’afficher.
Exemple : Soit X = 18 ; 81-18 = 63 ; 63-39 = 27 ; 72-27 = 45 ; 54-45 = 9 à fin du traitement
La liste vers 9 est : 18 63 27 45 9
Exercice 5 :On se propose de déterminer une valeur approchée de p par la méthode de LEIBNIZ, définie par la formule suivante : Ecrire un programme Pascal qui utilise la formule ci-dessus pour déterminer et afficher une valeur approchée de p avec une erreur maximale . La valeur de est une donnée.
Exercice 6 :On considère deux suites U et V définies à partir de : La suite Vn tend vers une limite, appelée nombre d’or.
Ecrire un programme pascal permettant de déterminer une valeur approchée du nombre d’or à 10-4 près
(dès que |Vn – Vn-1| < 0,0001).
Exercice 7 :Le professeur Nessay est très distrait. Il va jusqu’à oublier le numéro de sa maison. Il habite une rue qui longe un canal, de sorte que des maisons sont simplement numérotées de 1 à N. Tout ce dont il se souvient, c’est que la somme des numéros de maisons avant est égale à la somme des numéros après sa maison.Ecrire un programme qui détermine et affiche le numéro de la maison du professeur et le nombre des maisons qui forment la rue.
Exemple : Lors de l’exécution, le premier couple affiché sera (6, ce qui signifie qu’il y a 8 maisons numérotées de 1 à 8 et que le numéro de la maison du professeur est 6.
En effet 1+2+3+4+5 = 7+8
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
15 |
Dernière édition par Admin le Dim 18 Jan - 21:52, édité 1 fois
série des exercices
suivez ce lien pour avoir une série des exercices: http://pascal.topbesoin.com/serie3_2.php
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|