Algorithmique et programmation Dpartement dinformatique Pr L EL

  • Slides: 139
Download presentation
Algorithmique et programmation Département d’informatique Pr. L. EL BERMI

Algorithmique et programmation Département d’informatique Pr. L. EL BERMI

Contenu du Module • Chapitre 1: Généralités • Chapitre 2: L’élément de base d’un

Contenu du Module • Chapitre 1: Généralités • Chapitre 2: L’élément de base d’un algorithme • Chapitre 3: La sélection en algorithmique et en C • Chapitre 4: Les boucles en algorithmique et en C • Chapitre 5: Les tableaux et les fonctions

Chapitre 1: Généralités • Introduction • Composants d’un ordinateur • Codage

Chapitre 1: Généralités • Introduction • Composants d’un ordinateur • Codage

Introduction • L’informatique est la science de traitement automatique de l’information par des ordinateurs.

Introduction • L’informatique est la science de traitement automatique de l’information par des ordinateurs. • Informatique = information + automatique (mot inventé en 1962 par Philippe Dreyfus) • Information: ensemble de données ou de connaissances humaines et des communications dans le domaine technique, scientifique, économique et social. • Traitement automatique: toutes les opérations que l’on peut effectuer sur les informations: saisie, modification, stockage, transmission, … • Le traitement de l'information consiste en une suite d'opérations transformant une représentation de cette information en une autre représentation plus facile à manipuler ou à interpréter.

Définitions • Un ordinateur est un ensemble de circuits électroniques qui traite l'information grâce

Définitions • Un ordinateur est un ensemble de circuits électroniques qui traite l'information grâce à un programme qu'il mémorise, communique et archive des informations. • Le traitement de l'information se fait automatiquement et vise à résoudre un problème bien défini. • Architecture d’un ordinateur désigne le mode de fonctionnement d’un ordinateur; c’est-à-dire comment l’information circule dans un ordinateur.

Composantes d’un ordinateur Un ordinateur se compose en deux principales parties: v Partie matérielle

Composantes d’un ordinateur Un ordinateur se compose en deux principales parties: v Partie matérielle (Hardwrae) c’est les composants physiques de l’ordinateur. v Partie Logicielle (Software) c’est des logiciels permettant le fonctionnement de l’ordinateur.

 • Les différentes fonctions correspondent à 3 constituants de l'ordinateur: - la mémoire

• Les différentes fonctions correspondent à 3 constituants de l'ordinateur: - la mémoire centrale - l'unité centrale - les périphériques • La mémoire centrale contient les programmes systèmes nécessaires au bon fonctionnement de l'ordinateur, et les programmes utilisateurs répondant à un besoin particulier et résolvant un problème rencontré par le dit utilisateur • L'unité centrale va s'occuper de l'exécution des programmes logés dans la mémoire centrale. Elle est constituée de l'unité arithmétique et logique (UAL) qui s'occupe de toutes les opérations arithmétiques et logiques (addition, soustraction, multiplication, etc) et de l’unité de commande (UC) qui exécute les programmes instructions par instructions en collaborant avec l'UAL. • Les périphériques sont les unités qui assurent la relation de l'ordinateur avec le monde extérieur. Ils constituent de périphériques d’entrée et sortie assurant l’entrée et sortie de données.

Mémoire Processeur Bus Unités d’entréesortie . . . Imprimante Écran Disque La mémoire contient

Mémoire Processeur Bus Unités d’entréesortie . . . Imprimante Écran Disque La mémoire contient des instructions et des données

 • Tous ces constituants sont reliés entre eux par l’intermédiaire d’un bus, qui

• Tous ces constituants sont reliés entre eux par l’intermédiaire d’un bus, qui est l’artère centrale et leur permet de s’échanger des données. • Pratiquement tous les ordinateurs actuels ont cette architecture, qui ce soit les micros ordinateurs personnels ou les gros ordinateurs des entreprises. • Les différences résident essentiellement dans les performances des constituants. • L’ensemble des communications à l’intérieur s’effectue par le langage binaire.

Codage Comprendre comment un ordinateur : représente une information (nombre, caractère, image, son, etc.

Codage Comprendre comment un ordinateur : représente une information (nombre, caractère, image, son, etc. ). Convertis des entiers ou des virgule flottante en représentation binaire et vice versa. En général on peut distinguer deux types d’information: instructions et les données.

Les données: sont les opérandes sur lesquels portent les opérations, ou produits par cellesci.

Les données: sont les opérandes sur lesquels portent les opérations, ou produits par cellesci. Une addition, par exemple, peut s’appliquer à deux opérandes, donnant un résultat qui est la somme des deux opérandes. On distingue les données numériques, pouvant être l’objet d’une opération arithmétique, des données non numériques, par exemple, les symboles constituant un texte.

Instructions • Les instructions représentent les opérations (addition, par exemple) effectuées par un ordinateur.

Instructions • Les instructions représentent les opérations (addition, par exemple) effectuées par un ordinateur. Elles sont composées de plusieurs champs: - Le code de l’opération à effectuer; - Les opérandes impliqués dans l’opération. • Le traitement de l’information est une suite d’opérations transformant une représentation de cette information en une autre représentation plus facile à manipuler ou à interpréter. Exemples: 245+5 x 2 -5=250; Gestion des comptes clients dans une banque; Recensement de la population; Inscription, notes des étudiants, …

 • Le codage d’une information consiste à établir une correspondance entre la représentation

• Le codage d’une information consiste à établir une correspondance entre la représentation externe (habituelle) de l’information (le nombre 65 ou le caractère «A» par exemple) et sa représentation interne dans la machine (une suite de bits). • L’unité de base de la théorie de l’information est le bit, bit = binary digit, qui signifie en anglais nombre binaire. • Un bit, par définition, est un composant quelconque ne pouvant se trouver que dans deux états possibles, exclusifs l’un de l’autre. Il prend la valeur 0 ou 1.

Nombre de bits

Nombre de bits

Convertir de la base 10 vers une base quelconque • Cas de nombre entiers

Convertir de la base 10 vers une base quelconque • Cas de nombre entiers : On divise le nombre par base b, puis le quotient obtenu par la base b, et ainsi de suite jusqu’a obtenir un quotient nul. La suite des restes obtenus correspond aux chiffres dans la base b visée,

Exemple 1

Exemple 1

Sens inverse: binaire en décimal Comme, on a définit précédemment ( en base b),

Sens inverse: binaire en décimal Comme, on a définit précédemment ( en base b), convertir un nombre binaire en base décimal c’est le calcul de la décomposition de ce nombre. Exemple:

Chapitre 2: L’élément de base d’un algorithme • Introduction • Définitions • Principe

Chapitre 2: L’élément de base d’un algorithme • Introduction • Définitions • Principe

Problème • Je veux informatiser ce problème et le rendre exploitable à travers ma

Problème • Je veux informatiser ce problème et le rendre exploitable à travers ma machine. Qu’est ce que je dois faire ? 2*x + 3 = 0 10*x - 1= 0 0*x + 0 = 0 0*x + 3 = 0 ? ? a*x + b = 0 ? ?

Principe d’algorithmique Énoncé non précis : Problème informel Spécification Analyse Énoncé précis : Problème

Principe d’algorithmique Énoncé non précis : Problème informel Spécification Analyse Énoncé précis : Problème formel Algorithme Programmation Langage de programmation : Pascal, . . Compilation Exécutable du programme Exécution Résultat

Algorithmique Définition : Encyclopédie Universelle Un algorithme est une suite finie de règles à

Algorithmique Définition : Encyclopédie Universelle Un algorithme est une suite finie de règles à appliquer dans un ordre déterminé à un nombre fini de données pour arriver, en un nombre fini d'étapes, à un certain résultat, et cela indépendamment des données

Algorithmique Définition : C’est un pseudo-langage qui est conçu pour résoudre les problèmes et

Algorithmique Définition : C’est un pseudo-langage qui est conçu pour résoudre les problèmes et applications sans aucune contrainte due aux langages de programmation et aux spécificités de la machine. Ce pseudo-langage sera ensuite traduit et codé dans le langage de programmation désiré.

Langage de programmation Définition : On appelle langage de programmation tout ensemble fini de

Langage de programmation Définition : On appelle langage de programmation tout ensemble fini de mots réservés qui permettent de traduire les instructions de l’algorithme afin de l’exécuter par l’ordinateur. Exemple : Turbo Pascal, Cobol, Fortran, C, Delphi, Visual Basic (VB), C++, Java etc. . .

Compilateur Définition : On appelle compilateur tout programme spécial qui permet d’avoir un programme

Compilateur Définition : On appelle compilateur tout programme spécial qui permet d’avoir un programme exécutable à partir d’un programme source: Le programme ainsi obtenu est appelé programme Objet

Structure générale d’un algorithme Titre du Problème Déclaration des Constantes Déclaration des Objets Déclaration

Structure générale d’un algorithme Titre du Problème Déclaration des Constantes Déclaration des Objets Déclaration des Variables Déclaration des Tableaux Déclaration des Procédures et Fonctions Début Instructions Manipulation FIN

Etapes de résolution Démarches à suivre pour résoudre un problème donné: Identifier les données

Etapes de résolution Démarches à suivre pour résoudre un problème donné: Identifier les données du départ (entrées) et celle(s) qu’il faut obtenir (sorties); Structurer les données (variables ou constantes, type. . . ); Réfléchir pour déterminer les actions nécessaires à l’obtention des résultats ; Présenter les résultats.

Chapitre 2: L’élément de base d’un algorithme • Variables

Chapitre 2: L’élément de base d’un algorithme • Variables

Donnée ou objet Définition : Un objet est toute partie identifiable de l’information au

Donnée ou objet Définition : Un objet est toute partie identifiable de l’information au cours d’un traitement. Il est caractérisé par son nom, son type et sa valeur. L’ensemble des objets manipulés par un algorithme est appelé: environnement de cet algorithme. Remarque : Les objets manipulés par un ordinateur sont : Les Constantes et Les Variables

Les constantes Définition : Les Constantes désignent des références à des valeurs invariantes dans

Les constantes Définition : Les Constantes désignent des références à des valeurs invariantes dans le programme Syntaxe de la déclaration : Constante Nom_Constante = Valeur Exemple : Constante Pi = 3. 14

Les variables Définition : Ce sont des références (adresses mémoires) où vont être stockées

Les variables Définition : Ce sont des références (adresses mémoires) où vont être stockées des valeurs variables. Les différentes valeurs d’une référence vont appartenir au type de données auquel appartient la référence. Remarques : 1°- Le nom d’une variable suite de caractères qui permet d’identifier la variable d’une manière unique dans un algorithme. 2°- Il existe différents types de variables.

Types de variables: Entier Définition : C’est l’ensemble des nombres entiers positifs ou négatifs.

Types de variables: Entier Définition : C’est l’ensemble des nombres entiers positifs ou négatifs. Syntaxe de la déclaration : Variable variable 1, variable 2, … : Entier Exemple : Variable a, b : Entier a et b sont, par exemple, les coefficients de l’équation : ax + b = 0

Types de variables: Réel Définition : C’est l’ensemble des nombres réels, c’est à dire

Types de variables: Réel Définition : C’est l’ensemble des nombres réels, c’est à dire les nombres décimaux sans limitation. Syntaxe de la déclaration : Variable variable 1, variable 2, … : Réel Exemple : Variable x, y : Réel

Chaines de caractères Définition : C’est une suite de caractères, c’est à dire des

Chaines de caractères Définition : C’est une suite de caractères, c’est à dire des combinaisons de caractères (lettres, chiffres, symboles. . ). Syntaxe de la déclaration : Variable variable 1, variable 2, … : Caractère Exemple : Variable Nom, Catégorie : Caractère

Booléen Définition : Il s’agit des objets qui ne peuvent prendre que deux valeurs

Booléen Définition : Il s’agit des objets qui ne peuvent prendre que deux valeurs vrai ou faux. Syntaxe de la déclaration : Variable variable 1, variable 2, … : Booléen Exemple : Variable Décision : Booléen

Autres types de déclarations Objets : Type Tableau Un tableau permet de représenter un

Autres types de déclarations Objets : Type Tableau Un tableau permet de représenter un ensemble de valeurs ayant des propriétés communes et appartenant toutes au même type. Ces variables sont identifiées par un même nom mais un numéro de repère(indice) pour chacun. Les Fonctions et Les Procédures Ce sont des sous-programmes auxquels on peut faire référence à l’intérieur d’un programme. Ils sont conçus pour éviter les répétitions et pour découper des programmes jugés trop longs; ce qui facilite la lisibilité du programme principal.

Manipulations des variables Définition : On appelle instruction toute commande élémentaire que l’on doit

Manipulations des variables Définition : On appelle instruction toute commande élémentaire que l’on doit appliquer sur des objets pour avoir des sorties bien définies. Définition : Une action est un événement qui change l’état d’un objet d’un état initial donné à un état final désiré. Une action a une durée d’exécution finie et un effet propre et bien défini. Chaque action porte sur des objets sur lesquels elle s’exécute : L'Action est une seule instruction ou un groupe d’instructions

Structure d’un algorithme Titre du Problème Déclaration des Constantes Déclaration des Objets Déclaration des

Structure d’un algorithme Titre du Problème Déclaration des Constantes Déclaration des Objets Déclaration des Variables Déclaration des Tableaux Déclaration des Procédures et Fonctions Début Instructions Manipulation FIN

Manipulation: Corps d’algorithme Dans la partie manipulation, on doit commencer par le mot DEBUT

Manipulation: Corps d’algorithme Dans la partie manipulation, on doit commencer par le mot DEBUT et se termine par le mot FIN : DEBUT Instruction 1 Instruction 2 ……. Instruction n FIN Action

Les instructions La partie manipulation utilise les différents objets déclarés dans la partie déclaration

Les instructions La partie manipulation utilise les différents objets déclarés dans la partie déclaration et leur applique des opérations afin de retourner le(s) résultat(s) attendu(s) par le programmeur. Pour ce fait, il y a différentes actions, dites instructions, à savoir : Instructions de dialogue Homme-Machine ; Instructions d’affectation ; Instructions à structure alternative ; Instructions à structure répétitive. Etc…

Fonction de dialogue Output L’affichage des informations: Pour faire comprendre qu’il faut afficher des

Fonction de dialogue Output L’affichage des informations: Pour faire comprendre qu’il faut afficher des informations à l’écran, on utilise l’instruction écrire qui obéit à la syntaxe suivante : Écrire (Variable ou ‘ Message’ ) Exemples : Écrire (‘ Saisissez la valeur de a ’) Écrire (‘ Saisissez la valeur de b ’) Écrire (‘ Saisissez les valeurs de a et b ’) Écrire (‘Le résultat trouvé est : ’, r ) Écrire (r)

Fonction de dialogue Input La Saisie des informations: Pour indiquer dans un algorithme que

Fonction de dialogue Input La Saisie des informations: Pour indiquer dans un algorithme que telle donnée doit être lue par le système, on utilise l’instruction lire qui obéit à la syntaxe suivante : Lire(Variable) Exemple : Écrire (‘ Saisissez la valeur de a ’) Lire(a)

Instruction d’affectation Définition: C’est le stockage d’une valeur à un endroit spécifique(variable). Pour affecter

Instruction d’affectation Définition: C’est le stockage d’une valeur à un endroit spécifique(variable). Pour affecter une valeur à une variable, on écrit : Variable Valeur Exemple : Variable valeur 1 + valeur 2 Variable valeur 1 * valeur 2 Variable valeur + Variable 1

n n n Les variables sont des références (adresses mémoires) où vont être stockées

n n n Les variables sont des références (adresses mémoires) où vont être stockées des valeurs qui peuvent changer au cours de l’exécution du programme. Les mémoires sont repérées par des numéros (pour l’ordinateur) ou des noms (pour le programmeur, qui a intérêt à choisir des noms significatifs). Chaque fois qu’on procède à une nouvelle affectation, l’ancien contenu de la mémoire est perdu et un nouveau contenu est placé dans la mémoire. Les constantes correspondent à des zones mémoires dont le contenu ne peut pas varier. ’A’ octet n° 52 01000001

Exemple Quels résultats produit l’algorithme suivant ? Les types de variables sont-ils corrects Déclaration

Exemple Quels résultats produit l’algorithme suivant ? Les types de variables sont-ils corrects Déclaration Titre : Calcul Variable Début Manipulation A ← 30 B ← A * 2 Écrire('B=' , B) C ← (B + A)/4 B D Fin A: Entier C, B : Réel D : caractère E : Booléen ← ← ← C / 5 ‘Amine’ E (A > 40) Ou (C < B) Écrire('les valeurs obtenues sont : A = ' , A , 'B = ' , B , ' C = ', C , ' D = ', D, ' E = ', E)

Etat de la mémoire Instruction Après l’instruction A ← 30 Après l’instruction B←A*2 Après

Etat de la mémoire Instruction Après l’instruction A ← 30 Après l’instruction B←A*2 Après l’instruction C ← (B + A)/4 Après l’instruction B← C/5 Après l’instruction D ← ‘Amine' Après l’instruction E ← (A >40) Ou (C<B) A B C D E 30 — — 30 60 — — — 30 60 22. 5 — — 30 4. 5 22. 5 Amine Faux —

Exercice Énoncé: Écrire l’algorithme permettant le calcul de la surface d’un cercle connaissant son

Exercice Énoncé: Écrire l’algorithme permettant le calcul de la surface d’un cercle connaissant son rayon : Surface = * Rayon 2 Entrée : La valeur du rayon Manipulation Sortie : La Surface calculée

Solution Titre : Surface d’un cercle Déclaration : Constante Pi=3. 14 Variable Rayon :

Solution Titre : Surface d’un cercle Déclaration : Constante Pi=3. 14 Variable Rayon : Entier Variable Surface : Réel * Donnée d’entrée* * Donnée de sortie* Manipulation : DEBUT Écrire ( 'Saisir la valeur du rayon' ) Lire(Rayon) Surface Rayon * Pi Écrire (' La Surface du cercle est : ', Surface) FIN

Exercice Écrire l’algorithme qui permet de déterminer le salaire mensuel d’un commercial sachant que

Exercice Écrire l’algorithme qui permet de déterminer le salaire mensuel d’un commercial sachant que ce salaire comporte un montant fixe de 4000 DHS et une commission qui représente 10% du chiffre d’affaire réalisé par mois.

- Analyse du problème Recenser les données dont on dispose, celles qu’on cherche à

- Analyse du problème Recenser les données dont on dispose, celles qu’on cherche à produire • • Choisir les actions à utiliser pour résoudre le problème - Présentation de l’algorithme * Déclarer toutes les données utilisées (variables, constantes, types) * Organiser les actions * Présenter les résultats

Solution Titre : Commission Déclaration : Constante M = 4000 Variable CA : Entier

Solution Titre : Commission Déclaration : Constante M = 4000 Variable CA : Entier * Donnée d’entrée* Com : Réel * Donnée intermédiaire* Sal : Réel * Donnée de sortie* Manipulation : DEBUT Écrire ('Donner le CA mensuel en DHS') Lire(CA) Com CA * 10/100 Sal Com + M Écrire ('Le salaire mensuel est de : ', Sal, ' en DHS ' ) FIN

Exercice Écrire un algorithme qui calcule la moyenne générale d’un étudiant sachant que celle-ci

Exercice Écrire un algorithme qui calcule la moyenne générale d’un étudiant sachant que celle-ci se calcule de la manière suivante : Moyenne = [ 3 * Note(Biologie) + 2* Note(Géologie) + Note(LCI)] / 6 Indication : Entrées: NB, NG, NLCI Algorithme Sortie: MG

Représentation en langage C (De l’algorithmique au langage C) 53 Filière MIP (S 1)

Représentation en langage C (De l’algorithmique au langage C) 53 Filière MIP (S 1) : Module I 111

Structure d’un programme C La structure d’un programme C est la suivante : Votre

Structure d’un programme C La structure d’un programme C est la suivante : Votre programme doit Obligatoirement contenir une fonction principale « main ( ) » , qui est exécutée lorsque le programme est lancé #include<stdio. h> void main () { Déclaration des variables Corps } mon. Programme. c 54 Filière MIP (S 1) : Module I 111

Structure d’un programme C #include<stdio. h> Void main () { Déclaration des variables Corps

Structure d’un programme C #include<stdio. h> Void main () { Déclaration des variables Corps } mon. Programme. c 55 Filière MIP (S 1) : Module I 111

Structure d’un programme C Mon premier programme : Bonjour tout le monde #include <stdio.

Structure d’un programme C Mon premier programme : Bonjour tout le monde #include <stdio. h> void main() { printf(" Bonjour tout le monde ") ; } On sauvegarde ce programme dans un fichier qui se nomme programme 1. c 56 Filière MIP (S 1) : Module I 111

Structure d’un programme C Mon premier programme : Bonjour tout le monde Ø La

Structure d’un programme C Mon premier programme : Bonjour tout le monde Ø La machine ne comprend que le langage machine Ø Il faut traduire mon programme 1. c en langage machine à l’aide d’un traducteur du langage C vers le langage machine Ø Un programme appelé compilateur vérifie la syntaxe de mon programme (on dit d’une façon générale, code source) et le traduit en code objet, compris par le processeur Ø Le programme en code objet ainsi obtenu peut être exécuté sur la machine 57 Filière MIP (S 1) : Module I 111

Compilation d'un programme C Schéma simplifié de la compilation #include <stdio. h> void main()

Compilation d'un programme C Schéma simplifié de la compilation #include <stdio. h> void main() { printf(" Bonjour tout le monde ") ; } 58 Filière MIP (S 1) : Module I 111

Compilation d'un programme C Schéma: Bibliothèques de fonctions et compilation 59 Filière MIP (S

Compilation d'un programme C Schéma: Bibliothèques de fonctions et compilation 59 Filière MIP (S 1) : Module I 111

Compilation d'un programme C Quelques environnements de développement Sous Windows Sous Linux Ø Eclipse

Compilation d'un programme C Quelques environnements de développement Sous Windows Sous Linux Ø Eclipse Ø Netbeans Ø Visual C++ Ø KDevelop Ø Turbo c++ Ø… Ø Dev-C++ 60 Filière MIP (S 1) : Module I 111

De l’algorithmique au C Algorithme et programmation C Algorithme somme #include <stdio. h> variable

De l’algorithmique au C Algorithme et programmation C Algorithme somme #include <stdio. h> variable X, Y: Entier void main ( ){ Début int X, Y ; X 4 X=4 ; Ecrire("Donner Y ") printf("Donner Y"); Lire(Y) scanf("%d", &Y); Ecrire(X+Y) printf("%d", X+Y); Fin } 61 Filière MIP (S 1) : Module I 111

De l’algorithmique au C Traduction de l’entête d’un algorithme Syntaxe en pseudo-code: Algorithme <nom_algorithme>

De l’algorithmique au C Traduction de l’entête d’un algorithme Syntaxe en pseudo-code: Algorithme <nom_algorithme> Syntaxe en langage C : void main ( ) (éventuellement ajouter au début du fichier #include<stdio. h>) 62 Filière MIP (S 1) : Module I 111

De l’algorithmique au C Traduction des déclarations d’un algorithme : variables Syntaxe en pseudo-code:

De l’algorithmique au C Traduction des déclarations d’un algorithme : variables Syntaxe en pseudo-code: variable<nom_variable> : <type_variable> Syntaxe en langage C : <type_variable> <nom_variable> ; 63 Filière MIP (S 1) : Module I 111

De l’algorithmique au C Traduction des déclarations d’un algorithme : variables 64 Filière MIP

De l’algorithmique au C Traduction des déclarations d’un algorithme : variables 64 Filière MIP (S 1) : Module I 111

De l’algorithmique au C Traduction des instructions : affectation Exemple: 65 Filière MIP (S

De l’algorithmique au C Traduction des instructions : affectation Exemple: 65 Filière MIP (S 1) : Module I 111

De l’algorithmique au C Traduction des instructions : écriture Exemple : 66 Filière MIP

De l’algorithmique au C Traduction des instructions : écriture Exemple : 66 Filière MIP (S 1) : Module I 111

De l’algorithmique au C Exemple : Traduire en C l'algorithme suivant 67 Filière MIP

De l’algorithmique au C Exemple : Traduire en C l'algorithme suivant 67 Filière MIP (S 1) : Module I 111

De l’algorithmique au C Corrigé #include<stdio. h> Void main ( ) { int A,

De l’algorithmique au C Corrigé #include<stdio. h> Void main ( ) { int A, B, C; A = 3; B=2; printf(" Avant échange"); printf("La valeur de A =%d et de B =%d", A, B); C=B; B=A; A=C; printf(" Après échange") ; printf("La valeur de A =%d et de B =%d", A, B); } 68 Filière MIP (S 1) : Module I 111

De l’algorithmique au C Traduction des instructions : lecture Exemple : 69 Filière MIP

De l’algorithmique au C Traduction des instructions : lecture Exemple : 69 Filière MIP (S 1) : Module I 111

De l’algorithmique au C Exemple : Traduire en C l'algorithme suivant 70 Filière MIP

De l’algorithmique au C Exemple : Traduire en C l'algorithme suivant 70 Filière MIP (S 1) : Module I 111

De l’algorithmique au C Corrigé #include<stdio. h> Void main ( ) { int A,

De l’algorithmique au C Corrigé #include<stdio. h> Void main ( ) { int A, B, C; printf("Donner A"); scanf("%d", &A); printf("Donner B"); scanf("%d ", &B) ; C=B; B=A; A=C; printf("Après échange") ; printf("La valeur de A =%d et de B =%d", A, B); } 71 Filière MIP (S 1) : Module I 111

Les Constantes caractères (Séquences d'échappement) Une séquence d'échappement est un couple de symboles dont

Les Constantes caractères (Séquences d'échappement) Une séquence d'échappement est un couple de symboles dont le premier est le signe d'échappement ''. a b t n r sonnerie curseur arrière tabulation nouvelle ligne retour au début de ligne NUL \ ? ' " f v trait oblique point d'interrogation apostrophe guillemets saut de page (imprimante) tabulateur vertical 72 Filière MIP (S 1) : Module I 111

Les opérateurs standards Opérateurs logiques Opérateurs arithmétiques + * / % addition soustraction multiplication

Les opérateurs standards Opérateurs logiques Opérateurs arithmétiques + * / % addition soustraction multiplication division (entière et rationnelle!) modulo (reste d'une div. entière) && et logique || ou logique ! négation logique Opérateurs de comparaison == != <, <=, >, >= égal à différent de plus petit que, . . . 73 Filière MIP (S 1) : Module I 111

Initialisation des variables En C, il est possible d'initialiser les variables lors de leur

Initialisation des variables En C, il est possible d'initialiser les variables lors de leur déclaration: Exemple: int A, MAX = 1023; char C, TAB = 't'; float X = 1. 05 e-4; Remarque: int A; A=10; int A=10; 74 Filière MIP (S 1) : Module I 111

Initialisation des variables Les constantes En utilisant l'attribut const, nous pouvons indiquer que la

Initialisation des variables Les constantes En utilisant l'attribut const, nous pouvons indiquer que la valeur d'une variable ne change pas au cours d'un programme. Exemple: const int MAX = 767; const double TVA = 0. 25; const double e = 2. 7; const char NEWLINE = 'n'; 75 Filière MIP (S 1) : Module I 111

Commentaires Les commentaires sont non seulement utiles, mais nécessaires à la compréhension d'un programme.

Commentaires Les commentaires sont non seulement utiles, mais nécessaires à la compréhension d'un programme. Forme « standard » : /*. . . */ ou //… Exemple: a = a + 1; /* Ceci est un commentaire de ligne */ b = b - 1; /* Et ceci en est un autre */ 76 Filière MIP (S 1) : Module I 111

Les opérateurs particuliers de C En pratique, nous retrouvons souvent des affectations comme: i

Les opérateurs particuliers de C En pratique, nous retrouvons souvent des affectations comme: i = i + 2 En C, nous utiliserons plutôt la formulation plus compacte: i += 2 L'opérateur += est un opérateur d'affectation. Pour la plupart des expressions de la forme: expr 1 = (expr 1) op (expr 2) Il existe une formulation équivalente qui utilise un opérateur d'affectation: expr 1 op= expr 2 77 Filière MIP (S 1) : Module I 111

Les opérateurs particuliers de C Opérateurs d'affectation += -= *= /= %= ajouter à

Les opérateurs particuliers de C Opérateurs d'affectation += -= *= /= %= ajouter à diminuer de multiplier par diviser par modulo Exemple A+=2; A*=B A%=B A=A+2; A=A*B; A=A%B; 78 Filière MIP (S 1) : Module I 111

Opérateurs d'incrémentation et de décrémentation Les affectations les plus fréquentes sont du type: I

Opérateurs d'incrémentation et de décrémentation Les affectations les plus fréquentes sont du type: I = I + 1 et En C, nous disposons de deux opérateurs pour ces affectations: I=I-1 I++ ou ++I pour l'incrémentation (augmentation d'une unité) I-- ou --I pour la décrémentation (diminution d'une unité) X=I++ passe d'abord la valeur de I à X et incrémente après X=I-- passe d'abord la valeur de I à X et décrémente après X=++I incrémente d'abord et passe la valeur incrémentée à X X=--I décrémente d'abord et passe la valeur décrémentée à X var ++; ⇒ Post-incrémentation ++ var; ⇒ Pré-incrémentation Exemple Supposons que la valeur de N est égal à 5: X = N++; X = ++N; Résultat: N=6 et X=5 Résultat: N=6 et X=6 79 Filière MIP (S 1) : Module I 111

Les priorités des opérateurs Priorité 1 (la plus forte): Priorité 2: Priorité 3: Priorité

Les priorités des opérateurs Priorité 1 (la plus forte): Priorité 2: Priorité 3: Priorité 4: Priorité 5: Priorité 6: Priorité 7: Priorité 8: Priorité 9 (la plus faible): () ! ++ -*/% +< <= > >= == != && || = += -= *= /= %= 80 Filière MIP (S 1) : Module I 111

Les fonctions arithmétiques standard Les fonctions suivantes sont prédéfinies dans la bibliothèque standard <math>.

Les fonctions arithmétiques standard Les fonctions suivantes sont prédéfinies dans la bibliothèque standard <math>. Pour pouvoir les utiliser, le programme doit contenir la ligne: #include<math. h> COMMANDE C exp(X) log 10(X) pow(X, Y) sqrt(X) fabs(X) sin(X) cos(X) tan(X) asin(X) acos(X) atan(X) sinh(X) cosh(X) tanh(X) EXPLICATION fonction exponentielle logarithme naturel logarithme à base 10 X exposant Y racine carrée de X valeur absolue de X sinus, cosinus, tangente de X arcsin(X), arccos(X), arctan(X) sinus, cosinus, tangente hyperboliques de X 81 Filière MIP (S 1) : Module I 111

Les conversions de type automatiques les valeurs des opérandes sont converties automatiquement dans un

Les conversions de type automatiques les valeurs des opérandes sont converties automatiquement dans un type commun. Ces manipulations implicites convertissent en général des types plus 'petits' en des types plus 'larges'; char < short ≤ int ≤ long < float < double Exemple char A=3; int B=4; float C=4; float D, E; char F; D = A/C; E = A/B; F = A/C; Ø Pour le calcul de D, A est converti en float et divisé par C. Le résultat (0. 75) est affecté à D qui est aussi du type float. On obtient donc: D=0. 75 Ø Pour le calcul de E, A est converti en int et divisé par B. Le résultat de la division (type int, valeur 0) est converti en float. On obtient donc: E=0. 000 Ø Pour le calcul de F, A est converti en float et divisé par C. Le résultat (0. 75) est retraduit en char. On obtient donc: F=0 82 Filière MIP (S 1) : Module I 111

Les conversions de type forcées (casting) Il est possible de convertir explicitement une valeur

Les conversions de type forcées (casting) Il est possible de convertir explicitement une valeur en un type quelconque en forçant la transformation à l'aide de la syntaxe: Casting (conversion de type forcée) (<Type>) <Expression> Exemple La valeur de A est explicitement convertie char A=3; int B=4; float C; C = (float)A/B; en float. La valeur de B est automatiquement convertie en float. Le résultat de la division (type rationnel, valeur 0. 75) est affecté à C. Résultat: C=0. 75 83 Filière MIP (S 1) : Module I 111

Écriture d'un caractère putchar('a'); putchar() c’est une fonction d’écriture d’un caractère. Exemples char A

Écriture d'un caractère putchar('a'); putchar() c’est une fonction d’écriture d’un caractère. Exemples char A = 225; char B = 'a'; int C = 'a'; putchar('x'); putchar('? '); putchar('n'); putchar(65); putchar(A); putchar(B); putchar(C); Remarque: /* afficher la lettre x */ /* afficher le symbole ? */ /* retour à la ligne */ /* afficher le symbole avec le code 65 (ASCII: 'A') */ /* afficher la lettre avec le code 225 (ASCII: 'ß') */ /* beep sonore */ putchar(B); printf("%c", B) ; 84 Filière MIP (S 1) : Module I 111

Lecture d'un caractère getchar() c’est une fonction de lecture d’un caractère Exemple: int C;

Lecture d'un caractère getchar() c’est une fonction de lecture d’un caractère Exemple: int C; C = getchar(); Scanf("%c", &c); 85 Filière MIP (S 1) : Module I 111

Exemple 1 : Traduire en C l'algorithme suivant Algorithme Calcul Variable A : Entier

Exemple 1 : Traduire en C l'algorithme suivant Algorithme Calcul Variable A : Entier C, B : Réel D : caractère E : Booléen Début A ← 30 B←A*2 Écrire('B=' , B) C ← (B + A)/4 B←C/5 D ← ‘A’ E ← (A > 40) Ou (C < B) Écrire('les valeurs obtenues sont : A = ' , A , 'B = ' , B , ' C =’, C, ' D = ', D, ' E = ', E) Fin 86

Exemple 2 : Traduire en C l'algorithme suivant Algorithme Surface d’un cercle Constante Pi=3.

Exemple 2 : Traduire en C l'algorithme suivant Algorithme Surface d’un cercle Constante Pi=3. 14 Variable Rayon : Entier * Donnée d’entrée* Variable Surface : Réel * Donnée de sortie* DEBUT Écrire ( 'Saisir la valeur du rayon' ) Lire(Rayon) Surface Rayon * Pi Écrire (' La Surface du cercle est : ', Surface) FIN 87

Exemple 3 : Traduire en C l'algorithme suivant Algorithme Commission Constante M = 4000

Exemple 3 : Traduire en C l'algorithme suivant Algorithme Commission Constante M = 4000 Variable CA : Entier Com : Réel Sal : Réel * M: montant fixe* * Donnée d’entrée (CA: chiffre d’affaire) * * Donnée intermédiaire (Com: commission )* * Donnée de sortie(Sal: salaire mensuel )* DEBUT Écrire ('Donner le CA mensuel en DHS') Lire(CA) Com CA * 10/100 Sal Com + M Écrire ('Le salaire mensuel est de : ', Sal, ' en DHS ' ) FIN 88

Chapitre 2: L’élément de base d’un algorithme • Structure alternative

Chapitre 2: L’élément de base d’un algorithme • Structure alternative

Structure alternative Les conditions : On appelle condition simple toute expression de la forme

Structure alternative Les conditions : On appelle condition simple toute expression de la forme : Variable 1 Opérateur Variable 2

Opérations Arithmétiques Opération Signification + Addition - Soustraction * Multiplication / Division % ou

Opérations Arithmétiques Opération Signification + Addition - Soustraction * Multiplication / Division % ou mod Modulo : le reste de la division de 2 valeurs entières

Opérations conditionnelles Pour exprimer les conditions, on utilise les opérateurs conditionnels suivants : Opérateur

Opérations conditionnelles Pour exprimer les conditions, on utilise les opérateurs conditionnels suivants : Opérateur Signification = < > <= >= <> Égal Inférieur Supérieur Inférieur ou égal Supérieur ou égal différent

Opérations logique On peut combiner des conditions à l’aide des opérateurs logiques : Opérateur

Opérations logique On peut combiner des conditions à l’aide des opérateurs logiques : Opérateur Signification Et Et logique Ou Ou logique Non Négation logique Ou = Xor Ou exclusif

Exemple Expression Résultat (4 <7) ET (9>0) Vrai (1 < 0) OU (1<>1) Faux

Exemple Expression Résultat (4 <7) ET (9>0) Vrai (1 < 0) OU (1<>1) Faux Non(13. 4 < 15) Faux

Priorité des opérations Priorité de *, / div et % par rapport à +

Priorité des opérations Priorité de *, / div et % par rapport à + et 5 + 9 * 3 = 32 et non 42 5*9+3 = 48 et non 60 Pour les opérateurs de même priorité, associativité à partir de la gauche 15 / 5 * 3 = 9 et non 1 5 – 2 + 4 = 7 et non – 1 On peut utiliser des parenthèses pour changer l’ordre des opérations : 15 / (5 * 3) = 1 (5 + 9 ) * 3 = 42

Types de variables et Opérations Priorité de *, / div et % par rapport

Types de variables et Opérations Priorité de *, / div et % par rapport à + et 5 + 9 * 3 = 32 et non 42 5*9+3 = 48 et non 60 Pour les opérateurs de même priorité, associativité à partir de la gauche 15 / 5 * 3 = 9 et non 1 5 – 2 + 4 = 7 et non – 1 On peut utiliser des parenthèses pour changer l’ordre des opérations : 15 / (5 * 3) = 1 (5 + 9 ) * 3 = 42

Structure Alternative: SI Pour exprimer le fait que des instructions vont être exécutées dans

Structure Alternative: SI Pour exprimer le fait que des instructions vont être exécutées dans un cas alors que d’autres instructions peuvent être exécutées dans l’autre cas, on utilise une structure alternative. Syntaxe : Si condition alors Actions 1 [ Sinon Actions 2] Finsi Option Facultative

Exemple Titre : Test 1 Titre : Test 2 Variable x : entier Début

Exemple Titre : Test 1 Titre : Test 2 Variable x : entier Début Écrire ('Saisir un entier x ') Lire (x) Si (x > 0) alors Écrire (' x est un nombre positif ') Écrire('x est un nombre positif ') Finsi Sinon Écrire (' x est un nombre négatif ou nul') Finsi Fin

Exercice Solution : ……………. (Reste de l’algorithme) Si (MG >= 10) alors Écrire ('Admis')

Exercice Solution : ……………. (Reste de l’algorithme) Si (MG >= 10) alors Écrire ('Admis') Sinon Écrire ('Ajourné') Finsi FIN

Exercice Écrire l’algorithme qui permet de calculer le maximum de deux entiers quelconques.

Exercice Écrire l’algorithme qui permet de calculer le maximum de deux entiers quelconques.

Solution Titre : Maximum Variable a , b, max : entier Début Écrire ('Saisir

Solution Titre : Maximum Variable a , b, max : entier Début Écrire ('Saisir deux entiers a et b ') Lire(a, b) Si (a > b) alors max a Sinon max b Finsi Écrire ('le maximum de ' , a , ' et de ' , b, ' est : ' , max) Fin

Instruction: Selon-cas

Instruction: Selon-cas

Syntaxe : Suivant Cas variable Faire Cas Valeur 1 Actions 1 Cas Valeur 2,

Syntaxe : Suivant Cas variable Faire Cas Valeur 1 Actions 1 Cas Valeur 2, Valeur 3, Valeur 4 Actions 2 Cas Valeur 5 à Valeur 7 Actions 3. . Sinon Cas Actions N Fin Suivant

Exemple Écrire l’algorithme qui permet de déterminer le nombre de jours d’un mois d’une

Exemple Écrire l’algorithme qui permet de déterminer le nombre de jours d’un mois d’une année donnée

…. Reste de l’Algorithme Selon Cas M Faire Cas 2 Action 1 Cas 1,

…. Reste de l’Algorithme Selon Cas M Faire Cas 2 Action 1 Cas 1, 3, 5, 7, 8, 10 , 12 Action 2 Cas 4, 6, 9, 11 Action 3 Sinon Cas Écrire ( 'Attention : Mois Incorrect ') Fin Suivant FIN

Structure répétitive Problème : Écrire un algorithme permettant d’afficher 300 fois le message :

Structure répétitive Problème : Écrire un algorithme permettant d’afficher 300 fois le message : ‘‘ bonjour tout le monde’’. Solution Classique : DEBUT Écrire (' Bonjour tout le monde '). . Écrire (' Bonjour tout le monde ') FIN 1 2 300

Boucle: Tant que On utilise cette instruction pour exécuter des actions tant qu’une condition

Boucle: Tant que On utilise cette instruction pour exécuter des actions tant qu’une condition est réalisée. Syntaxe : <initialisation> Tant que Condition Faire <bloc de traitement> <bloc de contrôle> Fin tant que Action

 « Sémantique : Si condition = T n Tant que Valeur(T)=Vrai le bloc

« Sémantique : Si condition = T n Tant que Valeur(T)=Vrai le bloc d'instructions R sera exécuté. n Si valeur(T)=Faux on passe à l'instruction suivante. Ø Avec TANT QUE le test fait à PRIORI. Ø Il se peut que l'on ne rentre jamais dans la boucle. Ø La boucle n'est pas INCONDITIONNELLE. On ne connaît pas à l’avance le nombre d'itérations.

Solution de l’exercice précédent : Variable i : Entier DEBUT i 0 * Initialisation

Solution de l’exercice précédent : Variable i : Entier DEBUT i 0 * Initialisation * Tant que (i < 300) Faire Écrire (' Bonjour tout le monde ') i i+1 Fin tant que FIN

Exercice Afficher tous les multiples de 9 inférieurs à 485 Titre : Multiples de

Exercice Afficher tous les multiples de 9 inférieurs à 485 Titre : Multiples de 9 Variable M, i : Entier *i: variable intermédiaire: compteur* DEBUT i 0 * initialisation de la boucle* M 0 Tant que (M < 485) Faire Écrire (M , ' est un multiple de 9 ' ) i i+1 * incrémentation du compteur * M i * 9 Fin tant que FIN

Exercice Dans cet algorithme combien de fois la boucle est- elle exécutée ? Titre

Exercice Dans cet algorithme combien de fois la boucle est- elle exécutée ? Titre : Boucle 1 Variable i , y : Entier Début i y 0 Tant Que (i<7) faire i i+1 y y+i Écrire (' y = ' , y) Fin Tant que Fin i = variable intermédiaire = compteur i i+1 = incrémentation du compteur

Boucle: Faire jusqu’à On utilise cette instruction pour exécuter des actions jusqu'à ce que

Boucle: Faire jusqu’à On utilise cette instruction pour exécuter des actions jusqu'à ce que une condition soit remplie. Syntaxe : <Initialisation> Faire <bloc de traitement> <bloc de progression > Jusqu’à Condition Action

Sémantique : Si valeur(T)= Faux la boucle est à nouveau exécutée. Si Valeur(T)=Vrai, on

Sémantique : Si valeur(T)= Faux la boucle est à nouveau exécutée. Si Valeur(T)=Vrai, on passe à l'instruction suivante. Avec Faire jusqu’à le test fait à POSTERIORI. • Il y aura un passage dans la boucle. Le bloc d’instructions sera exécuté au moins une fois. • La boucle n’est pas INCONDITIONNELLE. On ne connaît pas à l’avance le nombre d’itérations.

Exemple Titre : Boucle 2 Variable i , y : Entier Début i y

Exemple Titre : Boucle 2 Variable i , y : Entier Début i y 0 faire i i+1 y y+i Écrire (' y = ' , y) Jusqu’à (i >7) Fin Valeurs de y ?

Exercice Écrire un algorithme permettant de calculer, pour un entier N> 0, la somme

Exercice Écrire un algorithme permettant de calculer, pour un entier N> 0, la somme : SN = 1 + 2 + 3 + …… + N

Solution Variable N, S, i : Entier DEBUT Écrire (' Saisir une valeur entière

Solution Variable N, S, i : Entier DEBUT Écrire (' Saisir une valeur entière positive : ') Lire (N) S 0 * initialisation de la boucle* i 0 Faire i i + 1 S S + i jusqu’à (i > =N) Écrire (' La somme : S = ', S) FIN

Boucle: Pour La spécification de cette instruction c’est qu’elle limite le nombre de fois

Boucle: Pour La spécification de cette instruction c’est qu’elle limite le nombre de fois où doit se répéter le bloc Action Syntaxe : <Initialisation> Pour variable valeur 1 à valeur 2 faire <Bloc de traitement> Fin Pour La boucle est Inconditionnelle On connaît à priori le nombre d'itérations

Exercice Écrire un algorithme permettant le calcul du factoriel d’un entier N > 0

Exercice Écrire un algorithme permettant le calcul du factoriel d’un entier N > 0 donné : N !

Titre : Factoriel Variable N : Entier i : Entier * i variable intermédiaire

Titre : Factoriel Variable N : Entier i : Entier * i variable intermédiaire F : Entier i = compteur * DEBUT Écrire (' Saisir une valeur entière N > 0: ') Lire (N ) F 1 * initialisation de la boucle* Pour i 1 à N Faire F F*i Fin Pour Écrire (' Le factoriel de ', N , ' est : ' , F) FIN

Exercice Écrire l’algorithme permettant de calculer la moyenne des notes de N étudiants

Exercice Écrire l’algorithme permettant de calculer la moyenne des notes de N étudiants

Solution Titre : Moyenne Variable N, i : Entier note, S, Moy : Réel

Solution Titre : Moyenne Variable N, i : Entier note, S, Moy : Réel DEBUT Écrire (' Saisir le nombre d’étudiants: ') Lire (N) S 0 * initialisation de la boucle* Pour i 1 à N faire Écrire (' Saisir la note de l’Etudiant ' , i , ' : ') Lire (note) S S + note Fin Pour Moy S/N Écrire (' La moyenne est : ', Moy) FIN

A tenir Si nombre d'itérations connu Alors Boucle Pour Sinon Si itération exécutée au

A tenir Si nombre d'itérations connu Alors Boucle Pour Sinon Si itération exécutée au moins une fois Alors Boucle Faire jusqu’à Sinon Boucle Tant que faire

Boucle: tant que faire et faire jusqu’à Remarques: Soient T une condition et R

Boucle: tant que faire et faire jusqu’à Remarques: Soient T une condition et R l’action. Alors il y a équivalence entre les boucles Tant que faire et Faire jusqu’à. La syntaxe est la suivante: n Tant Que T faire R Fin Tant Que ~ Et n Faire R jusqu ’à T § Si T alors Faire R Jusqu ’à non(T) Fin. Si § ~ R Tant Que non(T) faire R Fin Tant Que

Exercice 1 - Écrire un algorithme permettant de déterminer le Nème terme d’une suite

Exercice 1 - Écrire un algorithme permettant de déterminer le Nème terme d’une suite numérique connaissant son premier terme et ses coefficients a et b et tels que: Un = a * Un-1 + b 1 n N 2 - Écrire un algorithme permettant de définir le rang N et le terme correspondant de la suite tels que UN > 1000

Solution 1) Le nombre d’itérations est connu : Boucle Pour Variable N, i :

Solution 1) Le nombre d’itérations est connu : Boucle Pour Variable N, i : Entier a, b, S : Réel DEBUT Écrire (' Saisir la valeur de N: ') Lire (N) Écrire ('Saisir la valeur du premier terme et les coefs a et b: ') Lire (S , a, b ) Pour i 1 à N faire S a * S + b Fin Pour Écrire ( ' Le terme d’’ordre: ’, N, ‘est : ', S ) FIN

2) Le nombre d’itérations inconnu : Boucle Faire jusqu’à Variable N : Entier a,

2) Le nombre d’itérations inconnu : Boucle Faire jusqu’à Variable N : Entier a, b, S : Réel DEBUT Écrire ('Saisir la valeur du premier terme et les coefs a et b: ') Lire (S , a, b) N 0 Faire S a * S + b N N + 1 Jusqu’à S > 1000 Écrire (' La somme de la série est : ', S) Écrire (' Le rang est : ', N ) FIN

Exercice Écrire un algorithme permettant de calculer la somme : Sn(x) = 1/x +

Exercice Écrire un algorithme permettant de calculer la somme : Sn(x) = 1/x + 2/x 2 + 3 /x 3 + …… + n /xn

Chapitre 4: Tableaux & fonctions

Chapitre 4: Tableaux & fonctions

Tableaux Un tableau permet de représenter un ensemble de valeurs ayant des propriétés communes

Tableaux Un tableau permet de représenter un ensemble de valeurs ayant des propriétés communes et appartenant toutes au même type. Ces variables sont identifiées par un même nom mais un numéro de repère(indice) pour chacun. Remarque : 1°- Un tableau peut être d’une ou plusieurs dimensions. 2°- La syntaxe de la déclaration d’un tableau change selon la dimension de ce dernier

Syntaxe de la déclaration : Tableau à une dimension : Tab Nom-Tableau[nombre de valeurs

Syntaxe de la déclaration : Tableau à une dimension : Tab Nom-Tableau[nombre de valeurs supportées] : Type Tableau à plusieurs dimensions : Tab Nom-Tableau[nombre de valeurs supportées en dimension 1, nombre de valeurs supportées en dimension 2, , … ] : Type

Tableau à une dimension : - Un tableau pour enregistrer les salaires de 30

Tableau à une dimension : - Un tableau pour enregistrer les salaires de 30 employés : Tab Salaires[30] : Réel Salaires[16] = 4000. 50 Tableau à plusieurs dimensions : - Une matrice d’entiers de 5 lignes et 7 colonnes : Tab Matrice-Test[5, 7 ] : Entier Matrice-Test[2, 3] = 13

Exemple 1: Calcul Moyenne Tableau Note[11]: Réel Variable Moy, Som : Réel Début Pour

Exemple 1: Calcul Moyenne Tableau Note[11]: Réel Variable Moy, Som : Réel Début Pour i ← 1 à 11 faire Ecrire ("Entrez la note n", i) Lire (Note([i]) Fpour Som ← 0 Pour i ← 1 à 11 faire Som ← Som + Note[i] Fpour Moy ← Som / 11 Ecrire (‘la moyenne est ’, Moy) Fin

Exemple 2 • Ecrire un algorithme qui permet d’afficher une matrice et de calculer

Exemple 2 • Ecrire un algorithme qui permet d’afficher une matrice et de calculer la somme de deux matrices

Fonctions et procédures Ce sont des sous-programmes auxquels on peut faire référence à l’intérieur

Fonctions et procédures Ce sont des sous-programmes auxquels on peut faire référence à l’intérieur d’un programme. Ils sont conçus pour éviter les répétitions et pour découper des programmes jugés trop longs ce qui facilite la lisibilité du programme principal. Remarques : 1°- Les Fonctions et les Procédures sont caractérisées par des paramètres d’entrée et des paramètres de sortie. 2°-La fonction retourne une seule valeur tandis que La procédure peut retourner plusieurs valeurs ou aucune.