Cours d’Informatique 1 1ère année Lotfi Hazzam Faculté de médecine, Université

Cours d’Informatique 1 1ère année Lotfi Hazzam Faculté de médecine, Université SETIF 1 Lotfi.hazzam@gmail.com Objectif et plan du cours ´ Objectif: ´ Apprendre les concepts de base de l'algorithmique et de la programmation ´ Etre capable de mettre en œuvre 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, …) ´ TP avec LARP (un outil de programmation) 2 COURS N°1: Introduction à l’informatique ´ Techniques du traitement automatique de l’information au moyen des ordinateurs ´ Eléments d’un système informatique 3 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, … 4 Qu’est ce qu’un système d’exploitation? ´ Ensemble de programmes qui gèrent le matériel et contrôlent les applications (affichage à l'écran, lecture du clavier, pilotage d’une imprimante, …) (comptes, partage des ressources, gestion des fichiers et répertoires, …) Interprétation des commandes (découpage en taches, partage du temps processeur, …) 5 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 6 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 7 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 8 exemple.c exemple exemple.bas Etapes de réalisation d’un programme 9 La réalisation de programmes passe par l’écriture d’algorithmes D’où l’intérêt de l’Algorithmique Algorithmique ´ 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), … désigne 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 10 Représentation d’un algorithme Historiquement, deux façons pour représenter un algorithme: 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 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 le langage LARP(Langage d’Algorithmes et de Résolution de Problèmes.) est un langage très proche offre les deux représentations. C’est le langage que sera utilisé dans les TPs 11 COURS N°2 : Algorithmique 12 Notion de variable ´ Dans les langages de programmation une 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 avant d’être utilisées, elle doivent être caractérisées par : ´ un nom ( ) ´ un (entier, réel, caractère, chaîne de caractères, …) 13 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 ´ doit être constitué uniquement de lettres, de chiffres et du soulignement _ (Eviter les caractères de ponctuation et les espaces) ´ doit être différent des mots réservés du langage (par exemple en : , …) ´ La longueur du nom doit être inférieure à la taille maximale spécifiée par le langage utilisé 14 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 15 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: (codé sur 2 octets) : -32 768 à 32 767 (codé sur 4 ou 8 octets) (codé sur 4 octets) (codé sur 8 octets) deux valeurs VRAI ou FAUX lettres majuscules, minuscules, chiffres, symboles, … caractère: toute suite de caractères, 16 Déclaration des variables ´ Rappel: toute variable utilisée dans un programme doit avoir fait l’objet d’une déclaration préalable ´ En pseudo-code, on va adopter la forme suivante pour la déclaration de variables ´ Exemple: Variables i, j,k : entier x, y : réel OK: booléen ch1, ch2 : chaîne de caractères ´ Remarque: pour le type numérique on va se limiter aux entiers et réels sans considérer les sous types 17 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 ← - 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 ´ Ex valides: i ←1 j ←i k ←i+j 18 Quelques remarques ´ Beaucoup de langages de programmation (C/C++, Java, …) utilisent le signe égal = pour l’affectation ←. Attention aux confusions: ´ l'affectation n'est pas commutative : A=B est différente de B=A ´ l'affectation est différente d'une équation mathématique : ´ A=A+1 a un sens en langages de programmation ´ A+1=2 n'est pas possible en langages de programmation et n'est pas équivalente à A=1 ´ 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 19 Exercices simples sur l'affectation (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 ← 3 B ← 7 A ← B B ← A+5 C ← A + B C ← B – A Fin 20 Exercices simples sur l'affectation (2) Donnez les valeurs des variables A et B après 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 ! 21 Exercices simples sur l'affectation (3) Ecrire un algorithme permettant d’échanger les valeurs de deux variables A et B Variables A, B, C : Entier Début LIRE(A,B) C ← A A ← B B ← C Fin 22 Expressions et opérateurs ´ Une expression peut être une valeur, une variable ou une opération constituée de variables reliées par des opérateurs ´ 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) ´ Une expression est évaluée de gauche à droite mais en tenant compte de priorités 23 Priorité des opérateurs ´ Pour les opérateurs arithmétiques donnés ci-dessous, l'ordre de priorité est le suivant (du plus prioritaire au moins prioritaire) : ´ ^ : (élévation à la puissance) ´ * , / (multiplication, division) ´ % (modulo) ´ + , - (addition, soustraction) 2 + 3 * 7 vaut ´ En cas de besoin (ou de doute), on utilise les parenthèses pour indiquer les opérations à effectuer en priorité 2 + 3) * 7 vaut 5 24 Les instructions d'entrées-sorties: lecture et écriture (1) ´ 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: a machine met la valeur entrée au clavier dans la zone mémoire nommée var ´ Remarque: Le programme s'arrête lorsqu'il rencontre une instruction Lire et ne se poursuit qu'après la frappe d’une valeur au clavier et de la touche Entrée 25 Les instructions d'entrées-sorties: lecture et écriture (2) ´ L'écriture permet d'afficher des résultats à l'écran uploads/Management/ cours-informatique-faculte-de-medecine.pdf

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