• Aucun résultat trouvé

Algorithmique et programmation

N/A
N/A
Protected

Academic year: 2021

Partager "Algorithmique et programmation"

Copied!
2
0
0

Texte intégral

(1)

Un peu de vocabulaire et quelques conventions d'écriture (qui peuvent varier un peu d'un professeur à l'autre mais qui sont compréhensibles par tous... et qui seront celles utilisées dans le cours de première S du LFAY en 2015-2016...)

Voici un algorithme écrit en « pseudo-code » (Exercice 5 de la fiche « Statistiques inférentielles ») : Variables : N, h, alea, effectif : entiers

rayon, taux : réels L : liste

début_algo Entrée : saisir N

Traitement : pour i allant de 1 à N faire L[i] ← 0

finpour

pour i allant de 1 à N faire h ← 0

pour j allant de 1 à 731 faire

alea ← nombre pseudo-aléatoire dans {0 ; 1} h ← h + alea finpour L[i] ← h/731 finpour rayon ← 0 taux ← 0

tant que taux < 0,95 faire effectif ← 0

pour i allant de 1 à N faire

si 0,5 – rayon  L[i]  0,5 + rayon alors faire effectif ← effectif + 1 finsi finpour taux ← effectif/N rayon ← rayon + 0,000 1 fintantque

Sortie : afficher la valeur minimum de la liste L afficher la valeur maximum de la liste L afficher l'intervalle [0,5 – rayon ; 0,5 + rayon] fin_algo

Remarques :

- Il est possible de mettre en œuvre cet algorithme sans savoir à quoi il sert...

- Un algorithme se lit de haut en bas, mais se construit souvent de la partie la plus « intérieure » jusqu'à la partie la plus « extérieure » (de l'indentation la plus à droite jusqu'à l'indentation la plus à gauche) en finissant pas la déclaration des variables.

- Un algorithme n'est pas un programme informatique mais peut être implémenté dans un langage de

programmation. Il y a plusieurs points de vue, discutables : le mien est que la phase d'écriture d'un algorithme précède la phase d'écriture d'un programme. Pour écrire un algorithme, on utilise une feuille (que l'on commence à remplir par le centre et non par le haut), un crayon et une gomme, et non pas un

ordinateur !

Algorithmique et programmation

déclaration des variables

boucle itérative

boucle conditionnelle test

initialisation de la variable h

pour effecter une valeur à une variable

indentation

la variable effectif est un « compteur » : elle est incrémentée de 1 à chaque fois que la condition du test est vérifiée.

(2)

Programmation

Il existe de nombreux langages de programmation. Certains d'entre vous ont appris à programmer avec AlgoBox (qui est un logiciel d'aide à l'apprentissage de l'algorithmique et permet de construire des programmes écrits en « pseudo-code », d'autres ont été initié au Python 3 ou au langage LOGO (avec Géotortue). Xcas possède aussi un module de programmation (assez proche de Python dans la structure, possédant comme AlgoBox un système de « boutons » pour l'aide à la rédaction du programme, mais avec une syntaxe dérivée du langage C). La calculatrice graphique CASIO permet aussi de construire des programmes (en langage BASIC). Le logiciel Scratch possède son langage de programmation propre et permet aussi de faire des choses sympathiques.

Qui sait interpréter un algorithme écrit en « pseudo-code » arrivera facilement à l'implémenter dans n'importe quel langage... une fois qu'il en aura appris la syntaxe.

En première S, nous utiliserons Python 3. L'acquisition de la syntaxe prend un peu de temps et demande une certaine pratique. Afin d'accompagner cet apprentissage (pour lequel les seules heures de cours ne suffiront pas à acquérir de l'aisance), il est fortement conseillé de suivre les deux premiers niveaux du cours proposé par France -IOI . Pour s'inscrire à ce cours, voir le document joint à l'article du site. Ce sont les seuls exercices proposés dans cette partie !

Références

Documents relatifs

Les Structures de Données Une constante est caractérisée par un nom qui est son identificateur unique en plus par une valeur inchangeable qui nous permet de déterminer implicitement

Pour résoudre un problème, il faut donner la suite d’actions élémentaires à réaliser pour obtenir le résultat.. Les actions élémentaires dont on dispose sont définies par

Exemple avec Python : scipy pour remplacer Matlab/Scilab, sympy ou SAGE pour remplacer Maple, Mathematica, Maxima et XCas.. Un informaticien spécialiste de la programmation est à

Exemple avec Python : scipy pour remplacer Matlab/Scilab, sympy ou SAGE pour remplacer Maple, Mathematica, Maxima et XCas.. Un informaticien spécialiste de la programmation est à

45 Corrige le programme suivant pour qu'il demande un nombre entre 1 et 7 et affiche le jour correspondant... 49 * Écris un programme qui affiche un tableau de 25 cases contenant

- possédant un ensemble des appels système unique disponible sur toutes les machines - possédant un noyau de système d'exploitation identique implanté sur toutes les machines

Pour l'attendu de fin de cycle « Ecrire, mettre au point et exécuter un programme simple » :.  avec de petits exercices sur des programmes de calcul , de construction

Dans chacun des cas ci-dessous, écrire des algorithmes permettant à Ted de retrouver le poisson à l’aide des quatre instructions. Ecrire un algorithme permettant de planter