|
Sujets Bac pratique 2003 en informatique Sujet1 17/05/2003 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 NB: La solution doit comporter au moins deux modules. Sujet 19/05/2003 9h L’algorithme suivant permet de calculer et d’afficher les moyennes des trois notes de n élèves. Début calcul_moyennes Lire(n) Pour i de 1 à n répéter Lire(Note1, Note2,Note3) Moy<-( Note1+2 x Note2+2 x Note3)/5 Ecrire (Moy) FinPour Fin Calcul_moyennes Questions : Traduire cet algorithme en Turbo Pascal. Dans l’action 1, ajouter le contrôle de saisie pour assurer la condition (5<=n <=40) Ajouter une fonction intitulée RANG qui permet de chercher le rang de l’élève n°i. Apporter les changements adéquats afin d’afficher pour chaque élève et sur une même ligne N° Moyenne Rang Sujet 19/05/2003 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 V_min d’une séquence de T allant de i à j. (i et j sont deux entiers donnés vérifiant la condition 1<=i <=j<=n). NB: La solution doit comporter au moins deux modules. Sujet2 : 20/05/2003 9h L’algorithme suivant permet de calculer et d’afficher la moyenne arithmétique d’une classe de n élèves. Début moyenne_classe [lire(n)] pour i de 1 à n répéter lire(T[i]) Fin pour [total<-0] pour i de 1 à n répéter total<-total + T[i] Fin pour moyenne<-total/n Ecrire(moyenne) 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 21/05/2003 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]. NB : La solution doit comporter au moins une fonction et une procédure. Sujet 22/05/2003 9h On veut écrire un programme Pascal permettant de lire un mot intitulé CHM et d’afficher les chaînes de caractères suivantes : Exemple : Si la chaîne CHM contient "TURBO" alors le programme affichera : TO TUBO TURRBO TURBURBO TURBOTURBO NB : La solution doit comporter au moins deux modules. Sujet 22/05/2003 10h30’ Soit l’algorithme suivant : Début Exercice Ecrire("a="), Lire(a) Ecrire("b="), Lire(b) Ecrire("erreur"), Lire(eps) [trv<-faux] répéter [c<-(a+b)/2] si(f(a).f(c)=0) alors trv<-vrai sinon si f(a).f(c)<0 alors b<-c sinon a<-c FinSi FinSi Jusqu’à (trv) ou |a-b|<2.eps) Ecrire("Le zéro de f est : ", c, "à " ,esp, " près") Fin Exercice Questions : Traduire cet algorithme en Pascal en lui ajoutant la définition de la fonction f suivante f(x)=5x2-1 et le testant pour a=0 , b=1 et eps=0.0001 Que fait cet algorithme ?(Ecrire la réponse comme commentaire à la fin du programme Transformer l’action 4) en une fonction. Sujet 22/05/2003 14h On se propose d’écrire un programme Pascal permettant de déterminer et d’afficher la lettre alphabétique la plus utilisée dans un texte donné. Le texte étant saisi comme une chaîne de caractères contenant n caractères (5<=n<=20). Dans le cas d’ex æquo afficher toutes les lettres ayant la plus grande fréquence. NB : La solution doit comporter au moins deux modules. Sujet 23/05/2003 9h Soit l’algorithme suivant qui calcule et affiche les moyennes de n candidats : Début calcul_moy Ecrire("Donner le 1er coefficient :") , Lire(coef1) Ecrire("Donner le 2ème coefficient :") , Lire(coef2) [Lire(n)] Pour i de 1 à n répéter Lire(Note1) Lire(Note2) Moy<- (Note1*coef1+Note2*coef2)/(coef1+coef2) Ecrire("Moyenne= ",Moy) FinPour Fin Calcul_moy Questions : Traduire cet algorithme en Pascal Dans le programme obtenu, ajouter un module intitulé RANG qui permet de chercher et d’afficher le rang de chaque candidat. Sujet 23/05/2003 10h30’ On veut écrire un programme Pascal permettant de coder un message selon le procédé suivant : Exemple : Le codage de la chaîne de caractères "Baccalauréat" donne "aBcclauaérta" NB : La solution doit comporter au moins deux modules. Sujet 24/05/2003 9h Soit l’algorithme suivant : Début Exercice [Lire(n)] Pour i de 1 à n répéter Lire(T[i]) FinPour Pour i de 1 à n-1 répéter Pour j de i+1 à n répéter Si T[j]>T[i] Alors Aux<-T[j] T[j]<-T[i] T[i]<-Aux FinSi FinPour FinPour Pour i de 1 à n répéter Ecrire(T[i]) FinPour Fin Exercice Questions : -
Traduire cet algorithme en Pascal Que fait ce programme ?(Ecrire la réponse comme commentaire à la fin du programme Dans l’action 1), ajouter le contrôle sur la saisie pour assurer la condition suivante : 3<=n<=10 Transformer l’action 2) en un module et en tenir compte dans le programme
Sujet 24/05/2003 10h30’ On veut écrire un programme Pascal permettant de chercher puis d’afficher l’indice de la plus grande valeur d’un tableau T contenant n entiers (5<=n<=20). Dans le cas d’ex æquo, on affiche l’indice de la première occurrence. NB: La solution doit comporter au moins deux modules.
|