Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parHippolyte Clermont Modifié depuis plus de 8 années
1
Introduction à l’Informatique Licence SPI Mme Delmotte
2
Introduction Deux objectifs: présenter l' informatique de façon générale, apprendre les techniques de base de l'algorithmique et de la programmation. À la fin de cet enseignement, vous serez capables de mettre en œuvre correctement un programme répondant à un problème simple.
3
L'informatique: Qu'est-ce que c'est? Opinion généralement répandue: Tout ce qui est lié à l'ordinateur Utilisation de logiciels (bureautique, multimédia, jeux,...) matériel (électronique)
4
L'informatique: Qu'est-ce que c'est? Opinion généralement répandue: Tout ce qui est lié à l'ordinateur Utilisation de logiciels (bureautique, multimédia, jeux,...) matériel (électronique) Définition (Larousse): (de information et automatique) Science du traitement automatique et rationnel de l'information considérée comme le support des connaissances et des communications.
5
traitement automatique de l'information Capter Les informations par des organes d'entrée (clavier, fichiers, webcam,...)
6
traitement automatique de l'information Capter Les informations par des organes d'entrée (clavier, fichiers, webcam,...) Transmettre ces informations par des lignes de transmission (bus, câbles,...)
7
traitement automatique de l'information Capter Les informations par des organes d'entrée (clavier, fichiers, webcam,...) Transmettre ces informations par des lignes de transmission (bus, câbles,...) Stocker dans des mémoires (mémoire vive, disque dur, DVD,...)
8
traitement automatique de l'information Capter Les informations par des organes d'entrée (clavier, fichiers, webcam,...) Transmettre ces informations par des lignes de transmission (bus, câbles,...) Stocker dans des mémoires (mémoire vive, disque dur, DVD,...) Traiter dans une unité de traitement (processeur ou unité centrale d'ordinateur) grâce à un logiciel
9
traitement automatique de l'information Capter Les informations par des organes d'entrée (clavier, fichiers, webcam,...) Transmettre ces informations par des lignes de transmission (bus, câbles,...) Stocker dans des mémoires (mémoire vive, disque dur, DVD,...) Traiter dans une unité de traitement (processeur ou unité centrale d'ordinateur) grâce à un logiciel Restituer À l'utilisateur par des organes de sortie (écran, imprimante, haut parleur,...)
10
Capter les informations par des organes d'entrée Quelles informations, sous quelles formes?
11
Capter les informations par des organes d'entrée Quelles informations, sous quelles formes? des nombres (entier, réel, signé ou non,...)
12
Capter les informations par des organes d'entrée Quelles informations, sous quelles formes? des nombres (entier, réel, signé ou non,...) du texte (différents encodages selon le pays: ASCII, UTF8,...)
13
Capter les informations par des organes d'entrée Quelles informations, sous quelles formes? des nombres (entier, réel, signé ou non,...) du texte (différents encodages selon le pays: ASCII, UTF8,...) des images (différents formats: jpeg, png, gif, bmp, ti,...) Du son(wav, mp3, ogg, aac, wma,...) des vidéos (Film DVD,...)...
14
Capter les informations par des organes d'entrée Quelles informations, sous quelles formes? des nombres (entier, réel, signé ou non,...) du texte (différents encodages selon le pays: ASCII, UTF8,...) des images (différents formats: jpeg, png, gif, bmp, ti,...) Du son(wav, mp3, ogg, aac, wma,...) des vidéos (Film DVD,...)... Toutes ces informations sont captées sous forme de code binaire (des 0 et des 1)
15
Algorithmique et programmation Un algorithme, c'est une méthode. Une façon systématique de procéder pour faire quelque chose : trier des objets, situer des villes sur une carte, multiplier deux nombres, extraire une racine carrée, chercher un mot dans le dictionnaire… Définition (Larousse): (latin médiéval algorithmus, latinisation du nom du mathématicien persan Al-Khwa-Rizm (Bagdad, 780 – 850), avec influence du grec arithmos, nombre) Ensemble de règles opératoires dont l'application permet de résoudre un problème énoncé au moyen d'un nombre fini d'opérations. Un algorithme peut être traduit, grâce à un langage de programmation, en un programme exécutable par un ordinateur.
16
Quelques points importants : Un algorithme décrit un traitement sur un ensemble fini de données de nature simple (nombres ou caractères), ou plus complexes (données structurées) est constitué d’un ensemble fini d’actions composées d’opérations ou actions élémentaires. doit toujours se terminer après un nombre fini d’opérations. nécessite un langage clair (compréhension) structuré (enchaînements d’opérations) non ambiguë, universel (indépendants du langage de programmation choisi)
17
Cycle de développement Problème à résoudre Problème spécifique AlgorithmeProgrammeRésultat
18
Cycle de développement Problème à résoudre Problème spécifique AlgorithmeProgrammeRésultat ANALYSE : Phase de réflexion qui permet D'identifier précisément le problème D'identifier les caractéristiques du problème à traiter données résultats cas particuliers traitement,... De découper le problème en une succession de taches simples et distinctes (sous-problèmes).
19
Cycle de développement Problème à résoudre Problème spécifique AlgorithmeProgrammeRésultat Conception : Suite des opérations a mettre en œuvre pour obtenir un résultat a partir de données Faire ressortir la logique de la résolution du problème Proche mais indépendant des langages de programmation Obtenir le résultat correct quelles que soient les valeurs des données
20
Cycle de développement Problème à résoudre Problème spécifique AlgorithmeProgrammeRésultat Codage : Programme: Un ou plusieurs fichiers texte contenant des instructions permettant de résoudre le problème posé, écrites dans un langage informatique (ex:JAVA, C, FORTRAN, COBOL, BASIC,...). Remarque: certains sous-programmes peuvent être stockes dans des fichiers annexes au programme bibliothèque de fonctions Programmation: Traduction du langage algorithmique en langage de programmation.
21
Cycle de développement Problème à résoudre Problème spécifique AlgorithmeProgrammeRésultat Test : Compilation: Transformation en langage machine d’un programme écrit en langage de programmation. ⇒ Utilisation d’un compilateur: ex dev C++ Crée le fichier contenant le programme exécutable. Exécution: L’ordinateur effectue les instructions du programme.
22
Structure d’un algorithme Algorithme déclaration des variables début instructions...... fin
23
Structure d’un algorithme Exemple: on veut écrire un algorithme permettant de saluer une personne qui donne son nom. Spécification du problème: Données: nom de la personne résultat: afficher 'bonjour' suivi du nom principe: saisir le nom, créer le message, puis l'afficher
24
Structure d’un algorithme Exemple: on veut écrire un algorithme permettant de saluer une personne qui donne son nom. Spécification du problème: Données: nom de la personne résultat: afficher 'bonjour' suivi du nom principe: saisir le nom, créer le message, puis l'afficher Algorithme Chaîne nom, salutation; début écrire"Quel est votre nom?"; lire nom; salutation← "Bonjour"+nom; écrire salutation; fin
25
Structure d’un algorithme Exemple: on veut écrire un algorithme permettant de saluer une personne qui donne son nom. Spécification du problème: Données: nom de la personne résultat: afficher 'bonjour' suivi du nom principe: saisir le nom, créer le message, puis l'afficher Algorithme Chaîne nom, salutation; // déclaration des variables Début Écrire « Quel est votre nom? »; lire nom; salutation← « Bonjour » + nom; écrire salutation; Fin
26
Structure d’un algorithme Exemple: on veut écrire un algorithme permettant de saluer une personne qui donne son nom. Spécification du problème: Données: nom de la personne résultat: afficher 'bonjour' suivi du nom principe: saisir le nom, créer le message, puis l'afficher Algorithme Chaîne nom, salutation; // déclaration des variables Début //préparation du traitement Écrire « Quel est votre nom? »; lire nom; salutation← « Bonjour » + nom; écrire salutation; Fin
27
Structure d’un algorithme Exemple: on veut écrire un algorithme permettant de saluer une personne qui donne son nom. Spécification du problème: Données: nom de la personne résultat: afficher 'bonjour' suivi du nom principe: saisir le nom, créer le message, puis l'afficher Algorithme Chaîne nom, salutation; // déclaration des variables Début //préparation du traitement Écrire « Quel est votre nom? »;// affichage d’une chaine lire nom;//lecture d’une chaine salutation← « Bonjour » + nom; Fin
28
Structure d’un algorithme Exemple: on veut écrire un algorithme permettant de saluer une personne qui donne son nom. Spécification du problème: Données: nom de la personne résultat: afficher 'bonjour' suivi du nom principe: saisir le nom, créer le message, puis l'afficher Algorithme Chaîne nom, salutation; // déclaration des variables Début //préparation du traitement Écrire « Quel est votre nom? »;// affichage d’une chaine lire nom;//lecture d’une chaine salutation← « Bonjour » + nom;//traitement et affectation écrire salutation; Fin
29
Structure d’un algorithme Exemple: on veut écrire un algorithme permettant de saluer une personne qui donne son nom. Spécification du problème: Données: nom de la personne résultat: afficher 'bonjour' suivi du nom principe: saisir le nom, créer le message, puis l'afficher Algorithme Chaîne nom, salutation; // déclaration des variables Début //préparation du traitement Écrire « Quel est votre nom? »;// affichage d’une chaine lire nom;//lecture d’une chaine salutation← « Bonjour » + nom;//traitement et affectation écrire salutation;//Présentation du résultat : //affichage d’une chaine Fin
30
Structure d’un algorithme Exemple: on veut écrire un algorithme permettant de saluer une personne qui donne son nom. Spécification du problème: Données: nom de la personne résultat: afficher 'bonjour' suivi du nom principe: saisir le nom, créer le message, puis l'afficher Algorithme Chaîne nom, salutation; // déclaration des variables Début //préparation du traitement Écrire « Quel est votre nom? »;// affichage d’une chaine lire nom;//lecture d’une chaine salutation← « Bonjour » + nom;//traitement et affectation écrire salutation;//Présentation du résultat : //affichage d’une chaine Fin//fin du traitement
31
Structure d’un algorithme Dans de nombreux langages de programmation, toute instruction se termine par un point-virgule ";". En langage algorithmique : il est fortement conseillé de le mettre à chaque fin d'instruction. il est obligatoire de le mettre entre deux instructions situées sur une même ligne.
32
Les variables Les variables stockent les données traitées par les instructions. Une variable est caractérisée par : son nom son type sa valeur (variable au fur et à mesure des instructions) Un programme peut utiliser autant de variables que nécessaire. Elles sont stockées en mémoire à une certaine adresse. Une variable peut être vue comme une boîte, portant un nom, qui contient une valeur dont on connaît le type.
33
Les variables Dans un algorithme, choisir pour les noms de variables : un nom compose de lettres et éventuellement de chiffres un nom expressif, par exemple : - chaine, requête1... pour une chaine de caractères - n, a, b, compteur, nbOperations, longueur... pour un entier - x, y, température pour un réel - estEntier, testEntier, trouvé... pour un booléen un nom assez court (il faut l‘écrire !) éviter les noms réserves : pour, tant que, si... Dans un programme : éviter les lettres accentuées et la ponctuation être expressif et lisible : - est_entier ou estEntier plutot que estentier Votre code sera relu, par vous ou par d'autres...
34
Les variables Quelques exemples... a x 1variable solution%1 solution1 reel unReel a/b s1_4_Xt
35
Les variables Quelques exemples... a : nom valide x : nom valide 1variable : nom non valide solution%1 : nom non valide solution1 : nom valide reel : nom non valide unReel : nom valide a/b : nom non valide s1_4_Xt : nom valide
36
Les variables Types de variables : Détermine les opérations utilisables sur la variable Quelques types : réel ex. : 1.3, 4.0,π, entier ex. : 1, 2, -10,... booléen vrai, faux caractères ex. : 'a', 'b', 'A', '1', ' !',... chaîne ex. : "Bonjour", "Merci !", "1.3", "vrai",...
37
Les variables Une variable doit être déclarée : une fois et une seule avant toute utilisation Syntaxe : type nom_de_variable; Il est possible de déclarer plusieurs variables de même type sur une même ligne, en séparant les noms de variables par une virgule Syntaxe : type nom_de_variable_1, nom_de_variable_2;
38
Les variables L'affectation change la valeur d'une variable : a ← 5 : - la variable a prend la valeur 5 - la valeur précédente est perdue (“écrasée”)
39
Les variables L'affectation change la valeur d'une variable : a ← 5 : - la variable a prend la valeur 5 - la valeur précédente est perdue (“écrasée”) a ← b : - la variable a prend la valeur de la variable b - la valeur précédente de a est perdue (“écrasée”) - la valeur de b n'est pas modifiée - a et b doivent être de même type (ou de types compatibles)
40
Les variables Attention! Lors d'une déclaration de variable, aucune valeur n'est affectée à la variable, Une variable doit être affectée avant d'être utilisée dans une expression. Exemples réel x,y,z ; début x 1; z x+y; Fin
41
Les variables Attention! Lors d'une déclaration de variable, aucune valeur n'est affectée à la variable, Une variable doit être affectée avant d'être utilisée dans une expression. Exemples réel x,y,z ; début x 1; z x+y; // problème: y n’a pas de valeur Fin
42
Les variables Exemples Quelles sont les valeurs successives prises par les variables X et Y suite aux instructions suivantes : XY X 1 ; Y -4 ; X X+3 ; X Y-5 ; Y X+2 ; Y Y-6 ;
43
Les variables Exemples Quelles sont les valeurs successives prises par les variables X et Y suite aux instructions suivantes : XY X 1 ;1 Y -4 ;1-4 X X+3 ;4-4 X Y-5 ;-9-4 Y X+2 ;-9-7 Y Y-6 ;-9-13
44
Instructions d’entrée / sortie Saisir au clavier et Afficher à l'écran lire Affecte à une variable la valeur lue au clavier, c.à.d. une valeur saisie au clavier par l'utilisateur. écrire Affiche (à l'écran) la valeur d'une variable, d'une constante,... Exemple 1 : début écrire "Bonjour tout le monde" ; fin
45
Instructions d’entrée / sortie Saisir au clavier et Afficher à l'écran lire Affecte à une variable la valeur lue au clavier, c.à.d. une valeur saisie au clavier par l'utilisateur. écrire Affiche (à l'écran) la valeur d'une variable, d'une constante,... Exemple 1 : début écrire "Bonjour tout le monde" ; Fin Exemple 2: chaîne unNom; début unNom "Bob"; écrire "Bonjour"; écrire unNom; écrire "!"; fin
46
Instructions d’entrée / sortie Saisir au clavier et Afficher à l'écran lire Affecte à une variable la valeur lue au clavier, c.à.d. une valeur saisie au clavier par l'utilisateur. écrire Affiche (à l'écran) la valeur d'une variable, d'une constante,... Exemple 3 : chaîne unNom; entier unAge; début écrire "Quel est ton nom ?"; lire unNom ; écrire "Quel est ton âge ?"; lire unAge ; écrire "Bonjour"; écrire unNom; écrire "tu as "; écrire unAge; écrire "an(s) !"; fin
47
Opérateurs Similaires aux opérateurs en mathématiques Permettent d'effectuer des opérations arithmétiques, booléennes, ou sur des chaînes. Exemple + nombre : addition, chaîne : concaténation - nombre : soustraction * nombre : multiplication / réel : division div entier : division entière mod entier : reste de la division entière (modulo) ==,, >= nombre : égalité et, ou, non booléen : 'et', 'ou', 'non' logique
48
Opérateurs Ordre évaluation Que vaut : 3 + 4 * 5 ? Règles d'évaluation : MEFIEZ-VOUS ! de nombreux détails diffèrent selon les langages informatiques. évaluation des expressions entre parenthèses (et des appels de fonctions) priorité des opérateurs - (unaire) puis * / puis + -(soustraction) évaluation de gauche à droite si même priorité
49
Expression Suite d'opérateurs et d'opérandes (variables, constantes, fonctions) décrivant un calcul à effectuer. Peut porter sur n'importe quel type de données, Interprétée (évaluée) selon des règles de précédence et d'associativité Exemple réel x,y; entier a; chaine c; début a 1 ; x 3.2 ; y 10*x + 5; c "Bonjour" ; c c + "Mr"; fin
50
Trace d'une exécution Principe Méthode permettant de vérifier le fonctionnement d'une séquence d'instructions, d'un programme ou d'une fonction. On écrit dans un tableau la trace temporelle d'une exécution : les instructions exécutées, les valeurs de variables modifiées,.... Comment faire : Numéroter les lignes : pour simplifier l'écriture Faire un tableau Prévoir une colonne pour les instructions Prévoir une colonne pour chaque variable Exécuter pas à pas la séquence d'instructions : pour chaque instruction, inscrire dans les colonnes correspondantes le numéro d'instruction et les modifications de valeurs de variables.
51
Trace d'une exécution : exemple
62
Démarche d'écriture d'un algorithme: conseils 1. Pour commencer déterminer les données du problème à résoudre et leur type déterminer le type du résultat préciser en commentaire le rôle de l'algorithme (le problème résolu) et le rôle des données écrire les "préconditions" Cas général = domaine des valeurs pouvant être prises par les variable pour que le problème ait du sens Cas particulier = restriction du problème par l'énoncé 2. Écrire le corps de l'algorithme de "début" à « fin" suite d'instructions résolvant le problème
63
Démarche d'écriture d'un algorithme: conseils Spécification du problème Données : nom, type et rôle des données Résultat : rôle de l'algorithme Principe : description du fonctionnement de l'algorithme Algorithme déclaration des données et variables début instructions...... fin
64
Démarche d'écriture d'un algorithme: exercice Ecrire la spécification du problème et l'algorithme permettant de résoudre le problème suivant : Quelles sont les valeurs permettant de résoudre l'équation ax+b=0 pour 2 réels a et b. Faites ensuite la trace de votre algorithme pour les valeurs a=2 et b=3.
65
Démarche d'écriture d'un algorithme: exercice Spécification du problème Données : des réels a et b, a ≠ 0 Résultat : affichage du réel x tel que ax + b = 0 Principe : résolution classique
66
Démarche d'écriture d'un algorithme: exercice Spécification du problème Données : des réels a et b, a ≠ 0 Résultat : affichage du réel x tel que ax + b = 0 Principe : résolution classique Algorithme réel a, b, x ; début écrire "résolution de l'équation ax+b=0" ; écrire "donnez a" ; lire a ; écrire "donnez b" ; lire b ; x -b/a ; écrire "x =" + x ; fin
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.