Documente Academic
Documente Profesional
Documente Cultură
1. Introduction____________________________________________________________ 2
2. La prise de décision______________________________________________________ 2
3. La répétition ___________________________________________________________ 3
4. Un exemple complet _____________________________________________________ 6
ROYAUME DU MAROC
1.Introduction
Une approche intéressante en matière de représentation est l’ordinogramme
qui permet, dans un format graphique, de proposer une vue des opérations
exécutées par l’ordinateur.
Il est possible de ne faire apparaître qu’une vue partielle des opérations en
fonction de l’intérêt que cette présentation de la logique d’exécution
présente.
Cette présentation ne dispense pas de l’écriture du programme sous forme
d’un pseudo code qui elle se voudra plus exhaustive.
Prise de décision
3.La répétition
Des opérations comme le calcul itératif, la sommation, le décompte
d'entités, la recherche d'entités impliquent toutes la notion de répétition.
Cette répétition est évidemment sans fin car rien n'est spécifié pour arrêter
le retour vers le haut dans l'algorithme.
Pour corriger la situation, nous devons introduire la notion de prise de
décision dans la répétition, à savoir doit-on continuer oui ou non.
L'algorithme précédent devient donc :
Définition du nombre de
répétition N et du compteur
d'itérations i
Instructions à répéter
Incrémentation du compteur
Cet algorithme constitue la base de tout système itératif pour lequel nous
connaissons le nombre de répétitions à effectuer. Cependant, au niveau des
opérations à répéter, rien ne prouve qu'elles sont modifiées à chaque tour et
finalement l'algorithme précédent répète toujours la même chose ce qui est
rarement utile.
Pour résoudre cet problème, il faut donc que les opérations à effectuer
soient influencées soit par le compteur d'itérations soit par toute autre
valeur provenant d'une itération précédente. L'exemple qui suit démontre le
calcul de la fonction factorielle de 1 à N.
Définition du nombre de
répétition N, du compteur
d'itérations i et de la valeur
initiale du factoriel FAC
Produit de la valeur
précédente de FAC par la
valeur du compteur i et mise
à jour de la valeur de FAC
Incrémentation du compteur
Dans l’exemple qui suit, le problème consiste à diviser plusieurs fois une
valeur par 2 jusqu'à ce que cette valeur soit plus petite qu'un millième
Initialisation
A devient égal à
la moitié de sa
valeur précédente
Décision de
continuer ou non
ROYAUME DU MAROC
EXERCICE :
Travail à réaliser :
Déterminer :
- L’objectif
- Les données en entrée
- Les données en sortie
- Les traitements à appliquer sur les données en entrée pour obtenir le résultat
L'assembleur est le premier langage informatique qui ait été utilisé. Celui-ci est encore
très proche du langage machine mais il permet déjà d'être plus compréhensible.
Toutefois un tel langage est tellement proche du langage machine qu'il dépend
étroitement du type de processeur utilisé (chaque type de processeur peut avoir son
propre langage machine). Ainsi un programme développé pour une machine ne pourra
pas être porté sur un autre type de machine (on désigne par « portable » un
programme qui peut être utilisé sur un grand nombre de machine). Pour pouvoir
l'utiliser sur une autre machine il faudra alors parfois réécrire entièrement le
programme!
6.Langage interprété
Un langage informatique est par définition différent du langage machine. Il faut donc le
traduire pour le rendre intelligible du point de vue du processeur. Un programme écrit
dans un langage interprété a besoin d'un programme auxiliaire (l'interpréteur) pour
traduire au fur et à mesure les instructions du programme. Les principaux
inconvénients d’un langage interprété sont :
ROYAUME DU MAROC
7.Langage compilé
Un programme écrit dans un langage dit "compilé" va être traduit une fois
pour toutes par un programme annexe (le compilateur) afin de générer un
nouveau fichier qui sera autonome, c'est-à-dire qui n'aura plus besoin d'un
programme autre que lui pour s'exécuter (on dit d'ailleurs que ce fichier est
exécutable)
.
Un programme écrit dans un langage compilé a donc comme avantage de
ne plus avoir besoin, une fois compilé, de programme annexe pour
s'exécuter. De plus, la traduction étant faite une fois pour toute, il est plus
rapide à l'exécution.
8.Langages intermédiaires
Certains langages appartiennent en quelque sorte aux deux catégories
(LISP, Java, Python, VB.Net ou C#..) car le programme écrit avec ces
langages subissent une phase de compilation intermédiaire vers un fichier
écrit dans un langage qui est peu intelligible (donc différent du fichier
source) et non exécutable (nécessité d'un interpréteur ou d’un compilateur
just-in-time).
C’est le cas des langages utilisés dans l’architecture JAVA/J2EE et DOT Net.
Les applets Java, petits programmes insérés parfois dans les pages Web,
sont des fichiers qui sont compilés mais que l'on ne peut exécuter qu'à
partir d'un navigateur internet (ce sont des fichiers dont l'extension est
.class). Sur votre machine doit alors être installée la machine virtuelle Java
(JVM)
ROYAUME DU MAROC
9.Quelques langages
Quelques exemples de langages couramment utilisés
Voici une liste non exhaustive de langages informatiques existants.
10.2. Le bit
Bit signifie "binary digit", c'est-à-dire 0 ou 1 en numérotation binaire. C'est
la plus petite unité d'information manipulable par une machine.
00
01
10
11
000
001
010
011
100
101
110
111
ROYAUME DU MAROC
Le plus petit nombre est 0, le plus grand est 255, il y a donc 256 possibilités
Cette notion peut être étendue à n bits, on a alors 2n possibilités.
10.3. L’octet
L'octet est une unité d'information composée de 8 bits. Il permet de stocker
un caractère, telle qu'une lettre, un chiffre.
Ce regroupement de nombres par série de 8 permet une lisibilité plus
grande, au même titre que l'on apprécie, en base décimale, de regrouper les
nombres par trois pour pouvoir distinguer les milliers. Par exemple le
nombre 1 256 245 est plus lisible que 1256245.
Une unité d'information de 32 bits de longueur est appelée double mot (en
anglais double word, d'où l'appellation dword).
Par exemple:
01101
+0 1 1 1 0
- - - - - -
11011
ROYAUME DU MAROC
0x0=0
0x1=0
1x0=0
1x1=1
Soit pour exemple:
00101
x00010
- - - - - -
01010
ROYAUME DU MAROC
1. Introduction____________________________________________________________ 2
2. Le codage binaire _______________________________________________________ 2
2.1. La base 2 _________________________________________________2
2.2. L’Octal ___________________________________________________4
2.3. L’Hexadécimal _____________________________________________4
3. Les instructions _________________________________________________________ 6
3.1. Les données_______________________________________________6
3.1.1. Les données non numériques ______________________________6
3.1.2. Les données numériques __________________________________7
ROYAUME DU MAROC
11.Introduction
Quelles que soient les informations manipulées par l’ordinateur celles-ci sont
codées finalement en binaire, c’est à dire à base de 0 et de 1.
Un chiffre 0 ou 1 est appelé un bit (contraction de binary digit).
20 1
21 2
22 4
23 8
24 16
25 32
26 64
27 128
28 256
29 512
210
Exemples :
12.2. L’Octal
80 1
81 8
82 64
83 512
Exemples :
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
Octal : 2 5 3 1 6
L’Hexadécimal
ROYAUME DU MAROC
Chaque valeur an, an-1, … , a2, a1, a0 est comprise entre 0 et 15.
160 1
161 16
162 256
Exemples :
0 0000 8 1000
1 0001 9 1001
2 0010 A 1010
3 0011 B 1011
4 0100 C 1100
5 0101 D 1101
6 0110 E 1110
7 0111 F 1111
Hexadécimal : 2 9 5 1 E
13.Les instructions
Les instructions exécutables par la machine sont celles contenues dans le
jeu d’instructions du microprocesseur (voir support de cours sur la structure
de la machine).
COP Opérandes
Le code ASCII
Le code ASCII (American Standard Code for Information Interchange) est
celui le plus généralement utilisé dans les ordinateurs d’aujourd’hui.
Voir table en annexe.
Tout caractère est codé sur un octet, c’est à dire 8 bits.
Exemples :
Le code EBCDIC
Le code EBCDIC (Extended Binary Coded Decimal Interchange Code),
essentiellement utilisé par IBM est également un code représentant les
caractères sur un octet.
ZONE NUMERIQUE
4 bits 4 bits
Exemples :
Par conséquent les entiers que l’on peut coder avec ce système doivent être
compris entre 0 et 2n-1 (n étant le nombre de bits du mot).
Pour coder les entiers signés, on procède de la même façon sauf que l’on
n’utilise pas le premier (ou parfois le dernier) bit du mot.
Celui-ci sert à coder le signe (1 négatif, 0 positif)
Les entiers sont alors compris entre : - (2n-1 -1) et + (2n-1 -1)
ROYAUME DU MAROC
X = S * M * 10E
Exemples :
1. Introduction____________________________________________________________ 2
2. L’algèbre de Boole ______________________________________________________ 2
2.1. Ensemble des valeurs de vérité ________________________________2
2.2. La loi ET, dite conjonction ____________________________________2
2.3. La loi OU, disjonction ou disjonction inclusive _____________________3
2.4. La loi du contraire, dite négation _______________________________3
2.5. Propriétés ________________________________________________3
2.5.1. Associativité ___________________________________________3
2.5.2. Commutativité__________________________________________3
2.5.3. Distributivité ___________________________________________3
2.5.4. Element Neutre _________________________________________3
2.5.5. Absorption _____________________________________________3
2.5.6. Simplification___________________________________________3
2.5.7. Priorité des opérateurs ___________________________________4
3. Fonctions logiques & tables de vérité________________________________________ 4
3.1. Les fonctions logiques fondamentales ___________________________4
3.1.1. Table de vérité de la négation ______________________________4
3.1.2. Table de vérité de la somme (OU)___________________________5
3.1.3. Table de vérité du produit (ET) _____________________________5
3.2. Les fonctions logiques dérivées ________________________________5
3.2.1. Le ou exclusif ou fonction exclusive__________________________5
3.2.2. L’équivalence___________________________________________5
3.3. Exemple à 3 variables _______________________________________6
ROYAUME DU MAROC
14.Introduction
Ce document propose de revenir sur quelques notions fondamentales
relatives aux opérations et fonctions sur des variables logiques.
Le raisonnement logique et les méthodes de résolution de problèmes en
informatique s’appuient sur ces concepts de base.
Nous aborderons donc dans ce document des principes fondamentaux
relatifs au sous ensemble des mathématiques traitant des fonctions logiques
dont George Boole, un mathématicien britannique, durant le milieu du XIXe
siècle, proposa un système formel.
L'algèbre booléenne permet d'utiliser des techniques algébriques pour
traiter les expressions à deux valeurs de la logique des propositions.
L’algèbre de Boole est aujourd’hui appliqué en informatique et en
électronique.
Ce document présentera des outils utiles à la résolution de problèmes
logiques que sont les tables de vérité. Il est fondamental de maîtriser les
bases de la logique pour être en mesure d’exprimer correctement les
conditions nécessaires à l’exécution des instructions dans vos futurs
programmes.
15.L’algèbre de Boole
Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en
informatique et dans la conception des circuits électroniques. Elle fut utilisée
la première fois pour les circuits de commutation téléphoniques par Claude
Shannon.
L'algèbre de Boole des fonctions logiques permet de modéliser des
raisonnements logiques, en exprimant un « état » en fonction de conditions.
Par exemple :
Communication = Émetteur ET Récepteur
Communication est « VRAI » Si Émetteur actif ET Récepteur actif (c'est une
fonction logique dépendant des variables Émetteur et Récepteur)
Sur cet ensemble on peut définir deux lois (ou opérations ou foncteurs,
abstractions de fonctions), les lois ET et OU et une transformation appelée
le complémentaire, l'inversion ou le contraire.
15.5. Propriétés
15.5.1. Associativité
Comme avec les opérations habituelles, certaines parenthèses sont inutiles:
(a + b) + c = a + (b + c) = a + b + c
(a.b).c = a.(b.c) = a.b.c
15.5.2. Commutativité
L'ordre est sans importance.
a+b=b+a
a.b = b.a
15.5.3. Distributivité
Comme avec les opérations habituelles, il est possible de distribuer :
a.(b + c) = a.b + a.c
Attention : comportement différent par rapport aux opérateurs + et *
habituels :
a + (b.c) = (a + b).(a + c)
15.5.5. Absorption
a + a.b = a
a.(a + b) = a
15.5.6. Simplification
a+ .b = a + b
a.( + b) = a.b
ROYAUME DU MAROC
Exemple :
Puis, on calcule 0 + c :
0+c=c
c=1
a.b + c = 1
Table de vérité de la
somme
a b a b
0 0 0
0 1 1
1 0 1
1 1 1
Table de vérité du
produit
a b a b
0 0 0
0 1 0
1 0 0
1 1 1
16.2.2. L’équivalence
L'équivalence (notée EQV) est vraie si les deux entrées ont la même valeur
et fausse sinon. Elle est appelée aussi «non-ou exclusif ».
d = a.b + c
Table de vérité de on
décroche d
a b c d
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
ROYAUME DU MAROC
1. Introduction____________________________________________________________ 2
2. La déclaration des variables _______________________________________________ 3
2.1. Les types _________________________________________________3
3. La séquence d'instructions ________________________________________________ 5
3.1. L'affectation _______________________________________________5
3.2. Les opérations arithmétiques__________________________________5
3.3. Le dialogue avec l'utilisateur __________________________________6
4. La structure alternative___________________________________________________ 6
4.1. Les conditions _____________________________________________6
4.1.1. Les opérateurs de comparaison _____________________________6
4.2. Les opérateurs logiques ______________________________________7
4.2.1. Les actions conditionnées _________________________________7
5. La structure répétitive ____________________________________________________ 7
5.1. Le TantQue _______________________________________________8
5.2. Le Faire Jusqu'à ____________________________________________8
5.3. Le Pour __________________________________________________9
6. Les tableaux____________________________________________________________ 9
17.Introduction
Il est nécessaire dans un premier temps de prendre conscience de la
difficulté que nous avons d’exprimer la solution à un problème donné de
façon complète et non ambiguë.
Dans la situation de résolution d’un problème, deux étapes :
Qu’avons nous à faire : QUOI
Comment allons-nous résoudre le problème : Expression du COMMENT
Deux étapes distinctes, l’analyse précédant toujours la conception.
Nous utiliserons une forme algorithmique pour exprimer le résultat de
notre analyse détaillée.
Ces instructions peuvent soit s'enchaîner les unes après les autres, on
parle alors de SEQUENCE D'INSTRUCTIONS; ou bien s'exécuter dans
certains cas et pas dans d'autres, on parle alors de STRUCTURE
ALTERNATIVE; ou se répéter plusieurs fois, on parle alors de STRUCTURE
REPETITIVE.
18.La déclaration des variables
Un programme exécutable est composé de deux parties :
données
instructions
Les valeurs des variables sont par définition amenées à être modifiées ou
tout du moins susceptibles d’être modifiées. Elles s’opposent en ce sens à
des données immuables qui peuvent être utilisées par le programme et
qui conservent donc leur valeur tout au long de l’exécution du
programme. Celles-ci seront désignées sous le vocable de Constantes
par opposition à Variables.
REEL : il s'agit des variables numériques qui ne sont pas des entiers,
c'est à dire qui comportent des décimales et qui sont des valeurs
approximatives.
Dans notre langage, la déclaration des variables de type réel est la
suivante :
N.B. : les chaînes de caractères, dans notre langage, sont des tableaux
de caractères (voir 1.6.2)
19.1. L'affectation
Ce qui se lit "variable reçoit valeur" et qui signifie que l'on mémorise la
valeur à un endroit nommé variable.
LIRE Variable
AFFICHER Texte Variable Variable Texte ...
La première lit tous les caractères qui sont saisis au clavier, jusqu'à ce
que l'utilisateur appuie sur la touche entrée, et stocke le résultat dans la
variable.
ET
OU
NON
XOR(ou exclusif)
Pour qu’une condition dont les deux membres sont reliés par un ET soit
vraie, il faut que les deux membres soient vrais. Avec le OU que l’un ou
l’autre soit vrai. Le NON exprime la négation du vrai. Avec l’opérateur
XOR, il faut que l’un ou l’autre soit vrai mais pas les deux.
TantQue condition
Faire actions
FTQ
Ce qui signifie : tant que la condition est vraie, on exécute les actions.
FAIRE
actions
JUSQUA condition
Ce qui signifie que l'on exécute les actions jusqu'à ce que la condition soit
vraie.
i <-- 1
TantQue (i < 10)
Faire
p <-- p*x
i <-- i+1
FTQ
POUR variable ALLANT DE valeur initiale A valeur finale [PAS valeur du pas]
FAIRE actions
FinPour
POUR i ALLANT DE 1 A 10
FAIRE
p <-- p*x
FinPour
22.Les tableaux
On peut regrouper plusieurs variables sous un même nom, chacune étant
alors repérée par un numéro. C'est ce que l'on appelle un tableau. On
peut faire un tableau avec des variables de n'importe quel type.
Dans tous les cas le ième élément d'un tableau appelé TAB sera adressé
par TAB(i).
Généralement on fait des tableaux à une dimension, mais il existe
également des tableaux à deux dimensions, dans ce cas TAB(i,j)
représente la jème colonne et la ième ligne.