SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
Algorithmique et structure de données




                                        1
Plan
1. 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
                                                      2
Chapitre 1 :

Introduction à l’informatique




                                3
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.

                                                                  4
Changements de bases




                       5
Représentation des entiers




                             6
7
Représentation des nombres
      fractionnaires




                             8
Conversion de et vers la base 10




                                   9
10
11
Conversion bases 2, 8 et 16




                              12
Représentation des caractères




                                13
Code ASCII




             14
2. Architecture d’un ordinateur (1)




                                      15
Architecture d’un ordinateur (2)




                                   16
Mémoire centrale ou principale




                                 17
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.




                                                               18
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.,
                                                                                      19
5- rangement des résultats dans la mémoire centrale ou en mémoire auxiliaire
3. Architecture de système informatique




                                     20
• 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.

                                                          21
22
23
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

                                                        24
• 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.
                                                                25
Langages évolués de programmation




                                                      26
http://www.info.univ-angers.fr/~gh/hilapr/progs.htm
• 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> ;

                                                                     27
• 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.


                                                        28
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,…
•   …

                                                      29
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.
   En C :                        Int carre ( int b)
    Main ( )                     {
    {                              return (b*b);
      int a, b;                  }
      a=b*b;
      printf(« %d »,a);          Main ()
    }                            { int a;
                                  a= carre (b);
                                 Printf(« %d »,a); }     30
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.


                                               31
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.




                                                                32
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

                                                         33
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.
                                             En C++
                            Class Television {
                             int poids;
                             int longueur_diagonale;
                             boolean allume;
                             String Chaine_memorisees;

                                 void eteindre ();
                                 void allumer();
                                 void memoriser_chaines (String chaine);
                            };                                             34
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
                                                                       35
36
37

Contenu connexe

Tendances

INF120 - Algo DUT SRC1 - Cours 3
INF120 - Algo DUT SRC1 - Cours 3INF120 - Algo DUT SRC1 - Cours 3
INF120 - Algo DUT SRC1 - Cours 3PGambette
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Aziz Darouichi
 
Cours langage c
Cours langage cCours langage c
Cours langage ccoursuniv
 
Les bases de la programmation en JAVA
Les bases de la programmation  en JAVA   Les bases de la programmation  en JAVA
Les bases de la programmation en JAVA Asmaa BENGUEDDACH
 
Algorithmique et Programmation - informatique - débutant
Algorithmique et Programmation - informatique - débutantAlgorithmique et Programmation - informatique - débutant
Algorithmique et Programmation - informatique - débutantRidoinBahadi
 
Introduction a la compilation Aperçu de la compilation / Assembleur MIPS - C1
Introduction a la compilation  Aperçu de la compilation / Assembleur MIPS - C1Introduction a la compilation  Aperçu de la compilation / Assembleur MIPS - C1
Introduction a la compilation Aperçu de la compilation / Assembleur MIPS - C1Beligh HAMDI
 
Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Aziz Darouichi
 
Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Amina HAMEURLAINE
 
INF120 - Algo DUT SRC1 - Cours 2
INF120 - Algo DUT SRC1 - Cours 2INF120 - Algo DUT SRC1 - Cours 2
INF120 - Algo DUT SRC1 - Cours 2PGambette
 

Tendances (20)

Td pascal tdD
Td pascal tdDTd pascal tdD
Td pascal tdD
 
INF120 - Algo DUT SRC1 - Cours 3
INF120 - Algo DUT SRC1 - Cours 3INF120 - Algo DUT SRC1 - Cours 3
INF120 - Algo DUT SRC1 - Cours 3
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
 
Cours langage c
Cours langage cCours langage c
Cours langage c
 
Chapitre 1 rappel
Chapitre 1   rappelChapitre 1   rappel
Chapitre 1 rappel
 
Les bases de la programmation en JAVA
Les bases de la programmation  en JAVA   Les bases de la programmation  en JAVA
Les bases de la programmation en JAVA
 
Algorithmique et Programmation - informatique - débutant
Algorithmique et Programmation - informatique - débutantAlgorithmique et Programmation - informatique - débutant
Algorithmique et Programmation - informatique - débutant
 
POO en C++: Les fonctions
POO en C++: Les fonctionsPOO en C++: Les fonctions
POO en C++: Les fonctions
 
Introduction a la compilation Aperçu de la compilation / Assembleur MIPS - C1
Introduction a la compilation  Aperçu de la compilation / Assembleur MIPS - C1Introduction a la compilation  Aperçu de la compilation / Assembleur MIPS - C1
Introduction a la compilation Aperçu de la compilation / Assembleur MIPS - C1
 
Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références
 
langage C++
langage C++langage C++
langage C++
 
Programmation en C
Programmation en CProgrammation en C
Programmation en C
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++
 
Asd1
Asd1Asd1
Asd1
 
INF120 - Algo DUT SRC1 - Cours 2
INF120 - Algo DUT SRC1 - Cours 2INF120 - Algo DUT SRC1 - Cours 2
INF120 - Algo DUT SRC1 - Cours 2
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
 
Cours compilation
Cours compilationCours compilation
Cours compilation
 
Apprentissage du java
Apprentissage du javaApprentissage du java
Apprentissage du java
 

En vedette

Installer un réseau poste à poste dans une école primaire
Installer un réseau poste à poste dans une école primaireInstaller un réseau poste à poste dans une école primaire
Installer un réseau poste à poste dans une école primairejniemiec
 
Intro technos-reseau
Intro technos-reseauIntro technos-reseau
Intro technos-reseautsdi2011
 
Intro_Programmation_Informatique
Intro_Programmation_InformatiqueIntro_Programmation_Informatique
Intro_Programmation_InformatiqueEmeric Tapachès
 
JASPARD, M. LOGIC un service GeoWeb d’aide à la décision et à la coopération...
JASPARD, M. LOGIC  un service GeoWeb d’aide à la décision et à la coopération...JASPARD, M. LOGIC  un service GeoWeb d’aide à la décision et à la coopération...
JASPARD, M. LOGIC un service GeoWeb d’aide à la décision et à la coopération...IT-Gatineau2011
 
Algorithmic Forex Trading
Algorithmic Forex TradingAlgorithmic Forex Trading
Algorithmic Forex TradingInvestingTips
 
Digital elect total
Digital elect totalDigital elect total
Digital elect totalmasterslide
 
Combinators - Lightning Talk
Combinators - Lightning TalkCombinators - Lightning Talk
Combinators - Lightning TalkMike Harris
 
exercice_réseau
exercice_réseauexercice_réseau
exercice_réseaunoureddineb
 
Combinational circuit (7-Segment display)
Combinational circuit (7-Segment display)Combinational circuit (7-Segment display)
Combinational circuit (7-Segment display)ali9753
 
Assurance Qualité logicielle
Assurance Qualité logicielleAssurance Qualité logicielle
Assurance Qualité logicielleSylvain Leroy
 
S4 réseaux et internet
S4 réseaux et internet S4 réseaux et internet
S4 réseaux et internet mostafakhali
 
combinational_circuits
combinational_circuitscombinational_circuits
combinational_circuitsBindu Madhavi
 
COMBINATIONAL CIRCUITS & FLIP FLOPS
COMBINATIONAL CIRCUITS & FLIP FLOPSCOMBINATIONAL CIRCUITS & FLIP FLOPS
COMBINATIONAL CIRCUITS & FLIP FLOPSStarlee Lathong
 

En vedette (20)

Girard Intranet
Girard IntranetGirard Intranet
Girard Intranet
 
Chapitre 3
Chapitre 3Chapitre 3
Chapitre 3
 
Installer un réseau poste à poste dans une école primaire
Installer un réseau poste à poste dans une école primaireInstaller un réseau poste à poste dans une école primaire
Installer un réseau poste à poste dans une école primaire
 
Intro technos-reseau
Intro technos-reseauIntro technos-reseau
Intro technos-reseau
 
Intro_Programmation_Informatique
Intro_Programmation_InformatiqueIntro_Programmation_Informatique
Intro_Programmation_Informatique
 
JASPARD, M. LOGIC un service GeoWeb d’aide à la décision et à la coopération...
JASPARD, M. LOGIC  un service GeoWeb d’aide à la décision et à la coopération...JASPARD, M. LOGIC  un service GeoWeb d’aide à la décision et à la coopération...
JASPARD, M. LOGIC un service GeoWeb d’aide à la décision et à la coopération...
 
Algorithmic Forex Trading
Algorithmic Forex TradingAlgorithmic Forex Trading
Algorithmic Forex Trading
 
Digital elect total
Digital elect totalDigital elect total
Digital elect total
 
Combinators - Lightning Talk
Combinators - Lightning TalkCombinators - Lightning Talk
Combinators - Lightning Talk
 
Combinational logic
Combinational logicCombinational logic
Combinational logic
 
Bca i sem de lab
Bca i sem  de labBca i sem  de lab
Bca i sem de lab
 
exercice_réseau
exercice_réseauexercice_réseau
exercice_réseau
 
Combinational circuit (7-Segment display)
Combinational circuit (7-Segment display)Combinational circuit (7-Segment display)
Combinational circuit (7-Segment display)
 
58210401202 งาน 1 ss
58210401202 งาน 1 ss58210401202 งาน 1 ss
58210401202 งาน 1 ss
 
Assurance Qualité logicielle
Assurance Qualité logicielleAssurance Qualité logicielle
Assurance Qualité logicielle
 
Structure de données en PHP
Structure de données en PHPStructure de données en PHP
Structure de données en PHP
 
S4 réseaux et internet
S4 réseaux et internet S4 réseaux et internet
S4 réseaux et internet
 
combinational_circuits
combinational_circuitscombinational_circuits
combinational_circuits
 
Canaux logiques et codage dans le gsm
Canaux logiques et codage dans le gsmCanaux logiques et codage dans le gsm
Canaux logiques et codage dans le gsm
 
COMBINATIONAL CIRCUITS & FLIP FLOPS
COMBINATIONAL CIRCUITS & FLIP FLOPSCOMBINATIONAL CIRCUITS & FLIP FLOPS
COMBINATIONAL CIRCUITS & FLIP FLOPS
 

Similaire à Chapitre 1 (algorithme)

COURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptxCOURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptxLuneSabsPericolo1
 
cours fortran.pptx
cours fortran.pptxcours fortran.pptx
cours fortran.pptxMED B
 
Langage de Programmation.pdf
Langage de Programmation.pdfLangage de Programmation.pdf
Langage de Programmation.pdfAboubacarDiarra10
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfHailisara
 
resume-theorique-m106-2004-6261bb9556a66.pdf
resume-theorique-m106-2004-6261bb9556a66.pdfresume-theorique-m106-2004-6261bb9556a66.pdf
resume-theorique-m106-2004-6261bb9556a66.pdfFootballLovers9
 
Theme1 (1)
Theme1 (1)Theme1 (1)
Theme1 (1)salmazen
 
Chap 1 Initiation.pptx
Chap 1 Initiation.pptxChap 1 Initiation.pptx
Chap 1 Initiation.pptxolfaharrabi2
 
Dans les entrailles du langage C
Dans les entrailles du langage CDans les entrailles du langage C
Dans les entrailles du langage CStephanie Ouillon
 
cours-gratuit.com--system1id048.pdf
cours-gratuit.com--system1id048.pdfcours-gratuit.com--system1id048.pdf
cours-gratuit.com--system1id048.pdfKamalZeghdar
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage PythonAziz Darouichi
 
Le langage C.pdf
Le langage C.pdfLe langage C.pdf
Le langage C.pdfNoamHaythem
 
manuel-de-cours-culture-et-techniques-avancees-du-numerique-2eme-annee-31-08-...
manuel-de-cours-culture-et-techniques-avancees-du-numerique-2eme-annee-31-08-...manuel-de-cours-culture-et-techniques-avancees-du-numerique-2eme-annee-31-08-...
manuel-de-cours-culture-et-techniques-avancees-du-numerique-2eme-annee-31-08-...FootballLovers9
 
Algorithmique et methodes de programmation
Algorithmique et methodes de programmationAlgorithmique et methodes de programmation
Algorithmique et methodes de programmationSageKataliko1
 
Cours VB 2012 seance 1
Cours VB 2012 seance 1Cours VB 2012 seance 1
Cours VB 2012 seance 1ISIG
 
initialisation sur algorithme chapitre 1
initialisation sur algorithme chapitre 1initialisation sur algorithme chapitre 1
initialisation sur algorithme chapitre 1CheikhTidiane8
 
Technologies du Web - Architectures matérielles et logicielles
Technologies du Web - Architectures matérielles et logiciellesTechnologies du Web - Architectures matérielles et logicielles
Technologies du Web - Architectures matérielles et logiciellesFrédéric Simonet
 
Algorithme et Programmation
Algorithme et ProgrammationAlgorithme et Programmation
Algorithme et ProgrammationMonssifNajim1
 

Similaire à Chapitre 1 (algorithme) (20)

COURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptxCOURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptx
 
cours fortran.pptx
cours fortran.pptxcours fortran.pptx
cours fortran.pptx
 
Langage de Programmation.pdf
Langage de Programmation.pdfLangage de Programmation.pdf
Langage de Programmation.pdf
 
Langage C
Langage CLangage C
Langage C
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdf
 
Ktab asd
Ktab asdKtab asd
Ktab asd
 
resume-theorique-m106-2004-6261bb9556a66.pdf
resume-theorique-m106-2004-6261bb9556a66.pdfresume-theorique-m106-2004-6261bb9556a66.pdf
resume-theorique-m106-2004-6261bb9556a66.pdf
 
Theme1 (1)
Theme1 (1)Theme1 (1)
Theme1 (1)
 
Chap 1 Initiation.pptx
Chap 1 Initiation.pptxChap 1 Initiation.pptx
Chap 1 Initiation.pptx
 
Dans les entrailles du langage C
Dans les entrailles du langage CDans les entrailles du langage C
Dans les entrailles du langage C
 
cours-gratuit.com--system1id048.pdf
cours-gratuit.com--system1id048.pdfcours-gratuit.com--system1id048.pdf
cours-gratuit.com--system1id048.pdf
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
 
Le langage C.pdf
Le langage C.pdfLe langage C.pdf
Le langage C.pdf
 
manuel-de-cours-culture-et-techniques-avancees-du-numerique-2eme-annee-31-08-...
manuel-de-cours-culture-et-techniques-avancees-du-numerique-2eme-annee-31-08-...manuel-de-cours-culture-et-techniques-avancees-du-numerique-2eme-annee-31-08-...
manuel-de-cours-culture-et-techniques-avancees-du-numerique-2eme-annee-31-08-...
 
Algorithmique et methodes de programmation
Algorithmique et methodes de programmationAlgorithmique et methodes de programmation
Algorithmique et methodes de programmation
 
C#
C#C#
C#
 
Cours VB 2012 seance 1
Cours VB 2012 seance 1Cours VB 2012 seance 1
Cours VB 2012 seance 1
 
initialisation sur algorithme chapitre 1
initialisation sur algorithme chapitre 1initialisation sur algorithme chapitre 1
initialisation sur algorithme chapitre 1
 
Technologies du Web - Architectures matérielles et logicielles
Technologies du Web - Architectures matérielles et logiciellesTechnologies du Web - Architectures matérielles et logicielles
Technologies du Web - Architectures matérielles et logicielles
 
Algorithme et Programmation
Algorithme et ProgrammationAlgorithme et Programmation
Algorithme et Programmation
 

Chapitre 1 (algorithme)

  • 2. Plan 1. 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 2
  • 3. Chapitre 1 : Introduction à l’informatique 3
  • 4. 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. 4
  • 7. 7
  • 8. Représentation des nombres fractionnaires 8
  • 9. Conversion de et vers la base 10 9
  • 10. 10
  • 11. 11
  • 12. Conversion bases 2, 8 et 16 12
  • 15. 2. Architecture d’un ordinateur (1) 15
  • 17. Mémoire centrale ou principale 17
  • 18. 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. 18
  • 19. 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., 19 5- rangement des résultats dans la mémoire centrale ou en mémoire auxiliaire
  • 20. 3. Architecture de système informatique 20
  • 21. • 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. 21
  • 22. 22
  • 23. 23
  • 24. 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 24
  • 25. • 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. 25
  • 26. Langages évolués de programmation 26 http://www.info.univ-angers.fr/~gh/hilapr/progs.htm
  • 27. • 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> ; 27
  • 28. • 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. 28
  • 29. 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,… • … 29
  • 30. 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. En C : Int carre ( int b) Main ( ) { { return (b*b); int a, b; } a=b*b; printf(« %d »,a); Main () } { int a; a= carre (b); Printf(« %d »,a); } 30
  • 31. 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. 31
  • 32. 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. 32
  • 33. 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 33
  • 34. 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. En C++ Class Television { int poids; int longueur_diagonale; boolean allume; String Chaine_memorisees; void eteindre (); void allumer(); void memoriser_chaines (String chaine); }; 34
  • 35. 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 35
  • 36. 36
  • 37. 37