0% ont trouvé ce document utile (0 vote)
38 vues24 pages

Introduction Algorithm I Que

Le cours d'Algorithmique 1 vise à enseigner les concepts fondamentaux de l'algorithmique et leur application pour résoudre des problèmes. Le plan du cours couvre l'introduction à l'algorithmique, les variables, les structures conditionnelles et itératives, ainsi que la résolution de problèmes informatiques. Les étudiants apprendront à élaborer des algorithmes en utilisant le pseudo-code et à comprendre la relation entre algorithmes et programmes.

Transféré par

aminaboushaba51
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
38 vues24 pages

Introduction Algorithm I Que

Le cours d'Algorithmique 1 vise à enseigner les concepts fondamentaux de l'algorithmique et leur application pour résoudre des problèmes. Le plan du cours couvre l'introduction à l'algorithmique, les variables, les structures conditionnelles et itératives, ainsi que la résolution de problèmes informatiques. Les étudiants apprendront à élaborer des algorithmes en utilisant le pseudo-code et à comprendre la relation entre algorithmes et programmes.

Transféré par

aminaboushaba51
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

ALGORITHMIQUE 1

1ère Année Préparatoire, Semestre 1


2024-2025

Ecole Marocaine des Sciences de l’Ingénieur, Casablanca

Pr. Nadia BOUHRIZ


Objectifs du cours

 Apprendre les concepts de base de l’algorithmique.


 Être capable de mettre en œuvre ces concepts pour résoudre des problèmes.

2
Plan du cours

 Introduction à l'algorithmique.
 Variables et Affectation.
 Lecture et Ecriture.
 Structures conditionnelles.
 Structures itératives.

3
Introduction à l'algorithmique
Algorithmique et Informatique

Tout d'abord, il est important de comprendre le lien entre l’algorithmique et l’informatique. En effet,
l’algorithmique constitue une composante essentielle de l’informatique.

Dans ce cadre, nous allons d'abord définir et présenter quelques concepts clés de l’informatique. Ensuite,
nous mettrons en lumière la place de l’algorithmique dans ce contexte global.

5
Informatique

L'informatique est la science qui étudie comment les informations peuvent être récupérées, traitées,
stockées et partagées automatiquement à l'aide de machines, principalement des ordinateurs, pour accomplir
différentes tâches ou encore résoudre des problèmes complexes.

Jouer à un jeu vidéo Naviguer sur internet Résoudre des problèmes


Rédiger un rapport mathématiques complexes.

6
Ordinateur
Un ordinateur est composé d'éléments matériels et logiciels qui travaillent ensemble pour lui permettre de
fonctionner et d'accomplir des tâches :

Composants matériels.
Mémoire

Périphériques Unité de Périphériques


d’entrée traitement de sortie
 Unité centrale
Unité de (Processeur, RAM,
stockage disque dur, …)
Unité de traitement (processeur) : Ce composant réalise les calculs et exécute les instructions pour le  Ecran
traitement des informations.
 Clavier
 Souris
Mémoire (RAM) : Elle stocke temporairement les informations en cours de traitement.
 Scanner
Unité de stockage (disque dur) : Elle stocke les informations de manière permanente.  Microphone
 Hauts parleurs
Périphériques d'entrée/sortie : Permettent l'interaction entre l'ordinateur et l'utilisateur. Elles permettent  ………
d'introduire et de restituer des informations.
7
Ordinateur

Composants Logiciels

Logiciels de base Logiciels d’application Logiciels de développement

BIOS (Basic Input/Output System) : Conçus pour des tâches particulières : Utilisés par les programmeurs pour
Permet d'initialiser le matériel de • Logiciels de bureautique. créer d'autres logiciels, souvent à l'aide
l'ordinateur, puis transmet le contrôle à • Navigateurs web. d'environnements de développement
un programme chargé de démarrer le • Logiciels de montage vidéo. intégrés (IDE). Exemples : Visual
système d'exploitation. • etc. Studio Code, PyCharm, etc.

Système d’exploitation : permet à


l'utilisateur d'interagir avec son
ordinateur, souvent via une interface Le rôle principal d'un programmeur est de
graphique. Exemples : Windows, comprendre les besoins des utilisateurs et
macOS, Linux. de créer des logiciels en écrivant des
programmes, permettant ainsi d'accomplir
diverses tâches sur un ordinateur ou un
appareil. 8
Programme

Un programme est une suite d’instructions à exécuter par un ordinateur, pour

traiter des données (informations à traiter) afin d’obtenir des résultats

(informations produites).

 Instruction : désigne l’expression d’un ordre fourni à l’ordinateur.

 Information : une connaissance humaine sous forme de texte, de

nombres, d’images, de vidéos, etc.

 Donnée : Représentation binaire d'une information, stockée dans la

mémoire de l'ordinateur en vue de son traitement.

9
Langage de programmation

 Un ordinateur ne comprend en effet que le langage binaire, qui est une suite de 0 et de 1. Ce langage est complexe et
difficile à utiliser directement par les humains. C'est pourquoi des langages de programmation ont été créés pour
faciliter la communication entre les humains et les ordinateurs.

 Les langages de programmation permettent aux programmeurs d’écrire des instructions dans une syntaxe proche du
langage humain. Ces instructions sont ensuite traduites en langage binaire via des programmes spécifiques appelés
compilateurs ou interpréteurs, qui rendent le code compréhensible par l'ordinateur.
Exemples de langages de programmation : Python, C, C++, Java, Visual Basic, Fortran, etc.

 Un programme est donc une suite d’instructions écrites dans un langage de programmation. Le programme ainsi obtenu
s’appelle un programme source (ou code source). Ce programme sera traduit en langage binaire, puis exécuté par
l’ordinateur.

10
Résolution informatique d'un problème

Avant de commencer à écrire un programme pour un problème spécifique, il est essentiel d'analyser le problème afin

de concevoir une solution adaptée, puis de traduire cette solution dans un langage de programmation, afin que la

machine puisse l'exécuter.

Ainsi, ce processus d'analyse, de conception et de traduction représente ce que nous appellerons dans ce cours la

résolution informatique d'un problème.

11
Résolution informatique d'un problème
Analyse du problème
Identification des données
 Données d'entrée : Ce sont les informations que l'ordinateur va traiter, et constituent le point de départ pour effectuer des
calculs ou traitements. Exemple : Les dimensions d'une pièce (longueur et largeur).
 Données de sortie ou résultats recherchés: Ce sont les informations ou résultats que l'ordinateur produit après avoir
traité les données d'entrée. Exemple : La superficie de la pièce calculée à partir des dimensions fournies.
Conception de la solution
Élaborer une solution en déterminant la suite des opérations élémentaires à suivre pour obtenir les résultats attendus.

Le résultat de cette phase d'analyse conduit à une solution théorique, indépendante de la machine, que l'on appelle un
«algorithme» .

Traduction de l'algorithme en programme


Convertir l'algorithme en un programme écrit dans un langage de programmation afin qu'il puisse être compris par l'ordinateur.

Exécution du programme
Lancer et exécuter le programme sur l’ordinateur afin de produire les résultats attendus à partir des données fournies. 12
Résolution informatique d'un problème
Exemple d'Analyse d'un problème
Analysons le problème suivant :
Etant données les dimensions d'une pièce, calculez sa superficie.
Identifions les données
 Données d'entrée :
+ Longueur : Lo
+ Largeur : La
 Donnée de sortie ou résultat recherché :
+ Superficie : S
Proposons une solution
1. Récupérer la valeur de Lo.
2. Récupérer la valeur de La.
3. Calculer la valeur de S = Lo x La.
4. Afficher la valeur de S.
13
Résolution informatique d'un problème

Exercice d'application
Analysez le problème suivant :
Etant données les notes obtenues par un élève dans 3 matières et leurs
coefficients, calculez la moyenne de l’élève.

14
Notion d’algorithme

Définition 1: Un algorithme est une suite ordonnée d’instructions qui indique la démarche à
suivre pour résoudre un problème donné.

Le mot algorithme vient du nom du mathématicien Al Khawarizmi (780-850) auteur d’un


ouvrage décrivant des méthodes de calculs algébriques.

Définition 2: L’algorithmique est la science qui s’intéresse à l’art de construire des


algorithmes ainsi qu’à caractériser leur validité, leur robustesse, leur réutilisabilité, leur
complexité et leur efficacité.

15
Algorithme Vs Programme

Tâches réalisées par le programmeur

Analyser Traduire
Problème Algorithme Programme

Exécuter
Résultats

Données

Tâches réalisées par l'utilisateur

16
Algorithme Vs programme

Un algorithme
Un programme
C'est une suite d'instructions logiques et
est la traduction de cet algorithme dans un
élémentaires, conçues pour traiter des données
langage de programmation.
d'entrée afin de produire des résultats ou données
de sortie, permettant ainsi de résoudre un problème
spécifique.

17
Exemples d'algorithmes utilisés dans la vie quotidienne

1. Recette de cuisine :
 Données : les ingrédients et le matériel utilisé (poêle, couteau, etc.).
 Instructions : Couper les légumes, mélanger les ingrédients, cuire à feu moyen pendant 10 minutes, etc., en suivant un
ordre précis pour obtenir le résultat final.
 Résultat : le plat préparé.

2. Indication du chemin de la gare à une personne :


 Données : les points de repère, carrefours, rues, etc.
 Instructions : Allez tout droit sur 200 mètres, Prenez à gauche au carrefour, Prenez la troisième rue à droite.
 Résultat : Arriver à la gare.

Remarque :
Lorsqu'on définit un algorithme, celui-ci ne doit contenir que des instructions compréhensibles par la personne qui devra
l'exécuter : des humains dans les deux exemples précédents.
Dans ce cours, nous apprendrons à définir des algorithmes qui seront compréhensibles, et donc exécutables par un ordinateur.

18
Les instructions que l'ordinateur peut exécuter

Dans un algorithme, les instructions représentent des ordres donnés à l'ordinateur pour qu'il les exécute.
Il est important de comprendre que l'ordinateur ne peut traiter et exécuter que quatre types d'instructions :
 L'affectation.
 La lecture/écriture.
 Les structures conditionnelles.
 Les structures itératives.

Chacune de ces instructions sera abordée en détail dans les sections suivantes de ce cours.

19
Représentation d’algorithme

Il y a deux façons pour représenter un algorithme :

1. L’organigramme : représentation graphique utilisant des symboles


tels que des carrés, des losanges, etc.

2. Le pseudo-code : représentation textuelle se situant à mi-chemin entre


le langage naturel et le langage de programmation.

Dans ce cours, nous allons utiliser le pseudo-code pour représenter nos algorithmes.
20
Structure d'algorithme en pseudo-code

Dans un algorithme représenté en pseudo-code, la structure se compose des éléments


suivants :
1. Une en-tête : Elle commence par le mot-clé «Variables» , où les données de
l’algorithme sont spécifiées : données d’entrée, données intermédiaires, et données de
sortie (Résultats).

2. Un corps, composé de :
 Le mot-clé «Début» pour indiquer le début des instructions.
 Une suite d’instructions indentées.
 Le mot-clé «Fin» pour indiquer la fin des instructions.

21
Structure d'algorithme en pseudo-code

Voici la structure en pseudo-code que nous allons adopter dans ce cours :

Variables
Déclaration1
Déclaration2

Début
Instruction1
Instruction2

Fin

Exemple
Variables

Début
Ecrire("Bonjour")
Fin

22
Les commentaires

 Les commentaires sont des phrases servant à clarifier les instructions de l’algorithme.
 En général, les commentaires sont complétement ignorés au moment de l'exécution, car ils sont
destinés à un lecteur humain.
 Pour placer un commentaire dans un algorithme, la syntaxe est la suivante :
// Commentaire

Exemple

Variables
// aucune variable nécessaire.
Début
Ecrire("Bonjour") // affiche bonjour à l’écran
Fin

23
Méthodologie de l’élaboration d’un algorithme
En résumé, voici les étapes à suivre pour élaborer un algorithme :
 Identifier les données du problème (entrées, intermédiaires, recherchées).
 Proposer une solution adaptée au problème en déterminant une suite ordonnée d'instructions.
 Représenter l’algorithme en pseudo-code.

Pour apprendre à écrire ces algorithmes de manière complète, nous allons découvrir dans les prochaines
sections de ce cours les concepts de base suivants :
 Variables et affectation : où nous apprendrons à stocker et manipuler les données.
 Lecture et écriture : pour l'interaction avec les données d'entrée et de sortie.
Nous explorerons également les structures de contrôle suivantes :
 Les structures conditionnelles : permettant de prendre des décisions dans le déroulement de l'algorithme.
 Les structures itératives : permettant de répéter des actions en fonction de certaines conditions.
24

Vous aimerez peut-être aussi