Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique...
Transcript of Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique...
![Page 1: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/1.jpg)
Module d’informatiqueProgrammation et algorithmique
![Page 2: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/2.jpg)
Avant propos
![Page 3: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/3.jpg)
Informatique
L’informatique a l’ENSMM
Premiere annee (semestre bleu)
Programmation et algorithmique (C)
Deuxieme annee (semestre vert, parcours EAO)
Programmation Orientee Objet (Java)
Troisieme annee (modules transverses)
Systemes d’informations et application Web (SQL, HTML, PHP)Methodes d’Optimisation et de Decision
G. Laurent | ENSMM | Fevrier 2013 3 / 72
![Page 4: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/4.jpg)
Informatique
Organisation du module
Evaluation :
1/3 examen partiel
1/3 examen final
1/3 mini-projet
G. Laurent | ENSMM | Fevrier 2013 4 / 72
![Page 5: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/5.jpg)
Informatique
Equipe pedagogique
Enseignants-chercheurs au departement AS2M de l’institut FEMTO-ST
Guillaume LaurentJean-Marc NicodNadine PiatEmmanuel PiatEmmanuel RamassoChristophe Varnier
G. Laurent | ENSMM | Fevrier 2013 5 / 72
![Page 6: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/6.jpg)
Petits messages...
vs
Source : http ://lapinobservateur.over-blog.com/
![Page 7: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/7.jpg)
Informatique
Plan du cours
Partie 1 : Introduction a l’algorithmique
Partie 2 : Introduction a la programmation structuree
G. Laurent | ENSMM | Fevrier 2013 7 / 72
![Page 8: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/8.jpg)
Partie 1 : Introduction a l’algorithmique
1 Definition et historique
2 Notion de variable
3 Instructions et structures de controle
4 Conclusion
![Page 9: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/9.jpg)
Informatique | Definition et historique
1 Definition et historique
1 Definition et historique
2 Notion de variable
3 Instructions et structures de controle
4 Conclusion
G. Laurent | ENSMM | Fevrier 2013 9 / 72
![Page 10: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/10.jpg)
Informatique | Definition et historique
Qu’est-ce qu’un algorithme ?
G. Laurent | ENSMM | Fevrier 2013 10 / 72
![Page 11: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/11.jpg)
Informatique | Definition et historique
Qu’est-ce qu’un algorithme ?
G. Laurent | ENSMM | Fevrier 2013 10 / 72
![Page 12: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/12.jpg)
Informatique | Definition et historique
L’antiquite
-1900 -300
Epoque babylonienne
Descriptions d’algorithmes pour des calculsconcernant le commerce et les impots
Euclide
Algorithme permettant de trouver une unitede mesure commune a deux longueurs, c-a-dle PGCD (livre VII des Elements d’Euclide)
G. Laurent | ENSMM | Fevrier 2013 11 / 72
![Page 13: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/13.jpg)
Informatique | Definition et historique
L’antiquite
-1900
-300
Epoque babylonienne
Descriptions d’algorithmes pour des calculsconcernant le commerce et les impots
Euclide
Algorithme permettant de trouver une unitede mesure commune a deux longueurs, c-a-dle PGCD (livre VII des Elements d’Euclide)
G. Laurent | ENSMM | Fevrier 2013 11 / 72
![Page 14: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/14.jpg)
Informatique | Definition et historique
L’antiquite
-1900 -300
Epoque babylonienne
Descriptions d’algorithmes pour des calculsconcernant le commerce et les impots
Euclide
Algorithme permettant de trouver une unitede mesure commune a deux longueurs, c-a-dle PGCD (livre VII des Elements d’Euclide)
G. Laurent | ENSMM | Fevrier 2013 11 / 72
![Page 15: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/15.jpg)
Informatique | Definition et historique
Naissance du concept d’algorithme
783 - 850 1080 - 1160
Muhammad Al Khawarizmi
Mathematicien perse, auteur d’un ouvrage quidecrit des methodes systematiques de calculsalgebriques
Adelard de Bath
Mathematicien britannique, introduit le termelatin de algorismus. Ce mot donneraalgorithme en francais en 1554
G. Laurent | ENSMM | Fevrier 2013 12 / 72
![Page 16: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/16.jpg)
Informatique | Definition et historique
Naissance du concept d’algorithme
783 - 850
1080 - 1160
Muhammad Al Khawarizmi
Mathematicien perse, auteur d’un ouvrage quidecrit des methodes systematiques de calculsalgebriques
Adelard de Bath
Mathematicien britannique, introduit le termelatin de algorismus. Ce mot donneraalgorithme en francais en 1554
G. Laurent | ENSMM | Fevrier 2013 12 / 72
![Page 17: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/17.jpg)
Informatique | Definition et historique
Naissance du concept d’algorithme
783 - 850 1080 - 1160
Muhammad Al Khawarizmi
Mathematicien perse, auteur d’un ouvrage quidecrit des methodes systematiques de calculsalgebriques
Adelard de Bath
Mathematicien britannique, introduit le termelatin de algorismus. Ce mot donneraalgorithme en francais en 1554
G. Laurent | ENSMM | Fevrier 2013 12 / 72
![Page 18: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/18.jpg)
Informatique | Definition et historique
Formalisation du concept d’algorithmique
1815 - 1852 1912 - 1954
Ada Lovelace
Mathematicienne britannique, propose unemethode tres detaillee pour calculer lesnombres de Bernoulli consideree comme lepremier programme informatique pour lamachine a difference de Charles Babbage
Alan Turing
Mathematicien britannique, formalise lesconcepts d’algorithme et de calculabilite autravers l’invention d’une machine virtuelle : lamachine de Turing. Tout probleme de calculbase sur une procedure algorithmique peutetre resolu par une machine de Turing (theseChurch-Turing)
G. Laurent | ENSMM | Fevrier 2013 13 / 72
![Page 19: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/19.jpg)
Informatique | Definition et historique
Formalisation du concept d’algorithmique
1815 - 1852
1912 - 1954
Ada Lovelace
Mathematicienne britannique, propose unemethode tres detaillee pour calculer lesnombres de Bernoulli consideree comme lepremier programme informatique pour lamachine a difference de Charles Babbage
Alan Turing
Mathematicien britannique, formalise lesconcepts d’algorithme et de calculabilite autravers l’invention d’une machine virtuelle : lamachine de Turing. Tout probleme de calculbase sur une procedure algorithmique peutetre resolu par une machine de Turing (theseChurch-Turing)
G. Laurent | ENSMM | Fevrier 2013 13 / 72
![Page 20: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/20.jpg)
Informatique | Definition et historique
Formalisation du concept d’algorithmique
1815 - 1852 1912 - 1954
Ada Lovelace
Mathematicienne britannique, propose unemethode tres detaillee pour calculer lesnombres de Bernoulli consideree comme lepremier programme informatique pour lamachine a difference de Charles Babbage
Alan Turing
Mathematicien britannique, formalise lesconcepts d’algorithme et de calculabilite autravers l’invention d’une machine virtuelle : lamachine de Turing. Tout probleme de calculbase sur une procedure algorithmique peutetre resolu par une machine de Turing (theseChurch-Turing)
G. Laurent | ENSMM | Fevrier 2013 13 / 72
![Page 21: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/21.jpg)
Informatique | Definition et historique
Formalisation du concept d’algorithmique
Definition (Algorithme)
Un algorithme est la formalisation logique, claire et complete d’une suited’actions qui permettent de passer des donnees d’un probleme au resultat. Cetteformalisation necessite l’utilisation d’un langage simple, non ambigu etindependant de tout materiel et de tout logiciel.
G. Laurent | ENSMM | Fevrier 2013 14 / 72
![Page 22: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/22.jpg)
Informatique | Definition et historique
Premiers langages machines
1943 ENIAC 1954 IBM 704
IBM 704
Programmes ecrits avec les instructions de base de la machine (en binaire)
Programmes difficiles a comprendre et a modifier
G. Laurent | ENSMM | Fevrier 2013 15 / 72
![Page 23: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/23.jpg)
Informatique | Definition et historique
Premiers langages machines
1943 ENIAC
1954 IBM 704
ENIAC
Premier ordinateur electronique (a tubes) construit pour etre complet ausens de Turing.
IBM 704
Programmes ecrits avec les instructions de base de la machine (en binaire)
Programmes difficiles a comprendre et a modifier
G. Laurent | ENSMM | Fevrier 2013 15 / 72
![Page 24: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/24.jpg)
Informatique | Definition et historique
Premiers langages machines
1943 ENIAC 1954 IBM 704
IBM 704
Programmes ecrits avec les instructions de base de la machine (en binaire)
Programmes difficiles a comprendre et a modifier
G. Laurent | ENSMM | Fevrier 2013 15 / 72
![Page 25: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/25.jpg)
Informatique | Definition et historique
Premiers langages symboliques
1951A-0
1954FORTRAN
1959COBOL
1963BASIC
Grace Murray Hopper
Informaticienne americaine, conceptrice dupremier compilateur (A-0 System) et dulangage COBOL.
John Backus
Informaticien chez IBM, publie en 1954 unarticle titre Specifications for the IBMMathematical FORmula TRANslating System
Kemeny & Kurtz
Concoivent le BASIC au Dartmouth College
G. Laurent | ENSMM | Fevrier 2013 16 / 72
![Page 26: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/26.jpg)
Informatique | Definition et historique
Premiers langages symboliques
1951A-0
1954FORTRAN
1959COBOL
1963BASIC
Grace Murray Hopper
Informaticienne americaine, conceptrice dupremier compilateur (A-0 System) et dulangage COBOL.
John Backus
Informaticien chez IBM, publie en 1954 unarticle titre Specifications for the IBMMathematical FORmula TRANslating System
Kemeny & Kurtz
Concoivent le BASIC au Dartmouth College
G. Laurent | ENSMM | Fevrier 2013 16 / 72
![Page 27: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/27.jpg)
Informatique | Definition et historique
Premiers langages symboliques
1951A-0
1954FORTRAN
1959COBOL
1963BASIC
Grace Murray Hopper
Informaticienne americaine, conceptrice dupremier compilateur (A-0 System) et dulangage COBOL.
John Backus
Informaticien chez IBM, publie en 1954 unarticle titre Specifications for the IBMMathematical FORmula TRANslating System
Kemeny & Kurtz
Concoivent le BASIC au Dartmouth College
G. Laurent | ENSMM | Fevrier 2013 16 / 72
![Page 28: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/28.jpg)
Informatique | Definition et historique
Premiers langages symboliques
1951A-0
1954FORTRAN
1959COBOL
1963BASIC
Grace Murray Hopper
Informaticienne americaine, conceptrice dupremier compilateur (A-0 System) et dulangage COBOL.
John Backus
Informaticien chez IBM, publie en 1954 unarticle titre Specifications for the IBMMathematical FORmula TRANslating System
Kemeny & Kurtz
Concoivent le BASIC au Dartmouth College
G. Laurent | ENSMM | Fevrier 2013 16 / 72
![Page 29: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/29.jpg)
Informatique | Definition et historique
Premiers langages symboliques
BASIC
10 i f A = B goto 7020 i f A < B goto 5030 A = A − B40 goto 1050 B = B − A60 goto 1070 end
Organigramme (IBM 1969, norme ISO 5807 en 1985)
Programmes difficiles a verifier et a reutiliser
Programmation � spaghetti �
Organigrammes limites a des algorithmes tres simples
G. Laurent | ENSMM | Fevrier 2013 17 / 72
![Page 30: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/30.jpg)
Informatique | Definition et historique
Premiers langages symboliques
BASIC
10 i f A = B goto 7020 i f A < B goto 5030 A = A − B40 goto 1050 B = B − A60 goto 1070 end
Organigramme (IBM 1969, norme ISO 5807 en 1985)
Programmes difficiles a verifier et a reutiliser
Programmation � spaghetti �
Organigrammes limites a des algorithmes tres simples
G. Laurent | ENSMM | Fevrier 2013 17 / 72
![Page 31: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/31.jpg)
Informatique | Definition et historique
Premiers langages symboliques
BASIC
10 i f A = B goto 7020 i f A < B goto 5030 A = A − B40 goto 1050 B = B − A60 goto 1070 end
Organigramme (IBM 1969, norme ISO 5807 en 1985)
Programmes difficiles a verifier et a reutiliser
Programmation � spaghetti �
Organigrammes limites a des algorithmes tres simples
G. Laurent | ENSMM | Fevrier 2013 17 / 72
![Page 32: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/32.jpg)
Informatique | Definition et historique
Premiers langages symboliques
BASIC
10 i f A = B goto 7020 i f A < B goto 5030 A = A − B40 goto 1050 B = B − A60 goto 1070 end
Organigramme (IBM 1969, norme ISO 5807 en 1985)
Programmes difficiles a verifier et a reutiliser
Programmation � spaghetti �
Organigrammes limites a des algorithmes tres simples
G. Laurent | ENSMM | Fevrier 2013 17 / 72
![Page 33: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/33.jpg)
Informatique | Definition et historique
Premiers langages symboliques
BASIC
10 i f A = B goto 7020 i f A < B goto 5030 A = A − B40 goto 1050 B = B − A60 goto 1070 end
Organigramme (IBM 1969, norme ISO 5807 en 1985)
Programmes difficiles a verifier et a reutiliser
Programmation � spaghetti �
Organigrammes limites a des algorithmes tres simples
G. Laurent | ENSMM | Fevrier 2013 17 / 72
![Page 34: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/34.jpg)
Informatique | Definition et historique
Langages structures de haut niveau
Annees 70 : crise du logiciel
Nombreuses publications sur le genie logiciel
1966 : Bohm et Jiacopini, Go To Statement Considered Harmful1975 : Dijkstra, Guarded commands, non determinacy and formal derivation ofprograms1970 : Warnier, Principes de la Logique de Construction de Programmes1986 : Brooks, No Silver Bullet : Essence and Accidents of SoftwareEngineering
Introduction de nouveaux concepts
Structures de controles
Structures de donnees
Sous-programmes
G. Laurent | ENSMM | Fevrier 2013 18 / 72
![Page 35: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/35.jpg)
Informatique | Definition et historique
Langages structures de haut niveau
Annees 70 : crise du logiciel
Nombreuses publications sur le genie logiciel
1966 : Bohm et Jiacopini, Go To Statement Considered Harmful1975 : Dijkstra, Guarded commands, non determinacy and formal derivation ofprograms1970 : Warnier, Principes de la Logique de Construction de Programmes1986 : Brooks, No Silver Bullet : Essence and Accidents of SoftwareEngineering
Introduction de nouveaux concepts
Structures de controles
Structures de donnees
Sous-programmes
G. Laurent | ENSMM | Fevrier 2013 18 / 72
![Page 36: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/36.jpg)
Informatique | Definition et historique
Langages structures de haut niveau
Annees 70 : crise du logiciel
Nombreuses publications sur le genie logiciel
1966 : Bohm et Jiacopini, Go To Statement Considered Harmful1975 : Dijkstra, Guarded commands, non determinacy and formal derivation ofprograms1970 : Warnier, Principes de la Logique de Construction de Programmes1986 : Brooks, No Silver Bullet : Essence and Accidents of SoftwareEngineering
Introduction de nouveaux concepts
Structures de controles
Structures de donnees
Sous-programmes
G. Laurent | ENSMM | Fevrier 2013 18 / 72
![Page 37: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/37.jpg)
Informatique | Definition et historique
Langages structures de haut niveau
Annees 70 : crise du logiciel
Nombreuses publications sur le genie logiciel
1966 : Bohm et Jiacopini, Go To Statement Considered Harmful1975 : Dijkstra, Guarded commands, non determinacy and formal derivation ofprograms1970 : Warnier, Principes de la Logique de Construction de Programmes1986 : Brooks, No Silver Bullet : Essence and Accidents of SoftwareEngineering
Introduction de nouveaux concepts
Structures de controles
Structures de donnees
Sous-programmes
G. Laurent | ENSMM | Fevrier 2013 18 / 72
![Page 38: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/38.jpg)
Informatique | Definition et historique
Langages structures de haut niveau
Annees 70 : crise du logiciel
Nombreuses publications sur le genie logiciel
1966 : Bohm et Jiacopini, Go To Statement Considered Harmful1975 : Dijkstra, Guarded commands, non determinacy and formal derivation ofprograms1970 : Warnier, Principes de la Logique de Construction de Programmes1986 : Brooks, No Silver Bullet : Essence and Accidents of SoftwareEngineering
Introduction de nouveaux concepts
Structures de controles
Structures de donnees
Sous-programmes
G. Laurent | ENSMM | Fevrier 2013 18 / 72
![Page 39: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/39.jpg)
Informatique | Definition et historique
Situation actuelle
Des centaines de langages
Langages declaratifs
Programmation fonctionnelleProgrammation logique
Langages imperatifs
Programmation proceduraleProgrammation orientee objet
Definition d’un pseudo-langageuniversel
G. Laurent | ENSMM | Fevrier 2013 19 / 72
![Page 40: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/40.jpg)
Informatique | Definition et historique
Situation actuelle
Des centaines de langages
Langages declaratifs
Programmation fonctionnelleProgrammation logique
Langages imperatifs
Programmation proceduraleProgrammation orientee objet
Definition d’un pseudo-langageuniversel
G. Laurent | ENSMM | Fevrier 2013 19 / 72
![Page 41: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/41.jpg)
Informatique | Definition et historique
Situation actuelle
Des centaines de langages
Langages declaratifs
Programmation fonctionnelleProgrammation logique
Langages imperatifs
Programmation proceduraleProgrammation orientee objet
Definition d’un pseudo-langageuniversel
G. Laurent | ENSMM | Fevrier 2013 19 / 72
![Page 42: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/42.jpg)
Informatique | Definition et historique
Situation actuelle
Des centaines de langages
Langages declaratifs
Programmation fonctionnelleProgrammation logique
Langages imperatifs
Programmation proceduraleProgrammation orientee objet
Definition d’un pseudo-langageuniversel
G. Laurent | ENSMM | Fevrier 2013 19 / 72
![Page 43: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/43.jpg)
Informatique | Definition et historique
Situation actuelle
Des centaines de langages
Langages declaratifs
Programmation fonctionnelleProgrammation logique
Langages imperatifs
Programmation proceduraleProgrammation orientee objet
Definition d’un pseudo-langageuniversel
G. Laurent | ENSMM | Fevrier 2013 19 / 72
![Page 44: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/44.jpg)
Informatique | Notion de variable
2 Notion de variable
1 Definition et historique
2 Notion de variable
3 Instructions et structures de controle
4 Conclusion
G. Laurent | ENSMM | Fevrier 2013 20 / 72
![Page 45: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/45.jpg)
Informatique | Notion de variable
Qu’est-ce qu’une variable ?
Definition (Variable)
Une variable est une cellule memoire dont le contenu est consultable etmodifiable. Une variable est designee par un identificateur.
Une variable doit etre declaree en debut de programme ou de sous-programme
Une variable a toujours une valeur
Une variable doit toujours etre initialisee avant d’etre consultee
G. Laurent | ENSMM | Fevrier 2013 21 / 72
![Page 46: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/46.jpg)
Informatique | Notion de variable
Qu’est-ce qu’une variable ?
Definition (Variable)
Une variable est une cellule memoire dont le contenu est consultable etmodifiable. Une variable est designee par un identificateur.
Une variable doit etre declaree en debut de programme ou de sous-programme
Une variable a toujours une valeur
Une variable doit toujours etre initialisee avant d’etre consultee
G. Laurent | ENSMM | Fevrier 2013 21 / 72
![Page 47: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/47.jpg)
Informatique | Notion de variable
Qu’est-ce qu’une variable ?
Definition (Variable)
Une variable est une cellule memoire dont le contenu est consultable etmodifiable. Une variable est designee par un identificateur.
Une variable doit etre declaree en debut de programme ou de sous-programme
Une variable a toujours une valeur
Une variable doit toujours etre initialisee avant d’etre consultee
G. Laurent | ENSMM | Fevrier 2013 21 / 72
![Page 48: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/48.jpg)
Informatique | Notion de variable
Qu’est-ce qu’une variable ?
Definition (Variable)
Une variable est une cellule memoire dont le contenu est consultable etmodifiable. Une variable est designee par un identificateur.
Une variable doit etre declaree en debut de programme ou de sous-programme
Une variable a toujours une valeur
Une variable doit toujours etre initialisee avant d’etre consultee
G. Laurent | ENSMM | Fevrier 2013 21 / 72
![Page 49: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/49.jpg)
Informatique | Notion de variable
Qu’est-ce qu’une variable ?
Definition (Variable)
Une variable est une cellule memoire dont le contenu est consultable etmodifiable. Une variable est designee par un identificateur.
Une variable doit etre declaree en debut de programme ou de sous-programme
Une variable a toujours une valeur
Une variable doit toujours etre initialisee avant d’etre consultee
G. Laurent | ENSMM | Fevrier 2013 21 / 72
![Page 50: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/50.jpg)
Informatique | Notion de variable
Qu’est-ce qu’un identificateur ?
Definition (Identificateur)
Un identificateur est le nom associe a une variable, a un type, ou a unsous-programme. Un identificateur est une suite de caracteres commencant parune lettre et ne contenant pas d’espace.
A , x , b5 , couleur bord sont des identificateurs valides
3A , couleur fond ne le sont pas
Xi est un identificateur, mais i n’est pas un indice
G. Laurent | ENSMM | Fevrier 2013 22 / 72
![Page 51: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/51.jpg)
Informatique | Notion de variable
Qu’est-ce qu’un identificateur ?
Definition (Identificateur)
Un identificateur est le nom associe a une variable, a un type, ou a unsous-programme. Un identificateur est une suite de caracteres commencant parune lettre et ne contenant pas d’espace.
A , x , b5 , couleur bord sont des identificateurs valides
3A , couleur fond ne le sont pas
Xi est un identificateur, mais i n’est pas un indice
G. Laurent | ENSMM | Fevrier 2013 22 / 72
![Page 52: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/52.jpg)
Informatique | Notion de variable
Qu’est-ce qu’un identificateur ?
Definition (Identificateur)
Un identificateur est le nom associe a une variable, a un type, ou a unsous-programme. Un identificateur est une suite de caracteres commencant parune lettre et ne contenant pas d’espace.
A , x , b5 , couleur bord sont des identificateurs valides
3A , couleur fond ne le sont pas
Xi est un identificateur, mais i n’est pas un indice
G. Laurent | ENSMM | Fevrier 2013 22 / 72
![Page 53: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/53.jpg)
Informatique | Notion de variable
Qu’est-ce qu’un identificateur ?
Definition (Identificateur)
Un identificateur est le nom associe a une variable, a un type, ou a unsous-programme. Un identificateur est une suite de caracteres commencant parune lettre et ne contenant pas d’espace.
A , x , b5 , couleur bord sont des identificateurs valides
3A , couleur fond ne le sont pas
Xi est un identificateur, mais i n’est pas un indice
G. Laurent | ENSMM | Fevrier 2013 22 / 72
![Page 54: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/54.jpg)
Informatique | Notion de variable
Qu’est-ce qu’un identificateur ?
Definition (Identificateur)
Un identificateur est le nom associe a une variable, a un type, ou a unsous-programme. Un identificateur est une suite de caracteres commencant parune lettre et ne contenant pas d’espace.
A , x , b5 , couleur bord sont des identificateurs valides
3A , couleur fond ne le sont pas
Xi est un identificateur, mais i n’est pas un indice
G. Laurent | ENSMM | Fevrier 2013 22 / 72
![Page 55: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/55.jpg)
Informatique | Notion de variable
Comment declarer une variable ?
Pseudo-langage
Type de la variable identificateur de la variable
Les declarations sont regroupees en debut de programme ou desous-programme
Le type peut etre soit un type predefini (entier, reel, booleen, caractere,chaıne) soit un type defini par l’utilisateur
G. Laurent | ENSMM | Fevrier 2013 23 / 72
![Page 56: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/56.jpg)
Informatique | Notion de variable
Comment declarer une variable ?
Pseudo-langage
Type de la variable identificateur de la variable
Les declarations sont regroupees en debut de programme ou desous-programme
Le type peut etre soit un type predefini (entier, reel, booleen, caractere,chaıne) soit un type defini par l’utilisateur
G. Laurent | ENSMM | Fevrier 2013 23 / 72
![Page 57: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/57.jpg)
Informatique | Notion de variable
Comment declarer une variable ?
Pseudo-langage
Type de la variable identificateur de la variable
Les declarations sont regroupees en debut de programme ou desous-programme
Le type peut etre soit un type predefini (entier, reel, booleen, caractere,chaıne) soit un type defini par l’utilisateur
G. Laurent | ENSMM | Fevrier 2013 23 / 72
![Page 58: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/58.jpg)
Informatique | Notion de variable
Ou sont stockees les variables ?
Memoire biologique
Memoire mecanique
Memoire electronique
G. Laurent | ENSMM | Fevrier 2013 24 / 72
![Page 59: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/59.jpg)
Informatique | Notion de variable
Ou sont stockees les variables ?
Memoire biologique
Memoire mecanique
Memoire electronique
G. Laurent | ENSMM | Fevrier 2013 24 / 72
![Page 60: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/60.jpg)
Informatique | Notion de variable
Ou sont stockees les variables ?
Memoire biologique
Memoire mecanique
Memoire electronique
G. Laurent | ENSMM | Fevrier 2013 24 / 72
![Page 61: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/61.jpg)
Informatique | Notion de variable
Ou sont stockees les variables ?
Memoire biologique
Memoire mecanique
Memoire electronique
G. Laurent | ENSMM | Fevrier 2013 24 / 72
![Page 62: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/62.jpg)
Informatique | Notion de variable
Representation interne et externe
Il y a 10 types de personne dans le monde, ceux qui comprennent le binaire et lesautres !
Representation externe
C’est la variable telle que imaginee/vuepar l’utilisateur
Une variable peut avoir plusieursrepresentations externes
Representation interne
Codage de la variable dans la machine
Une variable d’un type donne n’auraqu’une seule representation interne
G. Laurent | ENSMM | Fevrier 2013 25 / 72
![Page 63: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/63.jpg)
Informatique | Notion de variable
Representation interne et externe
Il y a 10 types de personne dans le monde, ceux qui comprennent le binaire et lesautres !
Representation externe
C’est la variable telle que imaginee/vuepar l’utilisateur
Une variable peut avoir plusieursrepresentations externes
Representation interne
Codage de la variable dans la machine
Une variable d’un type donne n’auraqu’une seule representation interne
G. Laurent | ENSMM | Fevrier 2013 25 / 72
![Page 64: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/64.jpg)
Informatique | Notion de variable
Representation interne et externe
Il y a 10 types de personne dans le monde, ceux qui comprennent le binaire et lesautres !
Representation externe
C’est la variable telle que imaginee/vuepar l’utilisateur
Une variable peut avoir plusieursrepresentations externes
Representation interne
Codage de la variable dans la machine
Une variable d’un type donne n’auraqu’une seule representation interne
G. Laurent | ENSMM | Fevrier 2013 25 / 72
![Page 65: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/65.jpg)
Informatique | Instructions et structures de controle
3 Instructions et structures de controle
1 Definition et historique
2 Notion de variable
3 Instructions et structures de controle
4 Conclusion
G. Laurent | ENSMM | Fevrier 2013 26 / 72
![Page 66: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/66.jpg)
Informatique | Instructions et structures de controle
L’affectation
Pseudo-langage
identificateur de la variable ← expression
Affecte une valeur a une variable
Change le contenu d’une zone de memoire
Deroulement :
1 Evaluation de l’expression2 Mise en memoire du resultat dans la variable
G. Laurent | ENSMM | Fevrier 2013 27 / 72
![Page 67: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/67.jpg)
Informatique | Instructions et structures de controle
L’affectation
Pseudo-langage
identificateur de la variable ← expression
Affecte une valeur a une variable
Change le contenu d’une zone de memoire
Deroulement :
1 Evaluation de l’expression2 Mise en memoire du resultat dans la variable
G. Laurent | ENSMM | Fevrier 2013 27 / 72
![Page 68: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/68.jpg)
Informatique | Instructions et structures de controle
L’affectation
Pseudo-langage
identificateur de la variable ← expression
Affecte une valeur a une variable
Change le contenu d’une zone de memoire
Deroulement :
1 Evaluation de l’expression2 Mise en memoire du resultat dans la variable
G. Laurent | ENSMM | Fevrier 2013 27 / 72
![Page 69: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/69.jpg)
Informatique | Instructions et structures de controle
L’affectation
Pseudo-langage
identificateur de la variable ← expression
Affecte une valeur a une variable
Change le contenu d’une zone de memoire
Deroulement :
1 Evaluation de l’expression2 Mise en memoire du resultat dans la variable
G. Laurent | ENSMM | Fevrier 2013 27 / 72
![Page 70: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/70.jpg)
Informatique | Instructions et structures de controle
Structures de controles
Il existe trois types de structures de controle
La sequence
Le choix
L’iteration (boucle)
G. Laurent | ENSMM | Fevrier 2013 28 / 72
![Page 71: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/71.jpg)
Informatique | Instructions et structures de controle
Structure elementaire : la sequence
Sequence
Les instructions d’un programme s’executent dans l’ordre de leur ecriture (degauche a droite et de bas en haut).
Une instruction par ligne !
G. Laurent | ENSMM | Fevrier 2013 29 / 72
![Page 72: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/72.jpg)
Informatique | Instructions et structures de controle
Structure elementaire : la sequence
Sequence
Les instructions d’un programme s’executent dans l’ordre de leur ecriture (degauche a droite et de bas en haut).
Une instruction par ligne !
G. Laurent | ENSMM | Fevrier 2013 29 / 72
![Page 73: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/73.jpg)
Informatique | Instructions et structures de controle
Structure de choix si-alors-sinon
Pseudo-langage
si ( condition ) alorssequence 1
sinonsequence 2
finsi
Pseudo-langage
si ( condition ) alorssequence 1
finsi
Condition doit etre une expression booleenne
Si la valeur de la condition est vrai alors la sequence 1 est executee, lorsqu’ellese termine l’execution reprend a la premiere instructions qui suit finsi
Si la valeur de la condition est faux alors la sequence 2 est executee,lorsqu’elle se termine l’execution reprend a la premiere instructions qui suitfinsi
G. Laurent | ENSMM | Fevrier 2013 30 / 72
![Page 74: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/74.jpg)
Informatique | Instructions et structures de controle
Structure de choix si-alors-sinon
Pseudo-langage
si ( condition ) alorssequence 1
sinonsequence 2
finsi
Pseudo-langage
si ( condition ) alorssequence 1
finsi
Condition doit etre une expression booleenne
Si la valeur de la condition est vrai alors la sequence 1 est executee, lorsqu’ellese termine l’execution reprend a la premiere instructions qui suit finsi
Si la valeur de la condition est faux alors la sequence 2 est executee,lorsqu’elle se termine l’execution reprend a la premiere instructions qui suitfinsi
G. Laurent | ENSMM | Fevrier 2013 30 / 72
![Page 75: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/75.jpg)
Informatique | Instructions et structures de controle
Structure de choix si-alors-sinon
Pseudo-langage
si ( condition ) alorssequence 1
sinonsequence 2
finsi
Pseudo-langage
si ( condition ) alorssequence 1
finsi
Condition doit etre une expression booleenne
Si la valeur de la condition est vrai alors la sequence 1 est executee, lorsqu’ellese termine l’execution reprend a la premiere instructions qui suit finsi
Si la valeur de la condition est faux alors la sequence 2 est executee,lorsqu’elle se termine l’execution reprend a la premiere instructions qui suitfinsi
G. Laurent | ENSMM | Fevrier 2013 30 / 72
![Page 76: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/76.jpg)
Informatique | Instructions et structures de controle
Structure de choix si-alors-sinon
Pseudo-langage
si ( condition ) alorssequence 1
sinonsequence 2
finsi
Pseudo-langage
si ( condition ) alorssequence 1
finsi
Condition doit etre une expression booleenne
Si la valeur de la condition est vrai alors la sequence 1 est executee, lorsqu’ellese termine l’execution reprend a la premiere instructions qui suit finsi
Si la valeur de la condition est faux alors la sequence 2 est executee,lorsqu’elle se termine l’execution reprend a la premiere instructions qui suitfinsi
G. Laurent | ENSMM | Fevrier 2013 30 / 72
![Page 77: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/77.jpg)
Informatique | Instructions et structures de controle
Structure d’iteration Tant que
Pseudo-langage
tant que ( condition ) fairesequence
fintantque
La condition doit etre une expression booleenne
Repete la sequence tant que la valeur de la condition est vrai
La condition n’est testee qu’au debut de chaque boucle
Regles de base
Toute structure tant que doit etre precedee del’initialisation des variables intervenant dans l’expressionbooleenne de la condition
La sequence doit modifier au moins l’une des variablesintervenant dans la condition. Il est indispensable que lacondition prenne la valeur faux a un moment donne, afinde sortir de la boucle iteratif.
G. Laurent | ENSMM | Fevrier 2013 31 / 72
![Page 78: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/78.jpg)
Informatique | Instructions et structures de controle
Structure d’iteration Tant que
Pseudo-langage
tant que ( condition ) fairesequence
fintantque
La condition doit etre une expression booleenne
Repete la sequence tant que la valeur de la condition est vrai
La condition n’est testee qu’au debut de chaque boucle
Regles de base
Toute structure tant que doit etre precedee del’initialisation des variables intervenant dans l’expressionbooleenne de la condition
La sequence doit modifier au moins l’une des variablesintervenant dans la condition. Il est indispensable que lacondition prenne la valeur faux a un moment donne, afinde sortir de la boucle iteratif.
G. Laurent | ENSMM | Fevrier 2013 31 / 72
![Page 79: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/79.jpg)
Informatique | Instructions et structures de controle
Structure d’iteration Tant que
Pseudo-langage
tant que ( condition ) fairesequence
fintantque
La condition doit etre une expression booleenne
Repete la sequence tant que la valeur de la condition est vrai
La condition n’est testee qu’au debut de chaque boucle
Regles de base
Toute structure tant que doit etre precedee del’initialisation des variables intervenant dans l’expressionbooleenne de la condition
La sequence doit modifier au moins l’une des variablesintervenant dans la condition. Il est indispensable que lacondition prenne la valeur faux a un moment donne, afinde sortir de la boucle iteratif.
G. Laurent | ENSMM | Fevrier 2013 31 / 72
![Page 80: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/80.jpg)
Informatique | Instructions et structures de controle
Structure d’iteration Tant que
Pseudo-langage
tant que ( condition ) fairesequence
fintantque
La condition doit etre une expression booleenne
Repete la sequence tant que la valeur de la condition est vrai
La condition n’est testee qu’au debut de chaque boucle
Regles de base
Toute structure tant que doit etre precedee del’initialisation des variables intervenant dans l’expressionbooleenne de la condition
La sequence doit modifier au moins l’une des variablesintervenant dans la condition. Il est indispensable que lacondition prenne la valeur faux a un moment donne, afinde sortir de la boucle iteratif.
G. Laurent | ENSMM | Fevrier 2013 31 / 72
![Page 81: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/81.jpg)
Informatique | Instructions et structures de controle
Structure d’iteration Tant que
Pseudo-langage
tant que ( condition ) fairesequence
fintantque
La condition doit etre une expression booleenne
Repete la sequence tant que la valeur de la condition est vrai
La condition n’est testee qu’au debut de chaque boucle
Regles de base
Toute structure tant que doit etre precedee del’initialisation des variables intervenant dans l’expressionbooleenne de la condition
La sequence doit modifier au moins l’une des variablesintervenant dans la condition. Il est indispensable que lacondition prenne la valeur faux a un moment donne, afinde sortir de la boucle iteratif.
G. Laurent | ENSMM | Fevrier 2013 31 / 72
![Page 82: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/82.jpg)
Informatique | Instructions et structures de controle
Structure d’iteration Tant que
Pseudo-langage
tant que ( condition ) fairesequence
fintantque
La condition doit etre une expression booleenne
Repete la sequence tant que la valeur de la condition est vrai
La condition n’est testee qu’au debut de chaque boucle
Regles de base
Toute structure tant que doit etre precedee del’initialisation des variables intervenant dans l’expressionbooleenne de la condition
La sequence doit modifier au moins l’une des variablesintervenant dans la condition. Il est indispensable que lacondition prenne la valeur faux a un moment donne, afinde sortir de la boucle iteratif.
G. Laurent | ENSMM | Fevrier 2013 31 / 72
![Page 83: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/83.jpg)
Informatique | Instructions et structures de controle
Structure d’iteration Tant que
Pseudo-langage
tant que ( condition ) fairesequence
fintantque
La condition doit etre une expression booleenne
Repete la sequence tant que la valeur de la condition est vrai
La condition n’est testee qu’au debut de chaque boucle
Regles de base
Toute structure tant que doit etre precedee del’initialisation des variables intervenant dans l’expressionbooleenne de la condition
La sequence doit modifier au moins l’une des variablesintervenant dans la condition. Il est indispensable que lacondition prenne la valeur faux a un moment donne, afinde sortir de la boucle iteratif.
G. Laurent | ENSMM | Fevrier 2013 31 / 72
![Page 84: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/84.jpg)
Informatique | Instructions et structures de controle
Structure d’iteration Tant que
Pseudo-langage
tant que ( condition ) fairesequence
fintantque
La condition doit etre une expression booleenne
Repete la sequence tant que la valeur de la condition est vrai
La condition n’est testee qu’au debut de chaque boucle
Regles de base
Toute structure tant que doit etre precedee del’initialisation des variables intervenant dans l’expressionbooleenne de la condition
La sequence doit modifier au moins l’une des variablesintervenant dans la condition. Il est indispensable que lacondition prenne la valeur faux a un moment donne, afinde sortir de la boucle iteratif.
G. Laurent | ENSMM | Fevrier 2013 31 / 72
![Page 85: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/85.jpg)
Informatique | Instructions et structures de controle
Structure d’iteration Repeter
Pseudo-langage
repetersequence
tant que ( condition )
La sequence est executee au moins une fois
Repete la sequence tant que la valeur de la condition est vrai
La condition n’est testee qu’a la fin de chaque boucle
G. Laurent | ENSMM | Fevrier 2013 32 / 72
![Page 86: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/86.jpg)
Informatique | Instructions et structures de controle
Structure d’iteration Repeter
Pseudo-langage
repetersequence
tant que ( condition )
La sequence est executee au moins une fois
Repete la sequence tant que la valeur de la condition est vrai
La condition n’est testee qu’a la fin de chaque boucle
G. Laurent | ENSMM | Fevrier 2013 32 / 72
![Page 87: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/87.jpg)
Informatique | Instructions et structures de controle
Structure d’iteration Repeter
Pseudo-langage
repetersequence
tant que ( condition )
La sequence est executee au moins une fois
Repete la sequence tant que la valeur de la condition est vrai
La condition n’est testee qu’a la fin de chaque boucle
G. Laurent | ENSMM | Fevrier 2013 32 / 72
![Page 88: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/88.jpg)
Informatique | Instructions et structures de controle
Structure d’iteration Repeter
Pseudo-langage
repetersequence
tant que ( condition )
La sequence est executee au moins une fois
Repete la sequence tant que la valeur de la condition est vrai
La condition n’est testee qu’a la fin de chaque boucle
G. Laurent | ENSMM | Fevrier 2013 32 / 72
![Page 89: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/89.jpg)
Informatique | Instructions et structures de controle
Structure d’iteration Pour
Pseudo-langage
pour var allant de min a max (par pas de incr ) fairesequence
finpour
La sequence est executee pour les valeurs de var successivement egale a min,min+incr, min+2*incr, ... , max
incr peut etre negatif, il faut adapter les bornes en consequences
Le nombre d’iterations est connu a l’avance
Le pas d’incrementation de la boucle peut etre omis, il sera alors par defautde 1
Attention !
La modification de la variable de controle est totalementinterdite dans la boucle
A la fin de la boucle, la variable de controle a une valeurindeterminee
Les bornes ne doivent pas evoluer au cours des iterations
G. Laurent | ENSMM | Fevrier 2013 33 / 72
![Page 90: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/90.jpg)
Informatique | Instructions et structures de controle
Structure d’iteration Pour
Pseudo-langage
pour var allant de min a max (par pas de incr ) fairesequence
finpour
La sequence est executee pour les valeurs de var successivement egale a min,min+incr, min+2*incr, ... , max
incr peut etre negatif, il faut adapter les bornes en consequences
Le nombre d’iterations est connu a l’avance
Le pas d’incrementation de la boucle peut etre omis, il sera alors par defautde 1
Attention !
La modification de la variable de controle est totalementinterdite dans la boucle
A la fin de la boucle, la variable de controle a une valeurindeterminee
Les bornes ne doivent pas evoluer au cours des iterations
G. Laurent | ENSMM | Fevrier 2013 33 / 72
![Page 91: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/91.jpg)
Informatique | Instructions et structures de controle
Structure d’iteration Pour
Pseudo-langage
pour var allant de min a max (par pas de incr ) fairesequence
finpour
La sequence est executee pour les valeurs de var successivement egale a min,min+incr, min+2*incr, ... , max
incr peut etre negatif, il faut adapter les bornes en consequences
Le nombre d’iterations est connu a l’avance
Le pas d’incrementation de la boucle peut etre omis, il sera alors par defautde 1
Attention !
La modification de la variable de controle est totalementinterdite dans la boucle
A la fin de la boucle, la variable de controle a une valeurindeterminee
Les bornes ne doivent pas evoluer au cours des iterations
G. Laurent | ENSMM | Fevrier 2013 33 / 72
![Page 92: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/92.jpg)
Informatique | Instructions et structures de controle
Structure d’iteration Pour
Pseudo-langage
pour var allant de min a max (par pas de incr ) fairesequence
finpour
La sequence est executee pour les valeurs de var successivement egale a min,min+incr, min+2*incr, ... , max
incr peut etre negatif, il faut adapter les bornes en consequences
Le nombre d’iterations est connu a l’avance
Le pas d’incrementation de la boucle peut etre omis, il sera alors par defautde 1
Attention !
La modification de la variable de controle est totalementinterdite dans la boucle
A la fin de la boucle, la variable de controle a une valeurindeterminee
Les bornes ne doivent pas evoluer au cours des iterations
G. Laurent | ENSMM | Fevrier 2013 33 / 72
![Page 93: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/93.jpg)
Informatique | Instructions et structures de controle
Structure d’iteration Pour
Pseudo-langage
pour var allant de min a max (par pas de incr ) fairesequence
finpour
La sequence est executee pour les valeurs de var successivement egale a min,min+incr, min+2*incr, ... , max
incr peut etre negatif, il faut adapter les bornes en consequences
Le nombre d’iterations est connu a l’avance
Le pas d’incrementation de la boucle peut etre omis, il sera alors par defautde 1
Attention !
La modification de la variable de controle est totalementinterdite dans la boucle
A la fin de la boucle, la variable de controle a une valeurindeterminee
Les bornes ne doivent pas evoluer au cours des iterations
G. Laurent | ENSMM | Fevrier 2013 33 / 72
![Page 94: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/94.jpg)
Informatique | Instructions et structures de controle
Structure d’iteration Pour
Pseudo-langage
pour var allant de min a max (par pas de incr ) fairesequence
finpour
La sequence est executee pour les valeurs de var successivement egale a min,min+incr, min+2*incr, ... , max
incr peut etre negatif, il faut adapter les bornes en consequences
Le nombre d’iterations est connu a l’avance
Le pas d’incrementation de la boucle peut etre omis, il sera alors par defautde 1
Attention !
La modification de la variable de controle est totalementinterdite dans la boucle
A la fin de la boucle, la variable de controle a une valeurindeterminee
Les bornes ne doivent pas evoluer au cours des iterations
G. Laurent | ENSMM | Fevrier 2013 33 / 72
![Page 95: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/95.jpg)
Informatique | Instructions et structures de controle
Structure d’iteration Pour
Pseudo-langage
pour var allant de min a max (par pas de incr ) fairesequence
finpour
La sequence est executee pour les valeurs de var successivement egale a min,min+incr, min+2*incr, ... , max
incr peut etre negatif, il faut adapter les bornes en consequences
Le nombre d’iterations est connu a l’avance
Le pas d’incrementation de la boucle peut etre omis, il sera alors par defautde 1
Attention !
La modification de la variable de controle est totalementinterdite dans la boucle
A la fin de la boucle, la variable de controle a une valeurindeterminee
Les bornes ne doivent pas evoluer au cours des iterations
G. Laurent | ENSMM | Fevrier 2013 33 / 72
![Page 96: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/96.jpg)
Informatique | Instructions et structures de controle
Structure d’iteration Pour
Pseudo-langage
pour var allant de min a max (par pas de incr ) fairesequence
finpour
La sequence est executee pour les valeurs de var successivement egale a min,min+incr, min+2*incr, ... , max
incr peut etre negatif, il faut adapter les bornes en consequences
Le nombre d’iterations est connu a l’avance
Le pas d’incrementation de la boucle peut etre omis, il sera alors par defautde 1
Attention !
La modification de la variable de controle est totalementinterdite dans la boucle
A la fin de la boucle, la variable de controle a une valeurindeterminee
Les bornes ne doivent pas evoluer au cours des iterations
G. Laurent | ENSMM | Fevrier 2013 33 / 72
![Page 97: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/97.jpg)
Informatique | Instructions et structures de controle
Structure d’iteration Pour
Pseudo-langage
pour var allant de min a max (par pas de incr ) fairesequence
finpour
La sequence est executee pour les valeurs de var successivement egale a min,min+incr, min+2*incr, ... , max
incr peut etre negatif, il faut adapter les bornes en consequences
Le nombre d’iterations est connu a l’avance
Le pas d’incrementation de la boucle peut etre omis, il sera alors par defautde 1
Attention !
La modification de la variable de controle est totalementinterdite dans la boucle
A la fin de la boucle, la variable de controle a une valeurindeterminee
Les bornes ne doivent pas evoluer au cours des iterations
G. Laurent | ENSMM | Fevrier 2013 33 / 72
![Page 98: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/98.jpg)
Informatique | Conclusion
4 Conclusion
1 Definition et historique
2 Notion de variable
3 Instructions et structures de controle
4 Conclusion
G. Laurent | ENSMM | Fevrier 2013 34 / 72
![Page 99: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/99.jpg)
Informatique | Conclusion
Conclusion : coder proprement !
Tout algorithme sequentiel peuts’ecrire comme une combinaison deces trois structures (langagecomplet au sens de Turing)
Un probleme peut etre resolu parplusieurs algorithmes
Complexite des algorithmes
Probleme de l’arret (Turing) : iln’est pas possible de savoir avec unemachine de Turing si une autremachine de Turing s’arretera
Explosion d’Ariane 5 au cours de son vol inaugural le 4juin 1996 en raison d’un bug informatique
G. Laurent | ENSMM | Fevrier 2013 35 / 72
![Page 100: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/100.jpg)
Informatique | Conclusion
Conclusion : coder proprement !
Tout algorithme sequentiel peuts’ecrire comme une combinaison deces trois structures (langagecomplet au sens de Turing)
Un probleme peut etre resolu parplusieurs algorithmes
Complexite des algorithmes
Probleme de l’arret (Turing) : iln’est pas possible de savoir avec unemachine de Turing si une autremachine de Turing s’arretera
Explosion d’Ariane 5 au cours de son vol inaugural le 4juin 1996 en raison d’un bug informatique
G. Laurent | ENSMM | Fevrier 2013 35 / 72
![Page 101: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/101.jpg)
Informatique | Conclusion
Conclusion : coder proprement !
Tout algorithme sequentiel peuts’ecrire comme une combinaison deces trois structures (langagecomplet au sens de Turing)
Un probleme peut etre resolu parplusieurs algorithmes
Complexite des algorithmes
Probleme de l’arret (Turing) : iln’est pas possible de savoir avec unemachine de Turing si une autremachine de Turing s’arretera
Explosion d’Ariane 5 au cours de son vol inaugural le 4juin 1996 en raison d’un bug informatique
G. Laurent | ENSMM | Fevrier 2013 35 / 72
![Page 102: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/102.jpg)
Informatique | Conclusion
Conclusion : coder proprement !
Tout algorithme sequentiel peuts’ecrire comme une combinaison deces trois structures (langagecomplet au sens de Turing)
Un probleme peut etre resolu parplusieurs algorithmes
Complexite des algorithmes
Probleme de l’arret (Turing) : iln’est pas possible de savoir avec unemachine de Turing si une autremachine de Turing s’arretera
Explosion d’Ariane 5 au cours de son vol inaugural le 4juin 1996 en raison d’un bug informatique
G. Laurent | ENSMM | Fevrier 2013 35 / 72
![Page 103: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/103.jpg)
Informatique | Conclusion
Conclusion : coder proprement !
Tout algorithme sequentiel peuts’ecrire comme une combinaison deces trois structures (langagecomplet au sens de Turing)
Un probleme peut etre resolu parplusieurs algorithmes
Complexite des algorithmes
Probleme de l’arret (Turing) : iln’est pas possible de savoir avec unemachine de Turing si une autremachine de Turing s’arretera
Explosion d’Ariane 5 au cours de son vol inaugural le 4juin 1996 en raison d’un bug informatique
G. Laurent | ENSMM | Fevrier 2013 35 / 72
![Page 104: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/104.jpg)
Informatique | Conclusion
Conclusion : coder proprement !
Tout algorithme sequentiel peuts’ecrire comme une combinaison deces trois structures (langagecomplet au sens de Turing)
Un probleme peut etre resolu parplusieurs algorithmes
Complexite des algorithmes
Probleme de l’arret (Turing) : iln’est pas possible de savoir avec unemachine de Turing si une autremachine de Turing s’arretera
Explosion d’Ariane 5 au cours de son vol inaugural le 4juin 1996 en raison d’un bug informatique
G. Laurent | ENSMM | Fevrier 2013 35 / 72
![Page 105: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/105.jpg)
Partie 2 : Introduction a la programmation structuree
5 Introduction
6 Types scalaires
7 Types structures
8 Sous-programmes
9 Quelques mots sur le genie logiciel
![Page 106: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/106.jpg)
Informatique | Introduction
5 Introduction
5 Introduction
6 Types scalaires
7 Types structures
8 Sous-programmes
9 Quelques mots sur le genie logiciel
G. Laurent | ENSMM | Fevrier 2013 37 / 72
![Page 107: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/107.jpg)
Informatique | Introduction
Avant propos
Le succes est rare !
Source : Standish Group 2009 chaos report
G. Laurent | ENSMM | Fevrier 2013 38 / 72
![Page 108: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/108.jpg)
Informatique | Introduction
Avant propos
Le succes est rare !
Source : Standish Group 2009 chaos report
G. Laurent | ENSMM | Fevrier 2013 38 / 72
![Page 109: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/109.jpg)
Informatique | Introduction
Defis du genie logiciel
Fuite en avant de la complexite
Cout du changement
Le cout d’un changement de fonctionnalite dans un logiciel est 10 fois pluseleve s’il a lieu en phase de developpement que s’il est connu au depart, 100fois plus eleve s’il a lieu en phase de productionIdem pour les corrections d’erreurs
L’importance de la maintenance est souvent sous-estimee
Faiblesse des tests
Methodes de developpement inadaptees
G. Laurent | ENSMM | Fevrier 2013 39 / 72
![Page 110: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/110.jpg)
Informatique | Introduction
Defis du genie logiciel
Fuite en avant de la complexite
Cout du changement
Le cout d’un changement de fonctionnalite dans un logiciel est 10 fois pluseleve s’il a lieu en phase de developpement que s’il est connu au depart, 100fois plus eleve s’il a lieu en phase de productionIdem pour les corrections d’erreurs
L’importance de la maintenance est souvent sous-estimee
Faiblesse des tests
Methodes de developpement inadaptees
G. Laurent | ENSMM | Fevrier 2013 39 / 72
![Page 111: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/111.jpg)
Informatique | Introduction
Defis du genie logiciel
Fuite en avant de la complexite
Cout du changement
Le cout d’un changement de fonctionnalite dans un logiciel est 10 fois pluseleve s’il a lieu en phase de developpement que s’il est connu au depart, 100fois plus eleve s’il a lieu en phase de productionIdem pour les corrections d’erreurs
L’importance de la maintenance est souvent sous-estimee
Faiblesse des tests
Methodes de developpement inadaptees
G. Laurent | ENSMM | Fevrier 2013 39 / 72
![Page 112: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/112.jpg)
Informatique | Introduction
Defis du genie logiciel
Fuite en avant de la complexite
Cout du changement
Le cout d’un changement de fonctionnalite dans un logiciel est 10 fois pluseleve s’il a lieu en phase de developpement que s’il est connu au depart, 100fois plus eleve s’il a lieu en phase de productionIdem pour les corrections d’erreurs
L’importance de la maintenance est souvent sous-estimee
Faiblesse des tests
Methodes de developpement inadaptees
G. Laurent | ENSMM | Fevrier 2013 39 / 72
![Page 113: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/113.jpg)
Informatique | Introduction
Defis du genie logiciel
Fuite en avant de la complexite
Cout du changement
Le cout d’un changement de fonctionnalite dans un logiciel est 10 fois pluseleve s’il a lieu en phase de developpement que s’il est connu au depart, 100fois plus eleve s’il a lieu en phase de productionIdem pour les corrections d’erreurs
L’importance de la maintenance est souvent sous-estimee
Faiblesse des tests
Methodes de developpement inadaptees
G. Laurent | ENSMM | Fevrier 2013 39 / 72
![Page 114: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/114.jpg)
Informatique | Introduction
Defis du genie logiciel
Fuite en avant de la complexite
Cout du changement
Le cout d’un changement de fonctionnalite dans un logiciel est 10 fois pluseleve s’il a lieu en phase de developpement que s’il est connu au depart, 100fois plus eleve s’il a lieu en phase de productionIdem pour les corrections d’erreurs
L’importance de la maintenance est souvent sous-estimee
Faiblesse des tests
Methodes de developpement inadaptees
G. Laurent | ENSMM | Fevrier 2013 39 / 72
![Page 115: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/115.jpg)
Informatique | Introduction
Qu’est-ce que la programmation ?
Avant de decrire l’ensemble desalgorithmes, il convient des’interesser aux donnees et auxresultats
Comme dans toute activite deconception, on s’interesse au� Quoi � avant d’expliciter le� Comment �
Faire le cahier des charges avant !
Ne pas confondre !
Conception d’un logiciel(programmation en general)
Ecriture du programme (codage)
G. Laurent | ENSMM | Fevrier 2013 40 / 72
![Page 116: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/116.jpg)
Informatique | Introduction
Qu’est-ce que la programmation ?
Avant de decrire l’ensemble desalgorithmes, il convient des’interesser aux donnees et auxresultats
Comme dans toute activite deconception, on s’interesse au� Quoi � avant d’expliciter le� Comment �
Faire le cahier des charges avant !
Ne pas confondre !
Conception d’un logiciel(programmation en general)
Ecriture du programme (codage)
G. Laurent | ENSMM | Fevrier 2013 40 / 72
![Page 117: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/117.jpg)
Informatique | Introduction
Qu’est-ce que la programmation ?
Avant de decrire l’ensemble desalgorithmes, il convient des’interesser aux donnees et auxresultats
Comme dans toute activite deconception, on s’interesse au� Quoi � avant d’expliciter le� Comment �
Faire le cahier des charges avant !
Ne pas confondre !
Conception d’un logiciel(programmation en general)
Ecriture du programme (codage)
G. Laurent | ENSMM | Fevrier 2013 40 / 72
![Page 118: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/118.jpg)
Informatique | Introduction
Qu’est-ce que la programmation ?
Avant de decrire l’ensemble desalgorithmes, il convient des’interesser aux donnees et auxresultats
Comme dans toute activite deconception, on s’interesse au� Quoi � avant d’expliciter le� Comment �
Faire le cahier des charges avant !
Ne pas confondre !
Conception d’un logiciel(programmation en general)
Ecriture du programme (codage)
G. Laurent | ENSMM | Fevrier 2013 40 / 72
![Page 119: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/119.jpg)
Informatique | Types scalaires
6 Types scalaires
5 Introduction
6 Types scalaires
7 Types structures
8 Sous-programmes
9 Quelques mots sur le genie logiciel
G. Laurent | ENSMM | Fevrier 2013 41 / 72
![Page 120: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/120.jpg)
Informatique | Types scalaires
Notion de type
Chaque variable manipulee a un type unique et connu
Un type est la representation d’un ensemble fini d’information de memenature
Un ensemble de fonctionnalites (operations, fonctions) est associe a un type
Typage fort (pas de melange entre types)
G. Laurent | ENSMM | Fevrier 2013 42 / 72
![Page 121: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/121.jpg)
Informatique | Types scalaires
Types scalaires
Types scalaires predefinis
EntiersReelsCaracteresBooleensAdresses memoires (pointeurs)
Types scalaires non predefinis
Definitions des propres types scalaires du programmeur.Types enumeres (enumeration de toutes les valeurs possibles du type)
G. Laurent | ENSMM | Fevrier 2013 43 / 72
![Page 122: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/122.jpg)
Informatique | Types scalaires
Type entiers
Entiers non signes : { 0, 1, ... , max }
Entiers signes : { −max+ 1, −max+ 2, ..., -1, 0, 1, ... , max }
max depend de la representation interne :
Entiers signes sur 2 octets : max = 215 = 32 768Entiers signes sur 4 octets : max = 231 = 2 147 483 648
Operateurs de calcul : + , - , * , / (division entiere) , % (modulo)
Operateurs relationnels : < , ≤ , > , ≥ , = , 6=
G. Laurent | ENSMM | Fevrier 2013 44 / 72
![Page 123: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/123.jpg)
Informatique | Types scalaires
Type reel
Nombre a virgule flottante de la forme s.m.2e
s est le signe (s ∈ {−1, 1})m est la mantisse (entier non signe)e est l’exposant (entier signe)
Nombre reel sur 4 octets :
On ne peut representer exactement que 4 294 967 296 reels ! !Norme IEEE 754 : exposant compris entre −127 et 127, mantisse avec 7chiffres significatifs
Operateurs de calcul : + , - , * , /
Operateurs relationnels : < , ≤ , > , ≥
Fonctions : sqrt, abs, cos, sin, exp, etc.
Jamais de calculs exacts en informatique !
G. Laurent | ENSMM | Fevrier 2013 45 / 72
![Page 124: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/124.jpg)
Informatique | Types scalaires
Type reel
Nombre a virgule flottante de la forme s.m.2e
s est le signe (s ∈ {−1, 1})m est la mantisse (entier non signe)e est l’exposant (entier signe)
Nombre reel sur 4 octets :
On ne peut representer exactement que 4 294 967 296 reels ! !Norme IEEE 754 : exposant compris entre −127 et 127, mantisse avec 7chiffres significatifs
Operateurs de calcul : + , - , * , /
Operateurs relationnels : < , ≤ , > , ≥
Fonctions : sqrt, abs, cos, sin, exp, etc.
Jamais de calculs exacts en informatique !
G. Laurent | ENSMM | Fevrier 2013 45 / 72
![Page 125: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/125.jpg)
Informatique | Types scalaires
Type booleens
Representation externe : Vrai / Faux
Representation interne : 1 / 0
Operateurs : et, ou, non
G. Laurent | ENSMM | Fevrier 2013 46 / 72
![Page 126: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/126.jpg)
Informatique | Types scalaires
Type caractere
Representation externe :
a b ... A B ... 0 1 ... 9 < ∗ + ! ( [ ...
Representation interne : code ASCII etendu (entier entre 0 et 255)
Relation d’ordre :
’0’ < ’1’ < ... < ’a’ < ’b’ < ... < ’z’ < ’A’ < ... < ’Z’
Utilisation des guillemets simples pour eviter la confusion avec unidentificateur
G. Laurent | ENSMM | Fevrier 2013 47 / 72
![Page 127: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/127.jpg)
Informatique | Types structures
7 Types structures
5 Introduction
6 Types scalaires
7 Types structures
8 Sous-programmes
9 Quelques mots sur le genie logiciel
G. Laurent | ENSMM | Fevrier 2013 48 / 72
![Page 128: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/128.jpg)
Informatique | Types structures
Types structures
Types scalaires = types de base d’un langage
Mais comment representer ?
Un vecteurUn polynomeUne adresse...
Besoin de modelisation et de structuration de l’information
Deux structures principales
Le tableauL’enregistrement
G. Laurent | ENSMM | Fevrier 2013 49 / 72
![Page 129: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/129.jpg)
Informatique | Types structures
Structure tableau
Pseudo-langage
Nom du type nom du tableau[dimension]
Un tableau permet de regrouper des donnees de meme type
La dimension d’un tableau est fixe
Acces a l’element i avec la notation A[i ] et 1 ≤ i ≤ dimension
G. Laurent | ENSMM | Fevrier 2013 50 / 72
![Page 130: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/130.jpg)
Informatique | Types structures
Type chaıne de caractere
Souvent definie par un tableau de caracteres
N’est pas predefinie en C, il faut donc definir un nouveau type
Pseudo-langage
Type chaıne = tableau [20] de caracteres ;
G. Laurent | ENSMM | Fevrier 2013 51 / 72
![Page 131: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/131.jpg)
Informatique | Types structures
Structure enregistrement
Pseudo-langage
Type Nom du type = enregistrementtype1 champ1type2 champ2...
typeN champN
Un enregistrement permet de regrouper de donnees de differents types
Chaque champ est nomme et type
Acces aux donnees avec la notation pointee A.champ1, A.champ2, etc.
G. Laurent | ENSMM | Fevrier 2013 52 / 72
![Page 132: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/132.jpg)
Informatique | Sous-programmes
8 Sous-programmes
5 Introduction
6 Types scalaires
7 Types structures
8 Sous-programmes
9 Quelques mots sur le genie logiciel
G. Laurent | ENSMM | Fevrier 2013 53 / 72
![Page 133: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/133.jpg)
Informatique | Sous-programmes
Qu’est-ce qu’un sous-programme ?
Objectif
Regrouper, nommer, parametrer une sequence d’instructions
Pourquoi ?
Simplifier l’ecriture d’un long programmeFaciliter la mise au pointIsoler des fonctionnalitesEnrichir le langage et permettre la reutilisation de fonctionnalites
G. Laurent | ENSMM | Fevrier 2013 54 / 72
![Page 134: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/134.jpg)
Informatique | Sous-programmes
Definition d’un sous-programme
Specification d’un sous-programme (le Quoi)
Entete du sous-programme
Nom du sous-programmeListes des parametres (type et nom)
Specifications et conditions d’utilisation (commentaires)
Implantation d’un sous-programme (le Comment)
Rappel de l’entete
les declarations locales (variables necessaires a l’execution dusous-programme)
Sequence d’instructions correspondant au traitement desire
G. Laurent | ENSMM | Fevrier 2013 55 / 72
![Page 135: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/135.jpg)
Informatique | Sous-programmes
Definition d’un sous-programme
Specification d’un sous-programme (le Quoi)
Entete du sous-programme
Nom du sous-programmeListes des parametres (type et nom)
Specifications et conditions d’utilisation (commentaires)
Implantation d’un sous-programme (le Comment)
Rappel de l’entete
les declarations locales (variables necessaires a l’execution dusous-programme)
Sequence d’instructions correspondant au traitement desire
G. Laurent | ENSMM | Fevrier 2013 55 / 72
![Page 136: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/136.jpg)
Informatique | Sous-programmes
Definition d’une fonction
Fonction
calculent et retournent un et un seul resultat
ne modifient pas de variables existantes a l’exterieur
s’utilisent dans des expressions
Entier X, Y, R, Z
X ← abs( −510 )
Y ← pgcd( X, 30 )
T ← 25R ← 15Z ← 5+pgcd( T , R )
Polynome A, B, C, DEntier n;...
/∗ initialisation des polynomes ∗//∗ A et B ∗/...
n ← degre(A)C ← somme( A , B )D ← somme( A , somme(B,C) )
G. Laurent | ENSMM | Fevrier 2013 56 / 72
![Page 137: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/137.jpg)
Informatique | Sous-programmes
Definition d’une fonction
Specification d’une fonction
fonction type nom de la fonction ( liste des parametres )/∗ commentaire indiquant clairement ce que fait la fonction ∗//∗ eventuellement les conditions d’ utilisation de la fonction ∗/
G. Laurent | ENSMM | Fevrier 2013 57 / 72
![Page 138: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/138.jpg)
Informatique | Sous-programmes
Definition d’une fonction
Implantation d’une fonction
fonction type resultat nom de fonction ( liste des parametres )debut
/∗ declarations locales au sous−programme ∗/type resultat res ;
/∗ sequence d’ instructions calculant le resultat res ∗/...
retourner res ;fin
G. Laurent | ENSMM | Fevrier 2013 58 / 72
![Page 139: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/139.jpg)
Informatique | Sous-programmes
Definition d’une procedure
Procedure
peuvent calculer et donner plusieurs resultats
peuvent modifier des objets deja existant en memoire centrale sans copie
s’utilisent comme des instructions (rien a gauche)
Entier R, S
R ← 5S ← −17
si (S<R) alorsechangerValeur(R,S )
finsi
afficherEcran (R)
Polynome AComplexe Z,W;...si (degre(P) = 2) alors
calculerRacines (A,Z,W)finsi
G. Laurent | ENSMM | Fevrier 2013 59 / 72
![Page 140: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/140.jpg)
Informatique | Sous-programmes
Definition d’une procedure
Specification d’une procedure
procedure nom de procedure ( liste des parametres incluant leur nature )/∗ nature des parametres (E , S ou E/S) ∗//∗ commentaire indiquant clairement ce que fait la procedure ∗//∗ eventuellement les conditions d’ utilisation de la procedure ∗/
G. Laurent | ENSMM | Fevrier 2013 60 / 72
![Page 141: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/141.jpg)
Informatique | Sous-programmes
Definition d’une procedure
Implantation d’une procedure
procedure nom de procedure ( liste des parametres incluant leur nature )debut
/∗ declarations locales au sous−programme ∗/
/∗ sequence d’ instructions realisant la specification ∗/...
fin
G. Laurent | ENSMM | Fevrier 2013 61 / 72
![Page 142: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/142.jpg)
Informatique | Sous-programmes
Passage des parametres
Passage par valeur
Procedure incrA ( entier i (E) )/∗ i est passe par valeur ∗/debut
i ← i + 1 ;fin
Passage par adresse
Procedure incrB ( entier i (E/S) )/∗ i est passe par adresse ∗/debut
i ← i + 1 ;fin
Programme appelant
entier NN ← 10afficherEcran (N)incrA(N)afficherEcran (N)incrB(N)afficherEcran (N)
Resultat a l’ecran
101011
G. Laurent | ENSMM | Fevrier 2013 62 / 72
![Page 143: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/143.jpg)
Informatique | Sous-programmes
Quelques remarques sur les sous-programmes
Nature du sous-programme
1 seul parametre de sortie et n entrees ⇒ fonction
Au moins 1 parametre d’entree/sortie ⇒ procedure
0 ou plus d’un parametre de sortie ⇒ procedure
Quelques conseils :
Une chose a la foisMaximum 3 parametresUn sous-programme = 10 lignesUne structure d’iteration par sous-programmeTester un a un chaque sous-programme
G. Laurent | ENSMM | Fevrier 2013 63 / 72
![Page 144: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/144.jpg)
Informatique | Sous-programmes
Quelques remarques sur les sous-programmes
Nature du sous-programme
1 seul parametre de sortie et n entrees ⇒ fonction
Au moins 1 parametre d’entree/sortie ⇒ procedure
0 ou plus d’un parametre de sortie ⇒ procedure
Quelques conseils :
Une chose a la foisMaximum 3 parametresUn sous-programme = 10 lignesUne structure d’iteration par sous-programmeTester un a un chaque sous-programme
G. Laurent | ENSMM | Fevrier 2013 63 / 72
![Page 145: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/145.jpg)
Informatique | Sous-programmes
Quelques remarques sur les sous-programmes
Nature du sous-programme
1 seul parametre de sortie et n entrees ⇒ fonction
Au moins 1 parametre d’entree/sortie ⇒ procedure
0 ou plus d’un parametre de sortie ⇒ procedure
Quelques conseils :
Une chose a la foisMaximum 3 parametresUn sous-programme = 10 lignesUne structure d’iteration par sous-programmeTester un a un chaque sous-programme
G. Laurent | ENSMM | Fevrier 2013 63 / 72
![Page 146: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/146.jpg)
Informatique | Sous-programmes
Quelques remarques sur les sous-programmes
Nature du sous-programme
1 seul parametre de sortie et n entrees ⇒ fonction
Au moins 1 parametre d’entree/sortie ⇒ procedure
0 ou plus d’un parametre de sortie ⇒ procedure
Quelques conseils :
Une chose a la foisMaximum 3 parametresUn sous-programme = 10 lignesUne structure d’iteration par sous-programmeTester un a un chaque sous-programme
G. Laurent | ENSMM | Fevrier 2013 63 / 72
![Page 147: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/147.jpg)
Informatique | Sous-programmes
Quelques remarques sur les sous-programmes
Nature du sous-programme
1 seul parametre de sortie et n entrees ⇒ fonction
Au moins 1 parametre d’entree/sortie ⇒ procedure
0 ou plus d’un parametre de sortie ⇒ procedure
Quelques conseils :
Une chose a la foisMaximum 3 parametresUn sous-programme = 10 lignesUne structure d’iteration par sous-programmeTester un a un chaque sous-programme
G. Laurent | ENSMM | Fevrier 2013 63 / 72
![Page 148: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/148.jpg)
Informatique | Sous-programmes
Quelques remarques sur les sous-programmes
Nature du sous-programme
1 seul parametre de sortie et n entrees ⇒ fonction
Au moins 1 parametre d’entree/sortie ⇒ procedure
0 ou plus d’un parametre de sortie ⇒ procedure
Quelques conseils :
Une chose a la fois
Maximum 3 parametresUn sous-programme = 10 lignesUne structure d’iteration par sous-programmeTester un a un chaque sous-programme
G. Laurent | ENSMM | Fevrier 2013 63 / 72
![Page 149: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/149.jpg)
Informatique | Sous-programmes
Quelques remarques sur les sous-programmes
Nature du sous-programme
1 seul parametre de sortie et n entrees ⇒ fonction
Au moins 1 parametre d’entree/sortie ⇒ procedure
0 ou plus d’un parametre de sortie ⇒ procedure
Quelques conseils :
Une chose a la foisMaximum 3 parametres
Un sous-programme = 10 lignesUne structure d’iteration par sous-programmeTester un a un chaque sous-programme
G. Laurent | ENSMM | Fevrier 2013 63 / 72
![Page 150: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/150.jpg)
Informatique | Sous-programmes
Quelques remarques sur les sous-programmes
Nature du sous-programme
1 seul parametre de sortie et n entrees ⇒ fonction
Au moins 1 parametre d’entree/sortie ⇒ procedure
0 ou plus d’un parametre de sortie ⇒ procedure
Quelques conseils :
Une chose a la foisMaximum 3 parametresUn sous-programme = 10 lignes
Une structure d’iteration par sous-programmeTester un a un chaque sous-programme
G. Laurent | ENSMM | Fevrier 2013 63 / 72
![Page 151: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/151.jpg)
Informatique | Sous-programmes
Quelques remarques sur les sous-programmes
Nature du sous-programme
1 seul parametre de sortie et n entrees ⇒ fonction
Au moins 1 parametre d’entree/sortie ⇒ procedure
0 ou plus d’un parametre de sortie ⇒ procedure
Quelques conseils :
Une chose a la foisMaximum 3 parametresUn sous-programme = 10 lignesUne structure d’iteration par sous-programme
Tester un a un chaque sous-programme
G. Laurent | ENSMM | Fevrier 2013 63 / 72
![Page 152: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/152.jpg)
Informatique | Sous-programmes
Quelques remarques sur les sous-programmes
Nature du sous-programme
1 seul parametre de sortie et n entrees ⇒ fonction
Au moins 1 parametre d’entree/sortie ⇒ procedure
0 ou plus d’un parametre de sortie ⇒ procedure
Quelques conseils :
Une chose a la foisMaximum 3 parametresUn sous-programme = 10 lignesUne structure d’iteration par sous-programmeTester un a un chaque sous-programme
G. Laurent | ENSMM | Fevrier 2013 63 / 72
![Page 153: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/153.jpg)
Informatique | Quelques mots sur le genie logiciel
9 Quelques mots sur le genie logiciel
5 Introduction
6 Types scalaires
7 Types structures
8 Sous-programmes
9 Quelques mots sur le genie logiciel
G. Laurent | ENSMM | Fevrier 2013 64 / 72
![Page 154: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/154.jpg)
Informatique | Quelques mots sur le genie logiciel
Genie logiciel
Genie logiciel
Le genie logiciel est l’ensemble des activites de conception et de mise en oeuvredes produits et des procedures tendant a rationaliser la production du logiciel etson suivi.
G. Laurent | ENSMM | Fevrier 2013 65 / 72
![Page 155: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/155.jpg)
Informatique | Quelques mots sur le genie logiciel
Cycle de vie d’un logiciel
Analyse et conception : quel est le probleme a resoudre ?
Donnees de depart et resultats attendusModele de donnees : definition d’une representation des donneesMethode de resolution (algorithmes) : description des etapes successives pourarriver aux resultatsAffinage progressif
Codage
Traduction de l’algorithme dans un langage de programmation : code sourceLangage de haut niveau : Pascal, C, C++, java, etc.Langage de bas niveau : Assembleur.Resultats du codage est un fichier texte
G. Laurent | ENSMM | Fevrier 2013 66 / 72
![Page 156: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/156.jpg)
Informatique | Quelques mots sur le genie logiciel
Cycle de vie d’un logiciel
Analyse et conception : quel est le probleme a resoudre ?
Donnees de depart et resultats attendusModele de donnees : definition d’une representation des donneesMethode de resolution (algorithmes) : description des etapes successives pourarriver aux resultatsAffinage progressif
Codage
Traduction de l’algorithme dans un langage de programmation : code sourceLangage de haut niveau : Pascal, C, C++, java, etc.Langage de bas niveau : Assembleur.Resultats du codage est un fichier texte
G. Laurent | ENSMM | Fevrier 2013 66 / 72
![Page 157: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/157.jpg)
Informatique | Quelques mots sur le genie logiciel
Cycle de vie d’un logiciel
Analyse et conception : quel est le probleme a resoudre ?
Donnees de depart et resultats attendusModele de donnees : definition d’une representation des donneesMethode de resolution (algorithmes) : description des etapes successives pourarriver aux resultatsAffinage progressif
Codage
Traduction de l’algorithme dans un langage de programmation : code sourceLangage de haut niveau : Pascal, C, C++, java, etc.Langage de bas niveau : Assembleur.Resultats du codage est un fichier texte
G. Laurent | ENSMM | Fevrier 2013 66 / 72
![Page 158: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/158.jpg)
Informatique | Quelques mots sur le genie logiciel
Cycle de vie d’un logiciel
Mise au point
Compilation : traduction du langage de programmation vers un langagecomprehensible par la machineJeu de tests : execution du programme ou sous-programme avec des donneestypiques et representative d’une utilisation futureCorrections des erreursReiterations de ces trois etapes autant de fois que necessaire
Maintenance
Corrections d’erreur non detectee lors de la mise au pointMise a jour pour repondre a de nouveaux besoins
G. Laurent | ENSMM | Fevrier 2013 67 / 72
![Page 159: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/159.jpg)
Informatique | Quelques mots sur le genie logiciel
Cycle de vie d’un logiciel
Mise au point
Compilation : traduction du langage de programmation vers un langagecomprehensible par la machineJeu de tests : execution du programme ou sous-programme avec des donneestypiques et representative d’une utilisation futureCorrections des erreursReiterations de ces trois etapes autant de fois que necessaire
Maintenance
Corrections d’erreur non detectee lors de la mise au pointMise a jour pour repondre a de nouveaux besoins
G. Laurent | ENSMM | Fevrier 2013 67 / 72
![Page 160: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/160.jpg)
Informatique | Quelques mots sur le genie logiciel
Cycle de vie d’un logiciel
Mise au point
Compilation : traduction du langage de programmation vers un langagecomprehensible par la machineJeu de tests : execution du programme ou sous-programme avec des donneestypiques et representative d’une utilisation futureCorrections des erreursReiterations de ces trois etapes autant de fois que necessaire
Maintenance
Corrections d’erreur non detectee lors de la mise au pointMise a jour pour repondre a de nouveaux besoins
G. Laurent | ENSMM | Fevrier 2013 67 / 72
![Page 161: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/161.jpg)
Informatique | Quelques mots sur le genie logiciel
Cycle de vie d’un logiciel
Les dangers du developpement en cascade
Propose par lecommercial
Specifie par lechef de projet
Concu parl’equipe deconception
Realise par lesprogrammeur
Installe sur le siteCe que voulait
l’utilisateur
Source : Univ. of London Computer Center Newsletter n 53 march 1973
G. Laurent | ENSMM | Fevrier 2013 68 / 72
![Page 162: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/162.jpg)
Informatique | Quelques mots sur le genie logiciel
Cycle en V
G. Laurent | ENSMM | Fevrier 2013 69 / 72
![Page 163: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/163.jpg)
Informatique | Quelques mots sur le genie logiciel
Cycle en V simplifie
G. Laurent | ENSMM | Fevrier 2013 70 / 72
![Page 164: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/164.jpg)
Informatique | Quelques mots sur le genie logiciel
Developpement iteratif
G. Laurent | ENSMM | Fevrier 2013 71 / 72
![Page 165: Programmation et algorithmique - GitHub Pages · 2021. 1. 12. · Programmation et algorithmique (C) Deuxi eme ann ee (semestre vert, parcours EAO) Programmation Orient ee Objet (Java)](https://reader034.fdocument.pub/reader034/viewer/2022052616/60a5c0f1a20ae7207f6ad6b5/html5/thumbnails/165.jpg)
Informatique | Quelques mots sur le genie logiciel
Conclusion
Vive les methodes agiles !
Source : Standish Group 2010 chaos report
G. Laurent | ENSMM | Fevrier 2013 72 / 72