DIGITAL SKILLS PDF - 2023/2024 - Université Kenitra

Document Details

BrighterCreativity1598

Uploaded by BrighterCreativity1598

Université Kenitra

2023

Soumaya El Emrani

Tags

digital skills programming computer science introduction to computer science

Summary

This document is a presentation on digital skills and introduction to computer science for undergraduate students at the Université Kenitra for the 2023/2024 academic year. It covers topics like hardware, software, programming languages, and basic computer concepts like variables and constants. The author is Pr. Soumaya El Emrani.

Full Transcript

Digital Skills Licences d’Excellence: « Ingénierie Economique et Financière » ; « Métiers de la Finance » Pr. Soumaya EL EMRANI Année universitaire: 2023/2024 Pr. Soumaya EL EMRANI 2023 1...

Digital Skills Licences d’Excellence: « Ingénierie Economique et Financière » ; « Métiers de la Finance » Pr. Soumaya EL EMRANI Année universitaire: 2023/2024 Pr. Soumaya EL EMRANI 2023 1 I. Introduction Un ordinateur possède une partie matérielle (Hardware) et une partie logicielle (Software). Cette partie logicielle contient des programmes, des applications et des données. On peut la diviser en trois grandes catégories :  Systèmes de base : ce sont les systèmes d'exploitation comme: Windows, Linux, Mac OS, etc.  Logiciels d'application : sont choisis par l’utilisateur pour répondre à ses propres besoins ou faire des traitements particuliers, comme: MsOffice (Word, Excel, PowerPoint, etc.), PhotoShop, Jeux, etc.  Langages informatiques : à fin de créer des applications et des logicielles (Python, C, Java, etc.). Pr. Soumaya EL EMRANI 2023 2 I. Introduction Langages informatiques  Un langage informatique est un outil permettant de donner des ordres (instructions) à la machine.  Chaque instruction correspond à une action du processeur. ‣ Intérêt : écrire des programmes (suite consécutive d’instructions) destinés à effectuer une tache donnée. Exemple: un programme de gestion de comptes bancaires ‣ Contrainte: être compréhensible par la machine Pr. Soumaya EL EMRANI 2023 3 I. Introduction Langage machine  Le langage machine (ou code machine) est la suite de bits (0 et 1) qui est interprétée par le processeur d'un ordinateur exécutant un programme informatique. Exemple: 1000101110011111 ‣ Idée: trouver un langage compréhensible par l'homme qui sera ensuite converti en langage machine. Pr. Soumaya EL EMRANI 2023 4 I. Introduction Langage assembleur  En programmation informatique, un langage assembleur est le langage de plus bas niveau qui représente le langage machine sous une forme lisible par un humain. Il permet d’ exprimer les instructions élémentaires d’une façon symbolique. ‣ Exemple MOV AX , 500H (mettre la valeur 500 dans le registre AX) + Déjà plus accessible que le langage machine. - Dépend du type de la machine (n’est pas portable). - Pas assez efficace pour développer des applications complexes. Apparition des langages évolués (langages de haut niveau). Pr. Soumaya EL EMRANI 2023 5 I. Introduction Langages de haut niveau Intérêts multiples pour le haut niveau:  Proche du langage humain «anglais» (compréhensible);  Permet une plus grande portabilité (indépendant du matériel);  Manipulation de données et d’expressions complexes (réels, objets, a*b/c, …)  Nécessité d’un traducteur (compilateur/interpréteur), avec une exécution plus ou moins lente selon le traducteur Code (Programme) Compilateur source en langage Langage machine évolué Pr. Soumaya EL EMRANI 2023 6 I. Introduction Langages de haut niveau Intérêts multiples pour le haut niveau:  Proche du langage humain «anglais» (compréhensible);  Permet une plus grande portabilité (indépendant du matériel);  Manipulation de données et d’expressions complexes (réels, a*b/c, …) Pr. Soumaya EL EMRANI 2023 7 I. Introduction Langages de haut niveau et compilateur  Nécessité d’un traducteur (compilateur/interpréteur), avec une exécution plus ou moins lente selon le traducteur Pr. Soumaya EL EMRANI 2023 8 II. Notions de Programme et d’Algorithme Notion de programme  Programmer = Réaliser des « programmes informatiques ».  Un programme demande à l'ordinateur d'effectuer des actions.  Un programme correspond à la description d’une méthode de résolution pour un problème donné.  Cette description est effectuée par une suite d’instructions d’un langage de programmation.  Ces instructions permettent de traiter et de transformer les données (entrées) du problème à résoudre pour aboutir à des résultats (sorties). Pr. Soumaya EL EMRANI 2023 9 II. Notions de Programme et d’Algorithme Intérêt de l’Algorithmique  Avant de communiquer à l’ordinateur comment résoudre un problème (réaliser un programme), il faut en premier lieu pouvoir le résoudre par nous même.  Passer par l’écriture d’Algorithmes Pr. Soumaya EL EMRANI 2023 10 II. Notions de Programme et d’Algorithme Étapes de réalisation d’un programme Enoncé du problème Spécification Cahier des charges Analyse Algorithme Traduction en langage de programmation Code source Compilation Code exécutable Tests et modifications Version finale et résultats Pr. Soumaya EL EMRANI 2023 11 II. Notions de Programme et d’Algorithme Notion d’Algorithme  Le terme Algorithme vient du nom du célèbre mathématicien arabe Al Khawarizmi (Abu Ja'far Mohammed Ben Mussa Al-Khwarismi).  Un Algorithme est un ensemble d'actions (ou d'instructions) séquentielles et logiquement ordonnées, permettant de transformer des données en entrée (Inputs) en données de sorties (outputs ou résultats), afin de résoudre un problème. Exemple: ⁃ Montrer le chemin à un touriste. ⁃ Résoudre l’équation du second degré: X 2 +2X+1. ⁃ ……. Pr. Soumaya EL EMRANI 2023 12 II. Notions de Programme et d’Algorithme Notion d’Algorithmique  L’algorithmique désigne le domaine qui étudie les algorithmes et leurs applications en Informatique.  Une bonne connaissance de l’algorithmique permet d’écrire des algorithmes exacts et efficaces. Pr. Soumaya EL EMRANI 2023 13 II. Notions de Programme et d’Algorithme Données: Entrées-Sorties Données Données d’Entrée Données de Sortie (Inputs) Données Intermédiaires (Outputs) Les données que Les données que Les données utilisées l’algorithme doit l’utilisateur doit fournir par l’algorithme pour montrer à l’utilisateur à l’algorithme le traitement lié au (Solution du problème problème) Pr. Soumaya EL EMRANI 2023 14 II. Notions de Programme et d’Algorithme Vue globale d’un Algorithme Données d’Entrée Instructions des (Inputs) entrées Algorithme Traitements Données (Instructions) Intermédiaires Données + Instructions Données de Sortie Instructions des (Outputs) sorties Pr. Soumaya EL EMRANI 2023 15 II. Notions de Programme et d’Algorithme Représentation d’un Algorithme  Le pseudo-code: représentation textuelle avec une série de conventions ressemblant à un langage de programmation. ⁃ Plus pratique pour écrire un algorithme. ⁃ Représentation largement utilisée.  L’Organigramme (Algorigramme) : représentation graphique avec des symboles (carrés, losanges, etc.) ⁃ Offre une vue d’ensemble de l’algorithme. ⁃ Représentation quasiment abandonnée aujourd’hui. Pr. Soumaya EL EMRANI 2023 16 II. Notions de Programme et d’Algorithme Propriétés d’un Algorithme  La précision : il doit être précis et compréhensible;  La concision : il ne doit pas être trop long;  La lisibilité : il doit contenir assez de commentaire pour faciliter sa compréhension;  L’efficacité : il doit bien résoudre le problème posé dans des brefs délais possible;  La finitude : il doit avoir une fin. Pr. Soumaya EL EMRANI 2023 17 II. Notions de Programme et d’Algorithme Structure d’un Algorithme Pr. Soumaya EL EMRANI 2023 18 II. Notions de Programme et d’Algorithme Structure d’un Algorithme ‣ Exemple Algorithme Max_Deux_Nbre Variables A, B : entier Début Lire(A) Lire(B) Si (B < A) Ecrire ("A est plus grand que B") Sinon Ecrire("B est plus grand que A") Fin Si Fin Pr. Soumaya EL EMRANI 2023 19 III. Notions de donnée, de variable et de constante Données: Variables et Constantes  Une donnée représente une information liée à un élément du problème traité par l’algorithme. Sert à stocker la valeur d’une donnée. Variable Désigne en fait un emplacement mémoire dont le contenu peut changer au cours d’un programme. Données Constante C’est un objet contenant une valeur fixe (ne peut jamais être modifié). Pr. Soumaya EL EMRANI 2023 20 III. Notions de donnée, de variable et de constante Données: Identificateur  Chaque donnée (Variable ou Constante) manipulée par un algorithme est désignées par un nom unique appelé IDENTIFICATEUR.  Identificateur : est soumis à quelques règles qui varient selon le langage, mais en général: ⁃ Un nom doit commencer par une lettre alphabétique. Exemple valide: A1 Exemple invalide: 1A Pr. Soumaya EL EMRANI 2023 21 III. Notions de donnée, de variable et de constante Données: Identificateur ⁃ Il doit être constitué uniquement de lettres, de chiffres et du soulignement _ (Eviter les caractères de ponctuation et les espaces) Exemples valides: FEG23, FEG_2023 Invalides: FEG 2023, FEG;2023 ⁃ Il doit être différent des mots réservés du langage (par exemple en Java: int, float, else, for…) ⁃ La longueur du nom doit être inférieure à la taille maximale spécifiée par le langage utilisé. Pr. Soumaya EL EMRANI 2023 22 III. Notions de donnée, de variable et de constante Données: Identificateur  Conseil: pour la lisibilité du code, choisissez des noms significatifs qui décrivent les données manipulées. Exemples: TotalVentes2023, Prix_TTC, Prix_HT  Remarque : ⁃ Même l’algorithme lui-même possède un nom unique (identificateur). ⁃ Un identificateur est affecté à un seul objet. On peut jamais utiliser le même identificateur pour deux variables ou constantes différentes. Pr. Soumaya EL EMRANI 2023 23 III. Notions de donnée, de variable et de constante Types de variables Le type d’une variable détermine l’ensemble des valeurs qu’elle peut prendre. Les types offerts par la plus part des langages sont:  Type numérique (entier ou réel) ⁃ Byte ⁃ Entier court ⁃ Entier long ⁃ Réel simple précision ⁃ Réel double précision  Type logique ou booléen: deux valeurs VRAI ou FAUX  Type caractère: lettres majuscules, minuscules, chiffres, symboles (exemple: ’A’, ’a’, ’1’, ’?’, …).  Type chaîne de caractère: toute suite de caractères (exemple: " Nom, Prénom", "code postale: 1000",…). Pr. Soumaya EL EMRANI 2023 24 III. Notions de donnée, de variable et de constante Déclaration de variables  En général, toute variable utilisée dans un programme doit être l’objet d’une déclaration préalable (cas différent avec le langage python).  En pseudo-code, la déclaration de variables est effectuée par la forme suivante: Variables liste d'identificateurs : type ‣ Exemple: Variables i : entier j: entier k: entier x, y : réel OK: booléen ch1, ch2 : chaîne de caractères Pr. Soumaya EL EMRANI 2023 25 III. Notions de donnée, de variable et de constante Variables: Remarques  Pour le type numérique, on va se limiter aux entiers et réels sans considérer les sous types.  Pour chaque type de variables, il existe un ensemble d'opérations correspondant.  Une variable est l'association d'un nom avec un type, permettant de mémoriser une valeur de ce type. Pr. Soumaya EL EMRANI 2023 26 III. Notions de donnée, de variable et de constante Constantes  Rappel: Une constante est une variable dont la valeur ne change pas au cours de l'exécution du programme, elle peut être un nombre, un caractère, ou une chaine de caractères.  En pseudo-code, la déclaration de constantes est effectuée par la forme suivante: Constante identificateur = valeur : type (Par convention, les noms de constantes sont en MAJUSCULES) ‣ Exemple : Pour calculer la surface des cercles, la valeur de pi est une constante mais le rayon est une variable: Constante PI=3.14 : réel MIN=17 : entier  Une constante doit toujours recevoir une valeur dès sa déclaration. Pr. Soumaya EL EMRANI 2023 27 IV. Types d’instructions L’instruction d’affectation  L’affectation consiste à attribuer une valeur à une variable (ça consiste en fait à remplir où à modifier le contenu d'une zone mémoire)  En pseudo-code, l'affectation se note avec le signe ← Var← e: attribue la valeur de e à la variable Var ‣ e peut être une valeur, une autre variable ou une expression ‣ Var et e doivent être de même type ou de types compatibles ‣ L’affectation ne modifie que ce qui est à gauche de la flèche Pr. Soumaya EL EMRANI 2023 28 IV. Types d’instructions L’instruction d’affectation ‣ Exemples valides: ‣ Exemples non valides: i ←1 j ←i i ←10.3 k ←i+j OK ← "FEG" x ←10.3 OK ←FAUX j ←x ch1 ← "FEG " ch2 ←ch1 x ←4 x ←j (avec i, j, k : entier; x :réel; ok :booléen; ch1,ch2 :chaine de caractères) Pr. Soumaya EL EMRANI 2023 29 IV. Types d’instructions L’instruction d’affectation: Remarques  Beaucoup de langages de programmation (comme Python, C, C++, Java, …) utilisent le signe égal = pour l’affectation ←.  Lors d’une affectation, l’expression de droite est évaluée et la valeur trouvée est affectée à la variable de gauche. Ainsi, A←B est différente de B←A  L'affectation est différente d'une équation mathématique : ‣ A+1 ← 3 n'est pas possible en langages de programmation et n'est pas équivalente à A ← 2. ‣ Les opérations x ← x+1 et x ← x-1 ont un sens en programmation et se nomment respectivement incrémentation et décrémentation.  Certains langages donnent des valeurs par défaut aux variables déclarées. Pour éviter tout problème il est préférable d'initialiser les variables déclarées. Pr. Soumaya EL EMRANI 2023 30 IV. Types d’instructions L’instruction d’affectation: Exemple Algorithme exemple // La partie déclaration de l’algorithme Constantes const1←20 : entier const2←"bonjour!" : chaîne Variables // les variables proprement dites var1, var2 : réels var3 : chaîne Début // corps de l’algorithme Fin Pr. Soumaya EL EMRANI 2023 31 IV. Types d’instructions L’instruction d’affectation ‣ Exercice 1 Donnez les valeurs des variables A, B et C après exécution des instructions suivantes ? Variables A, B, C: Entier Début A←9 B ← 17 A←B B ← A+5 C←A+B C←B–A Fin Pr. Soumaya EL EMRANI 2023 32 IV. Types d’instructions L’instruction d’affectation ‣ Exercice 2 Donnez les valeurs des variables A et B après l’exécution des instructions suivantes ? Variables A, B : Entier Début A←1 B←2 A←B B←A Fin Les deux dernières instructions permettent-elles d’échanger les valeurs de A et B ? Pr. Soumaya EL EMRANI 2023 33 IV. Types d’instructions L’instruction d’affectation ‣ Exercice 3 Ecrire un algorithme permettant d’échanger les valeurs de deux variables A et B Réponse On utilise une variable auxiliaire C et on écrit les instructions suivantes : C  A; A  B; B  C; Pr. Soumaya EL EMRANI 2023 34 IV. Types d’instructions Les expressions et les opérateurs  Une expression peut être une valeur, une variable ou une opération constituée de variables reliées par des opérateurs (Exemples: 1, b, a*2, a+ 3*b-c, …).  L'évaluation de l'expression fournit une valeur unique qui est le résultat de l'opération.  Les opérateurs dépendent du type de l'opération, ils peuvent être : ‣ Des opérateurs arithmétiques: +, -, *, /, % (modulo), ^(puissance) ‣ Des opérateurs logiques: NON (!), OU (||), ET (&&) ‣ Des opérateurs relationnels: =, , = ‣ Des opérateurs sur les chaînes: & (concaténation) Pr. Soumaya EL EMRANI 2023 35 IV. Types d’instructions Les expressions et les opérateurs: Priorité des opérateurs  Pour les opérateurs arithmétiques donnés ci-dessus, l'ordre de priorité est le suivant (du plus prioritaire au moins prioritaire) : ‣ ^ : (élévation à la puissance) ‣ * , / (multiplication, division) ‣ % (modulo) ‣ + , - (addition, soustraction) Exemple: 9+3*4 vaut 21  En cas de besoin (ou de doute), on utilise les parenthèses pour indiquer les opérations à effectuer en priorité Exemple: (9 + 3) * 4 vaut 48 Pr. Soumaya EL EMRANI 2023 36 IV. Types d’instructions Les expressions et les opérateurs: Remarques  Une expression est évaluée de gauche à droite mais en tenant compte des priorités des opérateurs.  On ne peut pas additionner un entier et un caractère.  La signification d’un opérateur peut changer en fonction du type des opérandes: ‣ L’opérateur + avec des entiers effectue l’addition, 3+6 vaut 9 ‣ Avec des chaînes de caractères il effectue la concaténation : "bonjour" + " tout le monde " vaut "bonjour tout le monde" Pr. Soumaya EL EMRANI 2023 37 IV. Types d’instructions Les instructions d’entrées et sorties : lecture et écriture  Les instructions de lecture et d'écriture permettent à la machine de communiquer avec l'utilisateur.  La lecture permet d'entrer des donnés à partir du clavier ‣ En pseudo-code, on note: lire (var) La machine met la valeur entrée au clavier dans la zone mémoire nommée var Pr. Soumaya EL EMRANI 2023 38 IV. Types d’instructions Les instructions d’entrées et sorties : lecture et écriture  L'écriture permet d'afficher un message texte ou des résultats (valeur fixe, valeur d’une variable ou une valeur calculé) sur l'écran. ‣ En pseudo-code, on note: écrire (liste d’expressions) La machine affiche les valeurs des expressions décrite dans la liste.  Ces instructions peuvent être des variables ayant des valeurs, des nombres ou des commentaires sous forme de chaines de caractères. ‣ Exemple : écrire(a, b+2, "Message")  Conseil : Avant de lire une variable, il est fortement conseillé d’écrire des messages à l’écran, afin de prévenir l’utilisateur de ce qu’il doit taper. Pr. Soumaya EL EMRANI 2023 39 IV. Types d’instructions Les instructions d’entrées et sorties : lecture et écriture  Exemple Ecrire un algorithme qui demande un nombre entier à l'utilisateur, puis qui calcule et affiche le double de ce nombre. Algorithme Calcul_double variables A, B : entier Début écrire("entrer le nombre ") lire(A) B ← 2*A écrire("le double de ", A, "est :", B) Fin Pr. Soumaya EL EMRANI 2023 40 IV. Types d’instructions Les instructions d’entrées et sorties : lecture et écriture ‣ Exercice 4 Écrire un algorithme qui demande un nombre entier à l'utilisateur, puis qui calcule et affiche le carré de ce nombre. Réponse Algorithme Calcul_du_Carre variables A, B : entier Début écrire("entrer la valeur de A ") lire(A) B ← A*A écrire("le carre de ", A, "est :", B) Fin Pr. Soumaya EL EMRANI 2023 41 IV. Types d’instructions Les instructions d’entrées et sorties : lecture et écriture ‣ Exercice 5 Ecrire un algorithme qui vous demande de saisir votre nom puis votre prénom et qui affiche ensuite votre nom complet Réponse Algorithme AffichageNomComplet variables Nom, Prenom, Nom_Complet : chaîne de caractères Début écrire("entrez votre nom") lire(Nom) écrire("entrez votre prénom") lire(Prenom) Nom_Complet ← Nom & " " & Prenom écrire("Votre nom complet est : ", Nom_Complet) Pr. Soumaya EL EMRANI 2023 42 Fin IV. Types d’instructions Les instructions conditionnelles : Les tests  Une condition est une expression écrite entre parenthèse à valeur booléenne (vraie ou fausse).  Les instructions conditionnelles servent à n'exécuter une instruction ou une séquence d'instructions que si une condition est vérifiée.  En pseudo-code : Si condition alors instruction ou suite d'instructions1 Sinon instruction ou suite d'instructions2 Finsi Pr. Soumaya EL EMRANI 2023 43 IV. Types d’instructions Les instructions conditionnelles : Les tests  Remarques: ‣ La condition ne peut être que vraie ou fausse. ‣ Si la condition est vraie alors seules les instructions1 sont exécutées. ‣ Si la condition est fausse seules les instructions2 sont exécutées. ‣ La condition peut être une condition simple ou une condition composée de plusieurs conditions ‣ La partie Sinon est optionnelle, on peut avoir la forme simplifiée suivante: Si condition alors instruction ou suite d'instructions1 Finsi Pr. Soumaya EL EMRANI 2023 44 IV. Types d’instructions Les instructions conditionnelles : Les tests  Exemple (Version 1): Algorithme AffichageValeurAbsolue //Rôle : affiche la valeur absolue d’un réel //Données : la valeur à calculer //Résultat : la valeur absolue Variable x : réel Début Ecrire (" Entrez un réel : “) Lire (x) Si (x < 0) alors Ecrire ("la valeur absolue de ", x, "est:",-x) Sinon Ecrire ("la valeur absolue de ", x, "est:",x) Finsi Fin Pr. Soumaya EL EMRANI 2023 45 IV. Types d’instructions Les instructions conditionnelles : Les tests  Exemple (Version 2): Algorithme AffichageValeurAbsolue Variable x,y : réel Début Ecrire (" Entrez un réel : “) Lire (x) y← x Si (x < 0) alors y ← -x Finsi Ecrire ("la valeur absolue de ", x, "est:",y) Fin Pr. Soumaya EL EMRANI 2023 46 IV. Types d’instructions Les instructions conditionnelles : Les tests ‣ Exercice 6 Ecrire un algorithme qui demande un nombre entier à l'utilisateur, puis qui teste et affiche s'il est divisible par 2 Réponse Algorithme Divsible_par2 Variable n : entier Début Ecrire (" Entrez un entier : ") Lire (n) Si (n%2=0) alors Ecrire (n," est divisible par 2") Sinon Ecrire (n," n'est pas divisible par 2") Finsi Fin Pr. Soumaya EL EMRANI 2023 47 IV. Types d’instructions Les instructions conditionnelles : Les conditions composées  Une condition composée est une condition formée de plusieurs conditions simples reliées par des opérateurs logiques, comme: ET, OU, NON, et OU exclusif (XOR). C1 C2 C1 ET C2 C1 C2 C1 OU C2 C1 C2 C1 XOR C2 VRAI VRAI VRAI VRAI VRAI VRAI VRAI VRAI FAUX VRAI FAUX FAUX VRAI FAUX VRAI VRAI FAUX VRAI FAUX VRAI FAUX FAUX VRAI VRAI FAUX VRAI VRAI FAUX FAUX FAUX FAUX FAUX FAUX FAUX FAUX FAUX C1 NON C1 VRAI FAUX FAUX VRAI Pr. Soumaya EL EMRANI 2023 48 IV. Types d’instructions Les instructions conditionnelles : Les conditions composées  Exemples : ⁃ x compris entre 2 et 6 : (x > 2) ET (x < 6) ⁃ n divisible par 3 ou par 2 : (n%3=0) OU (n%2=0) ⁃ Deux valeurs et deux seulement sont identiques parmi a, b et c : (a=b) XOR (a=c) XOR (b=c) Pr. Soumaya EL EMRANI 2023 49 IV. Types d’instructions Les instructions conditionnelles : Les tests imbriqués  Les tests peuvent avoir un degré quelconque d'imbrications: Si condition1 alors Si condition2 alors instructionsA Sinon instructionsB Finsi Sinon Si condition3 alors instructionsC Finsi Finsi Pr. Soumaya EL EMRANI 2023 50 IV. Types d’instructions Les instructions conditionnelles : Les tests imbriqués  Exemple (Version 1): Algorithme test_Nombre Variable n : entier Début Ecrire ("entrez un nombre : ") Lire (n) Si (n < 0) alors Ecrire ("Ce nombre est négatif") Finsi Si (n = 0) alors Ecrire ("Ce nombre est nul") Finsi Si (n > 0) alors Ecrire ("Ce nombre est positif") Finsi Fin Pr. Soumaya EL EMRANI 2023 51 IV. Types d’instructions Les instructions conditionnelles : Les tests imbriqués  Exemple (Version 2): Algorithme test_Nombre Variable n : entier ‣ Remarque : dans la version 1 on Début fait trois tests systématiquement Ecrire ("entrez un nombre : ") alors que dans la version 2, si le Lire (n) nombre est négatif on ne fait Si (n < 0) alors qu'un seul test. Ecrire ("Ce nombre est négatif") Sinon Si (n = 0) alors ‣ Conseil : utiliser les tests imbriqués pour limiter le nombre Ecrire ("Ce nombre est nul") de tests et placer d'abord les Sinon conditions les plus probables. Ecrire ("Ce nombre est positif") Finsi Finsi Fin Pr. Soumaya EL EMRANI 2023 52 IV. Types d’instructions Les instructions conditionnelles : Les tests imbriqués ‣ Exercice 7 Le prix de disques compacts (CDs) dans un espace de vente varie selon le nombre à acheter: 5 DH l’unité si le nombre de CDs à acheter est inférieur à 10, 4 DH l’unité si le nombre de CDs à acheter est compris entre 10 et 20, et 3 DH l’unité si le nombre de CDs à acheter est au-delà de 20. Écrire un algorithme qui demande à l’utilisateur le nombre de CDs à acheter, qui calcule et qui affiche le prix à payer. Pr. Soumaya EL EMRANI 2023 53 IV. Types d’instructions Réponse Algorithme Prix_CD Variables unites : entier prix : réel // pour ce cas on peut utiliser prix: entier Début Ecrire ("Veuillez entrer le nombre d’unités : ") Lire (unites) Si (unites < 10) alors prix ← unites*5 Sinon Si (unites < 20) alors // Vaut: (unites>=10 et unites < 20) prix ← unites*4 Sinon prix ← unites*3 Finsi Finsi Ecrire (“Le prix à payer est : ”, prix) Fin Pr. Soumaya EL EMRANI 2023 54 IV. Types d’instructions Les instructions itératives: Les boucles  Dans certaines situations, on est amener à répéter l’exécution d’une ou plusieurs instructions. ‣ Exemple: Ecrire un algorithme qui affiche les nombres de 1 à 10000 ? Algorithme Exemple1 Début Ecrire(1) Ecrire(2) Ecrire(3) Ecrire(4) …. Ecrire(10000) Fin Pr. Soumaya EL EMRANI 2023 55 IV. Types d’instructions Les instructions itératives: Les boucles  Les boucles servent à répéter l'exécution d'un groupe d'instructions un certain nombre de fois.  On distingue trois sortes de boucles en langages de programmation : ⁃ Les boucles pour ou avec compteur : on y répète des instructions en faisant évoluer un compteur (variable particulière) entre une valeur initiale et une valeur finale. ⁃ Les boucles tant que : on y répète des instructions tant qu'une certaine condition est réalisée. ⁃ Les boucles répéter – jusqu’à : on y répète des instructions jusqu'à ce qu'une certaine condition soit réalisée. Pr. Soumaya EL EMRANI 2023 56 IV. Types d’instructions Les instructions itératives: Les boucles  La boucle Pour ⁃ L’instruction de boucle Pour permet de répéter l’exécution d’un bloc d’instructions. ⁃ Elle utilise un compteur d’itération, une valeur initiale et une valeur finale du compteur. ⁃ Le compteur est incrémenté automatiquement. ⁃ En pseudo-code: Pour compteur allant de initiale à finale Faire instructions FinPour Pr. Soumaya EL EMRANI 2023 57 IV. Types d’instructions  La boucle Pour ‣ Exemple: ⁃ Calcul de x à la puissance n, où x est un réel non nul et n un entier positif ou nul. Variables x, puiss : réel n, i : entier Début Ecrire (" Entrez la valeur de x ") Lire (x) Ecrire (" Entrez la valeur de n ") Lire (n) puiss ← 1 Pour i allant de 1 à n Faire // on peut aussi écrire: Pour i ← 1 à n puiss← puiss*x FinPour Ecrire (x, " à la puissance ", n, " est égal à ", puiss) Fin Pr. Soumaya EL EMRANI 2023 58 IV. Types d’instructions Les instructions itératives: Les boucles  La boucle Pour ‣ Remarques : ⁃ Le nombre d'itérations dans une boucle Pour est connu avant le début de la boucle. ⁃ Compteur est une variable de type entier (ou caractère). Elle doit être déclarée. ⁃ Pas est un entier qui peut être positif ou négatif. Pas peut ne pas être mentionné, car par défaut sa valeur est égal à 1. Dans ce cas, le nombre d'itérations est égal à finale - initiale+ 1 Pr. Soumaya EL EMRANI 2023 59 IV. Types d’instructions Les instructions itératives: Les boucles  La boucle Pour ‣ Quand-est-ce que nous utiliserons l’instruction de boucle pour? ⁃ En générale, si le nombre d’itérations (de répétitions) est connu (par exemple Nb). On peut utiliser la boucle Pour. Pr. Soumaya EL EMRANI 2023 60 IV. Types d’instructions Les instructions itératives: Les boucles  La boucle Pour ‣ Exercice 9 Ecrire un algorithme qui demande un nombre de départ, et qui ensuite écrit la table de multiplication de ce nombre (de 1 à 10), présentée comme suit (cas où l'utilisateur entre le nombre 4) : Table de 4 : 4x1=4 4x2=8 4 x 3 = 12 … 4 x 10 = 40 Pr. Soumaya EL EMRANI 2023 61 IV. Types d’instructions Réponse Algorithme Table_Multiplication Variables N, i : entier Début Ecrire ("Entrez un nombre : ") Lire (N) Ecrire ("La table de multiplication de ce nombre est : ") Pour i allant de 1 à 10 Faire Ecrire (N, " x ", i, " = ", N*i) i ←i+1 FinPour Fin Pr. Soumaya EL EMRANI 2023 62 IV. Types d’instructions Les instructions itératives: Les boucles  La boucle Pour ‣ Exercice 10 Ecrire un algorithme qui permet à l’utilisateur de calculer le factoriel d’un nombre entier (n!). Rappel : 5! = 1x2x3x4x5 Pr. Soumaya EL EMRANI 2023 63 IV. Types d’instructions Réponse Algorithme Factoriel Variables n, i, F : entier Début Ecrire ("Entrez un nombre : ") Lire (n) F←1 Pour i allant de 1 à n Faire F ←F*i FinPour Ecrire (" Le factoriel de ", n, "est:", F) Fin Pr. Soumaya EL EMRANI 2023 64 IV. Types d’instructions Les instructions itératives: Les boucles  La boucle Tant que ⁃ La condition (dite condition de contrôle de la boucle) est évaluée avant chaque itération; ⁃ Si la condition est vraie, on exécute les instructions (corps de la boucle), puis, on retourne tester la condition. Si elle est encore vraie, on répète l'exécution, … ⁃ Si la condition est fausse, on sort de la boucle et on exécute l'instruction qui est après FinTantQue. ⁃ Il est possible que les instructions à répéter ne soient jamais exécutées. ⁃ En pseudo-code: Tant que (Condition) instructions FinTantQue Pr. Soumaya EL EMRANI 2023 65 IV. Types d’instructions Les instructions itératives: Les boucles  La boucle Tant que ⁃ Le nombre d'itérations dans une boucle TantQue n'est pas connu au moment d'entrée dans la boucle. Il dépend de l'évolution de la valeur de la condition. ⁃ Une des instructions du corps de la boucle doit absolument changer la valeur de la condition de vrai à faux (après un certain nombre d'itérations), sinon le programme va tourner indéfiniment. Attention aux boucles infinies Exemple de boucle infinie Correction i  1 i  1 Tant Que i>0 Tant Que i

Use Quizgecko on...
Browser
Browser