PARADIGMME
DE
PROGRAMMATION
ammar ahlem
ALGORITHMIQUE
&
PROGRAMMATION
• LES PREMIÈRES MACHINES À CALCULER DATENT DES ANNÉES 1600.
• L'ASSEMBLEUR FUT INVENTÉ EN 1948.
• FORTRAN (1956), COBOL (1959) ET LISP (1959).
• LE BASIC EST CRÉÉ EN 1965 ET LE PASCAL EN 1968.
• LE C ET PROLOG VOIENT LE JOUR EN 1972 ET SMALLTALK, LE PREMIER
LANGAGE OBJET, LA MÊME ANNÉE.
• LA PROGRAMMATION ORIENTÉE OBJET PRENDRA SON ESSOR AVEC
C++, CRÉÉ EN 1983.
• EN 1986 EST CRÉÉ PERL. LE HTML EST CRÉÉ EN 1990. PYTHON EST CRÉÉ
EN 1991 ET 1995 VERRA L'APPARITION DE JAVA ET DE PHP.
• 2000 VOIT L'APPARITION DE C# ET EN 2004, F# (DESCENDANT DE
OCAML), ETC.
ALGORITHMIQUE
L’algorithmique est l’étude des règles et techniques impliquées dans la
conception d’algorithmes.
L’algorithmique est à la base de l’informatique, c’est l’art de découper un
problème complexe en tâches élémentaires, c’est une suite d’actions, qui une
fois exécutée correctement, conduit à un résultat donné.
On appelle algorithme la méthode, la façon systématique de procéder pour
faire quelque chose, c’est une suite finie et non ambiguë d’actions
permettant de résoudre un problème.
PROGRAMMATION
La programmation dans le domaine informatique est l'ensemble des activités
qui permettent l'écriture des programmes informatiques. C'est une étape
importante de la conception de logiciel (voire de matériel, cf. VHDL).
Pour écrire le résultat de cette activité, on utilise un langage de
programmation.
La programmation représente usuellement le codage, c’est-à-dire la
rédaction du code source d'un logiciel. On utilise plutôt le terme
développement pour dénoter l'ensemble des activités lié à la création d'un
logiciel.
PARADIGMMES
Le travail de développeur consiste à modéliser un problème puis à le
résoudre en traduisant son modèle dans un langage de programmation. Le
développeur exprime les problèmes dans un langage de programmation dont
le style est le plus adéquate pour la réalisation du problème posé. Il existe
plusieurs diérents styles d’écriture d’un programme informatique, appelés
paradigmes de programmation
Parmi les paradigmes de programmation les plus importants on distingue:
la programmation impérative(procedurale) ,la programmation orientée objet
,la programmation fonctionnelle, la programmation logique
LANGUAGE DE
PROGRAMMATION
Outil qui sert d’intermédiaire entre le programmeur et l’ordinateur.
Un langage de programmation fournit le support pour une expression
symbolique des algorithmes.
La définition d'un langage informatique repose sur deux aspects
fondamentaux : la syntaxe et la sémantique.
– sa syntaxe : décrire la structure des programmes bien formés.
– sa sémantique : attacher un sens à chaque construction syntaxique.
SYNTAXE
Syntaxe : C'est l'ensemble des règles qui définissent comment écrire
correctement les programmes dans ce langage. Elle décrit la structure et
l'organisation des éléments d'un programme, tels que les mots-clés, les
opérateurs, les variables, et leur combinaison pour former des expressions et
instructions valides
Par exemple, en Python, la syntaxe impose que les blocs de code soient
indentés, et une affectation se fait avec le symbole =
Deux types de syntaxe :
– Syntaxe concrète
– Syntaxe abstraite
SYNTAXE CONCRÈTE:
syntaxe concrete: C'est la forme exacte du programme telle qu'elle est écrite
par le programmeur. Elle inclut tous les éléments visibles dans le code
source, comme les mots-clés, les parenthèses, les points-virgules, les
indentations, etc.
Concrete Syntax Trees arbrereprsentative du grammaire concrete
return a + 2
SYNTAXE ABSTRAITE:
– Syntaxe abstraite: C'est une représentation simplifiée et plus formelle du
programme représentée sous forme d’arbres (arbres syntaxiques abstraits ou
AST – Abstract Syntax Tree),
SEMANTIQUE
Sémantique:
Elle donne un sens à chaque construction syntaxique. La sémantique
explique ce que fait réellement un programme lorsqu'il est exécuté.
Autrement dit, elle traduit le comportement attendu du programme à partir
de sa structure syntaxique. Par exemple, si la syntaxe définit que l'instruction
x = 5 est correcte, la sémantique va préciser que cette instruction affecte la
valeur 5 à la variable x.
• Deux types de sémantique : – Sémantique statique. – Sémantique
dynamique.
SEMANTIQUE
La semantique statique represente les formes legales des programmes
qui ne peuvent pas etre facilemet decrites en grammaire BNF.
On appelle cette semantique, statique, car elle est verifiee pendant la
compilation.
La semantique dynamique decrit la signification des programmes ou les
effets encourus par l’execution d’un programme.
SEMANTIQUE
program demo;
var x : integer;
t : array [1..10] of integer;
procedure p (z : real);
var i : integer;
begin
z := i;
end; (* p *)
begin (* program demo *)
readln (i);
x := t;
p (x, i);
end.
SEMANTIQUE
program p;
var t : array [1..10] of integer;
i : integer;
function f (n : integer) : integer;
begin
f := n
end; (* f *)
begin (* program p *)
i := 1;
while f(i) < 1000 do
begin
writeln (t[i]);
i := i + 1;
end
end.