INTRODUCTION à LA PROGRAMMATION Cours de Nicole BETHOUX 2009-2010
Pour le prochain TD de Maths Apporter Une calculatrice scientifique et du papier quadrillé Les cours et TD seront sur le Serveur (ENT) de l’Univesité.
Qu’est ce que l’informatique ? Une DISCIPLINE SCIENTIFIQUE Elle utilise : -des Mathématiques -de l’électronique -des Langages de programmation
Vous pénétrez dans le monde du numérique ! Codage et mémorisation « Mémoriser des données variées avec un amas de métal parcouru d’électricité » Et pourtant une révolution dans l’histoire de l’humanité
A quoi sert l’informatique ? Domaine de l’information Domaine économique Domaine scientifique simulations numériques. Jeux électroniques, MP3, caisses enregistreuses…. Robotique….
I- Qu’est ce qu’un ordinateur ? -une unité centrale -une mémoire centrale -des périphériques
QUE FAIT UN ORDINATEUR ? Données --ORDINATEUR--Information Entrée Traitement Sortie
cerveau de l’ordinateur. L’unité centrale cerveau de l’ordinateur. Comporte : Une unité de commande (mémoire très rapide qui stocke les données et résultats temporaires = ROM) Une unité arithmétique et logique qui exécute les opérations de la mémoire centrale
Les microprocesseurs Exécute les opérations dans l’unité arithmétique : CISC conception assez ancienne : Pentium (Intel),Xeon 64bits, Athlon (AMD) RISC plus récents : Power PC (IBM),UltraSparc(Sun Microsystem) EPIC microprocesseurs parallèles (Itanium)
Les microprocesseurs Synchronisation des opérations par une horloge interne Performance d’un microprocesseur: Nombre d’instruction qu’il peut traiter en une seconde ex : 80 MiPs = 80 millions par seconde.
Mémoire centrale Partie de l’ordinateur où mémoire et données sont rangées. Ex : la RAM (Random Acces Memory) L’ EPROM
Les unités d’entrée-sortie Le BUS permet de faire passer les données du processeur à la mémoire centrale Les interfaces d’entrée sortie: permettent le transfert des données entre l’unité centrale et les périphériques : Interfaces USB(Universal Serial Bus) Interfaces SCSI (à haut débit)
SYSTEME d’EXPLOITATION : Ce n’est qu’un programme spécialisé qui assure le bon fonctionnement de l’ordinateur et gère les divers périphériques : ex MS-DOS ,WINDOWS ( dernier Windows VISTA) ou MACINTOSH : UNIX, LINUX
Comment fonctionne l’ordinateur. 1. 1. 1. 1. 1. 1. 1. 1 0 Comment fonctionne l’ordinateur ? 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 Un microprocesseur n’est qu’une suite de circuits « on –off » ou 0, 1 1 BIT contient 0 ou 1 8 bits peuvent représenter 28 = 256 valeurs : 1 OCTET
L’octet On a dessiné une série de 8 bits ( ou bytes en anglais) qui forme un octet Chaque opération va être définie par un octet Par exemple : 10001010 Pour effectuer les opérations le microprocesseur travaille donc en langage binaire ou base 2
Langage base 10 Langage base 2 1 1 2= 0*2 0 + 1*21 10 3 = 2+1 = 1*2 0 +1*2 1 11 4 = 1*22 + 0*2 0 +0*2 1 100 en base 2 on additionne 1001 équivalent base 10 1*2 0 +0*2 1 + 0*22+1*23 = 9 + 1011 1*2 0 +1*2 1 + 0*22+1*23 = 11 10100 = 0*2 0 +0*2 1 + 1*22+0*23 +1*24 = 20 On a utilisé 5 bits pour écrire 20
C’est l’unité logique qui lève l’ambiguité CODE ASCII Caractère : B Code ASCII: 01000010 Equivalent décimal : 66 Caractère « espace » Code ASII: 00100000 Equivalent décimal 32 C’est l’unité logique qui lève l’ambiguité
Mémoire et performances Disquette : 1,44 Mb (mega : 10 6 CD : 700 Mb Clef USB de 521 Mb à 10 Gb 1giga = 10 9 DVD : 5 Gb Disque dur PC 60 Gb Terra = 10 11 = mille millards FLOPS = nb d’opérations par seconde Petaflops = 1 million de milliards d’opérations/s
II- UN PEU d’HISTOIRE Le premier ordinateur : Binaire et mécanique en 1938 ( 22 bits) Le premier ordinateur électronique 1942 (transistors) Micro-processeurs = « circuits intégrés « (puces) 1975 Bill Gates crée la société MICROSOFT Super calculateurs CRAY Microprocesseurs (INTEL) et petits ordinateurs 1985 (64 ko de RAM)
D’opération par seconde
De la caisse du magasin à l’intelligence artificielle De la nanno-électronique (10-9m) à la physique atomique ou à la bionique De la caisse du magasin à l’intelligence artificielle
III- Le programme informatique 1- Etablir une suite d’instruction logique : l’organigramme 2- Ecrire ces instructions dans un langage compréhensible par le compilateur 3- compiler : on passe de l’anglais à l’ascii puis au binaire 4- Exécuter
Langages de programmation Assembleur BASIC puis le FORTRAN C++, PASCAL VISUAL BASIC JAVA, HTML….etc…. COMPILATEURS : pour traduire en langage machine (code ASCII à code binaire)
Les ordinateurs ne sont que des outils Mythe 1 : les ordinateurs font des erreurs Mythe 2: Seuls des mathématiciens peuvent programmer les ordinateurs Mythe 3 : La programmation est difficile
Les algorithmes de programmation Un algorithme est une description explicite d’un traitement, d’une action d’un calcul … Ce sont les mêmes quelque soit le langage On retrouve aussi le même vocabulaire Quand on a acquis la logique informatique on passe facilement d’un langage à l’autre.
Concevoir des algorithmes Exemple : « les lasagnes » 1- Préparer les feuilles de lasagne 2- Préparer la sauce bolognaise 3- Préparer la béchamel 4- Répéter -mettre une couche de béchamel dans un plat -mettre une couche de sauce -recouvrir d’une feuille de lasagne; Tant qu’il reste des ingrédients; 5- Faire cuire au four 30 minutes;
Les algorithmes de programmation « Les types de données » Variables somme, var1, var2, i, j Constantes pi, N TABLEAUX A(5000), notes(52) Ne confondez pas variables et tableaux N’utilisez pas le même nom ou la même lettre pour 2 déclarations différentes
Les catégories de variables et tableaux Entier Réels Chaînes de caractères
Codage des entiers et réels Codage des entiers : (attention à l’ambiguité du vocabulaire) 16 bits : 216 valeurs de -32768 à 32767 32 bits: 232 valeurs 64 bits : 264 valeurs Codage des nombres approchés (virgule flottante) 32 bits= simple précision ( float) 64 bits = double précision (double)
Définissez vos variables en « réels « ou « chaîne de caractères » Conseil Réservez les entiers pour indiquer le nombre d’opération que vous avez à effectuer Définissez vos variables en « réels « ou « chaîne de caractères » Ex a=3 b=2 C= a/b c n’est pas un entier ! C entier=1 C réel =1,5
Les algorithmes de programmation キ Compteurs et accumulateurs Somme = Somme + 2 !!!!!! Write (*,*) somme Var1=65 Var2=97 Var1=var2 Var2=var1 Valeurs de var1 et Var2 ?
IV-Les algorithmes de programmation キ Les Boucles Somme=0 do I = 1, 5 for I=1 to 5 Somme = Somme +2 A (i) = Somme write (*,*) Somme enddo next i write (*,*) Somme : rep ? Quelles sont les valeurs du Tableau A (combien d’éléments)
Les boucles « conditionnelles » « Tant qu’il reste des feuilles de lasagne faire » Do ….. While On ajoute une structure de contrôle Somme=0 Do while somme<50 Somme=somme+1 end
Permet d’établir des sous catégories Boucles imbriquées Permet d’établir des sous catégories Exemple : le nombre de filières à l’Université Le nombre d’étudiant dans chaque filière somme =0 Nb de filières=N do I= 1, N do j= 1, nb(i) somme= somme +inscrit(i,j) enddo
Les algorithmes de programmation Les tests Plus grand que, plus petit, égal ,inégal If x= 5 ou x>5 ou x<5 then Instructions Endif
Les algorithmes de programmation Les fonctions « pre-programmées » -Les fonctions trigonométriques : définies en radians SIN(x), COS(x), Tan(x), ASIN(x) - les fonctions LOG, EXP ….
Les algorithmes de programmation L’utilisation de fichiers de données « Communication vers l’extérieur « Ces fichiers doivent être écrits avant en ascii ou binaire Pas de virgule mais des points Pas de caractères cachés. Proscrire « Word » ou « Excel » Utilisez « TEXTEDIT »
Mémorisation des résultats Création de fichiers de résultats en ASCII ou binaire ( privilégier l’ascii !)
Les fichiers extérieurs Les entrées- sorties EX : Implicit none character*4 fich1,fich2 real xlat(30) , xlon (30) integer i fich1='toto' fich2='tata' OPEN (7,FILE=fich1,STATUS='OLD') OPEN(8,FILE=fich2,STATUS='UNKNOWN')
ET les graphiques ?? On utilisera EXCEL pour cette année
INTRODUCTION à la PROGRAMMATION Travail sous Windows 2000 au 2° étage du « Petit Valrose » ( MIPS) Apporter à chaque TP une clef USB et des copies Contrôle continu présence obligatoire (appel) et rendu du travail 2 Partiels et Examen en décembre Corrigé du TP fourni la séance suivante
La pratique 1- Utilisateur : etudiant mot de passe : 2- Le logiciel : Lancement de « Force2 » : Cliquez sur le menu démarrer programme Fortran 3- Espace de travail : E:/ Etudiant/ST1 ou à défaut « bureau »
Notre premier programme Ecrire l’algorithme du calcul On utilise un fichier de la METEO Il contient des données pour 10 villes -Il donne d’abord le nom de la ville -Puis les valeurs mensuelles des précipitations, de l’insolation, et la température moyenne
2- Calculer la moyenne globale pour toute la France Le problème à traiter: 1- Calculer pour chaque ville les valeurs moyennes annuelles de pluie, insolation et température 2- Calculer la moyenne globale pour toute la France 3- Quelle est la ville la plus chaude? La plus pluvieuse ? La plus ensoleillée ?
Les déclarations 1- Les variables: Entiers : N( 10), M (12), I,J ( pour faire les boucles) Les relatifs (somme, max, moyenne) Les chaînes de caractères (nomfichier) 2- Les tableaux Les relatifs: Pluie(10,12),temp(10,12),sol(10,12) les caractères ville(10),
Il ne faut pas confondre les tableaux et le variables ! Attention à la logique : Il ne faut pas confondre les tableaux et le variables ! Le tableau= un tiroir La variable=un objet rangé dans le tiroir
Exemple: le tableau des moyennes mensuelles : contient 12 variables pour une ville dans notre exemple contient 10*12 variables
L’algorithme Faire de I=1, 10 Lire nom(i) faire de J=1,12 lire pluie (i,j), sol(i,j), temp(i,j) enddo Enddo
Les calculs Faire pour I = 1 à 10 Sommepluie=0 Sommetemp=0 Sommesol=0 Faire pour j= 1,12 Sommepluie = sommepluie+pluie(i,j) Enddo moyennepluie(i) = sommepluie/12 ENDDO
Question 2 Sommepluie=0 ( la variable est réutilisée !) Sommetemp=0 etc … Faire de I = 1 à 10 Sommepluie= moypluie(i)+Sommepluie Etc … End Moyglob1=sommepluie/12
Question 3 maxP = 0 etc …. Faire de I= 1 à 10 IF moyennepluie(i) > maxP THEN : maxP= moyennepluie(i) ENDIF ENDDO