2019-12-27 01:57:39 +01:00
< ? php
2019-12-27 22:58:22 +01:00
$page_title = 'Exemples d\'algorithmes' ;
require_once ( 'includes/header.php' );
2019-12-27 04:46:25 +01:00
$db_examples = [
[
'titre' => 'Algorithme d\'Euclide' ,
'auteur' => 'Nitrosax' ,
2019-12-27 22:58:22 +01:00
'description' => '<p>Calcule le Plus Grand Commun Diviseur entre deux nombres entiers.</p>' ,
2019-12-27 04:46:25 +01:00
'programme' => ' < div > Lire A </ div >
< div > Lire B </ div >
< div > Tant_que B ≠ 0 </ div >
< div > R Prend_la_valeur B * Partie_d & eacute ; cimale ( A / B ) </ div >
< div > A Prend_la_valeur B </ div >
< div > B prend_la_valeur R </ div >
< div > Fin_Tant_que </ div >
< div > Afficher " PGCD : " </ div >
< div > Afficher A </ div > '
],
[
'titre' => 'Plus ou moins' ,
'auteur' => 'Paul' ,
2019-12-27 22:58:22 +01:00
'description' => '<p>Petit jeu où il faut deviner un nombre.</p>' ,
2019-12-27 04:46:25 +01:00
'programme' => ' < div > Afficher " Nombre maximal ? " </ div >
< div > Lire A </ div >
< div > A Prend_la_valeur Partie_entière ( Hasard ( a )) </ div >
< div > B Prend_la_valeur - 1 </ div >
< div > Tant_que B ≠ A </ div >
< div > Lire B </ div >
< div > Si B = A </ div >
< div > Alors Afficher " Well done " </ div >
< div > Sinon Si B ≤ A </ div >
< div > Alors Afficher " + " </ div >
< div > Sinon Afficher " - " </ div >
< div > Fin_si </ div >
< div > Fin_si </ div >
< div > Fin_Tant_que </ div > ' ,
],
[
'titre' => 'Suite de Syracuse' ,
'auteur' => 'Nitrosax' ,
2019-12-27 22:58:22 +01:00
'description' => '<p>Affiche les termes de la suite de Syracuse en fonction du nombre de départ choisi par l\'utilisateur.</p>' ,
2019-12-27 04:46:25 +01:00
'programme' => ' < div > Lire A </ div >
< div > Tant_que A & gt ; 1 </ div >
< div > Si Partie_d & eacute ; cimale ( A / 2 ) = 0 </ div >
< div > Alors A Prend_la_valeur A / 2 </ div >
< div > Sinon A Prend_la_valeur 3 * A + 1 </ div >
< div > Fin_si </ div >
< div > Afficher A </ div >
< div > Fin_Tant_que </ div >
< div > Afficher A </ div > ' ,
],
[
'titre' => 'Suite de Fibonacci' ,
'auteur' => 'Dark-Storm' ,
2019-12-27 22:58:22 +01:00
'description' => ' < p > Cet algorithme calcule les N premiers termes de la suite de Fibonacci . N est rentré par l\ ' utilisateur .
La suite de Fibonacci sert à déterminer une approximation du nombre d\ 'Or en divisant un terme par le terme précédent.</p>' ,
2019-12-27 04:46:25 +01:00
'programme' => ' < div > A Prend_la_valeur 0 </ div >
< div > B Prend_la_valeur 1 </ div >
< div > C Prend_la_valeur 0 </ div >
< div > Lire N </ div >
< div > Pour D Allant_de 1 à N </ div >
< div > C Prend_la_valeur A + B </ div >
< div > A Prend_la_valeur B </ div >
< div > B Prend_la_valeur C </ div >
< div > Afficher C </ div >
< div > Fin_Pour </ div > ' ,
],
[
'titre' => 'Suite géométrique' ,
'auteur' => 'domPayeur' ,
2019-12-27 22:58:22 +01:00
'description' => ' < p > Une toute petite contribution pour essayer Festiv\ ' Algo .</ p >
< p > Le programme génère les termes u_1 , u_2 ... u_n d\ 'une suite géométrique avec un rappel de cours.</p>' ,
2019-12-27 04:46:25 +01:00
'programme' => ' < div > Afficher " Programme suite géométrique " </ div >
< div > Afficher " Un+1=q* Un " </ div >
< div > Afficher " Un=Uo*q^n " </ div >
< div > Afficher " ce programme calcule Un quand Uo et q sont connus " </ div >
< div > Afficher " Saisir N " </ div >
< div > Lire N </ div >
< div > Afficher " Saisir Uo " </ div >
< div > Lire U </ div >
< div > Afficher " Saisir Q " </ div >
< div > Lire Q </ div >
< div > Pour I Allant_de 1 à n </ div >
< div > U Prend_la_valeur u * q </ div >
< div > Afficher " U= " </ div >
< div > Afficher U </ div >
< div > Fin_Pour </ div > ' ,
], [
'titre' => 'Méthode de Monte Carlo ' ,
'auteur' => 'domPayeur' ,
2019-12-27 22:58:22 +01:00
'description' => '
< p > Le hasard et la loi des grands nombres ( ou stabilisation de la fréquence ) pour déterminer une valeur approchée de PI .</ p >
< p >< strong > Le principe :</ strong ></ p >
< ul >
< li > Un point est généré de manière aléatoire dans un carré de côté 1. </ li >
< li > On calcule la distance séparant ce point de l\ ' un des sommets du carré .</ li >
< li > Si cette distance est inférieure à 1 , le point est alors à l\ ' intérieur du quart de disque de rayon 1 ayant pour centre ce sommet .</ li >
< li > L\ ' aire du quart de disque est Pi / 4 et la fréquence d\ ' apparition du point dans ce quart de disque se stabilise pour un grand nombre de lancers autour de la valeur théorique qui est la probabilité de cet événement : ici le rapport aire du quart de disque / aire du carré soit ( Pi / 4 ) / 1 donc Pi / 4 ; il ne reste plus qu\ ' à multiplier par 4 pour obtenir une valeur approchée de Pi .</ li >
</ ul > ' ,
2019-12-27 04:46:25 +01:00
'programme' => ' < div > Afficher " Méthode de Monte-Carlo " </ div >
< div > Afficher " Valeur approchée de pi " </ div >
< div > Afficher " Grâce au rand ! " </ div >
< div > D Prend_la_valeur 0 </ div >
< div > Pour I Allant_de 1 à 10000 </ div >
< div > X Prend_la_valeur Hasard ( 1 ) </ div >
< div > Y Prend_la_valeur Hasard ( 1 ) </ div >
< div > L Prend_la_valeur X * X + Y * Y </ div >
< div > Si ( L < 1 ) </ div >
< div > Alors D Prend_la_valeur D + 1 </ div >
< div > Fin_si </ div >
< div > V Prend_la_valeur 4 * D / I </ div >
< div > Afficher V </ div >
< div > Fin_Pour </ div >
< div > Fin_programme </ div > ' ,
],
[
'titre' => 'R.O.C. du Bac S' ,
'auteur' => 'Nitrosax' ,
2019-12-27 22:58:22 +01:00
'description' => '<p>Une restitution organisée de connaissance que les candidats du Bac S doivent connaître par coeur. Elle permet de montrer que pour tout nombre A rentré par l\'utilisateur, il existe un rang N tel que Un > A. L\'exemple utilise la suite : Un = 3^N.</p>' ,
2019-12-27 04:46:25 +01:00
'programme' => ' < div > Lire A </ div >
< div > N Prend_la_valeur 0 </ div >
< div > Tant_que 3 ^ n ≤ A </ div >
< div > N Prend_la_valeur N + 1 </ div >
< div > Fin_Tant_que </ div >
< div > Afficher N </ div > '
]
];
2019-12-27 01:57:39 +01:00
?>
2019-12-27 22:58:22 +01:00
< ? php
foreach ( $db_examples as $key => $dnn )
{
?>
< article class = " text_block example " >
< h2 class = " titre " >< ? php echo htmlentities ( $dnn [ 'titre' ], ENT_QUOTES , 'UTF-8' ); ?> </h2>
< h3 > Auteur :</ h3 >
< p >
< ? php echo $dnn [ 'auteur' ]; ?>
</ p >
< h3 > Description :</ h3 >
< ? php echo $dnn [ 'description' ]; ?>
2019-12-28 15:54:48 +01:00
< div class = " try_it " >
< button >< img src = " assets/img/examples/tester.png " /></ button >
2019-12-27 22:58:22 +01:00
< textarea style = " display:none; " name = " programme " >< ? = $dnn [ 'programme' ] ?> </textarea>
2019-12-28 15:54:48 +01:00
</ div >
2019-12-27 22:58:22 +01:00
</ article >
< ? php
}
?>
< ? php
require_once ( 'includes/footer.php' );
?>