Présentation Du Cours - Perso.eleves.ens-rennes.fr

2y ago
9 Views
1 Downloads
836.34 KB
55 Pages
Last View : 14d ago
Last Download : 3m ago
Upload by : Maxton Kershaw
Transcription

Présentation du Cours Objectif : Montrer que l’Informatique est un outilpuissant pour résoudre des problèmes de Physique, deMathématique, Scientifiques en généralMoyens : Apprentissage des bases de la programmationimpérative au travers du « langage C », langagecouramment utilisé dans la communauté scientifiqueOrganisation de l’enseignement :– 10h30 de cours en 7 séances de 1h30,– 12h de Tps en 8 séances de 1h30.1.1

Présentation du CoursMatériel pédagogique : Les documents de cours : le cours (« à trous »), les Tps, une fichede « savoir faire » par chapitre, un mémento sont accessibles enligne via la plateforme j@lon sur l'ENT. Une clé USB pour enregistrer ses exercices effectués en TPEnvironnement de programmation utilisé en TP :Dev-C : IDE (Integrated Development Environment)Evaluation : 2 contrôles continus en TP (50%) , un contrôle final sur latotalité de l’enseignement (50%)1.2

Présentation du CoursA la maison, pour le choix de l'IDE :Pour les utilisateurs de Mac, vous pouvez porter votre attention sur :Code::Blocks - http://www.codeblocks.org/downloads/26#macavec tutorial ici : cks/Possibilité d'importer un projet de dev-c utilisé en TP !ou bienxcode - mt 12&ign-mpt uo%3D2avec un tutorial ici : r les utilisateurs de Windows 8, une nouvelle version de dev-c est nécessaire nrth/Pour les utilisateurs de Linux Ubuntu, un paquet du logiciel Code::Blocks est disponible via la logithèqueUbuntu.Pour les autres systèmes Linux, aller directement sur la page de l'IDE Code::Blocks :http://www.codeblocks.org/downloads/261.3

Présentation du Cours Me contacter : Courrier électronique : guingne@i3s.unice.fr Petit Valrose 3ème étage1.4

Initiation à la programmationimpérative. Langage C.L1 PC - SFFranck GUINGNED’après le cours de Francis Avnaim1.5

Plan du cours1. Introduction2. Programmation impérative. Introduction au langage C3. Les bases du langage C4. Les fonctions du langage C5. Découpage d’un programme en fonctions.Méthodologie de programmation6. Étude de deux applications. Fichiers de données1.6

Cours 11.7

1. Introduction1.8

1.1 L’Informatique aujourd’hui Domaines d’applications Internet Les machines1.9

Domaines d’applications del’Informatique Nombreux et variés (l’Informatique a envahi notrequotidien; exemples : paiement par carte de crédit,téléphonie mobile, prévisions météo, GPS, etc.)Quelques grands domaines d’application : SciencesBanque, finance, gestionIndustrieMédecineCommunication1.10

Internet : (bref) historique Naissance en 1969 : projet militaire Américain pourune transmission des informations décentralisée(Arpanet, protocole IP)Réseau NSF (National Science Fondation) desuniversitaires AméricainsMultiplication des réseaux et « fusion » en un seulréseau : InternetCréation du Web par les chercheurs du Cern (CentreEuropéen de la Recherche Nucléaire) en 19891.11

Evolution d'InternetDATENUMBER OF USERS% WORLD POPULATIONINFORMATION SOURCEDecember, 199516 millions0.4 %IDCMarch, 2000304 millions5.0 %Nua Ltd.March, 2005888 millions13.9 %Internet World StatsJune, 20101,966 millions28.7 %Internet World StatsJun, 20112,110 millions30.4 %Internet World StatsJune, 20122,405 millions34.3 %Internet World StatsDec, 20132,802 millions39.0 %Internet World StatsMarch, 2014(estimate)2,937 millions40.7 %Internet World Stats1.12

Internet aujourd’hui1.13

Internet aujourd’hui World Wide Web : 1,1 milliard de sites web en 2016 (source netcraft) eMail : Réseaux sociaux (Facebook, Twitter, Instagram etc.) Téléphonie, vidéo conférences, chat (Skype, Messenger, etc.) Forums de discussion (IRC) Commerce électronique Transmission de fichiers (protocole ftp)215 milliards envoyés par jour en 2016 (hors spam),4,4 milliards de comptes mails en 20151.14

Les machines Les « machines » se classifient en fonction de leurpuissanceLa puissance d’une machine se mesure en nombred’opérations par seconde ou Flops (floating pointoperation per seconde). Les multiples sont : LeLeLeLeMégaflops : 1 million d’op. par seconde (10 6)Gigaflops : 1 milliard d’op. par seconde (10 9)Téraflops : mille milliards d’op. par seconde (10 12)Pétaflops : un million de milliards d’op. par seconde (10 15)1.15

Les machines Les super calculateurs :Liste du top 5 des super calculateurs sur http://www.top500.org2008 : Roadrunner de IBM : 1 PFLOPS2010 : Jaguar Cray XT5-HE : 1.7 PFLOPS2012 : Sequoia – BlueGene/Q de IBM : 16 PFLOPS2014 : Tianhe-2 (MilkyWay-2) - TH-IVB-FEP Cluster de NUDT: 33 PFLOPS2016 : Sunway TaihuLight : 93 PFLOPS Les macro ordinateurs ou mainframe : Permettent la connexion simultanée de plusieurs centaines d’utilisateurs.Puissance 100 MégaflopsPrésent dans les très grosses entreprises nationales et internationalesDEC, HP, Sun, IBM (ES/9000), Unisys1.16

Les machines Les mini ordinateurs : Permettent la connexion simultanée de plusieurs dizainesd’utilisateurs. Puissance 10 Mégaflops Présents dans les grosses PME DEC, HP, Sun, IBM (AS/400)Les ordinateurs personnels : Stations de travail (Sun, Hp) Micro-ordinateurs (PC, Mac) : de bureau (desktop), portables(notebook), de poche (laptop), internet (netbook)1.17

1.2 Hardware (matériel),Software (logiciel)L’informatique repose sur : Le hardware : physique du silicium et technologiesassociées (transistors miniaturisés,microprocesseurs, circuits intégrés, ordinateurs)Le software : programmation des ordinateursDans ce cours, nous traitons uniquement de lapartie programmation1.18

Le logiciel (Software) Une machine est capable de traiter del’information (symbolique, numérique)Pour qu’elle ait une utilité, il faut lui« dire » quels traitements effectuer, c’est-à-dire laprogrammerLogiciel : ensemble des programmes destinés àeffectuer un traitement sur un ordinateur1.19

1.3 Les langages deprogrammation Historique Environnement de programmation Champs d’applications des langages1.20

Historique des langages deprogrammation Au commencement ( 1946) le langagemachine : des 1 et des 0 !!Un progrès : le langage d’assemblage( 1950)Premiers langages de haut niveau Fortran (applications scientifiques -1956-)Cobol (applications de gestion -1960-)Lisp (intelligence artificielle -1960-)1.21

Historique des langages deprogrammation Quelques référents : Pascal (Wirth 1968 )C (Ritchie 1970)Smalltalk (Jey 1970)Ada (Ichbiah 1975)Prolog (Colmerauer, Roussel 1975)C (Stroustrup 1983)Langages les plus récents (tous objets) : Java (Sun) : 1991Python (Guido Van Rossum) : 1991C# (Microsoft) : 2001 pour contrer Java et C !!1.22

Utilisation des langages deprogrammation Sur le site pci/index.html1.23

Les environnements deprogrammations modernesIls intègrent : Un éditeur intelligent Un compilateur Un débogueur symbolique Un générateur d’interface graphique1.24

Éditeurs intelligents pourl’écriture de programmes Un langage de programmation a des règlessyntaxiques strictesUn éditeur « intelligent » : Signale des erreurs potentiellesStructure le texte automatiquement pour vousExemple : si l’on ouvre une accolade « { »,l’éditeur édite automatiquement l’accolade1.25fermante correspondante « } »

Compilateurs Un ordinateur ne « comprend » que le langage machine(1 et 0)Le compilateur est un « gros » programme qui traduit leprogramme écrit dans un langage évolué (par exempleC) en un programme machineSi le compilateur est correct, l’ordinateur exécute bienles tâches décrites dans le langage de haut niveauProblème : l’œuf ou la poule ? (ou dans quel langageécrire un compilateur ?)1.26

Débogueurs Un débogueur est un programme qui permet desuivre pas à pas l’exécution d’un programme, cequi permet de chercher plus facilement leserreurs éventuelles (les bugs !)Il permet essentiellement : D’avancer pas à pas dans l’exécution du programmeDe créer des points d’arrêtDe lire (et de modifier) le contenu des variables1.27

Débogueurs1.28

Générateurs d’interfacesgraphiques La plupart des applications professionnelles ont uneinterface graphique évoluée comprenant boutons, casesà cocher, menu déroulant, etc.Certains langages disposent d’instructions permettant lacréation de ces interfacesCertaines plateformes de développement proposentmême des outils graphiques et de gestion de code quipermettent au programmeur non expérimenté dedévelopper facilement ce type d’interfaces (citonsdelphi, visual basic, visual C , jbuilder, etc.)1.29

Champs d’applications deslangages Un langage est plus ou moins bien adapté à undomaine donnéCertains langages sont relativement spécialisés(Perl : traitement des chaînes de caractères,JavaScript : écriture de pages web interactives, etc.)D’autres plus ou moins généralistes (C, Pascal, C ,Objective C, Java, Python, etc.)1.30

2. Programmation impérative.Introduction au langage C1.31

2.1 Les différents paradigmesde programmation Il existe plusieurs techniques de programmation : ImpérativeFonctionnelleLogiqueOrientée objetsParallèleLe langage que nous allons étudier, le langage C,appartient à la catégorie des langages deprogrammation impérative1.32

La programmation impérative Dans ce type de programmation, on manipule explicitement lamémoire grâce à des instructions de haut niveau Exemple :1.2. int n 1; // on initialise une variable nommée n à 1n n 1; // on incrémente n de 1État de la mémoire : Après 1 : Après 2 :1.33

La programmation impérative Langages emblématiques : Pascal, C, Basic,FortranRemarque : dans tous les cas, au niveau dela machine, l’exécution d’un programmerevient toujours à des manipulations sur lamémoire1.34

2.2 Le langage C, introduction HistoriqueCompilateurs, environnements deprogrammation1.35

Historique du langage C Créé en 1972 par Denis Ritchie (2011†)(Bell Laboratories)Au départ, pour développer le systèmed’exploitation UnixAujourd’hui utilisé par une largecommunauté de programmeurs1.36

Historique du langage C Première définition rigoureuse en 1978«The C programming Language » parKerniguan & RitchieAujourd’hui le langage est normalisé, onparle de « C ANSI »1.37

Compilateurs, environnementsde programmation Il existe des compilateurs et/ou environnements deprogrammation pour tous les systèmes d’exploitation.Par exemple : Sous Windows : Dev-C (éditeur compilateur débogueur)Sous Linux : gcc (éditeur emacs débogueur ddd)Notons que tous les environnements de programmationspour C et Objective C sont aussi des environnementsde programmation pour C. Nous utiliserons d’ailleursDev-C qui comme son nom l’indique est unenvironnement de programmation pour C 1.38

2.3 Etude d’un programmesimple en C Objet du programme : calcul de la surface etdu volume des planètes du système Solaire Rappels des formules Listing du programme Analyse détaillée du code1.39

Le système SolairePlanèteImageRayon (km)Mercure2439Vénus6050Terre6378Mars33871.40

Le système 43001.41

Surface et volume d’unesphère en fonction du rayonS 4 π R 24V π R331.42

Le programme « planetes » Un programme se développe dans un fichier On développera nos programmes dans un fichier d’extension .c Le programme qui calcule l’aire et le volume des planètes à partirde leur rayon est développé dans le fichier planetes.c Règles de bonne programmation : On donnera au fichier un nom qui rappelle la fonction duprogramme qui y est développé On n’utilise pas les accents (planetes.c au lieu de planètes.c) niles espaces1.43

Le fichier planetes.c#include stdio.h const float PI 3.14;int main() {float rayon planete; // le rayon de la planetefloat surface planete; // sa surfacefloat volume planete; // son volume/* entree de la donnee rayon */printf("Entrez le rayon de la planete (en km) : ");scanf("%f", &rayon planete);/* calcul :de la surface, du volume */surface planete 4.0 * PI * rayon planete * rayon planete;volume planete (4.0/3.0) * PI * rayon planete * rayon planete * rayon planete;// impression des resultatsprintf("%s%f%s\n", "Surface de la planete : ", surface planete, " km2");printf("%s%f%s\n", "Volume de la planete : ", volume planete, " km3");}return 0;1.44

Analyse du programme« planetes »#include stdio.h Demande d'inclusion du fichier stdio.h(« standard input ouput »). L'inclusion dece fichier est nécessaire pour pouvoirutiliser les fonctions d'entrée-sortie1.45

Analyse du programme« planetes »const float PI 3.14; Déclaration d’une constante symbolique PI égale à 3.14 de typefloat (nombre réel)Dans le code la référence à PI plutôt qu’à la valeur 3.14 permet unemodification facile de celle-ci (une ligne à modifier contre autant delignes où apparaîtrait une valeur « en dur »)Règle de bonne programmation : utiliser des constantes symboliquespour les valeurs qui changent rarement (constantes physiques,économiques (ex : taux de tva), etc.)1.46

Analyse du programme« planetes »int main() { main est la fonction principale en C. Elle est exécutée quand onlance le programme Une fonction passe une liste d’arguments (ici la liste est vide) etrenvoie une valeur (ici un entier -int comme integer-) Le code de la fonction est donné entre l'accolade ouvrante "{" et lafermante correspondante "}"1.47

Analyse du programme« planetes »float rayon planete; // le rayon de la planetefloat surface planete; // sa surfacefloat volume planete; // son volume Déclaration de trois variables qui mémorisent le rayon, la surface et levolume de la planète. Un commentaire indique ce que mémorisent lesvariablesRègles de bonne programmation : Donner des noms aux variables qui correspondent à l’informationqu’elles mémorisentCommenter le programme pour qu’il soit plus compréhensibleEn C on a droit aux commentaires sur une ligne avec « // » et auxcommentaires sur plusieurs lignes encadrés par « /* */ ». Lescommentaires sont ignorés par le compilateur. Ils ne s’adressent qu’aux1.48lecteurs du programme

Analyse du programme« planetes »/* entree de la donnee rayon */printf("Entrez le rayon de la planete (en km) : ");scanf("%f", &rayon planete); L'utilisateur doit entrer le rayon de la planète au clavier. Une phrase àl'écran lui indique la donnée attendue (fonction printf).La donnée est alors tapée sur le clavier est récupérée dans lavariable rayon planete grâce à la fonction scanf (le nom de lavariable doit être précédé du caractère &)Le premier argument de la fonction scanf, "%f", indique que ladonnée attendue est un nombre réel1.49

Analyse du programme« planetes »/* calcul :de la surface, du volume */surface planete 4.0 * PI * rayon planete *rayon planete;volume planete (4.0/3.0) * PI * rayon planete *rayon planete * rayon planete; Calcul de la surface et du volume et mémorisation dansles variables correspondantes* est le signe pour la multiplication et / est le signe pourla division1.50

Analyse du programme« planetes »// impression des resultatsprintf("%s%f%s\n", "Surface de la planete : ",surface planete, "km2");printf("%s%f%s\n", "Volume de la planete : ",volume planete, "km3"); Impression à l'écran du contenu des variablessurface planete et volume planete avec lecommentaire correspondantLe premier argument de printf ("%s%f%s\n") indique lanature des données à imprimer (paramètres suivants). %sindique l'impression d'une chaîne de caractères, %f d'un1.51nombre réel, \n indique un saut de ligne après impression

Analyse du programme« planetes »return 0;} La fonction main doit renvoyer un entier. Ici 0 (codecorrespondant en général à une exécution sans erreur)On ferme l'accolade correspondant à la fonction mainRègle de bonne programmation : les accolades ouvranteset fermantes se correspondant doivent être au mêmeniveau d’indentation. Le code d’une fonction est en retraitpar rapport aux accolades correspondantes1.52

2.4 Organisation du code en C En C, le code se répartit en deux types de fichiers : les.h (en-tête) et les .c (code source)Les fichiers .h contiennent uniquement du codedéclaratif. Ce code est utilisable dans le fichier .c quil’inclut (#include). Par exemple les fonctionsd’entrées/sorties printf et scanf sont utilisables dansplanetes.c car le fichier planetes.c inclut le fichier stdio.hqui contient les définitions de ces fonctions.Avant la compilation, le pré-processeur expanse dans lesfichiers .c le code des fichiers .h inclus1.53

2.5 Compilation, exécution Le programme développé dans le fichier planetes.c est écrit enlangage C. Pour que ce programme devienne effectif, il faut letransformer en un programme exécutable compréhensible par leprocesseurOn compile le programme planetes.c en utilisant l’option« Compiler » du menu déroulant « Exécuter » de Dev-C On exécute le programme exécutable généré en utilisant l’option« Exécute » du menu déroulant «Exécuter» de Dev-C L’exécutable généré, de nom « planetes.exe », se trouve dans lemême répertoire que le fichier planete.c1.54

Exécution du programme Voici le résultat du programme pour la planèteTerre :1.55

1.12 Evolution d'Internet DATE NUMBER OF USERS % WORLD POPULATION INFORMATION SOURCE December, 1995 16 millions 0.4 % IDC March, 2000 304 millions 5.0 % Nua Ltd. March, 2005 888 millions 13.9 % Internet World Stats June, 2010 1,966 millions 28.7 % Internet World Stats Jun, 2011 2,110 millions 30.4 % Internet World St

Related Documents:

Sujets Spéciaux (STT2000) cours d'option cours d'ouverture nouveau cours nouveau cours nouveau nouveau cours nouveau cours nouveau cours nouveau cours nouveau cours nouveau cours nouveau cours SAS / R!9. exemple d'horaire 2 1 Toutes les concentrations 9h 10h 11h 12h 13h 14h 15h 16h 17h 18h 19h 20h 21h Automne lundi mardi mercredi jeudi vendredi M1112 Calcul 1 M1112 Calcul 1 TP M1112 .

avis sur tout aspect de ces cours. Vos avis ou réactions peuvent inclure des observations sur : Le contenu et l'organisation des cours Les manuels de lecture et ressources des cours. Les exercices des cours. Les évaluations des cours. La durée des cours. Le soutien aux cours (tuteurs désignés, soutien technique,

Pour créer un autre prof de SVT, le plus simple est de retourner dans « cours/gestion des cours », de cliquer SVT et d’ajouter une sous-catégorie « Prof_SVT1 » Pour créer une autre matière (catégorie), le plus simple est de retourner dans « cours/gestion des cours », et de cliquer sur ajouter une autre catégorie de cours Présentation des pictogrammes liés aux catégories ou aux .

Le cours est normalement divisé en 12 semaines de cours plus les 2 examens. Le portail de cours étant modifié en cours de session, l'étudiant doit s'y référer aussi souvent que possible. L'étudiant doit répartir son temps entre le suivi du cours magistral, la résolution d'exercices en laborato

Histologie de l'appareil respiratoire (cours 3 et 4) p. 29 Embryologie et développement de l'appareil respiratoire (cours 5 et 6) p. 41 II PHYSIOLOGIE p. 50 Structure fonctionnelle (cours 10) p. 54 Mécanique ventilatoire (cours 11) p. 67 Transport des gaz dans le sang (cours 13) p. 87 Diffusion de gaz, DLCO (cours 14) p. 102

Ofre de cours . AUTOMNE 2017 . Sauf indication contraire, tous les cours sont de 3 crédits. Les cours entre parenthèses sont des préalables. à Lire attentivement la description oicielle d ’un cours sur le site de la TÉLUQ ain de connaître les particularités qui s’y appliquent. PREMIER CYCLE . ADM . ADM 1002 Initiation à la gestion

Centre de formation en technologies de l¶information Plan de cours Cours : INF 764 – Gestion de projet avancé en TI Trimestre : Hiver 2021 Professeur : Martin Raymond 1. Mise en contexte Ce cours se veut une continuité du cours INF754. Il met en perspective le rôle des Cadres

cours fournira un complément de théorie. En plus du livre de référence, l’enseignant fournira d’autres documents d’appoint pour couvrir certains concepts. Planification des séances hebdomadaires Séance(s) Contenu prévu du cours S1 Entrée en matière Présentation du professeur, du plan de cours, de l’approche retenue pour le cours.