Le Pitch
Présentation de l'éditeur
Destiné aux étudiants des premières années de l'enseignement supérieur en sciences et techniques, cet ouvrage dédié à l'introduction à l'algorithmique est composé d'un cours complet, de nombreux problèmes résolus et d'exercices d'approfondissement.
Il aborde de manière progressive les notions élémentaires de l'analyse des problèmes informatiques et de la conception de solutions algorithmiques. Des commentaires détaillés sur les fausses solutions intuitives avertissent les étudiants sur les erreurs qui peuvent apparaître dans le raisonnement amenant à la conception d'algorithmes.
Sommaire
1. Algorithme - Intérêt, définition, démarche
2. Constantes, variables et expressions
3. Instructions
4. Modularité
5. Types composés
6. Techniques algorithmiques
7. Résolution de problèmes -Phase algorithmique
8. Exercices Index
Docteur en informatique, Violeta Felea est Maître de conférences à l'Université de Franche-Comté. Ses travaux concernent les algorithmes et les systèmes parallèles et distribués.
Victor Felea est professeur honoraire en informatique de l'Université Al. I. Cuza de lasi, en Roumanie, où il enseigne des cours d'algorithmes, de systèmes d'exploitation et de bases de données.
Extrait
Algorithme - intérêt, définition, démarche
Les appareils informatiques et plus particulièrement les ordinateurs, ont été conçus pour être, d'abord, des machines à calculer. Les premières applications ont été du domaine des mathématiques et aussi de la comptabilité. Dans ces domaines, les nombres sont au coeur des manipulations. Avec le temps, tous ces calculs ont été programmés dans les ordinateurs et même dans les calculatrices de poche, qui sont les ordinateurs miniatures. Y voir la courbe d'une fonction est maintenant usuel.
Ceci sous-entendait de pouvoir enregistrer des nombres et de pouvoir les utiliser. Avec l'évolution des techniques (vitesse de calcul, capacité des mémoires, etc.), toutes les représentations de l'information (textes, images, sons, etc.) ont pu être numérisées, c'est-à-dire représentées par des nombres et donc, susceptibles d'être traitées par un ordinateur.
Les calculs s'effectuant sur ces nombres portent souvent un nom. Par exemple, calculer une moyenne, résoudre une équation, dessiner une courbe, etc. Beaucoup de ces calculs sont déjà intégrés dans les services offerts par un ordinateur. Pour les autres, il faut décrire le calcul à réaliser, qui sera ensuite communiqué à l'ordinateur. De manière générale, les différents calculs répondent aux besoins d'un problème posé.
La résolution d'un problème à l'aide d'un ordinateur est faite par l'humain en deux étapes :
- la première est la recherche d'une solution qui doit s'exprimer, puis se décrire, de façon très précise sous la forme d'un ensemble d'actions portant sur des informations - il s'agit d'une étape conceptuelle (qui induit le nom de concepteur pour la personne réalisant cette tâche),
- la deuxième est l'expression de cette solution, sous une forme compréhensible par un ordinateur, c'est-à-dire en l'exprimant dans un des nombreux langages de programmation existants - il s'agit d'une étape de codage (qui induit le nom de codeur).
La conception et le codage peuvent être réalisés par une même personne, appelée développeur.
La première étape correspond à la description des calculs à réaliser : il s'agit de trouver la façon dont les calculs doivent être effectués et les noter de manière suffisamment formelle. C'est ce qui constitue les algorithmes. Afin d'élaborer ces algorithmes, une approche progressive est exigée : la solution, exprimée d'abord de façon très générale, est affinée en ajoutant, à chaque étape intermédiaire, de plus en plus de détails. La deuxième étape tient compte des contraintes liées au langage de programmation choisi et construit des programmes, qui correspondent à la traduction des actions algorithmiques selon les règles syntaxiques du langage.
Les programmes font partie d'un