0% ont trouvé ce document utile (0 vote)
137 vues9 pages

Révision Bac Math

Transféré par

oumaima.fethi.2016
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
137 vues9 pages

Révision Bac Math

Transféré par

oumaima.fethi.2016
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Révision bac 2020 Lycée Bourguiba Monastir

 Remplir un tableau avec contrainte(s)  Maximum d’un tableau


[Link] proc remplir (var t :tab ; n : entier) [Link] fn maximum(t :tab; n:entier) :entier
1. Pour i de 1 à n faire [Link]t[1]
Répéter Pour i de 2 à n faire
Lire(T[i]) si t[i] > max alors
Jusqu'à t[i] …….. max t[i]
Fin pour finsi
2. Fin remplir Finpour
[Link] max
4. fin maximum
 Remplir un tableau par des éléments triés
[Link] proc remplir (var t :tab ; n : entier)  Remplir un tableau par des éléments distincts
1. Lire(t[1]) 0) Def proc remplir (var t :tab ; n : entier)
2. pour i de 2 à n faire 1) Lire (t [1])
Répéter 2) Pour i de 2 à n faire
Lire(T[i]) Répéter
Jusqu'à t[i] > t [i –1] Lire(t[i])
Fin pour Jusqu’à Fn distinct ( t, i)
3. Fin remplir Fin pour
3) Fin remplir
 Afficher un tableau 0) Def fn distinct (T :tab ; i : entier) :booléen
[Link] proc Afficher (T :tab ; n : entier) 1) j 1 ,test vrai
Répéter
1 pour i de 1 à N faire
Si t[j]=t[i] alors
Ecrire (T[i]) Testfaux
Fin pour sinon
[Link] afficher i  i+1
finsi
Jusqu’à (test = faux)ou (i =j)
2) distinct test
3) fin distinct

Page 1/9
Révision bac 2020 Lycée Bourguiba Monastir
 Insertion d’un élément x dans un tableau à la position P :  Suppression de l’élément d’indice p du tableau :
0) Def proc insertion (x,p: entier ; var t :tab; var n:entier) 0) Def proc suppression (p:entier ; var t :tab; var n:entier)
(Commencer le décalage des éléments à partir de droite pour 1) pour i de p à n-1 faire
libérer la case p) t[i]t[i+1]
1) Pour i de n à p faire (pas = -1) Finpour
t[i+1]t[i] 2) nn-1
Finpour 3) Fin suppression
2) t[p]x
3) n  n + 1  Eliminer toutes les occurrences de x du tableau T
4) Fin insertion 0) Def Proc Eliminer (var T : tab ; var n : entier ; x : entier)
1) i  1
 insertion d’un élément dans un tableau trié Répéter
0) Def proc insertion (x,: entier ; var t :tab; var n:entier) Si T[i] = x alors
1) I0 Pour j de i à n-1 faire
2) repeter T[j]  T[j+1]
Ii+1 Fin pour
Jusqu’à t[i]>x ou( i=n) n  n -1
Si t[i]>x alors Sinon
Pour j de n à I faire i  i+1
T[j+1] t[j] Fin si
Finpour Jusqu'à i > n
T[i]x 2) Fin Eliminer
Sinon
T[n+1]x  Inverser les éléments d’un tableau
finsi 0) Def proc inverser (n : entier ; var t :tab)
3) n n+1 1) j n
4) Fin insertion Pour i de 1 à n div 2 faire
aux t[i]
t[i]t[j]
t[j]aux
j j-1
Finpour
2) Fin inverser

Page 2/9
Révision bac 2020 Lycée Bourguiba Monastir
 Éclater un tableau d’entier en deux tableau t1 contenant les entiers  Calcul de puissance ( XY )
strictement positifs et t2 contenant les entiers strictement négatifs : 0) Def fn puissance (x, y : entier) :entier_long
0) Def proc eclater( t :tab; n : entier; var t1,t2:tab; var k1,k2:entier) 1) p1
1) k10 pour i de 1 à y faire
k20 pp*x
pour i de 1 à n faire Finpour
si t[i]>0 alors 2) puissance p
k1k1+1 3) fin puissance
t1[k1]t[i]  Calcul de factoriel ( N ! )
sinon si t[i] < 0 0) Def fn factoriel (N : entier) : entier_long
k2k2+1 1) F1
t2[k2]t[i] pour i de 1 à N faire
finsi FF*i
finpour Finpour
2) fin eclater 2) factorielF
Vérifier si n est un est nombre premier (version 1) 3) Fin factoriel
0) Def fn premier (n : entier) :booléen
1) nb1
Pour i de 1 à n faire  Calcul du pgcd de deux entiers a et b
Si n mod i=0 alors 0) Def fn pgcd(a,b : entier ) :entier
nb nb + 1 1) tantque b ≠ 0 faire
Finsi ra mod b
Finpour ab
2) Premiernb=2 br
3) Fin premier fin tanque
* Vérifier si n est un nombre premier ou non( version 2) 2) pgcda
0) Def fn premier (n : entier) : Booléen 3) fin pgcd
1) i2
tant que (n mod i ≠ 0)et (i ≤ n div 2) faire
ii+1
Fin tant que
2) Premier( i > n div 2) et (n≠1)
3) Fin premier

Page 3/9
Révision bac 2020 Lycée Bourguiba Monastir
 Fréquence d’un entier x dans un tableau d’entier  Déterminer la décomposition en ses facteurs premiers
0) Def fn frequence( t:tab ; n : entier ;x :entier) :entier d’un entier n exemple : 36 = 2*2*3*3
1) nb0 pour i de 1 à n faire 0)Def fn fact_prem( n :entier) :chaine
Si t[ i ]=x alors 1) i2
nbnb+1 ch ""
Finsi Répéter
Finpour Si n mod i=0 alors
2) frequencenb Convch(i,x)
3) Fin frequence Chch+x+’’*’’
nn div i
 Vérifier si n est parfait (n=somme de ses diviseurs sauf lui-même) Sinon
0)Def fn parfait (n : entier ) : booléen ii+1
1) S0 pour i de 1 à n div 2 faire Finsi
Si n mod i=0 alors Jusqu’à n=1
SS+i Effacer(ch,long(ch),1)
Finsi 2)Fact_premch
Finpour 3)Fin fact_prem
2) parfaitS=n 2ème méthode
3) fin parfait 0)Def proc fact_prem( n :entier; var T:tab;Var nb: entier)
1) i2
Nb 0
Répéter
 Calcul ppcm de deux entiers a et b Si n mod i=0 alors
0) Def fn ppcm(a,b : entier ) :entier Nb  Nb+1
1) P a T[Nb]  i
tant que p mod b ≠ 0 Faire nn div i
PP+a Sinon
Fin Tant que ii+1
2) ppcmP Finsi
3) Fin ppcm Jusqu’à n=1
2)Fin fact_prem

Page 4/9
Révision bac 2020 Lycée Bourguiba Monastir
 Fusionner deux tableaux triés
def proc fusion(n1,n2: entier ; t1,t2:tab; var k:entier; var t:tab)  Tri à bulle d’un tableau dans l’ordre croissant :
0) Def proc trier (var t :tab ; n : entier)
Resultat= t1,t2,k1,k2
1) Répéter
t1,t2,k1,k2=[i1,j1,k<--0 ]
repeat Echange  faux
kk+1 Pour i de 1à n-1faire
si t1[i]>t2[j] alors Si t[i]<t[i+1] alors
t [k]t1[i] Aux t[ i ]
i<-- i+1
T[i]t[i+1]
sinon
t[k]t2[j] T[i+1]aux
j<--j+1 Echange  vrai
finsi Finsi
until (i>n1) or (j>n2) Finpour
si (i>n1) alors
nn-1
pour e de j to n2 faire
kk+1 Jusqu'à (echange = faux) ou (n=1)
t[k]t2[e] 2) Fin trier_b
finpour  Recherche séquentielle : Vérifier si un entier x existe ou
sinon non dans un tableau T
pour e de i to n1 faire
kk+1 0) Def fn recherche (n,x :entier ; t :tab) :booléen
t[k]t1[e] 1) i1
finpour Répéter
finsi ok  T[i] = x
Fin fusionner ii+1
3)Fin fusionner Jusqu’a (ok= vrai) ou (i > n)
2) Rechercheok
3) Fin recherche
 Vérifier si un tableau T est trié dans l’ordre croissant ou OU
non 1) i0
0) Def fn verifier (t:tab; n:Entier) :booléen Répéter
1) i1 ii+1
Répéter Jusqu’a ( t[i] = x) ou (i = n)
Ok T[ i ] < T[i+1] 2) Recherchet[i] =x
ii+1
Jusqu'à (ok=faux) ou (i> n-1)
2) Verifierok
3) Fin verifier Page 5/9
Révision bac 2020 Lycée Bourguiba Monastir
 Recherché dichotomique (dans un tableau trié)
0) Def fn recherche_di (n, x :entier ; t :tab) :booléen  Supprimer les caractères numériques d’une chaine ch
1) d1 fn ok faux 0) Def Proc supprimer (Var ch : chaine)
Répéter 1) i1
m(d+f) div 2 repeter
si t[m]=x alors Si ch[i] dans ["0".."9"] alors
okvrai Effacer (ch,i,1)
sinon si x<t[m] alors Sinon
fm-1 ii+1
sinon finsi
dm+1 jusqu’à i> long(ch)
finsi 2) Fin supprimer
Jusqu’a (ok= Vrai) ou (d>f)  Vérifier si Ch est une chaîne contenant que des caractères
2) Rechercheok alphabétiques
3) Fin recherche 0) Def fn verif (Ch : chaine) :booléen
1) i0
 Vérifier si un tableau T est symétrique ou non Répéter
0)Def fn verifier(t:tab; n:Entier) :booléen ii+1
1) i0 j  n Okmajus (ch[i]) dans ["A".."Z"]
ok vrai Jusqu’à (Non ok) ou (i=long(ch))
Répéter 2) verifok
ii+1 3) Fin verif
Ok  T[i] = T[j]
j  j -1  Vérifier si Ch est une chaîne contenant des caractères distincts
Jusqu'à ( ok=faux) ou (i ≥ j) 0) Def fn verif (Ch : chaine) : booléen
2)verifierok 1) i0, ok vrai
3)fin verifier Répéter
i i+1
si pos ( ch[i],sous-chaine(ch, i+1, long (ch)-i)) <> 0 alors
ok faux
finsi
Jusqu’à(ok=faux) ou (i=long(ch))
2) verifok
3) fin verif
Page 6/9
Révision bac 2020 Lycée Bourguiba Monastir
 inverser une chaine ch (version1)
0) Def Proc inverser (Var ch : chaine) *Transférer chaque mot d’une phrase dans une case d’un
1) Pour i de 1 à long(ch) div 2 faire tableau T
auxch[i] 0) Def proc transfert (ch : chaine ; var t : tab ; var n : entier)
Ch[i]ch[long(ch)-i+1] 1) Tant que ch[1] =" _ "faire
Effacer (ch,1,1)
Ch[long(ch)-i+1]aux
Fin tant que
Finpour
2) Tant que ch[long(ch)] =" _ " faire
2) Fin inverser Effacer (ch,long(ch),1)
Fin tant que
3) Tant que pos ("_ _ ",ch) ≠ 0 Faire
 Inverser une chaine ch (version2) Effacer (ch, pos (‘’_ _ ‘’,ch),1)
0) Def fn inverser (ch : chaine) : chaine Fin Tant que
1) ch1 "" 4) n  0 chch+"_ "{pour pouvoir prendre le dernier mot je dois
pour i de long(ch) à 1 faire (pas = -1) ajouter un espace à la fin }
Tant que pos ( "_ ", ch ) ≠ 0 faire
Ch1ch1+ch[i]
n  n+1
Finpour
p  pos( "_ ", ch )
2) inverser ch1 t[n] sous chaine (ch , 1 , p-1 )
3) Fin inverser Effacer (ch , 1 , p )
Fin tant que
 Vérifier si une chaîne est palindrome 5) fin transfert
0) Def fn palindrome (ch : chaine) : booléen
1) i  1 Transferer les chaines d’un tableau vers une chaine séparé
j  long (Ch) par un espace
Répéter
ok  Ch[i] = Ch[j] 0) Def fn concatenation (n :entier ; t :tab ) :chaine
ii+1 1) Ch’’’’
jj–1 Pour i de 1 àn faire
Jusqu’à ( Non Ok) ou ( i ≥ j) [{Non(ok) cad ok= faux} Chch+t[i]+’’ ‘’
2) Palindromeok Finpour
3) Fin palindrome 2) Concatenationch
3) Fin concatenation

Page 7/9
Révision bac 2020 Lycée Bourguiba Monastir
Donner une chaine ch avec n lettres aléatoires Ajouter des étoiles à la chaine pour avoir sa longueur divisible
par 3
0) Def proc ajout( var ch :chaine)
0) Def proc lecture( var ch :chaine ; n :entier) 1) Tant que long( ch) mod 3<>0 faire
1) Ch ‘’’’ Ch ch+’’ ‘’
Pour i de 1 à n Faire Finpour
Ch ch+ chr(alea(26)+65+alea(2)*32) 2) Fin ajout
Finpour
2) Fin lecture
Répartir les caractères d’une chaine dans un tableau de taille de
Verifier qu’ une chaine contient des mots distincts la longueur de la chaine
0) Def proc repartir( ch :chaine ; var t :tab )
0) Def fn distinct_ch( ch :chaine) :boolean 1) Pour i de 1 à long(ch) faire
1) Test vrai T[i ] ch[i]
Ch ch+’’ ‘’ Finpour
repeter 2) Fin repartir
Xsous chaine(ch,1 pos(‘’ ‘’ ,ch)-1)
Efface(ch,1 pos(‘’ ‘’, ch)
Ch1ch
repeter
ysous chaine(ch1,1 pos(‘’ ‘’ ,ch1)-1)
Efface(ch1,1 pos(‘’ ‘’, ch1) )
Y<>x alors
Test faux

Finsi
Jusqu’a ( test= faux) ou ch1=’’’’
Jusqu’à (pos(‘’ ‘’, ch=0)) ou test= faux
2) Distinct_chtest
3) Fin distinct_ch

Page 8/9
Les suites : Calculer le ni ème terme d’une suite ou Calculer
Révision bac 2020 limite Lycée Bourguiba Monastir
de U0=1 (Un+1=Un+5)
Les suites : afficher si x est un terme de la suite U ou non dans
0) Def fn suite(n :entier) :entier
l’afirmatif revoyer son rang
1) U<--1
U0=1 ,Un=2*Un-1+2/3
2) Pour i de 1 a n faire
0) Def fn rang( x:entier) :entier U <--U+5
1) Si u=1 alors rang1 3) Fin pour
Sinon 4) SuiteU
u1,r1 5) Fin suite
repeter
u<--2*u+2/3
Les suites : Calculer Un lorsue la différence entre deux terme
rr+1
jusqu'à u>=x Successif est inférieur à epsilon (U0=1,Un+1=Un+5)
2) si u=x alors 0) Def fn suite (n :entier ; ep :reel ) :entier
rangr 1) U<--1
sinon 2) repeter
rang -1 UP<--U
finsi U <--U+5
finsi Jusqu'à (abs(U-UP)<ep)
3) suite<--U
3) fin rang 4) fin suite
Les suites : afficher si x est un terme de la suite U ou non
Décomposition en Facteur premier 60=2*2*3*5 U0=1 U1=2 Un=2*Un-1+Un-2
0) Def fn fact_premier( n :entier) :chaine 0) Def proc afficher( x:entier)
1) I2 1) Si x=1 ou x= 2 alors
2) Ch’’’’ Écrire (x,''est un terme de la suite U'')
3) Repeter Sinon
Si n mod i= 0 alors Up1
Convch( i,x) ; uap2
Ch ch+ x+’’*’’ repeter
Nn div i u2*up+uap
Sinon
uapup
Ii+1
Finsi
upu
Jusqu’à n=1 jusqu'à u>=x
4) Fact_premierch si u=x alors
5) Fin fact_premier Écrire (x,''est un terme de la suite U'')
sinon
ecrire(x,'' n''est pas un terme de la suite U'')
finsi
finsi
Page 9/9 2) fin afficher

Vous aimerez peut-être aussi