Skip to content
» - Henry Spencer. La deuxième, en utilisant la fonction Trouve, allège considérablement l'algorithme. On prendra soin d’effectuer la saisie dans un premier temps, et la recherche de la plus grande valeur du tableau dans un second temps. Ressources Informatique Technologie Cours de Technologie 4ème. Dans certains langages (historiquement, ce sont souvent des langages anciens), les lignes de programmation portent des numéros. • Le mot à trouver, lui, ne pose aucun problème : il s’agit d’une information simple de type chaîne, qui pourra être stocké dans une variable appelée mot, de type caractère. Si je voulais écrire, à un moment, le mail de l'individu n°13 du fichier (donc le n°12 du tableau) à l'écran, il me suffirait de passer l'ordre : Même si le domaine de prédilection des données structurées est la gestion de fichiers, on peut tout à fait y avoir recours dans d'autres contextes, et organiser plus systématiquement les variables d'un programme sous la forme de telles structures. Malheureusement, nous ne sommes pas tout à fait au bout de nos peines ; il reste une dernière structure logique à examiner, et pas des moindres… « Les premiers 90% du code prennent les premiers 90% du temps de développement. …Mais ce n'est pas le pire. Faut-il être « bon en maths » pour expliquer correctement son chemin à quelqu’un ? Combien de fois au cours d’une carrière (brillante) de développeur a-t-on besoin de ranger des valeurs dans un ordre donné ? Alors, dans ces deux cas, faute de pouvoir traiter l'affaire par une fonction, devra-t-on en rester au code répétitif dont nous venons de dénoncer si vigoureusement les faiblesses ? Soit on recopie le fichier à l'identique dans un premier tableau, et on traite ensuite ce tableau pour faire la somme par vendeur. Si l’on veut coder des nombres plus grands que 256, ou des nombres négatifs, ou des nombres décimaux, on va donc être contraint de mobiliser plus d’un octet. Ceci est une simple illustration. ), ayant directement appris à programmer dans tel ou tel langage, ne font pas mentalement clairement la différence entre ce qui relève de la structure logique générale de toute programmation (les règles fondamentales de l’algorithmique) et ce qui relève du langage particulier qu’ils ont appris. Un magasin de reprographie facture 0,10 E les dix premières photocopies, 0,09 E les vingt suivantes et 0,08 E au-delà. Il suffit d'ailleurs de le faire tourner mentalement pour s'en rendre compte. C'est là que ça coince, car autant il est assez facile de comprendre comment fonctionnent les boucles, autant il est souvent long d'acquérir les réflexes qui permettent de les élaborer judicieusement pour traiter un problème donné. toujours parce nous sommes en base décimale, la position d’un de ces dix chiffres dans un nombre désigne la puissance de dix par laquelle ce chiffre doit être multiplié pour reconstituer le nombre. Mais cette fois, il doit gérer également les secondes, et afficher l'heure qu'il sera une seconde plus tard. Considérons les deux algorithmes suivants : Il est clair que dans le premier cas la valeur finale de A est 12, dans l’autre elle est 34 . Nous allons donc pouvoir parler à notre ordinateur comme à notre touriste, et lui donner des séries d’instructions à effectuer selon que la situation se présente d’une manière ou d’une autre.
• et mon autre groupe, les Moonlight Swampers, de la country et du rockabilly acoustiques. Nous verrons plus loin différents exemples de variations stylistiques autour d'une même solution. Aussi, sauf mention contraire, nous ne travaillerons qu’avec des fichiers bâtis sur cette structure. Petit retour sur une notion très rapidement survolée plus haut : celle de « programmation structurée ». Il n'y a plus qu'à effectuer une simple traduction.
Reprenons le cas de notre « programmation algorithmique du touriste égaré ». Peu importe.
On détermine quelle est la lettre clé et sa position dans l’alphabet On détermine la position de la lettre à coder et le décalage à appliquer. Certes, répondrai-je, mais vous allez voir qu’avec deux (et davantage encore) c’est carrément le nirvana. Pas de gestion de l'absence d'éclairage. • Mais souvenons-nous : une variable booléenne n’a besoin que d’un seul bit pour être stockée. Souhaitez-vous la remplacer ? Mais depuis bien des années, la quasi-totalité des logiciels – et des programmeurs – optent pour la structure en champs de largeur fixe. On commence par initialiser nos variables booléennes, puis on traite les années, puis les mois, puis les jours. Parce qu'il y a des situations où on n'a pas le choix ! Et fort heureusement, l’ASCII est un standard universellement reconnu et appliqué par les fabricants d’ordinateurs et de logiciels. Les babyloniens, qui furent de brillants mathématiciens, avaient en leur temps adopté la base 60 (dite sexagésimale). A chaque fois, on demande une réponse par Oui ou Non, avec contrôle de saisie. Si le prof décide contre toute évidence que les damiers font 64 cases, c'est le prof qui a raison et l'évidence qui a tort. Par exemple, si l’on part de : On commence par rechercher, parmi les 12 valeurs, quel est le plus petit élément , et où il se trouve. Et l'on voit que cela change tout Dans l'exemple n°1, ce que l'on affecte à la variable Fifi, c'est la suite de caractères R – i – r - i. La morale de ce long exercice - et non moins long corrigé, c'est qu'un problème de test un peu compliqué admet une pléiade de solutions justes Mais que certaines sont plus astucieuses que d'autres ! Aussi, avant de nous plonger dans les arcanes de l’algorithmique proprement dite, ferons-nous un détour par la notion de codage binaire. Pour poursuivre la superbe métaphore filée déjà employée, on peut remplir la boîte. Le nouveau tableau sera la somme des éléments des deux tableaux de départ. Attention toutefois, comme il s'agit d'un fichier texte, tout est stocké en caractère. Enfin, le NON inverse une condition : NON(Condition1)est VRAI si Condition1 est FAUX, et il sera FAUX si Condition1 est VRAI. 2 A = 5 B = 2 A ? Ecrire un algorithme qui déclare et remplisse un tableau contenant les six voyelles de l’alphabet latin.