La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Éléments de Programmation 8PRO107

Présentations similaires


Présentation au sujet: "Éléments de Programmation 8PRO107"— Transcription de la présentation:

1 Éléments de Programmation 8PRO107
Comment peut-on maîtriser le fonctionnement de tous les ordinateurs et apprendre tous les langages de programmation?

2 Observation 1 En ce qui concerne la programmation dans un langage de haut niveau: tous les ordinateurs sont similaires!!! Observation 2 Tous les langages procéduraux (Fortran, Pascal, Ada, Cobol, Basic, etc.) sont similaires!

3 4 concepts fondamentaux pour maîtriser la programmation:
Structure de l'ordinateur: Concepts de base communs à tous les ordinateurs Conception d'algorithmes: Formulation d'un problème en termes d'instructions simples pouvant être résolues par ordinateur Implantation: Exprimer l'algorithme dans un langage de programmation Exécution: Compiler, lier les parties, charger en mémoire puis faire fonctionner sur l'ordinateur

4 Structure d'un ordinateur
PROCESSEUR Périphérique d'entrée Périphérique de sortie Mémoire

5 Le processeur Unité arithmétique et logique Unité de (UAL) contrôle
(UC) UAL: Sert à effectuer les opérations arithmétiques, les comparaisons et les opérations logiques UC: Contrôle les communications entre l'UAL, la mémoire, et les périphériques

6 Quelles sont les opérations arithmétiques qui peuvent
être réalisées par l'UAL du processeur? Seulement 4 opérations: addition soustraction  multiplication (ou *)  division (ou /) UAL

7 Un processeur ressemble à une calculatrice de poche.
UAL UC Un processeur ressemble à une calculatrice de poche.

8 Comment calculer cos(x)?
En ouvrant n'importe quel livre de calcul on peut trouver l'équation suivante: cos(x) = 1 - (x*x / 2) + (x*x*x*x / 24) - (x*x*x*x*x*x / 720) + (x*x*x*x*x*x*x*x / 40320) C’est long mais cela fonctionne!

9 Comment calculer cos(x)?
cos(x) = 1 - (x*x / 2) + (x*x*x*x / 24) - (x*x*x*x*x*x / 720) + (x*x*x*x*x*x*x*x / 40320) En fait il ne s'agit que d’une approximation mais suffisamment précise pour une calculatrice de ce type. On peut donc calculer cos(x) en utilisant seulement les 4 opérations de base.

10 Comment calculer cos(x)?
cos(x) = 1 - (x*x / 2) + (x*x*x*x / 24) - (x*x*x*x*x*x / 720) + (x*x*x*x*x*x*x*x / 40320) En suivant ces directives il vous est possible de calculer le cosinus de n'importe quel nombre. C'est ce que l'on appelle un algorithme. Écrire un algorithme c'est comme ajouter une nouvelle touche à la calculatrice.

11 Les expressions À partir des 4 opérations de base il est possible de construire différentes expressions. Une expression est une formule arithmétique pouvant être évaluée par le processeur. Exemples: = 9 2 + (3 + 4) = 9 2 - ( ) = 3 (2 - 3) = -5 (2 + 3) * 4 = 20 2 + (3 * 4) = 14 2 + 3 * = ? = ? Question: Comment le processeur évalue-il les 2 dernières expressions?

12 Priorité des opérateurs

13 Exemples de priorité des opérateurs
* 4 / 2 * ( 3 * 5 ) On évalue d'abord les parenthèses * 4 / 2 * * et / ont une priorité supérieure à + et - On les évalue de gauche à droite / 2 * * et - ont la même priorité et sont évalués de gauche à droite 85

14 La mémoire Le processeur tient sa puissance de la mémoire avec laquelle il communique constamment. La mémoire peut être vu comme une boîte dont chaque case peut contenir une valeur numérique. 45 -35.33 55.5 . .

15 Les variables Afin d'identifier clairement où se trouve une valeur donnée, il est nécessaire de donner des noms aux cases. Par exemple, la case total contient la valeur 45, la case x2 contient la valeur et la case y contient la valeur 55.5. Ces noms sont appelés variables car le contenu de la case mémoire associée peut varier au cours de l'exécution d'un programme. total 45 x2 -35.33 y 55.5 . .

16 Les variables et les expressions
Le processeur est capable d'évaluer des expressions contenant des variables en remplaçant celles-ci par leur valeur respective. total 45 x2 -35.33 y 55.5 Exemple: x2 + 2 * total * 45 54.67 . .

17 Les différents types de variables
On remarque que certaines cases contiennent des valeurs entières alors que d'autres contiennent des valeurs réelles. Il est important d'indiquer au processeur quel type de valeurs contient chaque case utilisée. Cela est nécessaire puisque le processeur traite différemment les entiers et les réels. Par exemple la valeur réelle de 1/2 est 0.5 alors que sa valeur entière est 0. total 45 x2 -35.33 y 55.5 . .

18 Les déclarations de variables
Les déclarations servent à donner un nom à une case mémoire et à indiquer le type de valeurs qu'elle peut contenir. Une déclaration typique ressemble à: Entiers: total Réels: x2,y Après une telle déclaration, le processeur configure la mémoire comme dans l’illustration ci-contre. total entier x2 réel réel y . .

19 Remarques concernant les déclarations
Lorsque l’on déclare une variable, on ne lui donne pas de valeur. On ne fait qu’indiquer au processeur le nom et le type des variables. Le choix des noms de variables est arbitraire mais devrait toujours refléter ce que représente les valeurs qu’elles contiennent. Le contenu d’une case mémoire peut être modifié au cours de l’exécution d’un programme mais pas le type de valeur qu’elle contient. Les déclaration sont faites à l’intérieur d’un programme donné. Lorsque le programme se termine, le nom, le type et la valeur contenue dans les cases mémoire disparaissent.

20 L’instruction d’assignation
Pour mettre une valeur dans une variable, on utilise une instruction d’assignation. Cette instruction est aussi appelée « affectation ». Une assignation a la forme suivante: variable  expression L'expression est d’abord évaluée puis le résultat est mis dans la case mémoire correspondant à la variable

21 Exemple d’assignation
Après la déclaration entiers: total réels: x2,y la mémoire ressemble à la figure suivante: total entier x2 réel réel y . .

22 Exemple d’assignation
Si par la suite le processeur exécute les instructions suivantes: total  45 x2  y  55.5 La mémoire devient: Après la déclaration entiers: total réels: x2,y la mémoire ressemble à la figure suivante: total entier total 45 entier x2 réel x2 -35.33 réel réel réel y y 55.5 . . . .

23 Exemple: calcul de la moyenne
Après les déclarations suivantes, Réels: moyenne Entiers: note1, note2, note3, note4 la mémoire ressemble à la figure ci-contre moyenne réel note1 entier entier note2 note3 entier note4 entier . .

24 Calcul de la moyenne (suite)
Après les instructions d’assignation suivantes note1  75 note2  100 note3  88 note4  95 La mémoire devient: moyenne réel note1 75 entier entier note2 100 note3 88 entier note4 95 entier . . Remarque: la variable moyenne est toujours indéfinie puisqu’aucune valeur n’y a été assignée.

25 Calcul de la moyenne (suite)
Pour calculer la moyenne de ces 4 valeurs et mettre le résultat dans la variable moyenne le processeur doit exécuter l’instruction suivante: moyenne  ( note1 + note2 + note3 + note4 ) / 4 moyenne réel note1 75 entier entier note2 100 note3 88 entier note4 95 entier . .

26 Calcul de la moyenne (suite)
1) Le processeur évalue d'abord la partie droite de l’instruction: ( note1 + note2 + note3 + note4 ) / 4 ( ) / 4 ( ) / 4 ( ) / 4 358 / 4 89.5 2) Le résultat est ensuite déposé dans la case mémoire associée à la variable moyenne. moyenne  89.5 moyenne 89.5 réel note1 75 entier entier note2 100 note3 88 entier note4 95 entier . .

27 Calcul de la moyenne (suite)
Que se passerait-il si on omettait les parenthèses dans l'expression précédente? moyenne  note1 + note2 + note3 + note4 / 4 moyenne  / 4 moyenne  moyenne  moyenne  moyenne  Le mauvais résultat serait ensuite déposé dans la case mémoire associée à la variable moyenne. moyenne 286.75 réel note1 75 entier entier note2 100 note3 88 entier note4 95 entier . .

28 Calcul de la moyenne (suite)
La séquence d'instructions nécessaires au calcul de la moyenne est donc: Liste des variables: Réels: moyenne Entiers: note1, note2, note3, note4 Instructions: note1  75 note2  100 note3  88 note4  95 moyenne  (note1 + note2 + note3 + note4) / 4 Remarque: Les instructions sont toujours exécutées de façon séquentielle par le processeur.

29 Les opérateurs de comparaison
Supposons qu'après avoir calculé la note moyenne, on veuille déterminer si l'étudiant passe ou échoue. Le processeur doit évaluer la relation: moyenne  65 Il existe 6 opérateurs permettant au processeurs d’effectuer de telles comparaisons. < plus petit que  plus petit ou égal à > plus grand que  plus grand ou égal à  égal à  différent de

30 Évaluation d’une expression logique
Une expression logique est une expression ne pouvant s'évaluer qu’à une des deux valeurs: vrai ou faux. Comme le processeur ne peut traiter que des valeurs numériques, il est nécessaire de représenter les valeurs logiques vrai et faux par des nombres. VRAI est représenté par le nombre 1 FAUX est représenté par le nombre 0

31 Exemple moyenne  65 89.5  65 1 (c'est-à-dire vrai) moyenne réel
89.5  65 1 (c'est-à-dire vrai) moyenne 89.5 réel note1 75 entier entier note2 100 note3 88 entier note4 95 entier . .

32 Exemple moyenne  65 46.3  65 0 (c'est-à-dire faux) moyenne réel
46.3  65 0 (c'est-à-dire faux) moyenne 46.3 réel note1 75 entier entier note2 100 note3 88 entier note4 95 entier . .

33 Problème On veut déterminer si la moyenne est entre 60 et 75
89.5 réel 60  moyenne  75 60   75 vrai  75 1  75 1 (erreur!!!) note1 75 entier entier note2 100 note3 88 entier note4 95 entier . .

34 Solution Ce que l'on veut, c’est déterminer si moyenne  75 ET
Le ET est appelé un opérateur logique. Si la première expression est vrai et que la seconde est vrai alors l'expression (moyenne  75) ET (moyenne  60) est aussi vrai.

35 Exemple (moyenne  75) ET (moyenne  60) (89.5  75) ET (89.5  60)
faux ET vrai faux moyenne 89.5 réel note1 75 entier entier note2 100 note3 88 entier note4 95 entier . .

36 Opérateur logique: ET vrai ET vrai vrai vrai ET faux faux faux ET vrai
faux ET faux faux

37 Opérateur logique: OU vrai OU vrai vrai vrai OU faux vrai faux OU vrai
faux OU faux faux

38 Opérateur logique: NON
NON vrai faux NON faux vrai

39 Exemple Après la déclaration et l'instruction suivantes: entier: age
Comment le processeur évalue-t-il l'expression NON( (age = 5) OU (age = 10) ) ?

40 Exemple NON( (age = 5) OU (age = 10) ) NON( ( 7 = 5) OU ( 7 = 10 ) )
NON( FAUX OU FAUX ) NON FAUX VRAI

41 Priorité des opérateurs

42 Priorité des opérateurs (suite)
Remarque: Les opérateurs logiques causent le même type d’ambiguïté que les opérateurs arithmétiques. Pour cette raison, les opérateurs logiques et les opérateurs de comparaison n’ont pas tous la même priorité. Exemple: (VRAI OU FAUX) ET FAUX = FAUX VRAI OU (FAUX ET FAUX) = VRAI En assignant à ET un niveau de priorité plus élevé que OU on obtient: VRAI OU FAUX ET FAUX = VRAI

43 Priorité des opérateurs (suite)
Opérateurs Associativité ( ) de gauche à droite NON de droite à gauche * / de gauche à droite de gauche à droite <  >  de gauche à droite =  de gauche à droite ET de gauche à droite OU de gauche à droite

44 Priorité des opérateurs (suite)
Exemple: Considérez la situation ou les organisateurs d’une conférence proposent deux taux différents: $500 si l’inscription se fait avant une date limite et $600 dollars sinon. Utilisons la variable entière AVANT qui vaut 1 si une certaine inscription a été faite avant la date limite et 0 sinon. Le taux de l’inscription sera donc: AVANT * NON AVANT * 600

45 La communication avec le monde extérieur
PROCESSEUR Périphérique d'entrée Périphérique de sortie Mémoire

46 Entrée Le processeur peut lire des valeurs en provenance du
périphérique d’entrée (clavier, etc.) en exécutant une instruction ayant la forme suivante. LIRE variable1, variable2 … L'exécution de cette instruction permet d’établir une communication entre le périphérique d’entrée et le processeur. Ce dernier lit autant de valeurs qu'il y a de variables. Chaque valeur lue est assignée à une variable.

47 Sortie Le processeur peut afficher des valeurs sur le périphérique de
sortie (écran, etc.) en exécutant une instruction ayant la forme suivante. AFFICHER expression1, expression2 … L'exécution de cette instruction permet d'établir une communication entre le périphérique de sortie et le processeur. Ce dernier évalue chaque expression et affiche, dans l'ordre, les résultats en sortie. Remarque : Les expressions peuvent être de simples valeurs, des variables ou des expressions plus complexes utilisant les opérateurs.

48 Exemple 75 83 79 96 moyenne réel note1 entier entier note2 note3
75 83 79 96 moyenne réel note1 entier entier note2 note3 entier note4 entier . .

49 LIRE note1, note2, note3, note4
75 83 79 96 moyenne réel note1 75 entier entier note2 83 note3 79 entier note4 96 entier . .

50 75 83 79 96 moyenne  (note1 + note2 + note3 + note4) / 4 moyenne
75 83 79 96 moyenne 83.25 réel note1 75 entier entier note2 83 note3 79 entier note4 96 entier . .

51 AFFICHER moyenne 83.25 75 83 79 96 moyenne 83.25 réel note1 75 entier
moyenne 83.25 réel note1 75 entier entier note2 83 note3 79 entier note4 96 entier . .

52 Comparez Ne calcule la moyenne que de ces 4 valeurs particulières
réels: moyenne entiers: note1, note2, note3, note4 note1  75 note2  83 note3  79 note4  96 moyenne  (note1 + note2 + note3 + note4) / 4 Ne calcule la moyenne que de ces 4 valeurs particulières réels: moyenne entiers: note1, note2, note3, note4 LIRE note1, note2, note3, note4 moyenne  (note1 + note2 + note3 + note4) / 4 AFFICHER moyenne Calcule la moyenne de n'importe quelles valeurs

53 Résumé: le processeur Opérateurs arithmétiques: + addition
UAL UC Opérateurs arithmétiques: addition soustraction * multiplication / division Opérateurs de comparaisons: < plus petit  plus petit ou égal > plus grand  plus grand ou égal = égal  différent Opérateurs logiques: OU vrai si au moins un opérande est vrai faux sinon ET vrai si tous les opérandes sont vrais NON vrai si l'opérande est faux,

54 Résumé: la mémoire Déclarations: Pour utiliser une case
Processeur Déclarations: Pour utiliser une case mémoire on doit lui donner un nom et indiquer quel type de valeur (entier ou réel) elle contiendra. Assignations: Pour mettre en mémoire une valeur, on utilise une instruction d'assignation: variable  expression Expressions: Pour utiliser le contenu d’une case mémoire, on incorpore des variables dans les expressions. . . Mémoire

55 Résumé: les entrée-sorties
LIRE variable1, variable2 … AFFICHER expression1, expression2 … PROCESSEUR Périphérique d’entrée Périphérique de sortie

56 Introduction au langage C
Prochain cours: Introduction au langage C


Télécharger ppt "Éléments de Programmation 8PRO107"

Présentations similaires


Annonces Google