TP Développement C++ Sommaire

Dimension: px
Commencer à balayer dès la page:

Download "TP Développement C++ Sommaire"

Transcription

1 TP Développement C tv - v.1.0 Sommaire Première partie : Le premier programme 3 Hello world Explications Compilation Édition des liens Environnement de programmation Manipulations Objectifs Étape n 1 : création de votre espace de travail Étape n 2 : édition du programme source Étape n 3 : vérification du bon fonctionnement du compilateur Étape n 4 : placement dans le bon répertoire Étape n 5 : fabrication (enfin!) du premier programme Questions de révision Exercice 1 : corriger des erreurs Exercice 2 : faire évoluer un programme Bilan Deuxième partie : Structure d un programme informatique simple 14 Structure Objets, types et valeurs Entrée Opérations et opérateurs Règles de codage Affectation et initialisation Questions de révision Exercice 3 : calcul de notes Bilan

2 SOMMAIRE Troisième partie : Programmation modulaire 24 Objectifs et outils Expressions et instructions Constantes Références et pointeurs Fonctions Règles de codage Questions de révision Exercice 4 : programmation modulaire Exercice 5 : passage par adresse Exercice 6 : passage par référence Bilan Les objectifs de ce tp sont de comprendre et mettre en oeuvre la fabrication d un programme simple. Beaucoup de conseils sont issus du livre de référence de Bjarne Stroustrup ( Remarque : les tp ont pour but d établir ou de renforcer vos compétences pratiques. Vous pouvez penser que vous comprenez tout ce que vous lisez ou tout ce que vous a dit votre enseignant mais la répétition et la pratique sont nécessaires pour développer des compétences en programmation. Ceci est comparable au sport ou à la musique ou à tout autre métier demandant un long entraînement pour acquérir l habileté nécessaire. Imaginez quelqu un qui voudrait disputer une compététion dans l un de ces domaines sans pratique régulière. Vous savez bien quel serait le résultat. TP Développement C++ 2 / tv <tvaira@free.fr>

3 PREMIÈRE PARTIE : LE PREMIER PROGRAMME Première partie : Le premier programme Hello world Voici une version du premier programme que l on étudie habituellement. Il affiche Hello world! à l écran : // Ce programme affiche le message "Hello world!" à l écran #include <iostream> using namespace std; int main() cout << "Hello world!\n"; // Affiche "Hello world!" return 0; Hello world (version 1) en C++ Explications Tout programme C/C++ doit posséder une fonction nommée main (principale) pour indiquer où commencer l exécution. Une fonction est essentiellement une suite d instructions que l ordinateur exécutera dans l ordre où elles sont écrites. Une fonction comprend quatre parties : un type de retour : ici int (pour integer ou entier) qui spécifie le genre de résultat que la fonction retournera lors de son exécution. En C/C++, le mot int est un mot réservé (un mot-clé) : il ne peut donc pas être utilisé pour nommer autre chose. un nom : ici main une liste de paramètres entre parenthèses (que l on verra plus tard) : ici la liste de paramètres est vide un corps de fonction entre accolades qui énumère les instructions que la fonction doit exécuter Remarque : la plupart des instructions C/C++ se terminent par un point-virgule (;). En C/C++, les chaînes de caractères sont délimitées par des guillements anglais ("). "Hello world!\n" est donc une chaîne de caractères. Le code \n est un caractère spécial indiquant le passage à une nouvelle ligne (newline). Le nom cout (character output stream) désigne le flux de sortie standard (l écran par défaut). Les caractères placés dans cout au moyen de l opérateur de sortie «aparaîtront à l écran. // Affiche "Hello world!" placé en fin de ligne est un commentaire. Tout ce qui est écrit après // sera ignoré par le compilateur (la machine). Ce commentaire rend le code plus lisible pour les programmeurs. On écrit des commentaires pour décrire ce que le programme est supposé faire et, d une manière générale, pour fournir des informations utiles impossibles à exprimer directement dans le code. TP Développement C++ 3 / tv <tvaira@free.fr>

4 PREMIÈRE PARTIE : LE PREMIER PROGRAMME La première ligne du programme est un commentaire classique : il indique simplement ce que le programme est censé faire (et pas ce que nous avons voulu qu il fasse!). Prenez donc l habitude de mettre ce type de commentaire au début d un programme. La fonction main de ce programme retourne la valeur 0 (return 0;) à celui qui l a appelée. Comme main() est appelée par le système, il recevra cette valeur. Sur certains systèmes (Unix/Linux), elle peut servir à vérifier si le programme s est exécuté correctement. Un zéro (0) indique alors que le programme s est terminé avec succès (c est une convention UNIX). Évidemment, une valeur différente de 0 indiquera que le programme a rencontré une erreur. Et sa valeur précisera alors le type de l erreur. En C/C++, une ligne qui commence par un # fait référence à une directive du préprocesseur (ou de précompilation). Le préprocesseur ne traite pas des instructions C/C++ (donc pas de ";"). Ici, la directive #include <iostream> demande à l ordinateur de rendre accessible (d inclure ) les fonctionnalités contenues dans un fichier nommé iostream. Ce fichier est fourni avec le compilateur et nous permet d utiliser cout et l opérateur de sortie «dans notre programme. Un fichier inclus au moyen de #include porte généralement l extension.h. On l appelle en-tête (header) ou fichier d en-tête. Remarque : En C++, il est maintenant inutile d ajouter l extension.h pour les fichiers d en-tête standard. La ligne using namespace std; indique que l on va utiliser l espace de nom std par défaut. Remarque : cout (et cin) existe dans cet espace de nom mais pourrait exister dans d autres espaces de noms. Le nom complet pour y accéder est normalement std::cout. L opérateur :: permet la résolution de portée en C++ (un peu comme le / dans un chemin!). Pour éviter de donner systématiquement le nom complet, on peut écrire le code ci-dessous. Comme on utilise quasiment tout le temps des fonctions de la bibliothèque standard, on utilise presque tout le temps " using namespace std; " pour se simplifier la vie! TP Développement C++ 4 / tv <tvaira@free.fr>

5 PREMIÈRE PARTIE : LE PREMIER PROGRAMME Compilation C++ (ou C) est un langage compilé. Cela signifie que, pour pouvoir exécuter un programme, vous devez d abord traduire sa forme lisible par un être humain en quelque chose qu une machine peut comprendre. Cette traduction est effectuée par un programme appelé compilateur. Ce que le programmeur écrit est le code source (ou programme source) et ce que l ordinateur exécute s appelle exécutable, code objet ou code machine. Vous allez constater que le compilateur est plutôt pointilleux sur la syntaxe! Des manipulations de ce TP sont consacrées à découvrir cette syntaxe du langage C++. Comme tous les programmeurs, vous passerez beacoup de temps à chercher des erreurs dans du code source. Et la plupart de temps, le code contient des erreurs! Lorsque vous coderez, le compilateur risque parfois de vous agacer. Toutefois, il a généralement raison car vous avez certainement écrit quelque chose qui n est pas défini précisément par la norme C++ et qu il empêche de produire du code objet. Remarque : Le compilateur est dénué de bon sens et d intelligence (il n est pas humain) et il est donc très pointilleux. Prenez en compte les messages d erreur et analysez les bien car souvenez-vous en bien le compilateur est votre ami, et peut-être le meilleur que vous ayez lorsque vous programmez. TP Développement C++ 5 / tv <tvaira@free.fr>

6 PREMIÈRE PARTIE : LE PREMIER PROGRAMME Édition des liens Un programme contient généralement plusieurs parties distinctes, souvent développées par des personnes différentes. Par exemple, le programme Hello world! est constitué de la partie que nous avons écrite, plus d autres qui proviennent de la bibliothèque standard de C++ (cout par exemple). Ces parties distinctes doivent être liées ensemble pour former un programme exécutable. Le programme qui lie ces parties distinctes s appelle un éditeur de liens (linker). Remarque : notez que le code objet et les exécutables ne sont pas portables entre systèmes. Par exemple, si vous compilez pour une machine Windows, vous obtiendrez un code objet qui ne fonctionnera pas sur une machine Linux. Une bibliothèque n est rien d autre que du code (qui ne contient pas de fonction main évidemment) auquel nous accédons au moyen de déclarations se trouvant dans un fichier d en-tête. Une déclaration est une suite d instruction qui indique comment une portion de code (qui se trouve dans une bibliothèque) peut être utilisée. Le débutant a tendance à confondre bibliothèques et fichiers d en-tête. Remarque : Une bibliothèque dynamique est une bibliothèque qui contient du code qui sera intégré au moment de l exécution du programme. Les avantages sont que le programme est de taille plus petite et qu il sera à jour vis-à-vis de la mise à jour des bibliothèques. L inconvénient est que l exécution dépend de l existence de la bibliothèque sur le système cible. Une bibliothèque dynamique, Dynamic Link Library (.dll) pour Windows et shared object (.so) sous UNIX/Linux, est un fichier de bibliothèque logicielle utilisé par un programme exécutable, mais n en faisant pas partie. Les erreurs détectées par le compilateur sont des erreurs de compilation, celles que trouvent l éditeur de liens sont des erreurs de liaisons (ou erreurs d édition de liens). Et celles qui se produiront à l exécution seront des erreurs d exécutions ou de logique (communément appelées bugs). Généralement, les erreurs de compilation sont plus faciles à comprendre et à corriger que les erreurs de liaison, et les erreurs de liaison sont plus faciles à comprendre et à corriger que les erreurs d exécution et les erreurs de logique. TP Développement C++ 6 / tv <tvaira@free.fr>

7 PREMIÈRE PARTIE : LE PREMIER PROGRAMME Environnement de programmation Pour programmer, nous utilisons un langage de programmation. Nous utilisons aussi un compilateur pour traduire le code source en code objet et un éditeur de liens pour lier les différentes portions de code objet et en faire un programme exécutable. De plus, il nous faut un programme pour saisir le texte du code source (un éditeur de texte à ne pas confondre avec un traitement de texte) et le modifier si nécessaire. Ce sont là les premiers éléments essentiels de ce qui constitue la boîte à outils du programmeur que l on appelle aussi environnement de développement. Si vous travaillez dans une fenêtre en mode ligne de commande (appelée parfois mode console ), comme c est le cas de nombreux programmeurs professionnels, vous devez taper vous-mêmes les différentes commandes pour produire un exécutable et le lancer. Figure 1 Exemple de développement sur la console Si vous travaillez dans un Environnement de Développement Intégré ou EDI, comme c est aussi le cas de nombreux programmeurs professionnels, un simple clic sur le bouton approprié suffira. Figure 2 Exemple de développement avec l EDI Qt Creator Un EDI (ou IDE pour Integrated Development Environment) peut contenir de nombreux outils comme : la documentation en ligne, la gestion de version et surtout un débogueur (debugger) qui permet de trouver des erreurs et de les éléminer. Remarque : Il existe de nombreux EDI (ou IDE) pour le langage C/C++ et on en utilisera certains notamment en projet. On peut citer : Visual C++, Builder, Qt Creator, Code::Blocks, devcpp, eclipse, etc... Ils peuvent être très pratique mais ce ne sont que des outils et l apprentissage du C/C++ ne nécessite pas forcément d utiliser un EDI. Ils améliorent surtout la productivité dans un cadre professionnel. TP Développement C++ 7 / tv <tvaira@free.fr>

8 PREMIÈRE PARTIE : LE PREMIER PROGRAMME Manipulations Objectifs L objectif de cette partie est la mise en oeuvre de la chaîne de fabrication g++ sous Linux. Étape n 1 : création de votre espace de travail Dans votre répertoire personnel, créez un répertoire "C-C++" où vous stockerez l ensemble des vos tp. Entrez dans ce répertoire et faites un nouveau répertoire dedans nommé "tp1" où vous stockerez vos travaux pour ce premier TP. Pour réaliser cela, vous pouvez soit utiliser l interface graphique avec l explorateur de fichiers (dolphin par exemple) soit utiliser une console (Menu Outils Konsole pour une environnement KDE) en tapant simplement les commandes suivantes : $ mkdir C-C++ $ cd C-C++ $ mkdir tp1 $ cd tp1 Étape n 2 : édition du programme source À l aide d un éditeur de texte (vi, vim, emacs, kwrite, kate, gedit sous Linux ou Notepad, Notepad++, UltraEdit sous Windows,...), tapez (à la main, pas de copier/coller, histoire de bien le lire et de s habituer à la syntaxe!) le programme suivant dans un fichier que vous nommerez "helloworld.cpp" : #include <iostream> using namespace std; int main() int decompte = 5; while(decompte > 0) cout << "Hello "; cout << "world" << "!" << endl; decompte = decompte - 1; return 0; Hello world (version 2) en C++ TP Développement C++ 8 / tv <tvaira@free.fr>

9 PREMIÈRE PARTIE : LE PREMIER PROGRAMME Étape n 3 : vérification du bon fonctionnement du compilateur Tout d abord ouvrez une console (Menu Outils Konsole pour une environnement KDE) et vérifiez que le compilateur C++ est bien installé en tapant simplement la commande suivante : $ g++ Si cela vous répond "g++: no input file" ou "g++: pas de fichier à l entrée", alors tout va bien : votre GNU/Linux a bien réussi à exécuter le compilateur... et ce dernier se plaint juste que vous ne lui avez pas dit quoi compiler. L installation du compilateur est bien faite et vous pourrez continuer. Si au contraire GNU/Linux vous répond (en français par exemple) "bash: g++ : commande introuvable". Alors c est que l interpréteur de commandes (bash) n est pas en mesure de trouver le compilateur installé ou qu il n est pas du tout installé. Demandez alors l aide de l enseignant. Étape n 4 : placement dans le bon répertoire Avant de pouvoir compiler notre premier programme, il nous faut tout d abord nous déplacer dans la console (la fenêtre noire) pour nous placer dans le repertoire où se trouve le fichier "helloworld.cpp" créé précédemment. Pour cela, appprendre quelques commandes bash est nécessaire. La première commande à connaitre est "ls" ("ls -l" pour avoir plus de détails) qui affiche le contenu du répertoire dans lequel vous vous trouvez actuellement. Essayez! La commande équivalente sous Windows est "dir". La deuxième commande à connaitre est "cd" qui change le répertoire où vous vous trouvez : par exemple, pour aller dans le sous-répertoire "C-C++", vous allez taper : $ cd C-C++ Remarquez que l invite de commande (en anglais on appelle ça le "prompt", c est-à-dire le message qui précède le curseur sur la dernière ligne qui vient d apparaitre) contient toujours le nom du répertoire courrant. Recommencer l opération cette fois pour rentrer dans le sous-répertoire "tp1" : $ cd tp1 Si vous voulez remonter d un niveau, rien de plus simple car le nom de répertoire ".." indique, où que vous soyez, le répertoire qui se trouve immédiatement au dessus. On l appelle le répertoire parent. $ cd.. Un autre nom de répertoire particulier est "." : c est le répertoire dans lequel vous êtes actuellement. On l appelle le répertoire courant. Souvenez-vous que sous Linux, il faut taper "./helloworld" pour lancer l exécution du programme "helloworld" (sous Linux, les fichiers exécutables n ont pas d extension particulière contrairement à Windows qui possède l extension ".exe" pour les programmes). En fait cela signifie : "dans le répertoire courant" / "le fichier helloworld". A votre avis, quel est le résultat de la commande suivante : $ cd. Pourquoi? Vous avez peut être remarqué qu une barre oblique sépare les répertoires, et qu elle n est pas dans le même sens sous Windows "\" et Linux "/"? Apprennez à les repérer et à ne pas vous tromper! Au lieu de faire deux fois la commande "cd", on aurait pu aller directement au bon endroit en une seule fois : TP Développement C++ 9 / tv <tvaira@free.fr>

10 PREMIÈRE PARTIE : LE PREMIER PROGRAMME cd C-C++\tp1 Sous Windows cd C-C++/tp1 Sous Linux Faites maintenant "ls -l" (ou "dir" et vérifiez que votre fichier "helloworld.cpp" apparait bien dans la liste. Si ce n est pas le cas, appelez l enseignant à l aide. Étape n 5 : fabrication (enfin!) du premier programme Cela se fait comme vu en cours avec les deux commandes suivantes : g++ -Wall -c helloworld.cpp qui réalise le "pré-processing", la compilation et l assemblage du fichier source "helloworld.cpp" en un fichier objet "helloworld.o" dans le même repertoire. Faites "ls -l" pour vérifier que le fichier "helloworld.o" a bien été créé. Vous devez ensuite faire : g++ -Wall -o helloworld helloworld.o qui réalise l édition des liens entre les divers fichiers ".o" (unification des variables et des fonctions contenues dans ces différents fichiers), puis qui produit le fichier exécutable "helloworld". Vous pouvez maintenant démarer le programme, sous Linux, souvenez-vous qu il faut indiquer que le programme se trouve dans le repertoire courant en tapant : "./helloworld" pour le démarrer../helloworld Questions de révision L idée de base des questions de révision est de vous donner une chance de voir si vous avez identifié et compris les points clés de cette partie. Question 1. Quel est le but du programme Hello world!? Question 2. Quelles sont les quatre parties d une fonction? Question 3. Citez une fonction qui doit apparaître dans tout programme C ou C++. Question 4. Dans le programme Hello world!, à quoi sert la ligne return 0;? Question 5. Quel est le rôle du compilateur? Question 6. À quoi sert la directive #include? Question 7. Que signifie l extension.h à la fin d un nom de fichier en C/C++? Question 8. Que fait l éditeur de liens pour votre programme? Question 9. Quelle est la différence entre un fichier source et un fichier objet? Question 10. Qu est-ce qu un environnement de développement intégré (EDI) et que fait-il pour vous? TP Développement C++ 10 / tv <tvaira@free.fr>

11 PREMIÈRE PARTIE : LE PREMIER PROGRAMME Exercice 1 : corriger des erreurs L objectif de cet exercice est d apprendre à interpréter les erreurs signalées par le compilateur. Question 11. Éditez le fichier "acorriger.cpp" ci-dessous et tentez de le compiler. Quel compilateur faut-il utiliser? g++ ou gcc? /Qu est censé faire ce programme? // auteur : e. remy include <iostrem> using namespace std; integer main() /* Vous devez corriger ce programme et arriver à le compiler puis l exécuter. cout << Le programme marche! << end; int valeur = 10 cout << "valeur =" << valeur << end; // Attention : la division de deux entiers est une division euclidienne, // c est-à-dire une division ***ENTIERE***! int quotient = 10 / 3 cout << "quotient=" << quotient << end; int reste = 10 % 3 cout << "reste=" << reste << end; // Si vous voulez faire une division réelle, il faut convertir un des // arguments en réel : out << "quotient reel =" << valeur / 3.0 <<end; // Cette fois-ci 3.0 est réel out << "Fin du programme; return 0; Un fichier source truffé d erreurs! La compilation échoue car le fichier est truffé d erreurs! Question 12. Corrigez-les jusqu à obtenir le bon fonctionnement du programme. Puis, ajouter le commentaire classique au début du programme source. Quelques consignes importantes : Vous pouvez commencer par tenter de corriger toutes les erreurs que vous trouver par vous-même en lisant le programme... mais au delà, c est au compilateur de vous dire où sont les erreurs de syntaxe. Ne considérez que la première erreur signalée par le compilateur : les suivantes peuvent être une conséquence de la mauvaise compréhension de la suite du programme par le compilateur à cause de cette première erreur... il faut donc la corriger en premier! Une fois qu elle est corrigée, essayez de recompiler pour voir si vous avez bien corrigé, et s il reste d autres erreurs... La programmation est une véritable école de patience! Utilisez le numéro de ligne indiqué par le compilateur. Soit l erreur se trouve à la ligne indiquée... soit un peu avant : le numéro de ligne indiqué est l endroit où il devient manifeste pour le compilateur que le programme est erroné... mais des fois vous avez pu écrire une bêtise qui n est pas litéralement fausse et donc que le compilateur accepte pendant quelques lignes... jusqu à ce que cela devienne clair qu il y a un problème! TP Développement C++ 11 / tv <tvaira@free.fr>

12 PREMIÈRE PARTIE : LE PREMIER PROGRAMME Si vous ne trouvez pas la source de l erreur, n hésitez pas à appeler à l aide! L enseignant est là pour vous aider. Plus tard, quand vous rédigerez vos propres programmes, sachez également que quand on a "le nez dedans", on ne voit pas toujours ses propres fautes, mais qu elles sont souvent évidentes pour quelqu un qui a un regard neuf sur votre programme : demander une relecture à un de vos camarades s avère donc souvent très efficace. Exercice 2 : faire évoluer un programme L objectif de cet exercice est de faire évoluer un programme existant. Question 13. Testez le programme ci-dessous. Que permet de faire cin? Proposez une définition pour cin? // Affiche à l écran un entier saisi par l utilisateur #include <iostream> int main (int argc, char **argv) int n; std::cout << "Donnez un entier : " << std::endl; std::cin >> n; std::cout << "Vous avez donné l entier : " << n << std::endl; return 0; Une saisie clavier avec cin Question 14. Modifiez le programme Hello world (version 2) pour qu il puisse afficher n fois le message "Hello world!" (n étant une valeur saisie par l utilisateur). Que se passe-t-il si l utilisateur saisi une valeur négative? Bilan Qu y a-t-il de si important à propos du programme Hello world!? Son objectif était de vous familiariser avec les outils de base utilisés en programmation. Retenez cette règle : il faut toujours prendre un exemple extrêmement simple (comme Hello world ) à chaque fois que l on découvre un nouvel outil. Cela permet de diviser l apprentissage en deux parties : on commence par apprendre le fonctionnement de base de nos outils avec un programme élémentaire puis on peut passer à des programmes plus compliqués sans être distraits par ces outils. Découvrir les outils et le langage simultanément est beaucoup plus difficile que de le faire un après l autre. Conclusion : cette approche consistant à simplifier l apprentissage d une tâche complexe en la décomposant en une suite d étapes plus petites (et donc plus faicles à gérer) ne s applique pas uniquement à la programmation et aux ordinateurs. Elle est courante et utile dans la plupart des domaines de l existence, notamment dans ceux qui impliquent une compétence pratique. Descartes (mathématicien, physicien et philosophe français) dans le Discours de la méthode : TP Développement C++ 12 / tv <tvaira@free.fr>

13 PREMIÈRE PARTIE : LE PREMIER PROGRAMME «diviser chacune des difficultés que j examinerais, en autant de parcelles qu il se pourrait, et qu il serait requis pour les mieux résoudre.» «conduire par ordre mes pensées, en commençant par les objets les plus simples et les plus aisés à connaître, pour monter peu à peu comme par degrés jusques à la connaissance des plus composés...» TP Développement C++ 13 / tv <tvaira@free.fr>

14 DEUXIÈME PARTIE : STRUCTURE D UN PROGRAMME INFORMATIQUE SIMPLE Deuxième partie : Structure d un programme informatique simple Structure Un programme informatique est souvent structuré de la manière suivante : Les vrais programmes ont donc tendance à produire des résultats en fonction de l entrée qu on leur fournit. Pour pouvoir lire quelque chose, il faut dire où le placer ensuite. Autrement dit, il faut un endroit dans la mémoire de l ordinateur où placer les données lues. On appelle cet endroit un objet. Objets, types et valeurs Un objet est une région de la mémoire, dotée d un type qui spécifie quelle sorte d information on peut y placer. Un objet nommé s appelle une variable. Exemples : les chaînes de caractères sont stockées dans des variables de type string les entiers sont stockés dans des variables de type int les réels sont stockés dans des variables de type float etc.. Vous pouvez vous représenter un objet comme une boite (une case) dans laquelle vous pouvez mettre une valeur du type de l objet : Représentation d objets TP Développement C++ 14 / tv <tvaira@free.fr>

15 DEUXIÈME PARTIE : STRUCTURE D UN PROGRAMME INFORMATIQUE SIMPLE // Réalise la saisie de l age et du nom de l utilisateur #include <iostream> int main () int age; // Réserve une région de la mémoire destinée à contenir un entier et lui attribue le nom age string nom; // Réserve une région de la mémoire destinée à contenir une chaîne de caractères et lui attribue le nom nom std::cout << "Donnez votre âge : " << std::endl; // Affiche un message d invite demandant à l utilisateur d exécuter une action std::cin >> age; // Lit la valeur saisie et la place dans age std::cout << "Donnez votre nom : " << std::endl; std::cin >> nom; // Lit les caractères et les place dans nom //... return 0; Saisies clavier avec cin Remarque : il est fondamentalement impossible de faire quoi que ce soit avec un ordinateur sans stocker des données en mémoire (on parle ici de la RAM). Une instruction qui définit une variable est... une définition! Une définition peut (et généralement doit) fournir une valeur initiale. Trop de programmes informatiques ont connu des bugs dûs à des oublis d initialisation de variables. On vous obligera donc à le faire systématiquement. On appelle cela respecter une régle de codage. Il en existe beaucoup d autres. int nombredetours = 100; // Correct 100 est une valeur entière string prenom = "Robert"; // Correct "Robert" est une chaîne de caractères // Mais : int nombredetours = "Robert"; // Erreur : "Robert" n est pas une valeur entière string prenom = 100; // Erreur : 100 n est pas une chaîne de caractères (il manque les guillemets) Initialisation de variables Remarque : Le compilateur se souvient du type de chaque variable et s assure que vous l utilisez comme il est spécifié dans sa définition. TP Développement C++ 15 / tv <tvaira@free.fr>

16 DEUXIÈME PARTIE : STRUCTURE D UN PROGRAMME INFORMATIQUE SIMPLE Le C++ dispose de nombreux types (voir le support de cours). Toutefois, vous pouvez écrire la plupart des programmes en n en utilisant que cinq : int nombredetours = 100; // int pour les entiers double tempsdevol = 3.5; // double pour les nombres en virgule flottante (double précision) string prenom = "Robert"; // string pour les chaînes de caractères char pointdecimal =. ; // char pour les caractères individuels ou pour des variables entières sur 8 bits (un octet) bool ouvert = true; // bool pour les variables logiques (booléenes) Les types usuels en C++ Remarque : les types string et bool n existent pas en langage C. Entrée Rappel : Une instruction qui introduit un nouveau nom dans un programme et réserve de la mémoire pour une variable s appelle une définition. Le nom cin (character input stream) désigne le flux d entrée standard (le clavier par défaut), dans la bibiothèque standard. L opérateur» (qui signifie obtenir depuis ) spécifie où va l entrée. On remarque dans cet exemple que l opérateur» est sensible au type : autrement dit, la lecture dépend du type de la variable de destination. C est la même chose pour l opérateur «. // Réalise la saisie de l age et du nom de l utilisateur #include <iostream> int main () int age; // Réserve une région de la mémoire destinée à contenir un entier et lui attribue le nom age string nom; // Réserve une région de la mémoire destinée à contenir une chaîne de caractères et lui attribue le nom nom std::cout << "Donnez votre nom et votre âge : " << std::endl; // Affiche un message d invite demandant à l utilisateur d exécuter une action std::cin >> nom; // Lit les caractères et les place dans nom std::cin >> age; // Lit la valeur saisie et la place dans age //... return 0; Saisies clavier avec cin Pourquoi cin ne place-t-il pas tout ce qui est saisi dans la variable nom? Parce que, par convention, la lecture des chaînes de caractère se termine sur ce qu on appelle un espace blanc (whitespace), c est-à-dire le caractère espace, une tabulation ou un caractère de retour à la ligne. Notez que les espaces sont ignorés par défaut. Question 15. Inversez la saisie (cin) de nom et age. Que constatez-vous? Expliquez. Question 16. Réaliser un programme qui saisit et affiche le nom et le prénom de l utilisateur dans le message "Bienvenue non prénom!". Remarque : si votre nom comporte des espaces, il vous faudra alors utilisé la fonction getline ( TP Développement C++ 16 / tv <tvaira@free.fr>

17 DEUXIÈME PARTIE : STRUCTURE D UN PROGRAMME INFORMATIQUE SIMPLE Opérations et opérateurs Outre le fait qu il spécifie quelles valeurs on peut stocker dans une variable, le type de celle-ci détermine quelles opérations on peut lui appliquer et ce qu elles signifient. Remarque : la liste des opérateurs est fournie dans le cours. // Réalise des opérations sur l age et le nom de l utilisateur #include <iostream> using namespace std; int main () int age; string nom; cin >> nom; // Lit les caractères et les place dans nom cin >> age; // Lit la valeur saisie et la place dans age string fils = nom + " Junior"; // Ajoute (concatène) des caractères à la fin int ageapres = age + 1; // Additionne des entiers string s = nom - " Junior"; // Erreur : cet opérateur n est pas défini pour string! int ageavant = age - 1; // Soustrait des entiers return 0; Opérations sur les types Par "Erreur", nous entendons que le compilateur rejettera la ligne où on essaye de soustraire des chaînes car le compilateur sait exactement quelles opérations peuvent être appliquées à chaque type de variable. erreur: no match for operator- in nom - " Junior" Par contre, le compilateur acceptera sans broncher des opérations légales qui générèrent des résultats absurdes : int age = -100; Remarque : L impossibilité d avoir un âge négatif peut vous sembler évidente (n est-ce pas?), mais personne ne l a dit au compilateur : il produira donc du code pour cette définition et vous aurez (peut-être) un bug à gérer par la suite. La comparaison de chaînes est particulièrement utile et permet de montrer un traitement réalisable par un ordinateur : // Lit et compare deux noms #include <iostream> using namespace std; int main() TP Développement C++ 17 / tv <tvaira@free.fr>

18 DEUXIÈME PARTIE : STRUCTURE D UN PROGRAMME INFORMATIQUE SIMPLE cout << "Donnez deux noms :\n"; string premier; string second; cin >> premier >> second; // Lit deux chaînes if (premier == second) cout << "Les deux noms sont identiques.\n"; if (premier < second) cout << premier << " est avant " << second << \n ; if (premier > second) cout << premier << " est après " << second << \n ; return 0; Comparaison de chaînes Remarque : Nous utilisons ici une instruction if pour sélectionner des actions soumises à des conditions. Vous pouvez consulter le cours pour obtenir plus d informations sur les instructions conditionnelles. On obtient ceci à l exécution : $./a.out Donnez deux noms : titi toto titi est avant toto $./a.out Donnez deux noms : tata tata Les deux noms sont identiques. $./a.out Donnez deux noms : toto Toto toto est après Toto Question 17. Quelle est alors la définition d "identique" dans le programme précédent? Règles de codage Un nom de variable est un nom principal (surtout pas un verbe) suffisamment éloquent, éventuellement complété par : une caractéristique d organisation ou d usage un qualificatif ou d autres noms On utilisera la convention suivante : un nom de variable commence par une lettre minuscule puis les différents mots sont repérés en mettant en majuscule la première lettre d un nouveau mot. Certaines abréviations sont admises quand elles sont d usage courant : nbre, max, min,... TP Développement C++ 18 / tv <tvaira@free.fr>

19 DEUXIÈME PARTIE : STRUCTURE D UN PROGRAMME INFORMATIQUE SIMPLE Les lettres i, j, k utilisées seules sont usuellement admises pour les indices de boucles. Exemples : distance, distancemax, consignecourante, etatboutongauchesouris, nbredessais,... Un nom de variable doit être uniquement composé de lettres, de chiffres et de "souligné" (_). Les noms débutant par le caractère "souligné" (_) sont réservés au système, et à la bibliothèque C. Les noms débutant par un double "souligné" ( ) sont réservés aux constantes symboliques (#define...) privées dans les fichiers d en-tête (.h). Il est déconseillé de différencier deux identificateurs uniquement par le type de lettre (minuscule/majuscule). Les identificateurs doivent se distinguer par au moins deux caractères, parmi les 12 premiers, car pour la plupart des compilateurs seuls les 12 premiers symboles d un nom sont discriminants. Les mots clés du langage sont interdits comme noms. Remarque : l objectif de respecter des règles de codage est d augmenter la lisibilité des programmes en se rapprochant le plus possible d expressions en langage naturel. Affectation et initialisation L opérateur le plus intéressant (et le plus important à maîtriser) est l opérateur d affectation, représenté par =. Il attribue une nouvelle valeur à une variable. L opérateur = permet deux opérations similaires mais intellectuellement distinctes : l initialisation qui donne une valeur initiale à une variable l affectation qui donne une nouvelle valeur à une variable Exemple d initialisations et d affectations sur des entiers TP Développement C++ 19 / tv <tvaira@free.fr>

20 DEUXIÈME PARTIE : STRUCTURE D UN PROGRAMME INFORMATIQUE SIMPLE Question 18. Compléter en indiquant les valeurs de a et b pour l exemple ci-dessous. Exemple d initialisations et d affectations sur des chaînes L affectation est nécessaire lorsqu on veut placer une nouvelle valeur dans un objet. Elle trouve toute son utilité dès qu on fera quelque chose plusieurs fois car il faudra une affectation pour refaire quelque chose avec une valeur différente (c est le concept de variable). Voici un programme qui illustre cela : un détecteur de mots répétés adjacents dans une suite de mots. Ce genre de code fait partie de la plupart des vérificateurs de grammaire : // Détecte des mots répétés adjacents #include <iostream> using namespace std; int main() string motprecedent = " "; // signifiera "pas un mot"! string motcourant; while (cin >> motcourant) // Lit un flux de mots if (motprecedent == motcourant) // Teste si le mot est le même que le précédent cout << "mot répété : " << motcourant << \n ; motprecedent = motcourant; return 0; Détecteur de mots répétés TP Développement C++ 20 / tv <tvaira@free.fr>

21 DEUXIÈME PARTIE : STRUCTURE D UN PROGRAMME INFORMATIQUE SIMPLE On lit donc un mot dans motcourant avec cin, puis on le compare au mot précédent (motprecedent). S ils sont identiques, on l affiche à l écran. Puis on doit se préparer pour le mot suivant : on place donc dans motprecedent le mot contenu dans motcourant. Mais que doit faire ce programme pour le premier mot quand il n y a pas encore de mot précédent à comparer? Il faut initialiser motprecedent lors de sa définition de telle manière qu il indique qu il ne contient pas (encore) un mot. Il contiendra qu un seul caractère (le caractère espace) car on sait que l opérateur» les ignore. Il sera donc impossible à cin de lire cette valeur et lors du premier passage dans la boucle while, le test if échouera (c est ce que nous voulions). On obtient ceci à l exécution : $./a.out toto et titi titi vont à la la plage avec titi mot répété : titi mot répété : la Ctrl-d Remarque : sous Linux, vous pouvez mettre fin au programme en combinant les touches Ctrl et d qui indiquera qu il n y a plus de saisie. Vous pouvez aussi stopper le programme avec Ctrl-z ou l interrompre avec Ctrl-c. Conseil : Une façon de comprendre ce programme est de jouer à l ordinateur, autrement dit de suivre le programme ligne par ligne en faisant ce qu il spécifie. Dessinez des boîtes sur une feuille de papier et inscrivez-y leurs valeurs. Puis changez les valeurs comme indiqué par le programme. Les programmeurs expérimentés font cela alors pourquoi pas vous? Question 19. Quelle est la signification exacte de mots répétés dans ce programme? Question 20. Modifiez ce programme afin qu il compte et affiche à la fin le nombre de mots répétés adjacents dans une suite de mots. Pour vous aider, répondez aux questions suivantes qui sont celles qu un programmeur doit se poser : a) Proposez un nom et un type pour la variable qui doit compter le nombre de mots répétés. b) Donnez sa valeur initiale. c) Écrivez alors sa définition. d) Repérez l endroit où la détection d un mot répété est réalisée. e) Écrivez alors l incrémentation du compteur. Si vous devez écrire plusieurs instructions pour un if, il vous faudra alors mettre un bloc avec des accolades (). Remarque : pour incrémenter une variable, on peut soit utiliser l opérateur d incrémentation (++) soit l addition (+). int a = 4; // Au choix : ++a; // après cette instruction, a aura pour valeur 5 (écriture conseillée) a++; // après cette instruction, a aura pour valeur 6 a = a + 1; // après cette instruction, a aura pour valeur 7 a += 1; // après cette instruction, a aura pour valeur 8 Incrémentation d un entier Remarque : assurer un affichage grammaticalement correct, "Aucun mot répété adjacent dans cette suite", "un seul mot répété adjacent dans cette suite" ou "Il y a n mots répétés adjacents dans cette suite" (où n est une valeur strictement supérieure à 1). TP Développement C++ 21 / tv <tvaira@free.fr>

22 DEUXIÈME PARTIE : STRUCTURE D UN PROGRAMME INFORMATIQUE SIMPLE Questions de révision L idée de base des questions de révision est de vous donner une chance de voir si vous avez identifié et compris les points clés de cette partie. Question 21. Qu entend-on par le terme invite? Question 22. Quel opérateur utilise-t-on pour lire une valeur et la placer dans une variable? Question 23. Qu est-ce qu une variable? Question 24. Quelle est la différence entre = et ==? Question 25. Qu est-ce qu une définition? Question 26. Qu est-ce qu une initialisation et en quoi diffère-t-elle d une affectation? Question 27. Qu est-ce qu une concaténation de chaînes? Quel est l opérateur qui permet cela en C++? Question 28. Qu est-ce qui termine l entrée d une chaîne? d un entier? Question 29. Quelles sont les bonnes règles pour choisir un nom de variable? Question 30. Qu est-ce qu une incrémentation? Exercice 3 : calcul de notes L objectif de cet exercice est de montrer la décomposition en itérations d un problème simple. Question 31. Calculer la somme d un certain nombre de valeurs tapées par l utilisateur Créez un programme qui lit une série de valeurs numériques réelles tapées successivement par l utilisateur. La saisie de la valeur -1 comme note signale au programme qu il n y a plus de note à taper ; cette note -1 ne doit pas être considérée comme une vraie note pour la suite du problème, c est uniquement une marque de fin. Au fur et à mesure que les nombres sont lus l un après l autre dans une variable (que vous pouvez nommer note), additionnez-les dans une variable que vous nommerez accumulateur et que vous initialiserez précédemment à la valeur 0 (élément neutre de l addition). Question 32. Compter les valeurs en même temps. Modifiez votre source pour que le programme, en plus de toujours calculer la somme des valeurs tapées, calcule aussi automatiquement leur nombre... sans compter le -1! Question 33. Calculer la moyenne des valeurs. Ajoutez l affichage de la moyenne des valeurs, c est-à-dire tout simplement le total divisé par le nombre de valeurs. Attention : il y a un petit piège dans cette question! Si, pris par l habitude (pourtant pas bien vieille) de toujours créer des variables de type int, vous avez jusqu ici commis l erreur de choisir int comme type pour la note saisie ou pour l accumulateur, vous allez obtenir un autre calcul que celui que vous désirez! En effet, diviser un entier par un autre entier conduit à calculer le quotient entier de la division euclidienne. Si vous voulez calculer une division réelle, il suffit qu un des arguments (ici, choisissons l accumulateur) soit un réel (comme indiqué à la première question de l exercice). Si l accumulateur est un réel, je vous signale qu il serait logique que la variable note le soit aussi. TP Développement C++ 22 / tv <tvaira@free.fr>

23 DEUXIÈME PARTIE : STRUCTURE D UN PROGRAMME INFORMATIQUE SIMPLE Question 34. Contrôler les saisies. Améliorez l opération de lecture pour que le programme vérifie que la valeur tapée est bien comprise entre 0 et 20 inclus, ou qu il s agit de -1. Si la valeur n est pas acceptable, alors l utilisateur voit un message qui lui demande de recommencer sa saisie de cette valeur jusqu à ce qu elle soit correcte. Question 35. Déterminer le minimum et le maximum. Trouvez comment modifier votre algorithme pour que le programme calcule (et affiche, à sa fin) la valeur du minimum et du maximum de la série de note en plus du calcul de moyenne déjà obtenu aux questions précédentes. Question 36. Écrire un programme robuste. Que donne votre programme si on ne saisit aucune note, c est-à-dire si on tape -1 dès le début? Un bon programme ne doit pas planter, et donc prévoir ce cas. Bilan Notez comment ces premiers programmes se sont construits : progressivement en modifiant un peu le code pour atteindre un nouvel objectif. C est une technique très courante : en présence d un problème à résoudre, on recherche un problème similaire et on utilise sa solution en ajoutant les modifications appropriées. Ne partez donc pas de zéro à moins d y être vraiment obligé. Se baser sur une version précédente économise beaucoup de temps et permet de tirer profit des efforts investis dans le programme d origine. Mais, pour pouvoir être réutilisé, un programme doit donc être proprement écrit : clair, lisible, fonctionnel, robuste et documenté. Conclusion : Les types sont au centre de la plupart des notions de programmes corrects, et certaines des techniques de construction de programmes les plus efficaces reposent sur la conception et l utilisation des types. Rob Pike (ancien chercheur des Laboratoires Bell et maintenant ingénieur chez Google) : «Règle n 5 : Les données prévalent sur le code. Si vous avez conçu la structure des données appropriée et bien organisé le tout, les algorithmes viendront d eux-mêmes. La structure des données est le coeur de la programmation, et non pas les algorithmes.» Cette règle n 5 est souvent résumée par «Écrivez du code stupide qui utilise des données futées!» TP Développement C++ 23 / tv <tvaira@free.fr>

24 TROISIÈME PARTIE : PROGRAMMATION MODULAIRE Troisième partie : Programmation modulaire D un certain point de vue, un programme informatique ne fait jamais rien d autre que traiter des données. Comme on l a déjà vu dans la deuxième partie, un programme accepte des entrées et produit des sorties : La majeure partie du travail d un programmeur est : comment exprimer un programme sous la forme d un ensemble de parties qui coopèrent et comment peuvent-elles partager et échanger des données? Les E/S signifie évidemment entrées/sorties : la sortie d une partie de code est l entrée de la suivante. Un traitement est tout simplement l action de produire des sorties à partir d entrées. Les entrées dans une partie de programme sont souvent appelées des arguments (ou parfois paramètres) et les sorties d une partie de programme des résultats. Par parties de programme (ou de code), on entend des entités comme une fonction produisant un résultat à partir d un ensemble d arguments en entrée. Exemple : un traitement comme produire le résultat (sortie) 49 à partir de l argument (entrée) 7 au moyen de la fonction racinecarree. TP Développement C++ 24 / tv <tvaira@free.fr>

25 TROISIÈME PARTIE : PROGRAMMATION MODULAIRE Objectifs et outils Le métier de programmeur consiste à écrire des programmes qui : donnent des résultats corrects sont simples sont efficaces L ordre donné ici est très important : peu importe qu un programme soit rapide si ses résultats sont faux. De même, un programme correct et efficace peut être si compliqué et mal écrit qu il faudra le jeter ou le récrire complètement pour en produire une nouvelle version. N oubliez pas que les progremmes utiles seront toujours modifiés pour répondre à de nouveaux besoins. Un programme (ou une fonction) doit s acquitter de sa tâche de façon aussi simple que possible. Nous acceptons ces principes quand nous décidons de devenir des professionnels. En termes pratiques, cela signifie que nous ne pouvons pas nous contenter d aligner du code jusqu à ce qu il ait l air de fonctionner : nous devons nous soucier de sa structure. Paradoxalement, le fait de s intéresser à la structure et à la qualité du code est souvent le moyen le plus facile de faire fonctionner un programme. Notre principal outil pour organiser un programme est de décomposer un traitement de grande taille en plusieurs parties plus petites jusqu à obtenir quelque chose de suffisamment simple à comprendre et à résoudre (cf. Descartes et son discours de la méthode). Expressions et instructions La brique de base la plus élémentaire d un programme est une expression. Une expression calcule une valeur à partir d un certain nombre d opérandes. Cela peut être une valeur littérale comme 10, a, 3.14, "rouge" ou le nom d une variable. TP Développement C++ 25 / tv <tvaira@free.fr>

26 TROISIÈME PARTIE : PROGRAMMATION MODULAIRE // calcule une aire int longueur = 40; int largeur = 20; int aire = longueur * largeur; Il y a plusieurs sortes d instructions : les déclarations, les instructions d expression, les instructions conditionnelles, les instructions itératives (boucles), etc... Une instruction d expression est une expression suivie d un point-virgule (;). Le point-virgule (;) est un élément syntaxique permettant au compilateur de comprendre ce que l on veut faire dans le code (comme la ponctuation dans la langue française). Dans les programmes comme dans la vie, il faut souvent choisir entre plusieurs possibilités. Le C/C++ propose plusieurs instructions conditionnelles : l instruction if ou l instruction switch. Une instruction if choisit entre deux possibilités : si la condition est vraie, la première instruction (ou bloc d instructions) est exécutée sinon c est la seconde. if(feuxpieton == vert) traverser(); else attendre(); La notion de base est donc simple mais il est également facile d utiliser if de façon trop simpliste. Voici un exemple simple de programme de conversion cm/inch qui utilise une instruction if : int main() const double conversion = 2.54; // nombre de cm pour un pouce (inch) int longueur = 1; // longueur (en cm ou en in) char unite = 0; // c pour cm ou i pour inch cout << "Donnez une longueur suivi de l unité (c ou i):\n"; cin >> longueur >> unite; if (unite == i ) cout << longueur << " in == " << conversion*longueur << " cm\n"; else cout << longueur << " cm == " << longueur/conversion << " in\n"; Conversion cm/inch (version 1) En fait cet exemple semble seulement fonctionner comme annoncé. Ce programme dit que si ce n est pas une conversion en inch c est forcément une conversion en cm. Il y a ici une dérive sur le comportement de ce programme si l utilisateur tape f car il convertira des cm en inches ce qui n est probablement pas ce que l utilisateur désirait. Un programme doit se comporter de manière sensée même si les utilisateurs ne le sont pas. Voici une version améliorée en utilisant une instruction if imbriquée dans une instruction if : int main() const double conversion = 2.54; // nombre de cm pour un pouce (inch) int longueur = 1; // longueur (en cm ou en in) char unite = 0; // c pour cm ou i pour inch cout << "Donnez une longueur suivi de l unité (c ou i):\n"; cin >> longueur >> unite; if (unite == i ) TP Développement C++ 26 / tv <tvaira@free.fr>

27 TROISIÈME PARTIE : PROGRAMMATION MODULAIRE cout << longueur << " in == " << conversion*longueur << " cm\n"; else if (unite == c ) cout << longueur << " cm == " << longueur/conversion << " in\n"; else cout << "Désolé, je ne connais pas cette unité " << unite << endl; Conversion cm/inch (version 2) De cette manière, vous serez tenter d écrire des tests complexes en associant une instruction if à chaque condition. Mais, rappelez-vous, le but est d écrire du code simple et non complexe. En réalité, la comparaison d unité à i et à c est un exemple de la forme de sélection la plus courante : une sélection basée sur la comparaison d une valeur avec plusieurs constantes. Le C/C++ fournit pour cela l instruction switch. int main() const double conversion = 2.54; // nombre de cm pour un pouce (inch) int longueur = 1; // longueur (en cm ou en in) char unite = 0; // c pour cm ou i pour inch cout << "Donnez une longueur suivi de l unité (c ou i):\n"; cin >> longueur >> unite; switch (unite) case i : cout << longueur << " in == " << conversion*longueur << " cm\n"; break; case c : cout << longueur << " cm == " << longueur/conversion << " in\n"; break; default: cout << "Désolé, je ne connais pas cette unité " << unite << endl; break; Conversion cm/inch (version 3) L instruction switch utilisée ici sera toujours plus claire que des instructions if imbriquées, surtout si l on doit comparer à de nombreuses constantes. Vous devez garder en mémoire ces particularités quand vous utilisez un switch : la valeur utilisée pour le switch() doit être un entier, un char ou une énumération (on verra cela plus tard). Vous ne pourrez pas utiliser un string par exemple. les valeurs des étiquettes utilisées dans les case doivent être des expressions constantes (voir plus loin). Vous ne pouvez pas utiliser de variables. vous ne pouvez pas utiliser la même valeur dans deux case vous pouvez utiliser plusieurs case menant à la même instruction l erreur la plus fréquente dans un switch est l oubli d un break pour terminer un case. Comme ce n est pas une obligation, le compilateur ne détectera pas ce type d erreur. TP Développement C++ 27 / tv <tvaira@free.fr>

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.be Qu est-ce que la programmation? Programmer Ecrire un

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

Introduction à l algorithmique et à la programmation M1102 CM n 3

Introduction à l algorithmique et à la programmation M1102 CM n 3 Introduction à l algorithmique et à la programmation M1102 CM n 3 DUT Informatique 1 re année Eric REMY eric.remy@univ-amu.fr IUT d Aix-Marseille, site d Arles Version du 2 octobre 2013 E. Remy (IUT d

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Algorithmique et programmation : les bases (VBA) Corrigé

Algorithmique et programmation : les bases (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi

Plus en détail

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

Plus en détail

UE Programmation Impérative Licence 2ème Année 2014 2015

UE Programmation Impérative Licence 2ème Année 2014 2015 UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

TP 1 Prise en main de l environnement Unix

TP 1 Prise en main de l environnement Unix Introduction aux systèmes d exploitation (IS1) TP 1 Prise en main de l environnement Unix Le but de ce premier TP est de commencer à vous familiariser avec l environnement Unix. 1 Ouverture de session

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

Programmation C++ (débutant)/instructions for, while et do...while

Programmation C++ (débutant)/instructions for, while et do...while Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de

Plus en détail

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

Plus en détail

Quelques éléments de compilation en C et makefiles

Quelques éléments de compilation en C et makefiles Quelques éléments de compilation en C et makefiles Guillaume Feuillade 1 Compiler un programme C Le principe de la compilation consiste à passer d un ensemble de fichiers de code à un programme exécutable

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

Algorithme. Table des matières

Algorithme. Table des matières 1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Conventions d écriture et outils de mise au point

Conventions d écriture et outils de mise au point Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette

Plus en détail

TP1 - Prise en main de l environnement Unix.

TP1 - Prise en main de l environnement Unix. Mise à niveau UNIX Licence Bio-informatique TP1 - Prise en main de l environnement Unix. Les sujets de TP sont disponibles à l adresse http://www.pps.jussieu.fr/~tasson/enseignement/bioinfo/ Les documents

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

EXCEL TUTORIEL 2012/2013

EXCEL TUTORIEL 2012/2013 EXCEL TUTORIEL 2012/2013 Excel est un tableur, c est-à-dire un logiciel de gestion de tableaux. Il permet de réaliser des calculs avec des valeurs numériques, mais aussi avec des dates et des textes. Ainsi

Plus en détail

TP1 : Initiation à l algorithmique (1 séance)

TP1 : Initiation à l algorithmique (1 séance) Université de Versailles Vanessa Vitse IUT de Vélizy - Algorithmique 2006/2007 TP1 : Initiation à l algorithmique (1 séance) 1 Prise en main de l environnement Unix : rappels et compléments Le but de la

Plus en détail

TP1. Outils Java Eléments de correction

TP1. Outils Java Eléments de correction c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

USTL - Licence ST-A 1ère année 2005-2006 Codage de l information TP 1 :

USTL - Licence ST-A 1ère année 2005-2006 Codage de l information TP 1 : USTL - Licence ST-A 1ère année 2005-2006 Codage de l information TP 1 : Objectifs du TP Ce TP a pour but 1. de découvrir quelques opérations logiques sur les nombres 2. et quelques formats de fichiers.

Plus en détail

TP, première séquence d exercices.

TP, première séquence d exercices. TP, première séquence d exercices. Benoît Valiron benoit.valiron@lipn.univ-paris13.fr 7 novembre 2010 Introduction Vous écrirez les réponses aux questions courtes sur une feuille à rendre à la fin de la

Plus en détail

Outils pour la pratique

Outils pour la pratique Cinquième partie Outils pour la pratique 121 CHAPITRE 1 Les bases des séances de TP Avant de lire cettre section, il est suggéré de relire vos notes de cours se rapportant au système d exploitation Unix.

Plus en détail

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page

Plus en détail

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

Utilisation d objets : String et ArrayList

Utilisation d objets : String et ArrayList Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons

Plus en détail

Manuel de mise en page de l intérieur de votre ouvrage

Manuel de mise en page de l intérieur de votre ouvrage Manuel de mise en page de l intérieur de votre ouvrage Merci de suivre strictement les recommandations de ce manuel qui a pour but de vous aider à préparer un livre dont la qualité de mise en page est

Plus en détail

Traitement de texte : Quelques rappels de quelques notions de base

Traitement de texte : Quelques rappels de quelques notions de base Traitement de texte : Quelques rappels de quelques notions de base 1 Quelques rappels sur le fonctionnement du clavier Voici quelques rappels, ou quelques appels (selon un de mes profs, quelque chose qui

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information TP Numéro 2 CRÉER ET MANIPULER DES TABLEAUX (Mise en forme, insertion, suppression, tri...) 1 CRÉER UN TABLEAU 1.1 Présentation Pour organiser et présenter des données sous forme d un tableau, Word propose

Plus en détail

GUIDE Excel (version débutante) Version 2013

GUIDE Excel (version débutante) Version 2013 Table des matières GUIDE Excel (version débutante) Version 2013 1. Créer un nouveau document Excel... 3 2. Modifier un document Excel... 3 3. La fenêtre Excel... 4 4. Les rubans... 4 5. Saisir du texte

Plus en détail

Créer le schéma relationnel d une base de données ACCESS

Créer le schéma relationnel d une base de données ACCESS Utilisation du SGBD ACCESS Polycopié réalisé par Chihab Hanachi et Jean-Marc Thévenin Créer le schéma relationnel d une base de données ACCESS GENERALITES SUR ACCESS... 1 A PROPOS DE L UTILISATION D ACCESS...

Plus en détail

Débuter avec Excel. Excel 2007-2010

Débuter avec Excel. Excel 2007-2010 Débuter avec Excel Excel 2007-2010 Fabienne ROUX Conseils & Formation 10/04/2010 TABLE DES MATIÈRES LE RUBAN 4 LE CLASSEUR 4 RENOMMER LES FEUILLES DU CLASSEUR 4 SUPPRIMER DES FEUILLES D UN CLASSEUR 4 AJOUTER

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

Cours d Algorithmique et de Langage C 2005 - v 3.0

Cours d Algorithmique et de Langage C 2005 - v 3.0 Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris

Plus en détail

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus : 1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus : La procédure d installation démarre. La fenêtre suivante vous indique

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

Dragon Naturally Speaking 13

Dragon Naturally Speaking 13 Année 2015 Dragon Naturally Speaking 13 Guide premier pas Nathalie Macé / Grégoire Duval PROJET ORDYSCAN 1 Table des matières Introduction 3 Pourquoi utiliser Dragon Naturally Speaking avec les élèves

Plus en détail

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

TP : Gestion d une image au format PGM

TP : Gestion d une image au format PGM TP : Gestion d une image au format PGM Objectif : L objectif du sujet est de créer une classe de manipulation d images au format PGM (Portable GreyMap), et de programmer des opérations relativement simples

Plus en détail

IV- Comment fonctionne un ordinateur?

IV- Comment fonctionne un ordinateur? 1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions

Plus en détail

Claude Delannoy. 3 e édition C++

Claude Delannoy. 3 e édition C++ Claude Delannoy 3 e édition Exercices Exercices C++ en en langage langage delc++ titre 4/07/07 15:19 Page 2 Exercices en langage C++ AUX EDITIONS EYROLLES Du même auteur C. Delannoy. Apprendre le C++.

Plus en détail

Comment mettre en page votre livre

Comment mettre en page votre livre GUIDE - ImprimermonLivre.com Comment mettre en page votre livre www.imprimermonlivre.com 1 V. 20131125 Conseils pour la mise en page de votre ouvrage L objectif de ce guide est de vous aider à réaliser

Plus en détail

Cahier n o 6. Mon ordinateur. Fichiers et dossiers Sauvegarde et classement

Cahier n o 6. Mon ordinateur. Fichiers et dossiers Sauvegarde et classement Cahier n o 6 Mon ordinateur Fichiers et dossiers Sauvegarde et classement ISBN : 978-2-922881-10-3 2 Table des matières Fichiers et dossiers Sauvegarde et classement La sauvegarde 4 Enregistrer 4 De quelle

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de

Plus en détail

Les chaînes de caractères

Les chaînes de caractères Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

COURS WINDEV NUMERO 3

COURS WINDEV NUMERO 3 COURS WINDEV NUMERO 3 01/02/2015 Travailler avec un fichier de données Etude du gestionnaire d analyse, Manipulation des tables mémoires, Manipulation de données, Création d états, Pré requis : Cours WinDev

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

La Clé informatique. Formation Excel XP Aide-mémoire

La Clé informatique. Formation Excel XP Aide-mémoire La Clé informatique Formation Excel XP Aide-mémoire Septembre 2005 Table des matières Qu est-ce que le logiciel Microsoft Excel?... 3 Classeur... 4 Cellule... 5 Barre d outil dans Excel...6 Fonctions habituelles

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan Cours de C++ François Laroussinie Dept. d Informatique, ENS de Cachan 2 novembre 2005 Première partie I Introduction Introduction Introduction Algorithme et programmation Algorithme: méthode pour résoudre

Plus en détail

Excel 2007 Niveau 3 Page 1 www.admexcel.com

Excel 2007 Niveau 3 Page 1 www.admexcel.com Excel 2007 Niveau 3 Page 1 TABLE DES MATIERES UTILISATION DE LISTES DE DONNEES... 4 REMARQUES PREALABLES SUR LES LISTES DE DONNEES... 4 METTRE EN FORME LE TABLEAU... 6 METTRE LA LISTE A JOUR... 7 a/ Directement

Plus en détail

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université

Plus en détail

La mémoire. Un ordinateur. L'octet. Le bit

La mémoire. Un ordinateur. L'octet. Le bit Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

Notions fondamentales du langage C# Version 1.0

Notions fondamentales du langage C# Version 1.0 Notions fondamentales du langage C# Version 1.0 Z 2 [Notions fondamentales du langage Csharp] [Date : 25/03/09] Sommaire 1 Tout ce qu il faut savoir pour bien commencer... 3 1.1 Qu est ce qu un langage

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Modes Opératoires WinTrans Mai 13 ~ 1 ~

Modes Opératoires WinTrans Mai 13 ~ 1 ~ Modes Opératoires WinTrans Mai 13 ~ 1 ~ Table des matières Facturation... 2 Tri Filtre... 2 Procédures facturation... 3 Transfert Compta... 8 Création d un profil utilisateur... Erreur! Signet non défini.

Plus en détail

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B Excel : Réalisation d un classeur Compta Saisir les étiquettes Renommer la première feuille Compta Laisser la première ligne vide et sur la deuxième ligne saisir les étiquettes Se placer sur A2 et saisir

Plus en détail

Chapitre 2 Devine mon nombre!

Chapitre 2 Devine mon nombre! Python 3 : objectif jeux Chapitre 2 Chapitre 2 Devine mon nombre! 2.1. Thèmes abordés dans ce chapitre commentaires modules externes, import variables boucle while condition : if... elif... else la fonction

Plus en détail

Les structures. Chapitre 3

Les structures. Chapitre 3 Chapitre 3 Les structures Nous continuons notre étude des structures de données qui sont prédéfinies dans la plupart des langages informatiques. La structure de tableau permet de regrouper un certain nombre

Plus en détail

LES TYPES DE DONNÉES DU LANGAGE PASCAL

LES TYPES DE DONNÉES DU LANGAGE PASCAL LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.

Plus en détail

Cours d algorithmique pour la classe de 2nde

Cours d algorithmique pour la classe de 2nde Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage

Plus en détail

Groupe Eyrolles, 2006, pour la présente édition, ISBN : 2-212-11782-5

Groupe Eyrolles, 2006, pour la présente édition, ISBN : 2-212-11782-5 Groupe Eyrolles, 2006, pour la présente édition, ISBN : 2-212-11782-5 Table des matières Chapitre A : Principes de base des scripts... 1 Élaboration de votre premier script... 1 Importance du modèle...

Plus en détail

Cours d initiation à la programmation en C++ Johann Cuenin

Cours d initiation à la programmation en C++ Johann Cuenin Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................

Plus en détail

[WINDOWS 7 - LES FICHIERS] 28 avril 2010. Logiciel / Windows

[WINDOWS 7 - LES FICHIERS] 28 avril 2010. Logiciel / Windows Ce dossier a une forme un peu différente des précédentes : c est un ensemble de «fiches» décrivant chacune une des opérations que l on peut effectuer avec un fichier (enregistrer, renommer, etc.). Chaque

Plus en détail

Vous allez le voir au cours de ce premier chapitre, 1. Découvrir l ipad

Vous allez le voir au cours de ce premier chapitre, 1. Découvrir l ipad 1. Découvrir l ipad Vous allez le voir au cours de ce premier chapitre, l utilisation de l ipad est très intuitive et, surtout, votre tablette obéit au doigt et à l œil. Vous ne pourrez bientôt plus vous

Plus en détail

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr . Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le

Plus en détail

Programmation système I Les entrées/sorties

Programmation système I Les entrées/sorties Programmation système I Les entrées/sorties DUT 1 re année Université de Marne La vallée Les entrées-sorties : E/O Entrées/Sorties : Opérations d échanges d informations dans un système informatique. Les

Plus en détail

Programme d Accès Communautaire / Atelier 4 Initiation à Microsoft Excel PLAN DE COURS 3 MICROSOFT EXCEL 4 LANCER EXCEL 4

Programme d Accès Communautaire / Atelier 4 Initiation à Microsoft Excel PLAN DE COURS 3 MICROSOFT EXCEL 4 LANCER EXCEL 4 TABLE DES MATIÈRES PLAN DE COURS 3 MICROSOFT EXCEL 4 LANCER EXCEL 4 LE COMPAGNON OFFICE 4 Masquage ou affichage du Compagnon Office 4 Sélection d un autre Compagnon 4 APPRIVOISER EXCEL 5 Exercice no 1

Plus en détail

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Table des matières 1 Les bases 3 2 Variables et constantes 5 3 Quelques fonctions indispensables

Plus en détail

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX TABLE DES MATIERES Livret Utilisateur Excel 2007 Niveau 2 INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX... 4 Les tableaux croisés dynamiques... 4 Création d un tableau croisé... 5 Comparer des

Plus en détail

Sélection du contrôleur

Sélection du contrôleur Démo CoDeSys - 1 - 1. Configuration de l environnement de travail : Lancer le logiciel CoDeSys Fichier Nouveau Lors de la première utilisation, une boîte de dialogue apparaît permettant la sélection du

Plus en détail

Solutions du chapitre 4

Solutions du chapitre 4 Solutions du chapitre 4 Structures de contrôle: première partie 4.9 Identifiez et corrigez les erreurs (il peut y en avoir plus d une par segment de code) de chacune des proposition suivantes: a) if (

Plus en détail

Tutoriel code::blocks

Tutoriel code::blocks Tutoriel code::blocks E. Lunéville 2006 Le logiciel code::blocks fait partie des logiciels de type EDI (Environnement de Développement Intégré, IDE en anglais) pour le langage C++. Il est multiplateforme

Plus en détail

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ Auteur : S.& S. Etienne F7n COUP DE BOURSE, NOMBRE DÉRIVÉ TI-Nspire CAS Mots-clés : représentation graphique, fonction dérivée, nombre dérivé, pente, tableau de valeurs, maximum, minimum. Fichiers associés

Plus en détail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches. S Vous n aimez pas la souris Les raccourcis clavier sont là pour vous faciliter la vie! INTRODUCTION : Vous avez du mal à vous habituer à la manipulation de la souris Des solutions existent : les raccourcis

Plus en détail

FEN FICHE EMPLOIS NUISANCES

FEN FICHE EMPLOIS NUISANCES Version 4.8.2 Date mise à jour : 19 Février 2013 Auteur : LAFUMA Gilles Email : glfm02@orange.fr Web : www.procarla.fr/soft Présentation : FEN FICHE EMPLOIS NUISANCES Le Logiciel FEN Fiche emploi nuisance

Plus en détail

Guide plateforme FOAD ESJ Lille

Guide plateforme FOAD ESJ Lille Guide plateforme FOAD ESJ Lille v. 1.2 «étudiants» septembre 2014 Réalisé par Maxime Duthoit Ingénieur pédagogique multimédia à l ESJ Lille Sommaire Introduction... 1 1. Accueil et connexion... 2 2. Accueil

Plus en détail

Rappels sur les suites - Algorithme

Rappels sur les suites - Algorithme DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................

Plus en détail

Manuel d utilisation pour la plateforme BeExcellent MANUEL D UTILISATION POUR LA PLATEFORME BEEXCELLENT

Manuel d utilisation pour la plateforme BeExcellent MANUEL D UTILISATION POUR LA PLATEFORME BEEXCELLENT Manuel d utilisation pour la plateforme MANUEL D UTILISATION POUR LA PLATEFORME BEEXCELLENT Manuel d utilisation pour la plateforme 13 14 Manuel d utilisation pour la plateforme Qu est-ce que 1. Qu est-ce

Plus en détail