2007/2008 Module I2, 1ère année SMP/SMC 1 Cours d’Informatique 1ère année SMP/S

2007/2008 Module I2, 1ère année SMP/SMC 1 Cours d’Informatique 1ère année SMP/SMC 2007/2008, Semestre 2 Mouad BEN MAMOUN Moulay Driss RAHMANI Département de Mathématiques et d’Informatique, Université Mohammed V ben_mamoun@fsr.ac.ma mrahmani@fsr.ac.ma 2007/2008 Module I2, 1ère année SMP/SMC 2 Objectif et plan du cours Objectif: • Apprendre les concepts de base de l'algorithmique et de la programmation • Etre capable de mettre en oeuvre ces concepts pour analyser des problèmes simples et écrire les programmes correspondants Plan: • Généralités (matériel d’un ordinateur, systèmes d’exploitation, langages de programmation, …) • Algorithmique (affectation, instructions conditionnelles, instructions itératives, fonctions, procédures, …) • MAPLE (un outil de programmation) 2007/2008 Module I2, 1ère année SMP/SMC 3 Informatique?  Techniques du traitement automatique de l’information au moyen des ordinateurs Eléments d’un système informatique Langages Langages ( ( Java,C/C++, Fortran,etc Java,C/C++, Fortran,etc ). ). Système d’exploitation Système d’exploitation ( ( DOS,Windows, Unix, etc DOS,Windows, Unix, etc ). ). Matériel Matériel ( ( PC, Macintosh, station SUN, etc PC, Macintosh, station SUN, etc ). ). Applications Applications ( ( Word, Excel, Jeux, Maple, etc Word, Excel, Jeux, Maple, etc ). ). 2007/2008 Module I2, 1ère année SMP/SMC 4 Matériel: Principaux éléments d’un PC Unité centrale (le boîtier) • Processeur ou CPU (Central Processing Unit) • Mémoire centrale • Disque dur, lecteur disquettes, lecteur CD-ROM • Cartes spécialisées (cartes vidéo, réseau, ...) • Interfaces d'entrée-sortie (Ports série/parallèle, …) Périphériques • Moniteur (l'écran), clavier, souris • Modem, imprimante, scanner, … 2007/2008 Module I2, 1ère année SMP/SMC 5 Qu’est ce qu’un système d’exploitation? Ensemble de programmes qui gèrent le matériel et contrôlent les applications • Gestion des périphériques Gestion des périphériques (affichage à l'écran, lecture du clavier, pilotage d’une imprimante, …) • Gestion des utilisateurs et de leurs données Gestion des utilisateurs et de leurs données (comptes, partage des ressources, gestion des fichiers et répertoires, …) • Interface avec l’utilisateur (textuelle ou graphique): Interface avec l’utilisateur (textuelle ou graphique): Interprétation des commandes • Contrôle des programmes Contrôle des programmes (découpage en taches, partage du temps processeur, …) 2007/2008 Module I2, 1ère année SMP/SMC 6 Langages informatiques Un langage informatique est un outil permettant de donner des ordres (instructions) à la machine • A chaque instruction correspond une action du processeur Intérêt : écrire des programmes (suite consécutive d’instructions) déstinés à effectuer une tache donnée • Exemple: un programme de gestion de comptes bancaires Contrainte: être compréhensible par la machine 2007/2008 Module I2, 1ère année SMP/SMC 7 Langage machine Langage binaire: l’information est exprimée et manipulée sous forme d’une suite de bits Un bit (binary digit) = 0 ou 1 (2 états électriques) Une combinaison de 8 bits= 1 Octet  possibilités qui permettent de coder tous les caractères alphabétiques, numériques, et symboles tels que ?,*,&, … • Le code ASCII (American Standard Code for Information Interchange) donne les correspondances entre les caractères alphanumériques et leurs représentation binaire, Ex. A= 01000001, ?=00111111 Les opérations logiques et arithmétiques de base (addition, multiplication, … ) sont effectuées en binaire 256 28  2007/2008 Module I2, 1ère année SMP/SMC 8 L'assembleur  Problème: le langage machine est difficile à comprendre par l'humain  Idée: trouver un langage compréhensible par l'homme qui sera ensuite converti en langage machine • Assembleur Assembleur (1er langage): exprimer les instructions élémentaires de façon symbolique • +: déjà plus accessible que le langage machine • -: dépend du type de la machine (n’est pas portable portable) • -: pas assez efficace pour développer des applications complexes Apparition des langages évolués ADD A, 4 LOAD B MOV A, OUT … traducteur langage machine  2007/2008 Module I2, 1ère année SMP/SMC 9 Langages 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), exécution plus ou moins lente selon le traducteur Code source Code source en langage évolué en langage évolué Compilateur ou Compilateur ou Langage machine Langage machine interpréteur interpréteur 2007/2008 Module I2, 1ère année SMP/SMC 10 Compilateur/interpréteur Compilateur: traduire le programme entier une fois pour toutes • + plus rapide à l’exécution • + sécurité du code source • - il faut recompiler à chaque modification Interpréteur: traduire au fur et à mesure les instructions du programme à chaque exécution • + exécution instantanée appréciable pour les débutants • - exécution lente par rapport à la compilation exemple.c Compilateur Compilateur fichier source fichier source exemple fichier exécutable fichier exécutable exécution exécution exemple.bas fichier source fichier source Interprétation+exécution Interprétation+exécution 2007/2008 Module I2, 1ère année SMP/SMC 11 Langages de programmation: Deux types de langages: • Langages procéduraux • Langages orientés objets Exemples de langages: • Fortran, Cobol, Pascal, C, … Fortran, Cobol, Pascal, C, … • C++, Java, … C++, Java, … Choix d’un langage? 2007/2008 Module I2, 1ère année SMP/SMC 12 Etapes de réalisation d’un programme Spécification Spécification Analyse Analyse Traduction en langage Traduction en langage Compilation Compilation Tests et modifications Tests et modifications Enoncé du problème Enoncé du problème Cahier des charges Cahier des charges Algorithme Algorithme Programme source Programme source Programme exécutable Programme exécutable Version finale et résultats Version finale et résultats La réalisation de programmes passe par l’écriture d’algorithmes D’où l’intérêt de l’Algorithmique  2007/2008 Module I2, 1ère année SMP/SMC 13 Algorithmique  Le terme algorithme algorithme vient du nom du mathématicien arabe Al- Al- Khawarizmi Khawarizmi (820 après J.C.)  Un algorithme est une description complète et détaillée des actions à effectuer et de leur séquencement pour arriver à un résultat donné • Intérêt: séparation analyse/codage (pas de préoccupation de syntaxe) • Qualités: exact (fournit le résultat souhaité), efficace (temps d’exécution, mémoire occupée), clair (compréhensible), général (traite le plus grand nombre de cas possibles), …  L’algorithmique L’algorithmique désigne aussi la discipline qui étudie les algorithmes et leurs applications en Informatique  Une bonne connaissance de l’algorithmique permet d’écrire des algorithmes exacts et efficaces 2007/2008 Module I2, 1ère année SMP/SMC 14 Représentation d’un algorithme Historiquement, deux façons pour représenter un algorithme: • L’Organigramme: L’Organigramme: 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 • Le pseudo-code: Le pseudo-code: représentation textuelle avec une série de conventions ressemblant à un langage de programmation (sans les problèmes de syntaxe) • plus pratique pour écrire un algorithme • représentation largement utilisée 2007/2008 Module I2, 1ère année SMP/SMC 15 Algorithmique Notions et instructions de base Notions et instructions de base 2007/2008 Module I2, 1ère année SMP/SMC 16 Notion de variable Dans les langages de programmation une variable variable sert à stocker la valeur d’une donnée Une variable désigne en fait un emplacement mémoire dont le contenu peut changer au cours d’un programme (d’où le nom variable) Règle : Les variables doivent être déclarées déclarées avant d’être utilisées, elle doivent être caractérisées par : • un nom (Identificateur Identificateur) • un type type (entier, réel, caractère, chaîne de caractères, …) 2007/2008 Module I2, 1ère année SMP/SMC 17 Choix des identificateurs (1) Le choix des noms de variables 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 valide: A1 exemple invalide: 1A exemple invalide: 1A  doit être constitué uniquement de lettres, de chiffres et du soulignement _ (Eviter les caractères de ponctuation et les espaces) valides: SMIP2007, SMP_2007 valides: SMIP2007, SMP_2007 invalides: SMP 2005,SMI-2007,SMP;2007 invalides: SMP 2005,SMI-2007,SMP;2007  doit être différent des mots réservés du langage (par exemple en Java Java: int, float, else, switch, case, default, for, main, return int, float, else, switch, case, default, for, main, return, …)  La longueur du nom doit être inférieure à la taille maximale spécifiée par le langage utilisé 2007/2008 Module I2, 1ère année SMP/SMC 18 Choix des identificateurs (2) Conseil: pour la lisibilité du code choisir des noms significatifs qui décrivent les données manipulées exemples: TotalVentes2004, Prix_TTC, Prix_HT Remarque: en pseudo-code algorithmique, on va respecter les règles citées, même si on est libre dans la syntaxe 2007/2008 Module I2, 1ère année SMP/SMC 19 Types des 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) Type numérique (entier ou réel) • Byte Byte (codé sur 1octet): de 0 à 255 • Entier court Entier court (codé sur 2 octets) : -32 768 à 32 767 • Entier long Entier long (codé sur 4 ou 8 octets) • Réel simple précision Réel simple précision (codé sur 4 octets) • Réel double précision Réel double précision (codé sur 8 octets)  Type logique ou booléen Type logique ou booléen: : deux valeurs VRAI ou FAUX  Type caractère: Type caractère: lettres majuscules, minuscules, chiffres, symboles, … exemples: ’A’, ’a’, ’1’, ’?’, … exemples: ’A’, ’a’, ’1’, ’?’, …  Type chaîne de Type chaîne de caractère: toute suite de caractères, exemples: " Nom, Prénom", "code postale: 1000", … exemples: " Nom, Prénom", "code uploads/Management/ cours-d-informatique-generalites-programation-algorithme.pdf

  • 11
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Nov 07, 2022
  • Catégorie Management
  • Langue French
  • Taille du fichier 0.4216MB