Travaux Pratiques d Informatique 1

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

Download "Travaux Pratiques d Informatique 1"

Transcription

1 Faculté Polytechnique de Mons Service d Informatique Travaux Pratiques d Informatique 1 par Mohammed BENJELLOUN Avec la participation de : J-F Bauwens, Assistant S. Mahmoudi, Assistant E. Malengreau, Assistante pédagogique A. Wermelinger, Assistante Année académique

2 Table des matières Introduction 1 Consignes Instructions de base Objectifs de la séance Rappels syntaxiques Le jeu de l urne Le jeu du nombre caché Pour ceux qui ont terminé Tableaux et instruction switch Objectifs de la séance Rappels théoriques Application Les Fonctions Objectifs de la séance Rappels théoriques Application Pointeurs, références et arguments de fonctions Objectifs de la séance Rappels théoriques Application Conclusions et perspectives 23 i

3 Introduction Consignes Si malgré la préparation du TP, vous n avez pas terminé à la fin de la séance, vous devrez le continuer seul et poser vos éventuelles questions avant le TP suivant. Vous pouvez venir nous les poser directement, durant les ateliers du mercredi ou les poser via le forum du cours. Cette remarque est valable pour tous les travaux pratiques de ce cours. Pour rappel, les travaux pratiques sont obligatoires. 1

4 Chapitre 1 Instructions de base Contents 1.1 Objectifs de la séance Rappels syntaxiques Les commentaires Les opérateurs de base Les flux d entrées/sorties Les structures alternatives Les structures répétitives Le jeu de l urne Modifications Nombre aléatoire Complexité algorithmique Le jeu du nombre caché Première étape Deuxième étape Troisième étape Quatrième étape Pour ceux qui ont terminé

5 Instructions de base Objectifs de la séance Nous commencerons par rappeler dans ce chapitre les principales instructions qui seront utilisées lors de ces travaux pratiques. Ces notions seront illustrées avec la mise en pratique d un exemple traité durant le cours théorique. A la fin de cette séance, l étudiant maîtrisera la syntaxe des principales instructions de base. 1.2 Rappels syntaxiques Les commentaires 1 // ceci est un commentaire 2 3 /* ceci est un commentaire 4 sur 5 plusieurs lignes*/ Les opérateurs de base Voir syllabus d exercices, chapitre Les flux d entrées/sorties cout est le flux standard de sortie habituellement associé à l écran. cin est le flux standard d entrée habituellement associé au clavier. 1 #include <iostream> 2 using namespace std; // affichage à l écran 6 cout << "Un entier" 7 8 // saisie au clavier et stockage dans la variable temp 9 cin >> temp

6 Instructions de base Les structures alternatives Si l expression A est vraie alors les instructions 1 et 2 s exécutent. Sinon, ce sont les instructions 3 et 4 qui s exécutent. 1 if (expressiona){ 2 instruction1; 3 instruction2; 4 } 5 else{ 6 instruction3; 7 instruction4; 8 } Les structures répétitives 1 for ( expression1 ; expression2 ; expression3){ 2 instruction1; 3 instruction2; } 1 while (expression){ 2 instruction1; 3 instruction2; } 1 do{ 2 instruction1; 3 instruction2; }while (expression);

7 Instructions de base Le jeu de l urne Le jeu de l urne expliqué durant le cours théorique consiste à tirer au sort 2 boules dans une urne. Les boules sont soit noires soit vertes. A chaque tirage, une boule est replacée dans l urne comme l illustre la figure 1.1. Le but du jeu est de déterminer la couleur de la dernière boule. Fig. 1.1 Illustration du jeu de l urne [2]. Programmer le jeu de l urne (version automatique) en respectant les étapes ci-dessous. 1. Demander à l utilisateur combien de boules vertes et noires existent dans l urne. Deux variables NN et NV seront utilisées pour mémoriser cette information. Calculer NT = NN + NV et afficher le résultat. 2. Dans un premier temps, l utilisateur tire les boules en regardant dans l urne. Il a donc le choix entre tirer deux boules noires, 1 noire et 1 verte, ou deux boules vertes. Réaliser un tirage. Afficher NN, NV et la couleur de la boule qui est remise dans l urne en fonction du choix de l utilisateur. Tester le programme et vérifier les différents cas possibles. 3. Afin de vider complètement l urne, il est nécessaire de prélever plusieurs fois des boules de l urne. Recommencer l opération précédente tant qu il y au a moins une boule dans l urne. S il n y a qu une boule dans l urne, le tirage est impossible. La boucle peut donc être interrompue avec l instruction break et la couleur de la dernière boule est affichée pour terminer le jeu Modifications Le programme résultant du point précédent peut être amélioré de plusieurs manières.

8 Instructions de base 6 1. Comme vu en théorie, le nombre d opérations dépend strictement du nombre initial de boules dans l urne. Mettre en commentaire les modifications du point 3 de la section 1.3 et recommencer le tirage i fois, pour i variant de NT à Recommencer la saisie des variables NN et NV tant que NT n est pas compris entre 1 et 20. En effet, il faut protéger l utilisateur des mauvaises manipulations qu il pourrait commettre. De plus, NN et NV doivent être positifs Nombre aléatoire Le jeu sera complet dès que l utilisateur tire réellement au sort les boules dans l urne. L ordinateur va donc générer un nombre aléatoire pour remplacer l intervention de l utilisateur dans le tirage au sort (point 2 de la section 1.3). Pour ce faire, les fonctions srand() et rand() seront utilisées. La première permettra d initialiser le générateur aléatoire de la machine à l aide d un nombre passé en paramètre. La seconde procède au tirage au sort d un nombre alétoire proprement dit. Un exemple est donné ci-après. 1 do 2 cin>>nbr; 3 while(nbr<0); 4 5 srand(nbr); //on initialise le générateur de chiffre aléatoire avec nbr saisi auparavant 6 7 // une boucle pour nous donner un nombre aléatoire entre 0 et 3 car 3 options sont possibles 8 do 9 choix=rand(); 10 while(choix>2); Il est possible d améliorer l exemple précédent grâce à l opération modulo (%) Complexité algorithmique A l aide du programme précédent, vérifier la complexité de votre algorithme.

9 Instructions de base Le jeu du nombre caché Ecrire un programme qui choisira un nombre entier aléatoire compris entre 0 et 100, puis le fera deviner à l utilisateur au moyen d essais successifs : le programme demandera au joueur d entrer un nombre; si le joueur devine le bon nombre, il a gagné, le programme lui affiche Bravo, c est trouvé! et s arrête. si le joueur ne donne pas le bon nombre, le programme lui précise trop petit ou trop grand, puis lui demande un autre essai, jusqu à ce que le joueur trouve. Dans un premier temps, le nombre à deviner sera saisi au clavier et sera nommé chifacher. Pour vous aider, voici le début du programme : 1 2 #include <iostream> 3 using namespace std; 4 void main() { 5 // chifacher : c est le chiffre que l on cherche 6 int chiffre, chifacher; 7 8 cout<<"entrez le chiffre positif (entre 1 et 100) a chercher : "; 9 cin >> chifacher; cout<<"entrez votre chiffre positif "<<endl; 12 cin >> chiffre; if (chiffre>chifacher) 15 cout << "Votre chiffre est Trop Haut \n"; 16 else if (chiffre = = chifacher) 17 cout << "Bravo c est trouve \n"; 18 else 19 cout << "Votre chiffre est Trop Bas \n"; 20 } Ecrivez ce programme et testez-le en jouant plusieurs fois Première étape Malheureusement, le chiffre à rechercher reste affiché à l écran. Dès lors, il n est pas très difficile de le trouver. Utilisez la boucle for afin d afficher 100 endl à l écran. Que se passe-t-il?

10 Instructions de base Deuxième étape Lorsque le chiffre à rechercher n est plus affiché à l écran, il est presque impossible de le trouver dans l état où se trouve votre programme. En effet, il est nécessaire de disposer de plusieurs essais pour trouver le nombre à rechercher. Perfectionnez le programme pour que le joueur dispose de 5 essais pour trouver le nombre. Ensuite, modifiez le programme pour qu il puisse compter le nombre d essais du joueur et afficher le score en fin de partie. Cette boucle s exécute tant que l utilisateur n a pas trouvé. Comparez ces 2 méthodes et expliquez la principale différence? A la fin de chaque partie, une fois le nombre trouvé, le programme propose de continuer : une autre partie (O/N)? Troisième étape Que se passe-t-il si le chiffre à rechercher n est pas compris entre 1 et 100? Remédiez à ce problème en obligeant le joueur à recommencer la saisie du chiffre à recherche tant que celui-ci n est pas compris entre 1 et Quatrième étape En vue d améliorer le programme, le chiffre à deviner ne sera plus saisi par l utilisateur mais choisi aléatoirement par l ordinateur. Pour ce faire, utilisez la fonction random. Testez le nouveau programme en jouant plusieurs fois. Que constatez-vous? Pourrait-on encore améliorer le programme?

11 Instructions de base Pour ceux qui ont terminé Écrire un programme C++ qui calcule les racines d un polynôme du second degré à coefficients réels. Examinez toutes les possibilités (racines réelles, complexes, doubles, infinité ou inexistence de solutions). ax 2 + bx + c = 0 1 si a=b=c=0 Il y a une infinité de solutions réelles 2 3 si a=b=0 et c!=0 Il n y a aucune solution 4 5 si a=0, b!=0 et c!=0 une racine réelle de valeur -c/b 6 7 si a!=0, b!=0 et c!=0 8 delta = b*b - 4.0*a*c 9 si delta =0 // racine double 10 racine1 = racine2 = -b/(2*a) 11 sinon si delta > 0 //2 racines réelles 12 temp = sqrt(delta) 13 racine1 = (-b + temp)/(2*a) 14 racine2 = (-b - temp)/(2*a) 15 afficher( racine1) 16 afficher( racine2) 17 sinon // 2 racines complexes conjuguées 18 temp = sqrt(-delta) 19 reel = -b/2*a imag = temp/2*a 20 afficher("z1 = reel + imag*i") 21 afficher("z2 = reel - imag*i") aide : sqrt(x) = racine carrée de x, nécessite math.h

12 Chapitre 2 Tableaux et instruction switch Contents 2.1 Objectifs de la séance Rappels théoriques Les tableaux La structure de sélection switch Application Première étape Deuxième étape Troisième étape Quatrième étape

13 Tableaux et instruction switch Objectifs de la séance Le but de la séance est : de manipuler des tableaux (à une et deux dimensions) de différents types; de structurer un programme grâce à l utilisation de l instruction switch. 2.2 Rappels théoriques Les tableaux Un tableau est un ensemble de variables de même type. Chacune d elles est appelée élément du tableau. Tous les éléments sont référencés à l aide du nom du tableau et sont stockés dans des emplacements contigus en mémoire. Syntaxe générale 1 Type Nom[n]; L élément Type correspond à l indicateur du type de données à stocker dans le tableau. L élément Nom est le nom du tableau déclaré. n définit le nombre d éléments et doit figurer entre crochets. Les tableaux sont indexés de 0 à n-1. Le premier élément correspond à l indice 0, le deuxième élément à l indice 1, etc. Un tableau à N dimensions est déclaré de la façon suivante : 1 Type Nom[Taille1][Taille2]...[TailleN]; où N est un nombre positif La structure de sélection switch L instruction de sélection switch est dédiée aux programmes qui déclenchent des actions en fonction de valeurs précises, comme les menus. Cette instruction permet de remplacer plusieurs if-else imbriqués et ainsi de gagner en lisibilité quand leur nombre augmente. Syntaxe 1 switch ( variable_contr^ole) { 2 case expression1: instruction1 ; 3 break; 4 case expression2: instruction2 ; 5 break; default:instruction-par-défaut ; 8 }

14 Tableaux et instruction switch 12 L expression conditionnelle variable contrôle est évaluée en premier. Si la valeur de renvoi est égale à l expression constante expression1, l instruction ensemble instruction1 s exécute. Si elle est égale à la valeur de expression2, ensemble instruction2 s exécute. Si la valeur de renvoi n est égale à aucune des expressions, l instruction figurant immédiatement après le mot clé default s exécute. Le mot clé case régit chaque cas. Remarque : En l absence de break, l instruction suivante est exécutée. 2.3 Application Première étape Ecrire un programme qui demande à l utilisateur d entrer un entier N compris entre 1 et une constante Nmax. On fixera Nmax à 10. La valeur saisie sera mémorisée dans la variable N, par exemple. Le programme réitérera sa demande tant que N n est pas compris dans l intervalle fermé [1, Nmax]. Si l utilisateur ne satisfait pas à la demande après 3 essais, le programme s arrêtera. Tester le programme plusieurs fois Deuxième étape Après avoir saisi un entier N compris entre [1,Nmax], le programme proposera différentes opérations à l utilisateur : 1. calcul de la somme de N réels; 2. calcul de la moyenne de N entiers; 3. recherche du maximum de N string; 4. recherche du minimum d une matrice NxN de caractères. Le programme demandera ensuite à l utilisateur de faire son choix et le mémorisera dans la variable choix. Tester le programme plusieurs fois Troisième étape Une fois le choix de l utilisateur effectué, le programme l exécutera directement. Pour ce faire, utiliser l instruction switch afin de structurer le programme. Chaque cas du switch exécutera une des quatre opérations mentionnées ci-dessus et détaillées dans ce paragraphe.

15 Tableaux et instruction switch 13 Opération 1 - Calcul de la somme de N réels Le programme saisira N réels et les stockera dans un tableau. Il affichera les éléments du tableau puis calculera et affichera ensuite la somme de ces N réels. Pour rappel, la valeur de N est celle saisie en début de programme. Opération 2 - Calcul de la somme de N entiers Le programme saisira N entiers et les stockera dans un tableau. Il affichera les éléments du tableau puis calculera et affichera ensuite la moyenne de ces N entiers. Opération 3 - Recherche du maximum de N string Le programme saisira N string et les stockera dans un tableau. Il calculera et affichera ensuite le maximum (en se basant sur un classement alphabétique) de ces N strings. Opération 4 - Recherche du minimum d une matrice NxN de caractères Le programme saisira NxN caractères et les stockera dans une matrice (tableau à 2 dimensions). Il calculera et affichera ensuite le minimum (en se basant sur un classement alphabétique) de ces NxN caractères Quatrième étape Dès qu une opération est terminée, le programme proposera à nouveau le menu à l utilisateur tant que celui-ci ne décide pas de le quitter. Ajouter les instructions nécessaires pour satisfaire à cette condition. Pour vous aider : 1 boucle{ 2 cout << "Somme des reels, tapez 1" << endl; 3 cout << "Moyenne des entiers, tapez 2" << endl; 4 cout << "Max des strings, tapez 3" << endl; 5 cout << "Min de la Matrice de char, tapez 4" << endl; 6 cin >> choix; //deuxième étape 7 8 switch(choix){ 9 10 case 1: Saisit N réels, les range dans un tableau. Calcule et affiche la somme. 11 case 2: Saisit N entiers, les range dans un tableau. Calcule et affiche la moyenne. 12 case 3: Saisit N string, les range dans un tableau. Cherche et affiche le maximum. 13 case 4: Saisit NxN carctères, les range dans une matrice. Cherche et affiche le minimum. 14 }// switch(choix) - troisième étape 15 } // boucle - quatrième étape

16 Chapitre 3 Les Fonctions Contents 3.1 Objectifs de la séance Rappels théoriques Application Première étape Deuxième étape Troisième étape

17 Les Fonctions Objectifs de la séance Le but de la séance est d apprendre à mettre en oeuvre des fonctions afin de modulariser un programme qui gagnera en lisibilité. 3.2 Rappels théoriques Une fonction est un ensemble d instructions, doté d un nom et pouvant éventuellement comporter des paramètres. On peut l appeler (en provoquant l exécution) depuis une autre fonction (éventuellement de la fonction main correspondant au programme principal ) en citant son nom, suivi, entre parenthèses, d une liste de paramètres, à condition d avoir préalablement déclaré cette fonction par un prototype. Il existe deux grandes classes de fonctions : celles qui ne revoient pas de résultats (fonction action); leur appel ne peut se faire que sous la forme d une instruction simple comme : 1 fct (n,a); celles qui fournissent un résultat; leur appel peut se faire, soit comme précédemment (leur résultat n est alors pas utilisé), soit au sein d une expression arithmétique, comme dans : 1 z= fct(n,x) * 2 + s ; Dans la définition d une fonction : l en-tête précise son nom, le type de paramètres (dits alors muets) et le type de sa valeur de retour; on utilise le mot void pour indiquer l absence de paramètres ou de valeur de retour; on peut déclarer des variables qui sont alors dites locales à la fonction, utilisables uniquement dans les instructions de la fonction. Une fonction peut renvoyer n importe quel type de valeur, à l exception d un tableau ou d une fonction. L instruction return figure dans la définition de la fonction et renvoir un type de valeur correspondant à celui qui est indiqué dans la déclaration. Lorsqu un tableau est mentionné en paramètre effectif, c est en fait la valeur de son adresse qui est transmise à la fonction. Cette dernière peut alors, contrairement à ce qui se passe pour les variables scalaires, modifier le contenu de ce tableau. Si l on souhaite qu une fonction modifie la valeur d une variable scalaire, il faut utiliser les pointeurs ou les références (voir TP4).

18 Les Fonctions Application Première étape Lors de cette séance, il vous est demandé de transformer le programme réalisé lors de la dernière séance en un programme modulaire, c est-à-dire un programme faisant appel à différentes fonctions. Pour rappel, dans un premier temps, on demandera à l utilisateur d entrer un entier N compris entre 1 et une constante Nmax. On fixera Nmax à 10. La valeur saisie sera mémorisée dans la variable N, par exemple. Le programme réitérera sa demande tant que N n est pas compris dans l intervalle fermé [1,Nmax]. Si l utilisateur ne satisfait pas à la demande après 3 essais, le programme s arrêtera. On demandera ensuite à l utilisateur d effectuer un choix parmi différentes opérations (voir ci-dessous) proposées dans une fonction menu(), par exemple. Une fois le choix de l utilisateur effectué, le programme l exécutera directement grâce à l utilisation de l instruction switch. Chaque cas du switch exécutera une des quatre opérations reprises ci-dessous. Chaque opération sera traitée à l aide de trois fonctions (une fonction saisie, une fonction affichage et une fonction propre à l opération traitée). Opération 1 - Calcul de la somme de N réels Le programme saisira N réels et les stockera dans un tableau (fonction Saisie reel(), par exemple). Il affichera les éléments du tableau (fonction Affiche reels(), par exemple) puis calculera et affichera ensuite la somme de ces N réels (fonction Affiche Som()). Pour rappel, la valeur de N est celle saisie en début de programme. Opération 2 - Calcul de la moyenne de N entiers Le programme saisira N entiers et les stockera dans un tableau. Il affichera les éléments du tableau puis calculera et affichera ensuite la moyenne de ces N entiers. Opération 3 - Recherche du maximum de N strings Le programme saisira N strings et les stockera dans un tableau. Il calculera et affichera ensuite le maximum de ces N strings (en se basant sur un classement alphabétique). Opération 4 - Recherche du minimum d une matrice NxN de caractères Le programme saisira NxN caractères et les stockera dans une matrice (tableau à 2 dimensions). Il calculera et affichera ensuite le minimum de ces NxN caractères (en se basant sur un classement alphabétique) Deuxième étape Après avoir quitté la boucle switch et avant de quitter le programme, on demandera à ce dernier d afficher le résultat des quatre opérations (somme, moyenne, maximum, minimum).

19 Les Fonctions 17 Que se passera-t-il si les résultats des fonctions n ont pas été stockés dans une variable temporaire? Que se passera-t-il si le programme n a pas exécuté toutes les opérations? Existe-t-il un moyen simple qui permette de vérifier quels cas du switch ont été traités ou non? Pour vous aider, vous pouvez vous inspirer de la modularité suivante : 1 boucle{ 2 choix = menu(??); 3 switch(choix){ 4 case 1: Saisie_reels(???); 5 Affiche_Reels(???); 6 Som = Affiche_Som(???); 7 case 2: Saisie_entiers(???); 8 Affiche_enties(???) ; 9 Moy = Affiche_Moy(???); 10 case 3: Saisie_ strings(???); 11 Affiche_ strings(???); 12 Max = Affiche_Max(???); 13 case 4: Saisie_ Matrice(???); 14 Affiche_ Matrice(???); 15 Min= Affiche_Min(???); 16 } // switch(choix) 17 Ici avant de quitter le programme, on affiche Som, Moy, Max et Min; 18 } // boucle Troisième étape Afin d optimiser le programme, est-il possible de minimiser le nombre de fonctions saisie et affichage? Que deviendrait le programme si les vecteurs des réels, des entiers et des strings n avaient pas tous le même nombre d éléments (même valeur de N)?

20 Chapitre 4 Pointeurs, références et arguments de fonctions Contents 4.1 Objectifs de la séance Rappels théoriques Les pointeurs Différents types de passage de paramètres d une fonction Allocation dynamique de la mémoire Application Première étape Deuxième étape

21 Pointeurs, références et arguments de fonctions Objectifs de la séance Le but de la séance est : d utiliser des fonctions; de passer des paramètres par référence et/ou à l aide de pointeurs; de se familiariser avec la notion de vecteur dynamique. 4.2 Rappels théoriques Les pointeurs Un pointeur est une variable dont la valeur est une adresse. Cette adresse est l emplacement d une autre variable en mémoire. On dit que le pointeur pointe vers cette autre variable. Il peut donc recevoir des valeurs différentes tout au long de l exécution du programme. Nous avons donc, lorsque le pointeur P pointe vers la variable i : Fig. 4.1 Illustration des pointeurs [1]. P = 35 P = 5A0F3 &P = 60C19 i = 35 &i = 5A0F Différents types de passage de paramètres d une fonction Il existe deux modes de passages de paramètres : le passage par valeur (cf. TP3) et le passage par référence (ou par adresse). Passage de paramètre par valeur Le passage de paramètre par valeur réalise une copie locale (au niveau de la fonction) de la valeur de la variable. La fonction travaille alors sur une copie de la variable et

22 Pointeurs, références et arguments de fonctions 20 toutes les modifications apportées à la copie seront oubliées à la fin de l exécution de la fonction (destruction de la copie). On utilise donc le passage par valeur lorsque le programme appelant n a pas besoin de garder les modifications, réalisées par la fonction, du contenu de la variable passée en argument. Remarque : l instruction return permet de récupérer les modifications d une et une seule variable vers la fonction appelante. Passage de paramètre par référence ou par adresse Le passage de paramètre par adresse transmet à la fonction l adresse de la variable qui sera utilisée durant l exécution de la fonction. Dès lors, les modifications seront réalisées sur la variable originale et seront donc toujours acquises après l exécution de la fonction. On utilise le passage par référence (ou par adresse) lorsque le programme appelant a besoin de garder les modifications, réalisées par la fonction, du contenu de la variable passée en argument. Remarque : lorsqu un tableau est mentionné en paramètre, c est en fait son adresse, qui correspond à l adresse de la première case du tableau, qui est transmise à la fonction. Exemple : Fig. 4.2 Illustration du passage par valeur, par pointeur, par référence [1].

23 Pointeurs, références et arguments de fonctions 21 Syntaxe : Déclaration : Appel : 1 void nom_fonction (type &paramètre(s)); 1 nom_fonction ( paramètre(s)) Définition : 1 void nom_fonction (type &paramètre(s)){ } Allocation dynamique de la mémoire Il est parfois difficile de déterminer à l avance la taille requise d un tableau avant l exécution du programme. Trop élevée ou trop réduite, la taille d un tableau peut pénaliser considérablement une application. Heureusement, il existe des opérateurs spécifiques d affectation dynamique de mémoire permettant d allouer et de libérer de la mémoire. Les opérateurs new[] et delete[] sont utilisés pour allouer et restituer la mémoire pour les types tableaux. Il est ainsi possible de réserver l espace strictement nécessaire au bon fonctionnement de l application. Syntaxe : Allocation : 1 type *nom_tableau = new type[taille] ; Libération : 1 delete[] nom_tableau ;

24 Pointeurs, références et arguments de fonctions Application Première étape Écrire un programme qui traite un vecteur de nombres entiers et de taille maximale égale à vingt (taille max = 20) et qui gère en boucle le menu suivant : 1. Saisie du vecteur et affichage de ses données. 2. Calcul (1 seule fonction) et affichage du minimum et du maximum du vecteur. 3. Échange de position maximum minimum et affichage. 4. Efface le premier et le dernier élément du vecteur et affichage. 5. Ajout d un élément au milieu du vecteur et affichage. 6. Tri à bulles du vecteur et affichage. 7. Quitter. Consignes : Le menu sera affiché via une fonction et les différentes opérations seront traitées via l instruction switch case. Les points 1 à 6 seront chacun traités par au moins une fonction. Le nombre d éléments N du vecteur, plus petit ou égal à taille max, doit être demandé et testé dans la fonction saisie. Il vous est demandé d éviter l utilisation de l instruction return dans les fonctions et de privilégier l emploi des références pour retourner les modifications des paramètres à la fonction appelante. L optmisation des tests est souhaitée; le calcul du minimum, par exemple, ne peut être effectué avant de faire la saisie des données du vecteur Deuxième étape Que deviendrait le programme si le vecteur est crée dynamiquement?

25 Conclusions et perspectives Les travaux réalisés permettront d aborder avec sérénité la programmation orientée objet en 2ème année de Bachelier. Les lecteurs ne doivent pas perdre de vue qu il serait très difficile de parcourir exhaustivement les bases du C++ en si peu de temps. Dès lors, les travaux pratiques décrits ici sont considérés comme une introduction à un domaine très vaste, aussi bien par la matière qu il aborde que par les problématiques qu il peut résoudre. 23

26 Bibliographie [1] M. Benjelloun, Introduction à la programmation en c++, 1e bachelier, Syllabus, Mutuelle d Edition des étudiants, Faculté Polytechnique de Mons, 150 pages, [2] G. Libert, Informatique 1 : cours de théorie, Syllabus, Mutuelle d Edition des étudiants, Faculté Polytechnique de Mons,

I. Introduction aux fonctions : les fonctions standards

I. Introduction aux fonctions : les fonctions standards Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons

Plus en détail

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

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

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

CORRECTION EXERCICES ALGORITHME 1

CORRECTION EXERCICES ALGORITHME 1 CORRECTION 1 Mr KHATORY (GIM 1 A) 1 Ecrire un algorithme permettant de résoudre une équation du second degré. Afficher les solutions! 2 2 b b 4ac ax bx c 0; solution: x 2a Solution: ALGORITHME seconddegré

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

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

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

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

INF111. Initiation à la programmation impérative en C http://ama.liglab.fr/ amini/cours/l1/inf111/ Massih-Reza Amini

INF111. Initiation à la programmation impérative en C http://ama.liglab.fr/ amini/cours/l1/inf111/ Massih-Reza Amini Initiation à la programmation impérative en C http://ama.liglab.fr/ amini/cours/l1// Massih-Reza Amini Université Joseph Fourier Laboratoire d Informatique de Grenoble 2/52 Introduction Structures de contrôle

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

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

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

et Programmation Objet

et Programmation Objet FACULTE POLYTECHNIQUE DE MONS Service d Informatique et Programmation Objet Mohammed Benjelloun 2 ème Bachelier Année académique 2008-2009 Table des matières Avant-propos--------------------------------------------------------------------------

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

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

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

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

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

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

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 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

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

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

Chap III : Les tableaux

Chap III : Les tableaux Chap III : Les tableaux Dans cette partie, on va étudier quelques structures de données de base tels que : Les tableaux (vecteur et matrice) Les chaînes de caractères LA STRUCTURE DE TABLEAU Introduction

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

Les structures de données. Rajae El Ouazzani

Les structures de données. Rajae El Ouazzani Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l

Plus en détail

1.6- Génération de nombres aléatoires

1.6- Génération de nombres aléatoires 1.6- Génération de nombres aléatoires 1- Le générateur aléatoire disponible en C++ 2 Création d'un générateur aléatoire uniforme sur un intervalle 3- Génération de valeurs aléatoires selon une loi normale

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

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

TD3: tableaux avancées, première classe et chaînes

TD3: tableaux avancées, première classe et chaînes TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première

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

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

IUT ANNECY Département Mesures Physiques Cours d informatique Initiation au langage C

IUT ANNECY Département Mesures Physiques Cours d informatique Initiation au langage C IUT ANNECY Département Mesures Physiques Cours d informatique Initiation au langage C myriam.chesneau@univsavoie.fr Mots clefs : Initiation à la programmation Langage C Variables Opérations Structures

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

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

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Sub CalculAnnuite() Const TITRE As String = Calcul d'annuité de remboursement d'un emprunt TD1 : traduction en Visual BASIC des exemples du cours sur les structures de contrôle de l'exécution page 1 'TRADUCTION EN VBA DES EXEMPLES ALGORITHMIQUES SUR LES STRUCTURES 'DE CONTROLE DE L'EXECUTION

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

É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

C++ Programmer. en langage. 8 e édition. Avec une intro aux design patterns et une annexe sur la norme C++11. Claude Delannoy

C++ Programmer. en langage. 8 e édition. Avec une intro aux design patterns et une annexe sur la norme C++11. Claude Delannoy Claude Delannoy Programmer en langage C++ 8 e édition Avec une intro aux design patterns et une annexe sur la norme C++11 Groupe Eyrolles, 1993-2011. Groupe Eyrolles, 2014, pour la nouvelle présentation,

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

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

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

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Seance 2: Complétion du code de jeu. (durée max: 2h) Mot clé const et pointeurs: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Implémentez jeu_recupere_piece

Plus en détail

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

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

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

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

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

Corrigé des TD 1 à 5

Corrigé des TD 1 à 5 Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un

Plus en détail

Programmation Classique en langage C

Programmation Classique en langage C DI GALLO Frédéric Programmation Classique en langage C Cours du Cycle d Approfondissement CNAM ANGOULEME 2000-2001 DI GALLO Frédéric Page 1 01/04/01 PROGRAMMATION CLASSIQUE : LANGAGE C DI GALLO Frédéric

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

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

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing 3/4/27 Programmation Avancée Multimédia Multithreading Benoît Piranda Équipe SISAR Université de Marne La Vallée Besoin Programmes à traitements simultanés Réseau Réseau Afficher une animation en temps

Plus en détail

Tp 1 correction. Structures de données (IF2)

Tp 1 correction. Structures de données (IF2) Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ; CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe

Plus en détail

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/??

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/?? Algorithmique I Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12 Probabilités. I - Rappel : trois exemples. Exemple 1 : Dans une classe de 25 élèves, il y a 16 filles. Tous les élèves sont blonds ou bruns. Parmi les filles, 6 sont blondes. Parmi les garçons, 3 sont

Plus en détail

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */. Page 1 de 9 MATLAB : COMMANDES DE BASE Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */. Aide help, help nom_de_commande Fenêtre de travail (Command Window) Ligne

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

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

Programme Compte bancaire (code)

Programme Compte bancaire (code) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; Programme Compte bancaire (code) namespace compte_bancaire /// Classe Program public

Plus en détail

1 Recherche en table par balayage

1 Recherche en table par balayage 1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément

Plus en détail

Les arbres binaires de recherche

Les arbres binaires de recherche Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s

Plus en détail

INF 321 : mémento de la syntaxe de Java

INF 321 : mémento de la syntaxe de Java INF 321 : mémento de la syntaxe de Java Table des matières 1 La structure générale d un programme 3 2 Les composants élémentaires de Java 3 2.1 Les identificateurs.................................. 3 2.2

Plus en détail

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

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

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

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai. Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai. 1 Introduction On considère une grille de 20 lignes 20 colonnes. Une case de la grille peut être vide, ou contenir une et une

Plus en détail

Travaux Dirigés n 1 : chaînes de caractères

Travaux Dirigés n 1 : chaînes de caractères UE LE315 Travaux Dirigés n 1 : chaînes de caractères Exercice 1 Ecrire une fonction int nombre_caract(char *chaîne) qui retourne la taille d une chaîne de caractères. Exercice 2 Ecrire la fonction void

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

Probabilités sur un univers fini

Probabilités sur un univers fini [http://mp.cpgedupuydelome.fr] édité le 7 août 204 Enoncés Probabilités sur un univers fini Evènements et langage ensembliste A quelle condition sur (a, b, c, d) ]0, [ 4 existe-t-il une probabilité P sur

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

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

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année 2003-2004 Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES Maude Manouvrier La reproduction de ce document par

Plus en détail

COMPARAISONDESLANGAGESC, C++, JAVA ET

COMPARAISONDESLANGAGESC, C++, JAVA ET REPUBLIQUE DU BENIN *******@******* MINISTERE DE L ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE(MESRS) *******@******* UNIVERSITE D ABOMEY CALAVI(UAC) *******@******* ECOLE POLYTECHNIQUE D ABPOMEY

Plus en détail

Algorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel)

Algorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel) Algorithmes et Programmes Introduction à l informatiquel! Vie d'un programme! Algorithme! Programmation : le langage! Exécution et test des programmes Chapitre : Algorithmes et Programmes 2 Cycle de vie

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

UE C avancé cours 1: introduction et révisions

UE C avancé cours 1: introduction et révisions Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple

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

Initiation. àl algorithmique et à la programmation. en C

Initiation. àl algorithmique et à la programmation. en C Initiation àl algorithmique et à la programmation en C Initiation àl algorithmique et à la programmation en C Cours avec 129 exercices corrigés Illustration de couverture : alwyncooper - istock.com Dunod,

Plus en détail

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40 Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr

Plus en détail

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN

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

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts E3FI ESIEE Paris Systèmes et scripts B. Perret TP : Shell Scripts 1 Remarque générale Lorsque vous cherchez des informations sur Internet, n'oubliez pas que langage de shell script que nous avons vu correspond

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

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

Premiers Pas en Programmation Objet : les Classes et les Objets

Premiers Pas en Programmation Objet : les Classes et les Objets Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.

Plus en détail

Chapitre 2. Classes et objets

Chapitre 2. Classes et objets Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons

Plus en détail

Gestion distribuée (par sockets) de banque en Java

Gestion distribuée (par sockets) de banque en Java Gestion distribuée (par sockets) de banque en Java Université Paris Sud Rappel sur la solution locale de gestion simple de banque L objet de cet exercice était de créer une application java qui implante

Plus en détail

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation. Université du Québec à Chicoutimi Département d informatique et de mathématique Plan de cours Titre : Élément de programmation Sigle : 8inf 119 Session : Automne 2001 Professeur : Patrice Guérin Local

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

Examen Médian - 1 heure 30

Examen Médian - 1 heure 30 NF01 - Automne 2014 Examen Médian - 1 heure 30 Polycopié papier autorisé, autres documents interdits Calculatrices, téléphones, traducteurs et ordinateurs interdits! Utilisez trois copies séparées, une

Plus en détail

Partie 1. Fonctions plus complexes dans Excel. Fonctions Si(), Et(), Ou() et fonctions imbriquées. Opérateurs logiques. I.1.

Partie 1. Fonctions plus complexes dans Excel. Fonctions Si(), Et(), Ou() et fonctions imbriquées. Opérateurs logiques. I.1. Présentation Excel 7 Fonctions plus complexes dans Excel Partie 1 Sandra Michelet Département Informatique Pédagogique Université Stendhal, Grenoble III Fonctions Si(), Et(), Ou() et fonctions imbriquées

Plus en détail

Découverte de Python

Découverte de Python Découverte de Python Python est un des langages informatiques au programme des concours à partir de la session 2015. Ce tutoriel vous permettra de vous mettre à peu près à niveau de ce qui a été fait en

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

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N

Plus en détail

ACTIVITÉ DE PROGRAMMATION

ACTIVITÉ DE PROGRAMMATION ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,

Plus en détail