Sujets Bac 2003
2 participants
Page 1 sur 1
Sujets Bac 2003
Sujet : Programmation en Pascal DATE : Samedi 17 mai 2003 ( Heure :9h )
Ecrire un programme Pascal qui saisit une chaîne de caractères et l'affiche sous la forme d'un triangle comme indiqué ci-dessous.
Exemple :
Si la chaîne saisie est "INTERNET", on aura :
I
IN
INT
INTE
INTER
INTERN
INTERNE
INTERNET
Sujet : Programmation en Pascal DATE : Lundi 19 mai 2003 Heure :15h30’ )
L’algorithme suivant permet de calculer et d’afficher la moyenne arithmétique d’une classe de n élèves.
0) Début moyenne_classe
1) [Lire (n)] Pour i de 1 à n répéter
Lire (T[i])
FinPour
2) [total ¬ 0] Pour i de 1 à n répéter
total ¬ total + T[i]
FinPour
3) moyenne ¬ total / n
4) Ecrire (moyenne)
5) Fin moyenne_classe
Questions :
- Traduire cet algorithme en Pascal.
- Dans l’action 1, ajouter les contrôles de saisie permettant d’assurer les conditions :
5 ≤ n ≤ 40 et 0 ≤ T[i] ≤ 20 - Ajouter un module dont le rôle est de déterminer et d’afficher le nombre d’élèves qui ont une moyenne supérieure ou égale à la moyenne de la classe.
Sujet : Programmation en Pascal DATE : Samedi 17 mai 2003 ( Heure : 15h30’ )
Sachant que 6+6/22 + 6/32 +6/42 +…..+6/n2 tend vers π2 , écrire un programme Pascal permettant de calculer puis d’afficher une valeur approchée de π2avec une erreur maximale ε . La valeur de ε est une donnée.
Sujet : Programmation en Pascal DATE : Lundi 19 mai 2003 ( Heure : 14h )
Soit T un tableau de n caractère (2 ≤ n ≤ 20). On se propose d’écrire un programme Pascal qui saisit n et T puis affiche le nombre d’occurrences d’un caractère c donné, dans le tableau T.
Sujet : Programmation en Pascal DATE : Lundi 19 mai 2003 ( Heure : 10h30’ )
Soit T un tableau de n entiers (2 ≤ n ≤ 20). On veut écrire un programme Pascal qui saisit n et T puis affiche la valeur maximale V_max et la valeur minimale V_min 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).
Sujet : Programmation en Pascal DATE : Mercredi 21 mai 2003 ( Heure : 9h )
Deux joueurs lancent en même temps un dé dont les faces sont numérotées de 1 à 6. Le joueur qui obtiendra la plus grande valeur aura un point. Le jeu s'arrête quand l'un des joueurs arrive le premier à un score de 10 points.
Ecrire un programme Pascal simulant ce jeu et afficher le numéro du joueur gagnant.
On pourra utiliser la fonction prédéfinie RANDOM(n) qui retourne un entier de l’intervalle [0,n-1].
Re: Sujets Bac 2003
STRONG>Ecrire un programme Pascal qui saisit une chaîne de caractères et l'affiche sous la forme d'un triangle comme indiqué ci-dessous.
Exemple :
Si la chaîne saisie est "INTERNET", on aura :
I
IN
INT
INTE
INTER
INTERN
INTERNE
INTERNET
program suggestion;
uses wincrt;
var
ch:string;
test:boolean;
i:integer;
begin
writeln('saisir un mot');
readln(ch);
i:=0;
repeat
i:=i+1;
test:= ch[i] in['A'..'Z'];
until (not(test) or (i= length(ch)));
for i:=1 to length(ch) do
begin
writeln(copy (ch,1,i));
end;
end.
Exemple :
Si la chaîne saisie est "INTERNET", on aura :
I
IN
INT
INTE
INTER
INTERN
INTERNE
INTERNET
program suggestion;
uses wincrt;
var
ch:string;
test:boolean;
i:integer;
begin
writeln('saisir un mot');
readln(ch);
i:=0;
repeat
i:=i+1;
test:= ch[i] in['A'..'Z'];
until (not(test) or (i= length(ch)));
for i:=1 to length(ch) do
begin
writeln(copy (ch,1,i));
end;
end.
ameni hlaili- Messages : 12
Date d'inscription : 06/01/2009
Age : 33
modification
bonjour amani, j'ai fait une légère modification à ta solution
program suggestion;
uses wincrt;
var
ch:string;
test:boolean;
i:integer;
begin
repeat {la saisie ce fait autant de fois que l'utilisateur saisit une chaîne qui contient des chiffres ou des symboles c'est pour celà on va utiliser la boucle répéter}
writeln('saisir un mot');
readln(ch);
i:=0;
repeat
i:=i+1;
test:= upcase(ch[i]) in['A'..'Z'];
until not(test) or (i= length(ch));
until test;
for i:=1 to length(ch) do
begin
writeln(copy (ch,1,i));
end;
end.
program suggestion;
uses wincrt;
var
ch:string;
test:boolean;
i:integer;
begin
repeat {la saisie ce fait autant de fois que l'utilisateur saisit une chaîne qui contient des chiffres ou des symboles c'est pour celà on va utiliser la boucle répéter}
writeln('saisir un mot');
readln(ch);
i:=0;
repeat
i:=i+1;
test:= upcase(ch[i]) in['A'..'Z'];
until not(test) or (i= length(ch));
until test;
for i:=1 to length(ch) do
begin
writeln(copy (ch,1,i));
end;
end.
Re: Sujets Bac 2003
bacc 2007: recherche le chiffre de chance:on additionne les chiffres composants la date de naissanced' une personne jusqu'au obtenir un seul chiffre!
program chance;
uses wincrt;
var
som: integer;
ch:string;
procedure saisie (ch :string);
begin
writeln('ch');
readln(ch);
end;
procedure somme( var ch :string);
var
i, a,b,c,e:integer;
begin
val(copy(ch,1,2),a,e);
val(copy(ch,4,2),b,e);
val(copy(ch,7,4),c,e);
som:= a+b+c;
repeat
som:=som+i;
until som in[1..9];
writeln(som);
end;
begin
saisie(ch);
somme(ch);
end.
j'ai essayé de résoudre ce probleme mais en vain!
j'ai besoin d'une solution!svp aidez moi!merci
program chance;
uses wincrt;
var
som: integer;
ch:string;
procedure saisie (ch :string);
begin
writeln('ch');
readln(ch);
end;
procedure somme( var ch :string);
var
i, a,b,c,e:integer;
begin
val(copy(ch,1,2),a,e);
val(copy(ch,4,2),b,e);
val(copy(ch,7,4),c,e);
som:= a+b+c;
repeat
som:=som+i;
until som in[1..9];
writeln(som);
end;
begin
saisie(ch);
somme(ch);
end.
j'ai essayé de résoudre ce probleme mais en vain!
j'ai besoin d'une solution!svp aidez moi!merci
ameni hlaili- Messages : 12
Date d'inscription : 06/01/2009
Age : 33
réponse chiffre de chance
solution au problème chiffre de chance
program ex1;
uses wincrt;
var
date:string;
procedure saisie (var date:string);
begin
writeln('saisir une date');
readln(date);
delete(date,pos('/',date),1);
delete(date,pos('/',date),1);
end;
function chance(date:string):integer;
var
i,s,a,e:integer;
begin
repeat
s:=0;
for i:=1 to length(date) do
begin
val(date[i],a,e);
s:=s+a;
end;
str(s,date);
until s in [1..9];
chance:=s;
end;
{pp}
begin
saisie(date);
writeln('le chiffre de chance est: ',chance(date));
end.
program ex1;
uses wincrt;
var
date:string;
procedure saisie (var date:string);
begin
writeln('saisir une date');
readln(date);
delete(date,pos('/',date),1);
delete(date,pos('/',date),1);
end;
function chance(date:string):integer;
var
i,s,a,e:integer;
begin
repeat
s:=0;
for i:=1 to length(date) do
begin
val(date[i],a,e);
s:=s+a;
end;
str(s,date);
until s in [1..9];
chance:=s;
end;
{pp}
begin
saisie(date);
writeln('le chiffre de chance est: ',chance(date));
end.
Re: Sujets Bac 2003
Sujet : Programmation en Pascal DATE : Lundi 19 mai 2003 Heure :15h30’ )
L’algorithme suivant permet de calculer et d’afficher la moyenne arithmétique d’une classe de n élèves.
0) Début moyenne_classe
1) [Lire (n)] Pour i de 1 à n répéter
Lire (T[i])
FinPour
2) [total ¬ 0] Pour i de 1 à n répéter
total ¬ total + T[i]
FinPour
3) moyenne ¬ total / n
4) Ecrire (moyenne)
5) Fin moyenne_classe
Questions :
program bacpratique;
uses wincrt;
type
tab=array[1..50] of integer;
var
nb,tot,n,i:integer;
t:tab;
moy:real;
begin
for i:=1 to n do
begin
repeat writeln('n=');
readln(n);
until n in [5..40];
repeat writeln ('t[',i,']=');
readln(t[i]);
until t[i] in [0..20];
end;
tot:=0;
for i:=1 to n do
begin
tot:= tot+t[i];
end;
moy:= tot/n;
writeln('la moyenne est',moy);
for i:=1 to n do
begin
if t[i]> moy then
begin
nb:=nb+1;
writeln('le nb des eleves est',nb);
end;
end;
end.
L’algorithme suivant permet de calculer et d’afficher la moyenne arithmétique d’une classe de n élèves.
0) Début moyenne_classe
1) [Lire (n)] Pour i de 1 à n répéter
Lire (T[i])
FinPour
2) [total ¬ 0] Pour i de 1 à n répéter
total ¬ total + T[i]
FinPour
3) moyenne ¬ total / n
4) Ecrire (moyenne)
5) Fin moyenne_classe
Questions :
- Traduire cet algorithme en Pascal.
- Dans l’action 1, ajouter les contrôles de saisie permettant d’assurer les conditions :
5 ≤ n ≤ 40 et 0 ≤ T[i] ≤ 20 - Ajouter un module dont le rôle est de déterminer et d’afficher le nombre d’élèves qui ont une moyenne supérieure ou égale à la moyenne de la classe.
program bacpratique;
uses wincrt;
type
tab=array[1..50] of integer;
var
nb,tot,n,i:integer;
t:tab;
moy:real;
begin
for i:=1 to n do
begin
repeat writeln('n=');
readln(n);
until n in [5..40];
repeat writeln ('t[',i,']=');
readln(t[i]);
until t[i] in [0..20];
end;
tot:=0;
for i:=1 to n do
begin
tot:= tot+t[i];
end;
moy:= tot/n;
writeln('la moyenne est',moy);
for i:=1 to n do
begin
if t[i]> moy then
begin
nb:=nb+1;
writeln('le nb des eleves est',nb);
end;
end;
end.
ameni hlaili- Messages : 12
Date d'inscription : 06/01/2009
Age : 33
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|