Correction Bac blanc Algorithmique 2022/2023 (El Mourouj, Bir ElKasaa, Boumhel, Borj Cedria et Hammam lif) Exercice 1 : (2.25 points) 1) F F V pour 2ème on acceptera même V (0.25 * 8) + 0.5 2) F F V 3) V V F Exercice 2 : (2.5 points) 1) Cette suite est d’ordre 1 car chaque terme dépend du terme qui le précède 0.5 2) Algorithme de la fonction Terme_N Fonction Terme_N ( n : entier) : Réel 0.25 Debut Si n = 1 alors 0.5 Retourner 1 0.5 Sinon Retourner 1 + 1 / Terme_N ( n-1 ) 1 Fin Si Fin Exercice 3 : ( 4 points) 1) Algorithme de la fonction Valeur1 Fonction Valeur1 ( ) : Réel 0.25 Début P3 1 P1 TDOL SC 1 Signe 1 O T/N Répéter P3,P,Signe Entier SP SC Sc,Sp Réel 1,75 Signe - Signe P3 P3 * 3 PP+2 SC SC + (signe * 1/ (P3 * P)) Jusqu’à ABS ( Racine_carrée(12)*SC – Racine_carrée(12)*SP) ≤ 0.0001 Retourner ABS(Racine_carrée(12)*SC) Fin 2) Algorithme de la fonction Valeur2 Fonction Valeur2 ( N : entier ) : Réel Début Nbpi 0 Pour i de 1 à n Faire X Aléa ( ) 1,5 Y Aléa ( ) Si X*X + Y*Y ≤ 1 Alors Nbpi Nbpi + 1 Fin Si Fin Pour Retourner 4 * (Nbpi / N) Fin 1/3 0.25 TDOL O Nbpi, i X,Y T/N Entier Réel (0.25) sur les 2 tdol Exercice 4 : (4 points) 1) Algorithme de la fonction Alph_Décal Fonction Alph_Décal (C : caractère) : chaine Début ChC # 1ère lettre de l’alphabet décalé R Ord(C) – 64 # rang caractère Pour i de 0 à 24 faire # 25 lettres 1.5 Ch Ch + chr((i+R) mod 26) + 65 Fin Si Fin Pour Retourner Ch Fin les 2 tdol 0.25 TDOL O Ch R,i T/N chaine entier 2) Algorithme de la fonction Crypt Fonction Crypt (ch, cle : chaine) : chaine TDOL Début O Chres"" Chres icle -1 # compteur pour cle icle , i ,lcle, p lcle long(cle) Pour i de 0 à long(ch) – 1 Faire icle (icle+1) mod lcle Si majus(ch[i]) dans ["A".. "Z"] alors 2,25 Alpha Alph_decal(cle[icle]) p ord(majus(ch[i])) -64 # p rang Chres Chres + Alpha[p-1] Sinon Chres Chres + ch[i] Fin si Fin pour Retourner Chres Fin Exercice 5 : (7 points) Algorithme du module Mouvements Procédure Mouvements ( @ M : MAT , N : Entier) Début OUVRIR ("Mouvements.txt", F , "r") Tant que NON(fin_fichier(F) Faire Lire_ligne( F, ch) Sensd CH[1] # ligne ou colonne ( L ou C) Sensm CH[2] # H , B, G OU D p valeur(CH[2]) # n° ligne ou n° colonne MOVELIGCOL (M, N, Sensd, Sensm, p) Fin Tant Que Fermer(F) Fin 2/3 T/N chaine entier TDOL O F Ch Sensd, sensm p MOVELIGCOL T/N FTEXTE Chaine Caractère Entier procédure Algorithme de la procédure MOVELIGCOL Procédure MOVELIGCOL (@M : MAT, N : entier, LC ,S : caractère , p : entier) Début SI LC = "L " alors #permutation circulaire des lettres de la ligne d’indice p SI = "G" alors aux M[p,0] Pour j de 0 à N-2 faire M[p, j] M[p,j+1] M[p,N-1] aux Sinon aux M[p,N-1] Pour j de N-1 à 1 faire (pas = -1) M[p, j] M[p,j-1] M[p,0] aux Fin Si Sinon # cas colonne SI S = "H" alors aux M[0,p] Pour i de 0 à N-2 faire M[i,p] M[,i+1,p] TDOL M[N-1,p] aux Sinon O T/N aux M[N-1,p] i,j entier Pour i de N-1 à 1 faire pas = -1 aux Caractère M[i, p] M[i-1,p] M[0,p] aux Fin Si Fin Si Fin Algorithme de la fonction Verif_magique Fonction Verif_Magique ( M : MAT , N : Entier) : booléen Début i -1 Répéter TDOL ii+1 j 0 O T/N Répéter i,j entier j j+1 ok booléen ok M[i,j ] = M[i, j-1] Jusqu’à (ok = Faux) ou (j=N-1) Jusqu’à (ok = faux) ou ( i=N - 1) Retourner Ok Fin 3/3