Académique Documents
Professionnel Documents
Culture Documents
DE L’ENSEIGNEMENT TECHNIQUE ET DE
LA FORMATION PROFESSIONNELLE
EXPOSE D’INFORMATIQUE
THEME
PROGRAMMATION I NFORMATIQUE
1. KONAN TOUSSAINT
M. KONAN MOISE
2. KONAN ARISTOPHANIE
3. KONAN MARIE CLASSE : Tle A2
SOMMAIRE
4. KOUAME PRINCE
Année scolaire 2023 – 2024
INTRODUCTION
I- HISTOIRE
1. C’est quoi la programmation de l’informatique ?
2. Quels sont les différents types de programmation ?
II- LA PROGRAMMATION ORIENTEE OBJET (POO)
1- La programmation impérative
2- La programmation fonctionnelle
III- LES MEILLEURS LANGAGES DE PROGRAMMATION
A- HTML, le langage de balisage incontournable
B- PHP, idéal pour le développement web
C- Java et C#, des langages puissants et polyvalents
D- Python, le langage le plus populaire depuis plusieurs années
E- JavaScript, le langage de script hyperflexible
F- Ruby, plébiscité par les startup
G- Exemple de programme
IV- CONCEPTION DE LOGICIEL ET ALGORITHMIQUE.
1. Programmation impérative
2. Implémentation
3. Transformation du code source
4. Compilation
5. Interprétation
V- AVANTAGES, INCONVENIENTS
1- Appellation impropre
2- Test du programme
2.1. Pratiques
2.2. Paradigmes
3- Programmation impérative
4- Programmation procédurale
5- Programmation structurée
6- Programmation déclarative
7- Programmation fonctionnelle
8- Programmation logique
9- Programmation orientée objet
10- Programmation orientée prototype
11- Programmation orientée classe
CONCLUSION
WEBOGRAPHIE INTRODUCTION
Page 1
La programmation, appelée aussi codage dans le domaine informatique,
désigne l'ensemble des activités qui permettent l'écriture des programmes
informatiques. C'est une étape importante du développement de logiciels (voire
de matériel).
I- HISTOIRE
Page 2
La première machine programmable (c’est-à-dire machine dont les possibilités
changent quand on modifie son programme) est probablement le métier à
tisser de Jacquard, qui a été réalisé en 1801. La machine utilisait une suite de
cartons perforés. Les trous indiquaient le motif que le métier suivait pour
réaliser un tissage ; avec des cartes différentes le métier produisait des tissages
différents. Cette innovation a été ensuite améliorée par Herman
Hollerith d'IBM pour le développement de la fameuse carte perforée d'IBM.
Page 3
contrôler des machines, collecter et analyser des données, créer des graphiques
et des images, et bien plus encore.
Tu l’auras compris, la programmation informatique est essentielle pour le
développement de logiciels, de systèmes d’exploitation, d’applications mobiles,
sans oublier le plus important : les sites web. Les programmeurs peuvent écrire
des programmes à partir de zéro, ou modifier des programmes existants afin de
les adapter aux besoins spécifiques d’un utilisateur ou d’une entreprise.
Les programmeurs utilisent des langages de programmation tels que Java,
Python, C++, Ruby et JavaScript pour créer des programmes. Ces langages sont
conçus pour être compréhensibles par les ordinateurs tout en étant relativement
faciles à apprendre pour nous, humains. Concrètement, ils sont utilisés pour
écrire des instructions qui sont ensuite converties en langage machine, autrement
dit la langue comprise par les ordinateurs.
1- La programmation impérative
La programmation impérative est un type de programmation informatique qui se
concentre sur la façon dont un programme doit être exécuté. Dans ce paradigme,
un programme est considéré comme une série d’instructions qui sont exécutées
dans un ordre précis pour engendrer un résultat. Les programmes écrits en
programmation impérative sont composés de blocs de code qui contiennent des
instructions, des expressions, des variables, mais aussi des instructions servant à
indiquer à l’ordinateur les actions à exécuter.
La programmation impérative est souvent utilisée pour les programmes qui
effectuent des tâches complexes et qui nécessitent un contrôle précis de
l’exécution du programme. Les langages de programmation couramment utilisés
ce type de programmation informatique sont C, C++, Java et Python.
Cependant, la programmation impérative peut être plus difficile à lire et à
comprendre par rapport à d’autres paradigmes de programmation. Elle peut
également être plus sujette aux erreurs, car les développeurs doivent souvent
suivre de très près l’état des variables et des instructions dans leur code.
2- La programmation fonctionnelle
La programmation fonctionnelle se focalise sur les fonctions et la manière dont
elles peuvent être utilisées pour résoudre des problèmes. Ici, les fonctions sont
considérées comme des entités autonomes qui n’ont pas d’état interne et qui
transforment les données en entrée pour produire des données en sortie.
Contrairement à la programmation impérative, la programmation fonctionnelle
ne se concentre pas sur la façon dont un programme doit être exécuté, mais sur
la définition de fonctions qui résolvent des problèmes spécifiques. Les fonctions
en programmation fonctionnelle sont définies de manière à être pures, c’est-à-
dire qu’elles ne modifient pas l’état global du programme ou des données en
entrée, mais produisent toujours la même sortie pour une entrée donnée.
Page 5
Très souvent utilisée pour la résolution de problèmes mathématiques et le
traitement de données, elle est également populaire pour le développement de
systèmes distribués et pour l’écriture de code concurrent et parallèle. Les
langages de programmation couramment utilisés ici sont Haskell, Lisp, Erlang,
F# et OCaml.
La programmation fonctionnelle peut être plus facile à comprendre et plus
efficace pour le traitement de données massives, car elle peut être facilement
parallélisée et distribuée. Cependant, elle est assez difficile à apprendre pour les
développeurs web qui ont une expérience limitée avec ce paradigme.
HTML
PHP
Java et C#
Python
JavaScript et les framework : React Native, Mobile Angular UI,
Appcelerator Titanium
Ruby
Symfony
Laravel
Laminas
TensorFlow
Pytorch
Pandas
NumPy
Java pour Android
ObjectiveC et Swift pour IOS
Le framework Xamarin pour C#
C++
Page 6
HTML n’est pas à proprement parler un langage de programmation. L’acronyme
signifie HyperText Markup Language, et se traduit par « langage de balisage ».
Prenons un exemple concret, HTML vous permet de créer un site web avec un
bouton de « connexion ». Cependant, pour que l’identification fonctionne et que
l’utilisateur soit redirigé vers un espace personnalisé, il faudra pouvoir modifier
les balises HTML automatiquement. Cela se fait via un langage dit « serveur »
comme PHP.
Sur le marché IT, il est principalement utilisé pour concevoir des sites et
programmes web grâce à :
Sa popularité est également due au célèbre CMS WordPress qui est conçu en
PHP. Ce système de gestion de contenu permet aux utilisateurs non initiés à la
programmation de créer rapidement des sites et blogs. Ils peuvent manipuler des
interfaces visuelles pour placer leurs éléments et textes. Le code PHP
correspondant est généré automatiquement par WordPress.
Page 7
Java et C# sont deux langages dits de « haut niveau », c’est-à-dire que leur
syntaxe est facilement compréhensible par l’homme. Contrairement aux
langages de programmation de bas niveau, plus proche du code machine
(binaire), ils peuvent utiliser des éléments de syntaxes naturels (mots et
expressions) qui rendent le processus de développement beaucoup plus simple.
La syntaxe sera ensuite automatiquement traduite en code machine par un
composant nommé compilateur.
Il existe de multiples autres langages haut niveau, mais Java et C# font partie
des plus anciens et sont toujours très demandés, car de nombreuses applications
et sites reposent sur eux. Leurs caractéristiques et avantages communs sont :
Python est aussi un langage de programmation ancien (sa première version date
de 1991), mais il a connu sa plus grande popularité ces dernières années. Il
arrive désormais régulièrement en première place des langages préférés des
développeurs dans les index Tiobe et les études de StackOverflow, deux
références dans le domaine IT.
Le langage est aussi très utilisé dans le développement web et les programmes
informatiques en raison :
de sa simplicité et de sa flexibilité ;
de son prototypage rapide qui permet au code d’être exécuté sur
différentes plateformes et environnements informatiques ;
de sa nature orientée objet ;
de son importante communauté de programmeurs.
Ruby a parfois été considéré comme en perte de vitesse et moins performant que
Java et C#. Il reste cependant un excellent choix lorsqu’on souhaite se former au
développement grâce :
Ruby est très plébiscité dans le milieu des startup. De nombreux sites, devenus
depuis de grands succès du web, sont conçus avec Rails. C’est le cas notamment
de GitHub, Kickstarter, Twitter, AirBnB ou encore Shopify.
G- Exemple de programme
L'immense majorité des programmes qui s'exécutent sur nos ordinateurs,
téléphones et autres outils électroniques sont écrits dans des langages de
programmation dits impératifs : les lignes du programme sont exécutées les unes
après les autres. Chaque ligne du programme effectue soit une opération simple,
soit exécute une fonction qui est elle-même une suite d'opérations simples.
Le programme « Hello World! » est par tradition le premier programme écrit par
tout programmeur, censé illustrer la syntaxe du langage de programmation. Le
programme a pour unique fonction d'afficher le texte "Hello World!" dans
la console ou dans une fenêtre de l'interface graphique.
Page 9
Voici une version d'un programme « Hello World! »:
void main() { // fonction 'main' : c'est toujours ici qu'un programme commence
// 'int' signifie integer : nombre entier en anglais
int A, B; // on déclare deux variables A et B qui sont des nombres entiers
WriteLine("entrez deux entiers : "); // 'WriteLine' permet d'écrire à l'écran
A = ReadIntFromKeyboard(); // on attend que l'utilisateur tape un entier au
clavier,
// et on l'enregistre dans A
B = ReadIntFromKeyboard(); // puis on fait la même chose pour B
if (B == 0) { // si B est égal à 0
WriteLine("erreur : division par zéro");
} else { // sinon
float C = CalculerDivision(A,B); // on exécute la fonction
'CalculerDivision'
// que l'on a programmée ci-dessous,
// et on enregistre le résultat dans C qui est un 'float' : un nombre à
virgule
WriteLine("le résultat est : " + C); // on affiche C
float CalculerDivision(float U, float V) { // U et V sont les paramètres de notre
fonction 'CalculerDivision' : ce sont des nombres à virgules (float).
// et celle-ci renvoie un 'float' : un nombre à virgule flottante
// dans la fonction 'main', A et B étaient des nombres entiers,
// U et V sont des copies des valeurs de A et B,
// et qui ont été converties en nombres à virgule (22 deviendrait simplement
22.0000000)
float Resultat;
Resultat = U / V; // on effectue la division
return Resultat; /// on renvoie le résultat
Page 10
Dans ce programme, les principales fonctionnalités de la programmation
impérative sont utilisées : des variables de type nombre entier, nombre à
virgule, chaîne de caractères, fonction calculant un résultat à partir de
paramètres, fonction effectuant une tâche telle qu'afficher un message à l'écran,
instruction if permettant d'exécuter un code ou un autre en fonction de la valeur
de telle ou telle variable.
On remarque que pour effectuer une tâche très simple, le code informatique peut
être très laborieux, et encore ici on ne traite pas les erreurs (si l'utilisateur tape
un mot au lieu d'un nombre), et l'affichage est minimaliste. C'est pourquoi les
langages de programmation n'ont jamais cessé d'évoluer, dans le but d'aider le
programmeur qui souhaite réaliser des programmes rapides à s'exécuter, sans
dysfonctionnements, et surtout simples à écrire, du moins le plus possible.
Page 11
1. Programmation impérative
"Si"
Si prédicat
Alors faire ceci
Sinon faire cela
"Tant que"
Tant que prédicat
Faire ...
"Pour"
Pour variable allant de borne inférieure à borne supérieure
Faire ...
"Pour" (variante)
Pour variable dans conteneur
faire ...
2. Implémentation
l'étape suivante est de coder le programme. Le codage dépend de l'architecture
sur laquelle va s'exécuter le programme, de compromis temps-mémoire, et
d'autres contraintes. Ces contraintes vont déterminer quel langage de
programmation utiliser pour « convertir » l'algorithme en code source.
4. Compilation
Certains langages sont ce qu'on appelle des langages compilés. En toute
généralité, la compilation est l'opération qui consiste à transformer un langage
source en un langage cible. Dans le cas d'un programme, le compilateur va
transformer tout le texte représentant le code source du programme, en code
compréhensible pour la machine, appelé code machine.
Page 12
Dans le cas de langages dits compilés, ce qui est exécuté est le résultat de la
compilation. Une fois effectuée, l'exécutable obtenu peut être utilisé sans le code
source.
Dans le cas d'une requête SQL, la requête est compilée en une expression
utilisant les opérateurs de l'algèbre relationnelle. C'est cette expression qui est
évaluée par le système de gestion de bases de données.
5. Interprétation
D'autres langages ne nécessitent pas de phase spéciale de compilation. La
méthode employée pour exécuter le programme est alors différente. La phase de
compilation est la plupart du temps incluse dans celle d’exécution. On dit de ce
programme qu'il interprète le code source. Par exemple, Python ou Perl sont des
langages interprétés.
V- AVANTAGES, INCONVENIENTS
Les avantages généralement retenus pour l'utilisation de langages « compilés »,
est qu'ils sont plus rapides à l'exécution que des langages interprétés, car
l'interprète doit être lancé à chaque exécution du programme, ce qui mobilise
systématiquement les ressources.
1- Appellation impropre
Il faut noter qu'on parle abusivement de langages compilés ou interprétés. En
effet, le caractère compilé ou interprété ne dépend pas du langage, qui n'est
finalement qu'une grammaire et une certaine sémantique. D'ailleurs, certains
langages peuvent être utilisés interprétés ou compilés. Par exemple, il est très
courant d'utiliser Ruby avec un interprète, mais il existe également des
Page 13
compilateurs pour ce langage5. On notera toutefois, qu'il peut être important de
préciser comment le code source est exécuté. En effet, rares sont les organismes
qui proposent à la fois un compilateur et un interpréteur, les résultats du
programme peuvent différer à l'exécution, même si la norme du langage est
clairement définie.
2- Test du programme
C'est l'une des étapes les plus importantes de la création d'un programme. En
principe, tout programmeur se doit de vérifier chaque partie d'un programme, de
le tester. Il existe différents types de test. On peut citer en particulier :
Test unitaire
Test d'intégration
Test de performance
Il convient de noter qu'il est parfois possible de vérifier un programme
informatique, c'est-à-dire prouver, de manière plus ou moins automatique, qu'il
assure certaines propriétés.
2.1. Pratiques
Algorithmique
Gestion de versions
Optimisation du code
Programmation système
Refactoring
Test d'intégration
Test unitaire
2.2. Paradigmes
Un paradigme est un style fondamental de programmation, définissant la
manière dont les programmes doivent être formulés.
Un paradigme est la façon dont sont traitées les solutions aux problèmes et un
style fondamental de programmation, définissant la manière dont les
programmes doivent être formulés. Chaque paradigme amène sa philosophie de
la programmation ; une fois qu'une solution a été imaginée par un programmeur
selon un certain paradigme, un langage de programmation qui suit ce paradigme
permettra de l'exprimer.
Page 14
3- Programmation impérative
Le paradigme impératif est le plus répandu, les opérations sont une suite
d’instructions exécutées par l'ordinateur pour modifier l'état du programme.
4- Programmation procédurale
Ce paradigme est très répandu, il est présent dans des langages comme le C,
le COBOL ou le FORTRAN.
5- Programmation structurée
Apparue dans les années 70, la programmation structurée est un sous-ensemble
de la programmation impérative. Elle est née avec les travaux de Nicklaus
Wirth pour son Algol W et l'article fondateur de Dijkstra dans Communications
of the ACM, visant à supprimer l’instruction goto.
6- Programmation déclarative
En programmation déclarative, le programme est indépendant de l’état de
la machine, il s’affranchit donc de tout effet de bord et un appel à une
même fonction produira toujours le même résultat.
Le programme s’écrit non pas comme une suite d’instruction pour résoudre un
problème mais (contrairement à la programmation impérative) comme la
solution au problème.
7- Programmation fonctionnelle
La programmation fonctionnelle se base sur plusieurs principes comme :
l’immutabilité, les fonctions pures (qui ne dépendent pas de l’état de la machine)
et les lambda-calcul.
Page 15
Aujourd’hui, nombreux sont les langages qui offrent une approche fonctionnelle
au programmeur. Certains comme LISP ou Scala sont intrinsèquement
fonctionnels. D’autres comme JavaScript, Java ou PHP ont ajouté cette
possibilité par la suite.
8- Programmation logique
La programmation logique consiste à exprimer les problèmes et les algorithmes
sous forme de prédicats à l’aide d'une base de faits, d'une base de règles et
d'un moteur d'inférence.
CONCLUSION
Page 16
alors la programmation aura un rôle-clef dans son développement. Les
professionnels experts dans la programmation informatique peuvent
généralement endosser la responsabilité de vos projets de développement
informatique. Ils gèrent toutes les écritures informatiques qui permettent de
concevoir les différents programmes qui composent un système informatique.
Finalement, si vous sollicitez une agence web afin de programmer un système
spécifique, assurez-vous de demander un devis personnalisé gratuit.
WEBOGRAPHIE
https://fr.wikipedia.org/wiki/Programmation_informatique
https://etudestech.com/decryptage/apprendre-programmation-informatique/
Page 17
https://sokeo.fr/programmation-informatique
https://webitechparis.com/blog/langages-de-programmation/
Page 18