Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module :...

33
Module : Initiation à la programmation [email protected] . Objectif : Savoir programmer : concevoir, écrire et exécuter des programmes - simples mais complets - en langage Fortran > la Programmation implique : la logique, l'algorithmique, l'informatique (une connaissance de...) d'une manière générale les mathématiques, ... Mais aussi : la grammaire, l'histoire, l'éthique, l'esthétique, ...

Transcript of Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module :...

Page 1: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Module : Initiation à la programmation

[email protected]

. Objectif : Savoir programmer : concevoir, écrire et exécuter des programmes - simples mais complets - en langage Fortran > la Programmation implique : la logique, l'algorithmique, l'informatique (une connaissance de...) d'une manière générale les mathématiques, ... Mais aussi : la grammaire, l'histoire, l'éthique, l'esthétique, ...

Page 2: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Module : Initiation à la programmation

1. L'informatique Informatique : « La science du traitement rationnel de l’information considérée comme le support des connaissances dans les domaines scientifiques, économiques et sociaux, notamment à l’aide de machines automatiques. » Ordinateur : « Machine électronique pouvant être programmée pour traiter de l'information. » 1- Qu'est-ce que l'information ? 2- Qu'est-ce que le traitement de l'information ? 3- Qu'est-ce que la programmation ?

Page 3: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

1- Qu'est-ce que l'information ? Exemple de la communication dans une ruche... Information : « Signal, fait ou ensemble de faits, qui apporte de la connaissance sur votre environnement, qui réduit l'incertitude. » Attention : information ≠ support de l’information

Page 4: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

2- Qu'est-ce que le traitement de l'information ? Trois étapes : (1) Processus d'abstraction : simplification du monde abstraction Monde réel --------------------------------> Représentation du monde Exemple d'un schéma d'écosystème, où l'on retient les éléments "pertinents" uniquement. (2) Transformation de cette information et intégration aux représentations antérieures du monde. En informatique : le calcul... (3) La projection : données traitées → nouvelles informations sur le monde étudié

Page 5: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

3- Qu'est-ce que la programmation ? Programmation : « Suite d'ordres pour traiter (plus tard) un problème générique. » Programmer : « Faire mémoriser une suite d’ordres à exécuter plus tard. »

- Conception et analyses de méthodes. - Mise au point d’algorithmes.

La programmation les rend opérationnels.

Deux étapes d'usage : 1. Programmation (programme = suite d’instructions) : programmeur 2. Exécution du programme par un utilisateur > cette distinction possible dans le temps et dans l'espace implique des précautions de conception.

Page 6: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Module : Initiation à la programmation

2. (Très bref) historique Pour garder en mémoire quelques concepts clés... … et pour vous faciliter la tâche en tant que programmeurs et programmeuses.

Page 7: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Les ordinateurs : bref historique (1) Machines à calculer et automates 1642 : Blaise Pascal met au point sa "Pascaline" > elle traite uniquement l'addition 1673 : Leibnitz conçoit une machine capable d'exécuter les quatre opérations élémentaires

Puis viendront l'ajout de claviers pour la saisie des nombres, et de systèmes d'impression papier pour les résultats... Mais est-ce que cela correspond à notre définition de l'ordinateur ?

Page 8: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Les ordinateurs : bref historique (1) Machines à calculer et automates 1642 : Blaise Pascal met au point sa "Pascaline"

Page 9: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Les ordinateurs : bref historique (2) La naissance des programmes 1804 : Premier métier à tisser entièrement automatique par Joseph-Marie Jacquard > commandé par un système de cartes perforées 1830 : Babage invente la "Machine analytique" > exécute des séquences d'opérations enchaînées Babage énonce le premier ce que doivent être les parties essentielles d'un

ordinateur : une unité de calcul, de la mémoire et des organes d'entrée et de sortie. Naissance de la programmation avec un jeu d'instructions. Mais toute décision dépendant du résultat d'un calcul doit être réalisée par l'homme.

htt

p:/

/ww

w.c

ha

tea

u-b

outh

eon.c

om

/-M

etie

rs-a

-tis

se

r-Ja

cqu

ard

-.h

tml

Page 10: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Les ordinateurs : bref historique (3) L'électronique arrive, première génération 1945 : Construction de l'ENIAC > 30 tonnes, 72m2 au sol stock 20 nombres et réalise 300 multiplications par seconde > Première machine pouvant réaliser des branchements conditionnels

Calcul et programmation se font à l'aide de code binaire : 0 ou 1 C'est le "langage machine" Facilitation de ce travail : Ecriture en "langage d'assemblage", compréhensible par des humains puis transformé en code binaire par un programme, "l'assembleur"

Page 11: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Architecture de von Neumann

Ex d’instruction : « Ajoute le contenu de la case mémoire no 1465 à celui de la case 45877 et stocke le résultat dans la case 2165 » → « 00111010 10001101 01100110 » → langage assembleur

Page 12: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Les ordinateurs : bref historique (4) Les transistors et les langages de haut niveau : deuxième génération 1958 : Les transistors remplacent les tubes à vide > plus petits, plus économe en énergie > Mémoire en deux parties : - disques et bande pour stockage long terme - mémoire électronique pour le calcul

La programmation utilise un langage plus accessible et surtout qui peut comprendre plusieurs instructions C'est le "langage de haut niveau" Facilitation de ce travail : Nécessité d'un compilateur "compilateur"

Page 13: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Les ordinateurs : bref historique (5) Circuits intégrés et systèmes d'exploitation : troisième génération 1960' : Plusieurs centaines de transistors sur un circuit intégré > plus petits, plus rapides, plus efficaces > Le système d'exploitation : - interaction homme-machine, interprète et exécute les commandes permettant de charger, utiliser, effacer des programmes et des données - gestion de plusieurs programmes simultanés

Page 14: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Les ordinateurs : bref historique (6) Programmation structurée et micro-processeurs : quatrième génération 1970' : Programmation structurée, par blocks d'instructions > PASCAL, C, ADA 1971 : Apparition du micro-processeur > miniaturisation et utilisation grand publique 1981 : Premier PC d'IBM 1984 : Premier Macintosh > Interface graphique pour le système d'exploitation

Page 15: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Module : Initiation à la programmation

3. Le système Les parties constituent un tout...

Page 16: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Equipement informatique - Les périphériques entrée/sortie : clavier, souris, écran(s), disques externes, mais aussi tout type d'appareillage scientifique : sonde, capteurs, etc... - L'unité centrale - la carte mère - contient le processeur et une partie de la mémoire - le processeur - la mémoire RAM - le disque dur - les cartes d'extension (carte graphique, carte son,...) - Le système d'exploitation (OS : Operating System) - Le BIOS (Basic Input/Output System)

Page 17: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Communication entre ordinateurs - Les réseaux - Internet : la toile ! qui possède tout de même quelques verrous ! - Le web : www : World Wide Web pages écrites dans divers langages (html, php,...) programme : le navigateur (Firefox, Explorer, Opéra,...) - La messagerie - Transferts de fichiers exemple : ftp (file transfert protocole), ssh, scp (sécurisé),...

Page 18: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Les données Elles sont tellement précieuses quand on les a perdues. Pensez à sauvegarder vos données sur des supports multiples (disque, clé USB, Cloud,...) - les fichiers (texte, image, son, tableur,...) .jpg .gif .ppt .pdf .wav .doc .odt .txt .dat .mp3 . F .for .f77 .f90 .exe … et quelques fichiers systèmes, dont certains sont "cachés"

Page 19: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Le système d'exploitation (Windows, Mac,...) - Unix et/ou Linux Un logiciel libre, selon la définition de la Free Software Foundation, garantit aux utilisateurs 4 libertés fondamentales : – Liberté 0 : la liberté d’exécuter le programme, pour tous les usages – Liberté 1 : la liberté d’étudier le fonctionnement du programme (le code source doit être accessible) – Liberté 2 : la liberté de redistribuer des copies (y compris éventuellement en les vendant) – Liberté 3 : la liberté d’améliorer le programme et de publier ses améliorations (le code source doit être accessible) Un logiciel qui ne garantit pas ces 4 libertés est dit propriétaire. Attention, libre n’est pas synonyme de gratuit De multiples interfaces graphiques pour Linux : Gnome, Redhat, KDE, ...

Page 20: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

3. Le système, ou organisation " C'est par organisation que le tout est quelque chose de plus que la somme des parties ; ou dit autrement, qu'un tout organisé (système) produit, favorise l'apparition d'un certain nombre de qualités nouvelles absentes des parties séparées : les émergences. " (Edgard Morin)

Page 21: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Module : Initiation à la programmation

4. Réflexions sur la complexité Omniprésence de l'informatique ( et de la programmation ) Aujourd'hui, l'informatique et la programmation sont quasiment partout... (notamment en science) > la Programmation implique : la logique, l'algorithmique, l'informatique (d'une manière générale) les mathématiques, ... > Il ne faut pas en dissocier les "humanités" Art, littérature, philosophie, ...

Page 22: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Module : Initiation à la programmation

5. Commandes Linux

TD... à vos machines ! Fonctionnement des séances à venir... 1 h de cours : introduction de nouvelles notions 3 h de TD : mise en pratique sur des exercices.

Page 23: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Arborescence - la racine : / (slash) - les répertoires (directory en anglais) - fichiers et répertoires peuvent être mélangés (au même niveau d'arborescence) - distinction unique par le "nom complet" ou "chemin" (path)

Page 24: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Arborescence Les deux fichiers sont distincts, leurs chemins (absolus), leur adresses, sont différentes :

/home1/x256987/Photos_vacances/photo1.jpg /home1/x256987/Photos_vacances/Corse/photo1.jpg

Page 25: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Arborescence - home directory : répertoire personnel, propre à chaque utilisateur /home/users/ahmed /home/users/virginie

… ou bien le symbole "~" les deux chemins suivants sont identiques : ~/Docs_admin /home1/x256987/Doc_admin

- répertoire courant, symbole : "." - répertoire parent, symbole : ".."

Page 26: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Arborescence chemin absolu et chemin relatif /home1/x256987/Doc_admin/CV/cv_fr_stage.tex

Si vous êtes dans Photos_vacances, le chemin relatif est : ../Docs_admin/CV/cv_fr_stage.tex

Page 27: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Droits d'accès - droit de lire (read, r) 0 ou 1 - droit d'écrire (write, w) 0 ou 1 - droit d'exécuter (execute, x) 0 ou 1 r w x 1 1 1 : j'ai tous les droits octal : 7 1 0 0 : seulement le droit de lire octal : 4

Ces droits (rwx) sont définis pour - l'utilisateur lui même - le groupe auquel appartient l'utilisateur - le reste du monde Un fichier peut donc avoir les droits suivants : rwx r - - - - - 111 100 000 octal : 7 4 0 tous les droits pour l'utilisateur lecture seule pour les membres du même groupe aucun accès possible pour les autres

Page 28: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Les commandes usuelles (au terminal) Les commandes sont à taper à la suite du prompt ou de l'invite de commande : identifiant@nom_serveur : ~$ et sont toujours de la forme : $ <commande> [-options] <argument1> [argument2] [...] Attention à la gestion des espaces ! pwd (path to working directory) ls [-options] (list) ls -l : donne les détails des droits d'accès ls -a : affiche aussi les fichiers cachés (qui commencent par un point, par ex : .bashrc cd <chemin_vers_repertoire> (change directory) utilise un chemin absolu ou relatif ! cd /home1/toto/rep2 cd ../rep2 cd (sans argument) cette commande renvoie directement au home directory ~

Page 29: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Les commandes usuelles (au terminal) Commandes de gestion de fichiers cp <fichier_source> <fichier_cible> (copy) cp <fichier_source> <repertoire_cible> exemples : cp /home1/toto/img145.jpg /home1/toto/photos/italie1.jpg cp ../fichier1.txt .

mv <fichier_source> <fichier_cible> (move) permet de déplacer ou de renommer mv <fichier_source> <repertoire_cible> rm <fichier> (remove)

Page 30: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Les commandes usuelles (au terminal) Commandes de gestion de répertoires mkdir <repertoire> (make directory) mkdir NomNouveauRepertoire rmdir <repertoire> (remove directory) uniquement pour un répertoire vide

Page 31: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Les commandes usuelles (au terminal) Commandes de gestion de fichiers more <fichier> (permet d'afficher le contenu du fichier page par page) cat <fichier> (permet d'afficher le contenu du fichier en une seule fois) find . -name <texte> -print (trouve un fichier dont le nom contient <texte>)

Page 32: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Les commandes usuelles (au terminal) Commandes de gestion de fichiers more <fichier> (permet d'afficher le contenu du fichier page par page) cat <fichier> (permet d'afficher le contenu du fichier en une seule fois) find . -name <texte> -print (trouve un fichier dont le contient "texte") Commande de gestion des processus ps aux : permet de lister les processus actifs. Ces processus sont identifiés par des numéros appelés PID. top : permet de lister tous les processus actifs (interactif) kill <PID> : tue le processus identifié par le numéro <PID>. ATTENTION! Dans de nombreux cas, taper Ctrl-C ou Ctrl-D suffit pour arrêter le processus.

Page 33: Module : Initiation à la programmation xavier.giraud@univ-amugauduchon/Files/... · Module : Initiation à la programmation 1. L'informatique Informatique : « La science du traitement

Les commandes usuelles (au terminal) man <nom commande> : (manuel) pour connaître les options d'une commande - pour sortir : "q" touch <nomfichier> : (1) crée <nomfichier> s'il n'existe pas déjà (2) modifie la date de modification de <nomfichier> si existant Papillon:~ xgiraud$ mkdir Essai Papillon:~ xgiraud$ cd Essai/ Papillon:Essai xgiraud$ ls Papillon:Essai xgiraud$ touch toto Papillon:Essai xgiraud$ ls -l total 0 -rw-r--r-- 1 xgiraud staff 0 28 jan 09:36 toto Papillon:Essai xgiraud$ touch toto Papillon:Essai xgiraud$ ls -l total 0 -rw-r--r-- 1 xgiraud staff 0 28 jan 14:38 toto Papillon:Essai xgiraud$