Download - Chapitre 1 (algorithme)
![Page 1: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/1.jpg)
Algorithmique et structure de données
1
![Page 2: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/2.jpg)
22
Plan1. Introduction à l’informatique
2. Notions élémentaires des algorithmes : déclarations, entrées/sorties, calcul, affectations
3. Les structures conditionnelles
4. Les structures itératives
5. Les tableaux
6. Les chaines de caractères
7. Les enregistrements
8. Les procédures et fonctions
![Page 3: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/3.jpg)
33
Chapitre 1 :
Introduction à l’informatique
![Page 4: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/4.jpg)
44
1. Représentations des données• Les informations traitées par un ordinateur peuvent être de
différents types (texte, nombres, etc.) mais elles sont toujours représentées et manipulées par l'ordinateur sous forme binaire. Toute information sera traitée comme une suite de 0 et de 1. L'unite d'information est le chiffre binaire (0 ou 1), que l'on appelle bit (pour binary digit, chiffre binaire).
• Le codage d'une information consiste a établir une correspondance entre la représentation externe (habituelle) de l'information (le caractère A ou le nombre 36 par exemple), et sa représentation interne dans la machine, qui est une suite de bits.
![Page 5: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/5.jpg)
55
Changements de bases
![Page 6: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/6.jpg)
66
Représentation des entiers
![Page 7: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/7.jpg)
7
![Page 8: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/8.jpg)
88
Représentation des nombres fractionnaires
![Page 9: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/9.jpg)
99
Conversion de et vers la base 10
![Page 10: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/10.jpg)
1010
![Page 11: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/11.jpg)
1111
![Page 12: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/12.jpg)
1212
Conversion bases 2, 8 et 16
![Page 13: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/13.jpg)
1313
Représentation des caractères
![Page 14: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/14.jpg)
1414
Code ASCII
![Page 15: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/15.jpg)
1515
2. Architecture d’un ordinateur (1)
![Page 16: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/16.jpg)
1616
Architecture d’un ordinateur (2)
![Page 17: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/17.jpg)
1717
Mémoire centrale ou principale
![Page 18: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/18.jpg)
1818
Processeur
C'est le moteur de l'ordinateur. Il exécute les instructions contenues dans les programmes. Il le fait de façon plus ou moins rapide en fonction de la fréquence interne du processeur. Par exemple un processeur à 3 Ghz effectue 3 milliards d'opérations à la seconde.
![Page 19: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/19.jpg)
1919
Exécution d’instructions
L'unité de commande et de contrôle effectue les opérations suivantes :1- extraction de l'instruction à exécuter, 2- analyse de cette instruction et liaison avec l'U.A.L. (Unité Arithmétique et Logique) ,3- recherche des données à traiter dans la mémoire centrale,4- déclenchement du traitement dans l'U.A.L., 5- rangement des résultats dans la mémoire centrale ou en mémoire auxiliaire
![Page 20: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/20.jpg)
2020
3. Architecture de système informatique
![Page 21: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/21.jpg)
2121
• Langage machine : Le langage machine appelé aussi langage binaire, c'est avec ce langage que fonctionnent les ordinateurs. Il consiste à utiliser deux états (représentés par les chiffres 0 et 1) pour coder les informations (texte, images etc.).
• Dans le langage machine, le programmeur doit entrer chaque commande et toutes les données sous forme binaire c'est à dire sous forme de suite d'octets.
• Le programme écrit en langage évolué (C, Pascal) sera traduit en langage machine par un programme particulier appelé compilateur.
![Page 22: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/22.jpg)
2222
![Page 23: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/23.jpg)
2323
![Page 24: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/24.jpg)
2424
4. Les types de Langages informatiques
• Langage machine• Langage assembleur (assembly language)• Langage évolué
• Les langages de scripts (langages interprétés)
• Les langages compilés
• Langage de balisage (langage de marquage)• Langage de requête
![Page 25: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/25.jpg)
2525
• Le langage évolué est un langage qui accomplit beaucoup pour un minimum de code et d'effort de programmation,
• Titre d'exemple : Pascal, Java, C, C++, C#, Visual Basic (ou VB), Delphi, Python, Perl, PHP, JavaScript, VBscript, ASP etc.
• Bref la syntaxe des langages évolués est très simplifiée, on y trouve par exemple des mots en anglais (if, do while, switch, integer, string) donc il est plus accessible et compréhensible aux gens que l'assembleur lui même plus accessible que le langage machine.
• Ces langages sont traduits en langage machine avant leur exécution par un programme compilateur, ces programmes fonctionnent ensuite comme s'ils étaient directement écrits en langage machine.
![Page 26: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/26.jpg)
2626
Langages évolués de programmation
http://www.info.univ-angers.fr/~gh/hilapr/progs.htm
![Page 27: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/27.jpg)
2727
• Langage de balisage (langage de marquage)
Ces langages reposent sur ce qu'on appelle des balises ou tags,ces derniers sont des étiquettes avec lesquelles on peut étiqueter des données (mots, texte etc.) pour produire un effet chez eux tant en sens (leurs donner du sens : ceci est un paragraphe, ceci est un titre, citation etc.) qu'en rendu visuel (italique, gras, couleur du texte etc.), on peut étiqueter des données en les encadrant par ces balises, parmi ce type de langages il y a le HTML (HyperText Markup Language), le XML, le SGML, XHTML (Extensible HyperText Markup Language).
Par exemple :
Pour mettre en italique : <i> texte en italique </i> ;
![Page 28: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/28.jpg)
2828
• Langages de requêtes
Ces langages qualifient le plus souvent les langages propres aux bases de données, ils sont représentés notamment par le SQL (structured query language) en français langage structuré de requêtes, il permet tout simplement de gérer une base de données par exemple l'interroger, y insérer des données ou en supprimer d'autres, lui demander de faire ressortir des données selon des critères que je lui fixe.
![Page 29: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/29.jpg)
2929
Paradigme (ou style ou type) des langages de programmations
• Langages impératifs et procéduraux : comme C, …• Langages à objets : comme C++, Java,…• Langages déclaratifs : comme Prolog,..• Langages logiques : comme Prolog,…• Langages fonctionnels : comme Lisp,…• …
![Page 30: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/30.jpg)
3030
Langages impératifs et procéduraux • Langages impératifs : une instruction du langage
correspond à un ensemble d'instructions du langage • Un programme est formé par plusieurs procédure. Une
procédure, appelée également fonction, est une suite d'instructions devant être effectuée dans un ordre précis.
Main ( ){ int a, b; a=b*b; printf(« %d »,a);}
Int carre ( int b){ return (b*b);} Main (){ int a; a= carre (b);Printf(« %d »,a); }
En C :
![Page 31: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/31.jpg)
3131
Langages déclaratifs
• Un langage déclaratif ne décrit pas comment est réalisée une opération, comme dans un langage impératif, mais décrit le problème lui-même, sans s'intéresser au contexte.
• Figurent parmi les langages déclaratifs Oz, Prolog ou encore Clips.
![Page 32: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/32.jpg)
3232
Langages logiques • Un programme logique est composé de faits et de règles qui sont
traités par un moteur d'inférence.• Prolog fut le premier langage de ce type à être fonctionnel sur un
ordinateur.
![Page 33: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/33.jpg)
3333
Langages fonctionnels
• Dans ce paradigme, l'opération de base n'est pas l'affectation, contrairement aux langages impératifs, mais l'évaluation de fonctions.
• Par exemple avec Lisp: (first '(7 3 10)) cela donne 7 (* (+ 2 2) 4) cela donne 16
![Page 34: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/34.jpg)
3434
Langages à objets • Les langages à objets offrent une abstraction à la machine :
l'objet est une structure sémantique indépendante qui rassemble des données et des traitements.
• En se basant sur une méthode de conception à objet et sur un langage de modélisation à objet, on peut facilement implanter un concept au moyen d'un langage de programmation à objets.
Class Television { int poids; int longueur_diagonale; boolean allume; String Chaine_memorisees; void eteindre (); void allumer(); void memoriser_chaines (String chaine);};
En C++
![Page 35: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/35.jpg)
3535
5. Introduction à l’algorithmique• L'algorithmique est l’ensemble des règles et des techniques qui sont
impliquées dans la définition et la conception d'algorithmes, c'est à dire de processus systématiques de résolution, par le calcul, d'un problème permettant de décrire les étapes vers le résultat.
• En d'autres termes, un algorithme est une suite finie et non-ambiguë d’opérations permettant de donner la réponse à un problème.
• Un algorithme est une solution informatique indépendant du langage de programmation
• Un algorithme est une étape qui précède l’implémentation d’un programme permettant de faire un raisonnement sur la suite d’instructions nécessaires
• Le style de structure d’algorithme traité dans ce cours s’inspire des langages de programmation impératifs et procéduraux
![Page 36: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/36.jpg)
3636
![Page 37: Chapitre 1 (algorithme)](https://reader036.vdocuments.net/reader036/viewer/2022081417/55869132d8b42abd068b4599/html5/thumbnails/37.jpg)
3737