Upload
macy
View
57
Download
1
Embed Size (px)
DESCRIPTION
Informatique. Portail MIPC Septembre 2010. Quelques questions pour ce cours. Pourquoi étudier l’informatique ? Pour devenir informaticien(ne) ? Pour occuper tout emploi de niveau technicien supérieur ou ingénieur ? C’est quoi l’informatique ? - PowerPoint PPT Presentation
Citation preview
Informatique
Portail MIPCSeptembre 2010
Quelques questions pour ce cours
Pourquoi étudier l’informatique ? Pour devenir informaticien(ne) ? Pour occuper tout emploi de niveau
technicien supérieur ou ingénieur ? C’est quoi l’informatique ? En quoi un physicien/mathématicien/
biologiste/chimiste/géologue doit-il se former en informatique ?
Aspects généraux
Devenir informaticien ? Pourquoi pas ? 35% des nouveaux
cadres en 2009 (selon le Syntec, il va manquer 60 000
informaticiens par an en France et à cause de ça c’est 1.5% de croissance de moins !)
Aspects générauxEnquête de l’Express, 2008 Perspectives d’emploi par filière
1 Bac+2 santé-social (chômage 1%) 2 Doctorat santé (ch 2%) 3 Master informatique (ch 3%)
Salaires par filière Master informatique : premier master
après les doctorats, écoles d’ingénieurs et écoles de commerce
Comparaison avec écoles d’ingénieurs : M2 info 2000€ mens à 3 ans contre 2150 écoles
Aspects généraux
Devenir informaticienne ? La réalité : très peu de filles deviennent
volontairement informaticienne Nombreuses explications
Trop de contraintes Image de l'informaticien derrière son écran Métier ennuyeux à la longue Réservé aux fanas de wii et de play Métier uniquement techn(olog)ique
+ = Informatique
C’est un informaticien ?
+ = Informatique
C’est une informaticienne ?
Aspects généraux Devenir informaticienne ? La réalité : métier aux interfaces
Pluridisciplinarité : Le droit La sociologie La psychologie La linguistique Le design L’ économie Les mathématiques (statistiques, cryptographie,…) La physique (image) La biologie L’éthologie …
Toujours des questions… La réalité (encore) La machine est-elle le but du travail de
l'informaticien ? N'est-ce pas plutôt l'homme (la société ?) Il existe certes la nécessité d'ingénieurs,
mais de plus en plus, on a besoin aussi de personnes sachant se situer à l'interface
Pourquoi de l’informatique ? Outil scientifique incontour-
nable sur la scène interna-tionale
Domaine scientifique omni-présent
Science de communication, et source d’échanges scientifi-ques avec les autres disciplines
Vecteur de progrès techno-logiques, science de société
Une diversité thématique insoupçonnée
Pourquoi de l’informatique ? Outil scientifique
incontournable sur la scène internationale
Domaine scientifique omniprésent
Science de communication, et source d’échanges scientifiques avec les autres disciplines
Vecteur de progrès technologiques, science de société
Une diversité thématique insoupçonnée
Pourquoi de l’informatique ? Outil scientifique
incontournable sur la scène internationale
Domaine scientifique omniprésent
Science de communication, et source d’échanges scientifiques avec les autres disciplines
Vecteur de progrès technologiques, science de société
Une diversité thématique insoupçonnée
Pourquoi de l’informatique ? Outil scientifique
incontournable sur la scène internationale
Domaine scientifique omniprésent
Science de communication, et source d’échanges scientifiques avec les autres disciplines
Vecteur de progrès technologiques, science de société
Une diversité thématique insoupçonnée
Pourquoi de l’informatique ? Outil scientifique
incontournable sur la scène internationnale
Domaine scientifique omniprésent
Science de communication, et source d’échanges scientifiques avec les autres disciplines
Vecteur de progrès technologiques, science de société
Une diversité thématique insoupçonnée
Pourquoi de l’informatique ? Outil scientifique
incontournable sur la scène internationnale
Domaine scientifique omniprésent
Science de communication, et source d’échanges scientifiques avec les autres disciplines
Vecteur de progrès technologiques, science de société
Une diversité thématique insoupçonnée
Pourquoi de l’informatique ? Outil scientifique
incontournable sur la scène internationnale
Domaine scientifique omniprésent
Science de communication, et source d’échanges scientifiques avec les autres disciplines
Vecteur de progrès technologiques, science de société
Une diversité thématique insoupçonnée
Pourquoi de l’informatique ? Outil scientifique
incontournable sur la scène internationnale
Domaine scientifique omniprésent
Science de communication, et source d’échanges scientifiques avec les autres disciplines
Vecteur de progrès technologiques, science de société
Une diversité thématique insoupçonnée
Pourquoi de l’informatique ? Outil scientifique
incontournable sur la scène internationnale
Domaine scientifique omniprésent
Science de communication, et source d’échanges scientifiques avec les autres disciplines
Vecteur de progrès technologiques, science de société
Une diversité thématique insoupçonnée
Pourquoi de l’informatique ? Outil scientifique
incontournable sur la scène internationnale
Domaine scientifique omniprésent
Science de communication, et source d’échanges scientifiques avec les autres disciplines
Vecteur de progrès technologiques, science de société
Une diversité thématique insoupçonnée
Pourquoi de l’informatique ? Outil scientifique
incontournable sur la scène internationnale
Domaine scientifique omniprésent
Science de communication, et source d’échanges scientifiques avec les autres disciplines
Vecteur de progrès technologiques, science de société
Une diversité thématique insoupçonnée
Aspects généraux En quoi un scientifique aujourd’hui doit-il
maitriser l’informatique ? Des « banalités »
Traitement de texte scientifique Base de données Tableur Gérer sa machine et son environnement
informatique Travailler de façon sécurisée Traitement de mesures Analyse de données Simulations Gestion de données
Aspects généraux
En quoi un scientifique aujourd’hui doit-il maitriser l’informatique ?
De l’informatique pour scientifiques : Traitement de mesures Analyse de données Simulations Gestion de données
Exemple : Bioinformatique Système biologique :
système complexe que l’on simule pour comprendre (de la molécule à l’écosystème)
Comparaison des génomes
Estimation de la diversité du vivant
Identification automatique d’acteurs pour de nouvelles thérapies (ex : tri-thérapie)
Exemple : Bioinformatique Système biologique :
système complexe que l’on simule pour comprendre (de la molécule à l’écosystème)
Comparaison des génomes
Estimation de la diversité du vivant
Identification automatique d’acteurs pour de nouvelles thérapies (ex : tri-thérapie)
Exemple : Bioinformatique Système biologique :
système complexe que l’on simule pour comprendre (de la molécule à l’écosystème)
Comparaison des génomes
Estimation de la diversité du vivant
Identification automatique d’acteurs pour de nouvelles thérapies (ex : tri-thérapie)
Exemple : Bioinformatique Système biologique :
système complexe que l’on simule pour comprendre (de la molécule à l’écosystème)
Comparaison des génomes
Estimation de la diversité du vivant
Identification automatique d’acteurs pour de nouvelles thérapies (ex : tri-thérapie)
Organisation du semestre 10 séances de cours 12 séances de travaux dirigés (TD) 11 séances de travaux pratiques
Contrôle continu Une épreuve en amphi (semaine 43, 28/10) Une épreuve en TPs (semaine 46 : 15/11 dans
certains groupes) Une épreuve en TDs (semaine 50)
Aspects méthodologiques (2) Le cours, deux parties
Une partie algorithmique Une partie informatique(s)
Algorithmique
‘
Ce dessin indique que le transparent résume un point particulier et doit être recopiéCela ne dispense pas d’imprimer les transparents du cours et de les commenter
Aspects méthodologiques (3) Transparent prise de notes
Exemple
Organisation du semestre 10 séances de cours 12 séances de travaux dirigés (TD) 11 séances de travaux pratiques
Contrôle continu Une épreuve en amphi (semaine 43, 28/10) Une épreuve en TPs (semaine 46 : 15/11 dans
certains groupes) Une épreuve en TDs (semaine 50)
Aspects méthodologiques (4)
Les TDs : apprendre à résoudre informatiquement les problèmes
Papier crayon Feuille d’exercices sur MADOC
(mais aussi le cours !) http://madoc.univ-nantes.fr/
Aspects méthodologiques (5)
Les TPs : mise en œuvre pratique sur machines, langage de programmation, avoir un compte, comment se connecter, comment préparer son TP, comment le refaire…
Feuilles de TP sur MADOC (et tous les fichiers nécessaires…)
L'environnement de programmation ne nécessite qu'un navigateur
La langage de programmation support est javascript Bon à savoir :
Avoir un compte On peut refaire le TP On peut récupérer son travail avec une clé USB Travail par binôme (attention, évaluation par monôme !)
Aspects méthodologiques (6)
La note : Contrôle continu composé de 1 partiel semaine 43 1 note de TPs 1 partiel semaine 50
Concrètement•Evaluation des CM : des questions de cours
•Evaluation des TD : exercices comme en TD
•Evaluation des TP : au moins 1 contrôle sur machine au cours du semestre
Aspects méthodologiques (6)
Comment avoir une bonne note ? Exercices : il s’agira de résoudre des
problèmes par de bons algorithmes Un bon algorithme :
Résout le problème demandé Respecte les normes syntaxiques Est compréhensible Est simple
Aspects méthodologiques (8)
Exemple : le problème est d’aller place du commerce à partir de la fac des sciences
N’est pas bon : Proposer un chemin beaucoup trop long Expliquer en utilisant bus à la place de
tram et B à la place de 2 (ou en changeant au fur et à mesure)
Faire prendre le train parce qu’on n’aime pas le tram
Le matériel sur madoc Le langage est javascript et les TPs
peuvent être facilement refaits sur n’importe quel ordinateur
Le but est d’écrire des algorithmes corrects : correct est apprécié du point de vue de l’expert (enseignant)
Résumé méthodologique
Début du cours d’algorithmique
Le but est d’apprendre à écrire des algorithmes
(simples)
Algorithme (sans y)
un algorithme est l'écriture dans un langage non
ambigu d'une méthode de
résolution d'un problème
Algorithme (sans y)
L'algorithme permetd'exécuter et
d'étudier cette méthode de résolution
Algorithme (sans y)
L'algorithme est écrit par un analyste
L'algorithme est exécutépar un exécutant
Programme
Le programme est écrit par un programmeur
Le programme est exécutépar un ordinateur
Création / Exécution
analyste
écrit
exécutantexécutealgorithme
utilisateurdonne les valeursreçoit les résultats
fonction fact(entrée n entier) : entier Début si n<2 alors retourner(1) sinon retourner( n*fact(n-1) ) finsiFin
Création / Exécution
programmeur
code
ordinateurexécuteprogramme
utilisateurtape au clavier
lit l'écran
function fact(n)
{ if (n<2)
{return(1)}
{return( n*fact(n-1))}}
Point de vue de l’analyste
Entrées SortiesTraitement
Clavier EcranUnité
Centrale
Saisie AffichageCalcul
Paramètre RésultatFonction
Entrées SortiesTraitement
Point de vue de l’utilisateur
Clavier EcranUnité
Centrale
Saisie AffichageCalcul
Paramètre RésultatFonction
Entrées SortiesTraitement
Point de vue de l’algorithme
Clavier EcranUnité
Centrale
Saisie AffichageCalcul
Paramètre RésultatFonction
Entrées SortiesTraitement
Généralisation de l’algorithme
Clavier EcranUnité
Centrale
Saisie AffichageCalcul
Paramètre RésultatFonction
Exemples d’algorithmes
Une recette de cuisine Des instructions pour installer sa Z-box Des instructions pour aller quelque part Des consignes de sécurité
Dans ce cours, une méthode de résolution d’un problème, susceptible d’être codée sur ordinateur
Premier exemple d'algorithme
Algorithme exemple
Variables position, déplacement : entiers
Débutposition ← 25 ;déplacement ← 11 ;position ← position + déplacement ;afficher(position)
Fin
Un algorithme comporte 4 parties
Entête Déclaration Actions Commentaires
Exemple d'algorithme sans commentaire
Algorithme exemple
variables position, déplacement : entiers
Débutposition ← 25 ;déplacement ← 11 ;position ← position + déplacement ;afficher(position)
Fin
Entête
Déclarations
Actions
Exemple d'algorithme avec commentaires
Algorithme exemple
variables position, déplacement : entiers//position est un entier positif
Débutposition ← 25 ;// emplacement de départdéplacement ← 11 ;//de combien on bougeposition ← position + déplacement ;afficher(position)
Fin
Commentaires
Entête
Déclarations
Actions
« Langage algorithmique »
Pas standardisé (≠ programmation) mais avec une syntaxe qui doit être respectée
Langage naturel (français) mais
NON AMBIGU
L’ambiguïté
vends tricycle pour infirme en bon état Deux conducteurs étaient interpellés par
les gendarmes en état d'ivresse. (Var Matin, 13/07/1994)
J'ai lu la critique de Chomsky Il répugne à accepter ce savant
compromis Il m'a reçu comme un prince Jean regarde l'homme avec le télescope
http://www.limsi.fr/Individu/gendner/analyse_texte/2002/03-ambiguite.html
est non ambigucontient un en-tête, des
déclarations, un actions et des commentaires
la syntaxe doit être respectée
Un algorithme
Les deux bases des algorithmes
Les variables, dans lesquelles on stocke l’information
Les instructions permettant de modifier l’état de ces variables
Variables
Zone de stockage temporaire
comme les mémoires de la calculatrice
contenu pouvant être modifié
Variables (Caractérisation)
Nom (identificateur) nommer, c’est abstraire…
Type L’ensemble des valeurs possibles, et des
opérations autorisées Valeur courante (contenu actuel)
Variables
Exemple
Nom pente
Type réel
Valeur courante (contenu actuel) 0,45
Variables (types)
numérique (entier, réel)
chaîne de caractères, caractère
booléen (logique)
Types : entier
Eléments de ℤ Exemples
3 0 -17439
Types : réel
Eléments de ℝ Exemples
3,14 3,141592 (mais pas 3,141592…) 2,431E-41 -6,01e55
Types: caractères
Lettre, chiffre, symbole Entre ‘ ‘ Exemples
‘A’ ‘a’ ‘É’ ‘6’ ‘ ‘ ’‘
Historiquement…
Types : chaîne de caractères
Suite finie de caractères Exemples
‘bonjour’ ‘ceci est une chaîne’ ‘Ceci est UNE chaîne ‘douze pour 12’
Types : booléen
Eléments de l’ensemble {vrai, faux}
Expressions
une expression simple est : soit une valeur soit un nom de variable soit un opérateur appliqué à des valeurs ou
des noms de variables Une expression peut être évaluée Exemple : 45 + trucmuche
Opérateurs entier × entier→ entier
+ - * div mod (division entière et modulo) abs (valeur absolue) Exemples :
3+2 25-7 43*21 50 div 13 (valeur 3) 50 mod 13 (valeur 11)
Opérateurs réel × réel→ réel :
+ - * /Exemples :
3,0 + 2,98 4,1 * 2,1 20,987 / 13,75
Opérateurs nombre x nombre → booléen
réel ou entier × réel ou entier → booléen
< > = ≤ ≥ ≠Exemples :
3 < 2,7 25 = 7,75 43,32 ≥ 21 20,07 ≠ 13
Opérateurs caractère x caractère → booléen
< > = ≤ ≥ ≠Exemples :
'A'<'Z' 'B'='C' 'é'≥'y' '8'≤'5'
Opérateurschaîne x chaîne→ booléen
Opérateurs de comparaison< > = ≤ ≥ ≠Exemples :
'alain‘ < 'zoë' 'BAC'='CAB' 'élément'≥'ensemble' '118'≤'5'
Expressions booléennes
booléen → booléen : non
booléen × booléen → booléen : et ou
Exemples : vrai ou faux faux et faux non(faux)
Tables de vérité (1)
A non(A)
Vrai Faux
Faux Vrai
non
Tables de vérité (2)
A B A et B
Vrai Vrai Vrai
Vrai Faux Faux
Faux Vrai Faux
Faux Faux Faux
et
Tables de vérité (3)
A B A ou B
Vrai Vrai Vrai
Vrai Faux Vrai
Faux Vrai Vrai
Faux Faux Faux
ou
Expressions complexes
une expression complexe est : soit une expression simple soit un opérateur appliqué à des
expressions simples ou complexes Exemple : 45 + (256/2) Remarque : afin d’éviter l’ambiguïté, il
est recommandé de parenthéser Exemple : 2+3*5 2+(3*5) ou (2+3)*5
Note sur les expressions
Les expressions peuvent contenir des appels de fonction
Exemples : 1+sin(3) 1/log(7) Racine_carree(7+5) > 8
Instructions
Un algorithme comporte
une suite d'instructions
qui s'exécutent (par défaut)
l'une après l'autre
dans l'ordre d'écriture
on parle de séquentialité
Instructions élémentaires
Affectation (vision simplifiée) nom de variable ← valeur
pente ← 0,45 Effet
le résultat est affecté à la variable
Séquentialité
Afin de marquer qu’une instruction succède à une autre instruction, on utilisera le symbole « ; » pour séparer :
position ← 25 ;déplacement ← 11
Instructions
Chaque instruction
trouve les variables
dans un état
et les laisse
dans un nouvel état
Historique d'exécution
liste des états successifs
pente hauteur avant la 1ère instruction
après la 1ère et avant la 2nde
après la 2nde et avant la 3ème
Instructions de base
Affectation
nom de variable ← expression
pente ← 0,32+0,45
Récupération d'une donnée
nom de variable ← saisie()
hauteur ← saisie()
Présentation d'un résultat
afficher(expression)
afficher(hauteur/pente)
Instructions
Affectation
nom de variable ← expression pente ← 0,32+0,45 Effet
1) l’expression est évaluée2) le résultat est affecté à la variable
pente hauteur avant l'affectation quelque chose un truc
après l'affectation 0,77 untruc
Instructions Récupération d'une donnée
nom de variable ← saisie() hauteur ← saisie() Effet
1) l’utilisateur saisit une valeur2) La valeur est affectée à la variable
pente hauteur avant la saisie 0,77 un truc
après la saisie 0,77 154
l'utilisateur introduit 154
Instructions Présentation d'un résultat
afficher(expression) afficher(hauteur/
pente) Effet
1) l’expression est évaluée2) le résultat est affiché
pente hauteur avant l'affichage 0,77 154 après l'affichage 0,77 154
l'utilisateur voit 200200
Exemple d'exécutionDébut① position ← 25 ;② déplacement ← 11 ;③ position ← position + déplacement ;④ afficher(position)Fin
position déplacement
Avant ① ? ?
Après ① 25 ?
Après ② 25 11
Après ③ 36 11
Après ④ 36 11
Construire un historique d’exécution
1. Numéroter les instructions (n)2. Sélectionner les variables à suivre (m)3. Construire un tableau n+2 lignes *
m+1 colonnes : v1 v2 … vm
Avant I1
Après I1
…
Après In
Ici, la valeur de v2 après l’exécution de l’instruction I1
Conclusion (ce qu’on a vu)
L’informatique en tant que métier L’informatique comme connaissance
complémentaire aux autres sciences L’algorithmique comme cœur de
l’informatique Les variables Les instructions et le séquencement