Introduction à l’Informatique Licence SPI Mme Delmotte.

Slides:



Advertisements
Présentations similaires
Les présentateurs doivent souvent transmettre des informations techniques à des auditeurs qui connaissent moins bien le sujet et le vocabulaire spécifique.
Advertisements

Premier programme en C :
Algorithmique et Programmation DEUG 2 Sciences Economiques 2004/2005
Algorithmique et Programmation
Algorithmes et structures de données Cours 8
Algorithmes et structures de données Cours 2
J'ADE 2005 J’aide Au Développement des Evaluations Animateurs TICE
LA LOGIQUE ALGORITHMIQUE. Algorithme Définition Ensemble dopérations Effectuées dans un ordre logique Afin dobtenir un résultat, Afin de résoudre un problème.
Algorithmique Résume.
Le Concept du programme enregistré
INTRODUCTION.
TRANSMISSION DES DONNEES INFORMATIQUES
Architecture de machines Principes généraux
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Les bases de l’Algorithmique
Conception et analyse des algorithmes
Initiation à la programmation et algorithmique
Cours de programmation
Partie 1 Etude de l'existant
Introduction à l’algorithmique
Chapitre IV LES STRUCTURES SIMPLES. Plan I- Les entrées II- Laffectation III- Les sorties.
Démarche de résolution de problèmes
Algorithmique et Programmation
Les éléments de base de l’algorithmique
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
ALGORITHMIQUE en classe de seconde
Algorithmique et Programmation
Introduction à la programmation (Java)
Introduction au langage PHP Réfs : Chap 3 p 49. Présentation PHP (Hypertext PreProcessor) est un langage de développement Web créé en 1994 par Rasmus.
Principes de programmation
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
Algorithmique et structure de données
INTRODUCTION.
ALGORITHMIQUE IUT Vélizy – DUT Info - 1ère année Laurent Marsan
Algorithmes et Programmation
B.Shishedjiev - Informatique
Un survol du language C.
Module I3 algorithmique et programmation
Sémantique des instructions pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
1 Deuxième journée La programmation procédurale. 2 Unité de programmation : la procédure ou fonction Très semblable au math Un programme est un ensemble.
Algorithmique : Introduction
Introduction et Généralités sur l’Algorithmique
Initiation à l’Algorithmique
Patricia Renault UPMC 2005/2006
Module 3 : Algorithme et Programmation
Module algorithmique et programmation
8PRO107 Éléments de programmation Les adresses et les pointeurs.
Les structures simples
Scripts et fonctions Instructions de contrôle
Chapitre 4 La représentation des nombres.
Algorithmique Tableaux de données
Chapitre 9 Les caractères.
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Objets et Actions Élémentaires.
Les Structures simples
Un ordinateur est une machine électronique qui fonctionne par la lecture séquentielle d'un ensemble d'instructions, organisées en programmes, qui lui.
LES TEXTES ET LES SHADOKS (Docs d’application et d’accompagnement)
Introduction à L’Algorithmique
Algorithmique Boucles et Itérations
Introduction au langage C
Algorithmique et programmation
Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.
L'exécution d'un programme nécessite l'utilisation des ressources de l'ordinateur : temps de calcul pour exécuter les opérations, et l'occupation de la.
Introduction à l’Informatique Licence SPI Mme Delmotte.
FACTORY systemes Module 5 Section 1 Page 5-3 Les scripts de traitement FORMATION INTOUCH 7.0.
1 Tableur Excel. 2 Introduction Un tableur est un logiciel permettant de manipuler des données numériques et d'effectuer automatiquement des calculs sur.
L ES INSTRUCTIONS DE L ECTURE, E CRITURE ET A FFECTATION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université.
Les bases de l’Algorithmique
ALGORITHME ET PROGRAMMATION RÉVISION Informatique et Sciences du Numérique.
Transcription de la présentation:

Introduction à l’Informatique Licence SPI Mme Delmotte

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.

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)

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.

traitement automatique de l'information Capter Les informations par des organes d'entrée (clavier, fichiers, webcam,...)

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,...)

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,...)

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

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,...)

Capter les informations par des organes d'entrée Quelles informations, sous quelles formes?

Capter les informations par des organes d'entrée Quelles informations, sous quelles formes? des nombres (entier, réel, signé ou non,...)

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,...)

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,...)...

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)

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.

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)

Cycle de développement Problème à résoudre Problème spécifique AlgorithmeProgrammeRésultat

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).

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

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.

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.

Structure d’un algorithme Algorithme déclaration des variables début instructions fin

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

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

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

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

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

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

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

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

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.

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.

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...

Les variables Quelques exemples... a x 1variable solution%1 solution1 reel unReel a/b s1_4_Xt

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

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",...

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;

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”)

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)

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

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

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 ;

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

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

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

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

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

Opérateurs Ordre évaluation Que vaut : * 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é

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

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.

Trace d'une exécution : exemple

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

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

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.

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

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