Travaux Pratiques d Informatique 1

Save this PDF as:
 WORD  PNG  TXT  JPG

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,

Langage C notes de cours

Langage C notes de cours Langage C notes de cours K. El Omari IUT GTE, UPPA 1 Présentation générale 1.1 Introduction La programmation par le langage C (ainsi que par d autres langages dit compilés) est basée sur : 1. la rédaction

Plus en détail

TP Interface graphique et C++ numéro 1

TP Interface graphique et C++ numéro 1 TP Interface graphique et C++ numéro 1 Master IGC - 1 re année année 2010-2011 Ce premier TP a pour objectif de vous familiariser avec le compilateur C++, les entréessorties du langage et l utilisation

Plus en détail

Premiers exemples de traitements

Premiers exemples de traitements #include #include Premiers exemples de traitements void main() float b(0.0); float c(0.0); float delta(0.0); cin >> b >> c; delta = b*b - 4*c; if (delta < 0.0) cout

Plus en détail

LIF 1 TP 3 : Passage de paramètres / Tableaux 1D

LIF 1 TP 3 : Passage de paramètres / Tableaux 1D LIF 1 TP 3 : Passage de paramètres / Tableaux 1D Objectifs : Traduction d algorithmes en langage C Mode de passage des paramètres : données, données/résultats (cas particulier des tableaux). Utilisation

Plus en détail

Cours C++ Lorsque je lance Dev C++, il apparaître l'écran ci-contre.

Cours C++ Lorsque je lance Dev C++, il apparaître l'écran ci-contre. Cours C++ Définition : Le langage C est un langage de programmation inventé par MM. Kernighan et Ritchie au début des années 70. Au début des années 90, Bjarne Stroustrup fait évoluer le langage vers le

Plus en détail

Génie Logiciel Industriel - Travaux pratiques

Génie Logiciel Industriel - Travaux pratiques - Travaux pratiques TP1 : Recherche par dichotomie I. Introduction. L objectif de ce TP est de mettre en pratique des notions de base du langage C (entrées/sorties, structure de contrôle, fonctions, ).

Plus en détail

C++ / MC-II1 - Cours n o 3 Allocation Mémoire et Constructeurs

C++ / MC-II1 - Cours n o 3 Allocation Mémoire et Constructeurs C++ / MC-II1 - Cours n o 3 Allocation Mémoire et Constructeurs Sebastien.Kramm@univ-rouen.fr IUT GEII Rouen 2010-2011 S. Kramm (IUT Rouen) MCII1 - Cours 3 2010-2011 1 / 47 Sommaire 1 Rappels de C et définitions

Plus en détail

CHAPITRE 3 : Types de base, Opérateurs et Expressions

CHAPITRE 3 : Types de base, Opérateurs et Expressions CHAPITRE 3 : Types de base, Opérateurs et Expressions 1. Types simples Un type définit l'ensemble des valeurs que peut prendre une variable, le nombre d'octets à réserver en mémoire et les opérateurs que

Plus en détail

TD2. EXERCICE 1: Etoiles Écrire un programme qui affiche à l écran 10 étoiles sous la forme suivante:

TD2. EXERCICE 1: Etoiles Écrire un programme qui affiche à l écran 10 étoiles sous la forme suivante: TD2 EXERCICE 1: Etoiles Écrire un programme qui affiche à l écran 10 étoiles sous la forme suivante: * * * * etc.... ************************ Correction Exercice 1 ************************ void exercice1()

Plus en détail

Organisation des données et structures de stockage

Organisation des données et structures de stockage ING2 - ING3 Nvx 2009-2010 Organisation des données et structures de stockage I. Stockage de l information en C Ce chapitre rappelle brièvement et complète certaines notions de base vues en première année

Plus en détail

ISMIN 1A Programmation 1 : Examen de programmation C. Réponses. Partie 1. Questions ouvertes

ISMIN 1A Programmation 1 : Examen de programmation C. Réponses. Partie 1. Questions ouvertes ISMIN 1A Programmation 1 : Examen de programmation C Réponses Partie 1. Questions ouvertes 1. Soit la déclaration suivante, char tab[] = "". Que contient le tableau tab? Réponse : tab[0] = \0. tab est

Plus en détail

Feuille d'exercices 1. Prise en main. Ecrire un programme qui ache la phrase Bonjour le monde! à l'écran.

Feuille d'exercices 1. Prise en main. Ecrire un programme qui ache la phrase Bonjour le monde! à l'écran. Master MIMSE - Spécialité 3-1ère Année J0MS7301 : Algorithmique et Programmation Objet Feuille d'exercices 1 Prise en main Exercice 0 : Ecrire un programme qui ache la phrase Bonjour le monde! à l'écran.

Plus en détail

INTRODUCTION À L ALGORITHMIQUE

INTRODUCTION À L ALGORITHMIQUE INTRODUCTION À L ALGORITHMIQUE Table des matières 1. Introduction 1 2. Les éléments de base d un algorithme simple 2 2.1. Préparation du traitement 2 2.2. Le traitement 2 2.3. La sortie des résultats 2

Plus en détail

LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS

LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS 1. PRÉSENTATION. Le langage C a fait son apparition en 1972 pour le développement du système d exploitation Unix. Il est devenu un standard de la norme ANSI en 1983.

Plus en détail

IN3T01 Programmation C TP 2 corrigé Jean-Claude Georges - Michel Landschoot

IN3T01 Programmation C TP 2 corrigé Jean-Claude Georges - Michel Landschoot ESIEE 2011 2012 IN3T01 Programmation C TP 2 corrigé Jean-Claude Georges - Michel Landschoot PARTIE 1: LES FONCTIONS ET LES POINTEURS fichier fonctions.h #ifndef _FONCTION_H_ #define _FONCTION_H_ #include

Plus en détail

Programmation Répartie - Langage C

Programmation Répartie - Langage C frederic.guinand@univ-lehavre.fr IUT Le Havre Plan les bases quelques rappels de langage C les structures de contrôle conditionnelles les structures de contrôle itératives les tableaux les pointeurs les

Plus en détail

Travaux pratiques 9 : Qu y a-t-il au menu?

Travaux pratiques 9 : Qu y a-t-il au menu? Université Paris-Nord L1 Institut Galilée Année 2009-2010 Licence 1-1er semestre Travaux pratiques 9 : Qu y a-t-il au menu? Correction. Note aux chargés de TD. L objectif du TP est de les familiariser

Plus en détail

INF 201 - TP 2 - Programmation C T. Grandpierre 12/2008

INF 201 - TP 2 - Programmation C T. Grandpierre 12/2008 INF 201 - TP 2 - Programmation C T. Grandpierre 12/2008 Ce qu il faut rendre : A la fin du TP il faudra archiver et compresser l ensemble de votre travail (y compris le rapport avec vos noms) avec la commande

Plus en détail

ÉCOLE POLYTECHNIQUE DE MONTRÉAL DÉPARTEMENT DE GÉNIE INFORMATIQUE

ÉCOLE POLYTECHNIQUE DE MONTRÉAL DÉPARTEMENT DE GÉNIE INFORMATIQUE ÉCOLE POLYTECHNIQUE DE MONTRÉAL DÉPARTEMENT DE GÉNIE INFORMATIQUE ING1025 : INFORMATIQUE EXAMEN INTRA Date Vendredi 10 octobre 2003 Heure De 8h30 à 10h20 Notes Ce questionnaire contient 4 questions sur

Plus en détail

Tableau R : 255 0 0 255 255 0. Tableau G : 0 255 255 255 255 0. Tableau B : 0 0 255 0 255 0. Chaque carré représente un pixel

Tableau R : 255 0 0 255 255 0. Tableau G : 0 255 255 255 255 0. Tableau B : 0 0 255 0 255 0. Chaque carré représente un pixel Mini-Projet n 2 : Jouer avec les images. A rendre pour le lundi 14 novembre 2011 avant midi. Introduction : Une image est un ensemble de pixels dont chacun est défini par trois valeurs, que l'on note R,

Plus en détail

Objets Avancées Semestre 3 Année 2015-2016. Projet

Objets Avancées Semestre 3 Année 2015-2016. Projet Conception et Programmation IUT d Aix-Marseille Dép. INFO Aix Objets Avancées Semestre 3 Année 2015-2016 Projet André Abramé - andre.abrame@univ-amu.fr Sophie Nabitz - sophie.nabitz@univ-avignon.fr Petru

Plus en détail

Prendre un bon départ

Prendre un bon départ Chapitre A Prendre un bon départ 1 - Avant-propos Un ordinateur sait très bien faire deux choses : Calculer, d oùle nomcomputer en anglais que l on pourrait traduire par calculateur. Placer des données

Plus en détail

Ce jeux sera réalisé en PHP, avec une exécution en local.

Ce jeux sera réalisé en PHP, avec une exécution en local. TP PHP Réalisons une plateforme de 3 jeux Le premier consiste à faire deviner un chiffre à l'utilisateur. Le temps qui s'écoule fait perdre des points. Le deuxième est un jeu de roulette, il faut miser

Plus en détail

Fiche de révisions - Algorithmique

Fiche de révisions - Algorithmique Fiche de révisions - Algorithmique Rédigé par : Jimmy Paquereau 1. Généralités Algorithme : un algorithme est la description d une procédure à suivre afin de résoudre un problème donné. Il n est pas nécessairement

Plus en détail

3 Lien entre pointeurs et tableaux.

3 Lien entre pointeurs et tableaux. programme sont dit dynamiques. On se limite ici aux tableaux statiques à une seule dimension, analogue aux vecteurs manipulés en mathématiques. Ils se déclarent sous la forme : type_d_élément variable_tableau[taille];

Plus en détail

Cours/TD n 3bis : les boucles

Cours/TD n 3bis : les boucles Cours/TD n 3bis : les boucles Découpons le problème Nous avons plusieurs utilisations des boucles C est précisément ce qui rend difficile leur création. Vu la difficulté, nous allons séparer les différentes

Plus en détail

Introduction au langage C - types et variables

Introduction au langage C - types et variables Chapitre 2 Introduction au langage C - types et variables 1 Le Langage C Le langage C est un langage de bas niveau dans le sens où il permet l accès à des données que manipulent les ordinateurs (bits,

Plus en détail

À LA PAGE SUIVANTE SUJET PROJETS EN INFORMATIQUE (SV) Test écrit. Instructions :

À LA PAGE SUIVANTE SUJET PROJETS EN INFORMATIQUE (SV) Test écrit. Instructions : EIDGENÖSSISCHE TECHNISCHE HOCHSCHULE LAUSANNE POLITECNICO FEDERALE LOSANNA SWISS FEDERAL INSTITUTE OF TECHNOLOGY LAUSANNE Faculté Informatique et Communication Projets en Informatique pour SV Sam J. Instructions

Plus en détail

Expressions, types et variables en Python

Expressions, types et variables en Python Expressions, types et variables en Python 2015-08-26 1 Expressions Les valeurs désignent les données manipulées par un algorithme ou une fonction. Une valeur peut ainsi être : un nombre, un caractère,

Plus en détail

Introduction au langage C++

Introduction au langage C++ Introduction au langage C++ D après les notes d introductives au C++ de Stéphane Menozzi http://www.proba.jussieu.fr/~menozzi/ Maxime Pallud IMACS/X-TEC Bat 404 Tel: 01 69 33 46 86 Mail: pallud@imacs.polytechnique.fr

Plus en détail

Résumé du chapitre 8 Ressources et interblocage

Résumé du chapitre 8 Ressources et interblocage Résumé du chapitre 8 Ressources et interblocage Jacques Mossière 12 août 2004 1 Introduction Ce chapitre est consacré à l étude d un problème classique dans les systèmes, l interblocage, c est à dire l

Plus en détail

Utiliser un modèle d état prédéfini

Utiliser un modèle d état prédéfini Chapitre 8 Etats rapides Certains boutons sont désactivés, en fonction du type de cellule sélectionné. 4 Répétez les étapes 2 et 3 pour chaque bordure à paramétrer. 5 Cliquez sur le bouton OK pour valider

Plus en détail

Initiation à la Programmation avec Java Semestre 1-2008/2009. Compte rendu final du Projet

Initiation à la Programmation avec Java Semestre 1-2008/2009. Compte rendu final du Projet Initiation à la Programmation avec Java Semestre 1-2008/2009 Compte rendu final du Projet Jean-Baptiste Leprêtre Groupe Y1 Chargé de TD : Fabienne Thomarat 1 SOMMAIRE : I) Cahier des Charges II) Analyse

Plus en détail

module SIN21 Rendre un syste me communicant Analyse UML et algorithmie 1 Modification du cahier des charges

module SIN21 Rendre un syste me communicant Analyse UML et algorithmie 1 Modification du cahier des charges Module SIN221 Rendre un syste me communicant Analyse UML et algorithmie Objectifs : Modifier des diagrammes UML suite à la modification du cahier des charges. Caractériser et valider une classe en C++.

Plus en détail

Java : Programmation Impérative

Java : Programmation Impérative 1 Java : Programmation Impérative Résumé du cours précédent (I11) Paradigme impératif Algorithmique simple Découpage fonctionnel Qu est-ce qu un programme informatique? / un langage de programmation? /

Plus en détail

GL / C++ Chapitre 7. Lien Dynamique Méthodes Virtuelles

GL / C++ Chapitre 7. Lien Dynamique Méthodes Virtuelles GL / C++ Chapitre 7 Lien Dynamique Méthodes Virtuelles 1. Pointeur sur un objet d'une classe dérivée Considérons les classes écrites précédemment : Personne Etudiant // dérive de personne Salarie // dérive

Plus en détail

Tableaux dynamiques avec vector

Tableaux dynamiques avec vector Tableaux dynamiques avec vector Tableaux statiques Les tableaux que nous avons vus jusqu'ici sont des tableaux statiques: int tab[3]; Cette forme de tableaux vient du langage C, et est encore très utilisée.

Plus en détail

PLAN DU COURS ENTRÉE SORTIE FONCTION PRINTF. Fonction de la bibliothèque stdio.h. Affichage d'un texte:

PLAN DU COURS ENTRÉE SORTIE FONCTION PRINTF. Fonction de la bibliothèque stdio.h. Affichage d'un texte: PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, Tableaux, opérateurs Entrées sorties de base Structures de contrôle Algorithmes de recherche Algorithmes de

Plus en détail

Fascicule de Génie Electrique (Terminale S option SI)

Fascicule de Génie Electrique (Terminale S option SI) Le langage C Ressource Centre d intérêt CI10 : Traitement de Thématique I11 - Les systèmes numériques : Mise en œuvre d un microcontrôleur avec des composants logiciels réutilisables. 1 Les constantes

Plus en détail

Ressources pour le lycée technologique

Ressources pour le lycée technologique éduscol Enseignement de mathématiques Classe de première STMG Ressources pour le lycée technologique Échantillonnage : couleur des yeux au Canada Contexte pédagogique Objectifs Obtenir un intervalle de

Plus en détail

IPT : cours 5. Les instructions de base en Python

IPT : cours 5. Les instructions de base en Python IPT : cours 5 Les instructions de base en MPSI : Prytanée National Militaire Pascal Delahaye 3 novembre 2015 1 Structure d un programme Les programmes en se tapent dans la fenêtre Editeur de Spyder Structure

Plus en détail

Série 9: Intérêt des fonctions, portée des variables, variables statiques Buts

Série 9: Intérêt des fonctions, portée des variables, variables statiques Buts Série 9: Intérêt des fonctions, portée des variables, variables statiques Buts - La notion de fonction est fondamentale car elle permet d'atteindre deux objectifs: principe d'abstraction: offrir une vue

Plus en détail

MÉRÉ Aurélien FIIFO1. Pathfinder

MÉRÉ Aurélien FIIFO1. Pathfinder MÉRÉ Aurélien FIIFO1 AMC Pathfinder 1 Sommaire Préambule... 3 Modélisation de l espace... 4 Modélisation des cases δ, α... 4 Interface en mode texte... 5 Modélisation du robot... 8 1 ) Le type Robot...

Plus en détail

renforcer le contrôle de type :

renforcer le contrôle de type : renforcer le contrôle de type : définitions, prototypes de fonctions surcharge références conversions de void * préférer le compilateur au préprocesseur considérer les entrées/sorties opérations abstraites

Plus en détail

1 Création de processus : primitive fork()

1 Création de processus : primitive fork() O r s a y Travaux Pratiques n o 2 : Synchronisation DUT Informatique 2010 / 2011 Nom(s) : Groupe : Date : Objectifs : rappels sur la création de processus par la primitive fork() et synchronisation de

Plus en détail

Claude Delannoy. Exercices C++ en langage. 3 e édition. Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5

Claude Delannoy. Exercices C++ en langage. 3 e édition. Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5 Claude Delannoy Exercices en langage C++ 3 e édition Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5 Chapitre 3 Les fonctions Rappels Généralités Une fonction est un bloc d instructions éventuellement

Plus en détail

Série 2 Premiers programmes

Série 2 Premiers programmes Licence pro. GTSBD 2013-2014 Structures de données, langage Python Série 2 Premiers programmes Programmes avec des affectations, des lectures et des écritures Exo 2.1 Le problème de la machine qui rend

Plus en détail

JAVA année 2015 CP 2 série n 2

JAVA année 2015 CP 2 série n 2 JAVA année 2015 CP 2 série n 2 Exercices sur les conditionnelles, le contrôle de flot et les méthodes statiques Exercice 1 Écrire un programme Ex0201.java qui lit 3 nombres au clavier, les classes dans

Plus en détail

3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon

3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 2013-2014 (1ere session) durée 3h Tous documents et calculatrices autorisés. Répondez aux questions sur une copie séparée Le sujet comporte 12 pages

Plus en détail

1 Premiers pas avec Rstudio

1 Premiers pas avec Rstudio Université Paris Descartes UFR de Mathématiques et Informatique Probabilités et Statistiques pour l informatique- Licence MIA 2e année Travaux Pratiques - 1 ère séance Le but de cette première séance est

Plus en détail

Algorithmique Correction du DS1

Algorithmique Correction du DS1 Algorithmique Correction du DS1 IUT Informatique de Lens, 1ère Année Université d Artois Frédéric Koriche koriche@cril.fr 2011 - Semestre 1 Exercice 1 Exercice 1 Un service de reprographie facture : 0.10

Plus en détail

1 Pointeurs, références, alias et tableaux

1 Pointeurs, références, alias et tableaux 1 Pointeurs, références, alias et tableaux 1 1.1 Définitions Un pointeur est une variable contenant l'adresse d'un objet en mémoire. Un pointeur est déni par le couple (type, adresse) de l'objet pointé.

Plus en détail

Cours Langage C/C++ Mémoire et allocation dynamique

Cours Langage C/C++ Mémoire et allocation dynamique Cours Langage C/C++ Mémoire et allocation dynamique Thierry Vaira BTS IRIS Avignon tvaira@free.fr v0.1 La pile et le tas La mémoire La mémoire dans un ordinateur est une succession d octets (soit 8 bits),

Plus en détail

Utilitaires Tableau [tb01] - Outils

Utilitaires Tableau [tb01] - Outils Utilitaires Tableau [tb01] - Outils Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog Version 9 avril 2015 Table des matières 1 Utilitaires Tableau / tb01outils1 (C++) 1 1.1

Plus en détail

L3 Info & Miage. TP-Projet SGF

L3 Info & Miage. TP-Projet SGF TP-Projet SGF 1. Introduction L objectif de ce mini-projet est de réaliser un Système de Gestion de Fichiers simplifié capable de gérer des accès à des fichiers séquentiels de type flot. L idée est ici

Plus en détail

Fiches Outil Acces Sommaire

Fiches Outil Acces Sommaire Fiches Outil Acces Sommaire Fiche Outil Access n 1 :... 2 Le vocabulaire d Access... 2 Fiche Outil Access n 2 :... 4 Créer une table dans la base... 4 Fiche Outil Access n 3 :... 6 Saisir et modifier des

Plus en détail

Entrée et sortie standards (stdin,stdout et cin,cout)

Entrée et sortie standards (stdin,stdout et cin,cout) Chapitre 4 Entrée et sortie standards (stdin,stdout et cin,cout) Pour réaliser les opérations élémentaires d écriture sur l écran ou de lecture des informations du clavier, le C utilise un ensemble de

Plus en détail

Le 421 Contre l ordinateur [it12] - Exercice

Le 421 Contre l ordinateur [it12] - Exercice Le 421 Contre l ordinateur [it12] - Exercice Yvan Maillot, Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog Version 8 avril 2015 Table des matières 1 Le 421 Contre l ordinateur

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

NFA032 Programmation objet avec Java

NFA032 Programmation objet avec Java NFA032 Programmation objet avec Java CNAM-Paris-Île-de-France Première session 2013 (sujet bis) Documents et calculatrice interdits. Le barème est donné à titre indicatif. Exercice 1 : programmation objet

Plus en détail

Informatique 1ère Année 2012-2013

Informatique 1ère Année 2012-2013 SERIE D EXERCICES N 1 INTRODUCTION, STRUCTURE CONDITIONNELLE : IF..ELSE Exercice 1 Ecrire le programme qui lit deux entiers saisis et affiche leur produit. Modifier ensuite ce programme pour saisir des

Plus en détail

FENESTELA V.1.2005. Manuel Utilisateur

FENESTELA V.1.2005. Manuel Utilisateur FENESTELA V.1.2005 Manuel Utilisateur 1 Lors de l installation de Fenestela un Profil Administrateur et un bureau type est fourni. Pour accéder à votre Fenestela, ouvrez votre navigateur Web (Internet

Plus en détail

Obert Hervé Stumpf Mathieu Licence 3 RIA. Réseaux & Protocoles. Client pair-à-pair. Projet L3 RIA 2005-2006 Sommaire.

Obert Hervé Stumpf Mathieu Licence 3 RIA. Réseaux & Protocoles. Client pair-à-pair. Projet L3 RIA 2005-2006 Sommaire. Obert Hervé Stumpf Mathieu Licence 3 RIA Réseaux & Protocoles Client pair-à-pair Projet L3 RIA 2005-2006 Sommaire Page 1 sur 10 Introduction - Présentation du projet 3 Fonctionnement coté graine 4 Fonctionnement

Plus en détail

La programmation Impérative par le Langage C

La programmation Impérative par le Langage C La programmation Impérative par le Langage C 1. Introduction 1.1 Qu est-ce que la programmation impérative? Un programme est constitué de plusieurs lignes d instructions. Chaque instruction permet d effectuer

Plus en détail

Algorithmique. Mode d application

Algorithmique. Mode d application I - Généralités Algorithmique T ale S Définition: Un algorithme est une suite finie d instructions permettant la résolution systématique d un problème donné. Un algorithme peut-être utilisé pour décrire

Plus en détail

Programmation C++ (débutant)/les tableaux statiques

Programmation C++ (débutant)/les tableaux statiques Programmation C++ (débutant)/les tableaux statiques 1 Programmation C++ (débutant)/les tableaux statiques Le cours du chapitre 6 : les tableaux statiques Les tableaux Une variable entière de type int ne

Plus en détail

GUIDE UTILISATEUR VERSION CORRESPONDANT UFR

GUIDE UTILISATEUR VERSION CORRESPONDANT UFR INSCRIPTION AU C2i R (Certificat Informatique et Internet) GUIDE UTILISATEUR VERSION CORRESPONDANT UFR Nicolas Cazin 2 Table des matières 1 Un mot sur ce manuel 3 2 Votre rôle, vos responsabilités 3 3

Plus en détail

Programmation : Exercices

Programmation : Exercices Programmation : Exercices IUT de Villetaneuse R&T 1 ère année Laure Petrucci 6 novembre 2007 1 Premiers programmes Exercice 1.1 : Machine à dessiner On souhaite écrire un programme pour afficher des dessins.

Plus en détail

ULCO-L1-Algo1-CM : Initiation à l algorithmique avec le langage C++

ULCO-L1-Algo1-CM : Initiation à l algorithmique avec le langage C++ ULCO-L1-Algo1-CM : Initiation à l algorithmique avec le langage C++ Table des matières 1 Généralités 3 1.1 Définitions/Glossaire....................................... 3 1.2 Exemples d algorithmes de la

Plus en détail

INFO-F-101 Programmation Projet 4

INFO-F-101 Programmation Projet 4 INFO-F-101 Programmation Projet 4 Année académique 2008-2009 1 Introduction Une image peut-être décomposée en un tableau de points élémentaires appelés pixels (abréviation de picture element). Supposons

Plus en détail

DUT Informatique Module Système S4 C Département Informatique 2009 / 2010. Travaux Pratiques n o 2 : Communication

DUT Informatique Module Système S4 C Département Informatique 2009 / 2010. Travaux Pratiques n o 2 : Communication iut ORSAY DUT Informatique Département Informatique 2009 / 2010 Travaux Pratiques n o 2 : Communication Nom(s) : Groupe : Date : Objectifs : rappels sur la création de processus par la primitive fork()

Plus en détail

PARTIE 2 : ALGORITHMIQUE & PROGRAMMATION

PARTIE 2 : ALGORITHMIQUE & PROGRAMMATION PARTIE 2 : ALGORITHMIQUE & PROGRAMMATION TP 1 DÉCOUVERTE DE PYTHON Objectifs Découvrir l environnement Python. Découvrir les limites de Python. Manipuler différents types. Python est un langage de programmation

Plus en détail

10 Test d assimilation des connaissances

10 Test d assimilation des connaissances 10 Test d assimilation des connaissances Vous allez être placé dans les conditions d un programmeur et non d un analysteprogrammeur. Ceci signifie que presque tous les algorithmes dont vous aurez besoin

Plus en détail

Licence E.E.A. TD N 2 de Langage C/C++

Licence E.E.A. TD N 2 de Langage C/C++ TD N 2 de Langage C/C++ 1 Licence E.E.A. TD N 2 de Langage C/C++ Ce TD a pour objectif de vous faire découvrir et utiliser le langage C et peut être C++. Il s agira de transcrire sous la forme d un programme

Plus en détail

Compteurs, variables et afficheurs dans Automgen

Compteurs, variables et afficheurs dans Automgen Section : S Option : Sciences de l ingénieur Discipline : Génie Électrique Compteurs, variables et afficheurs dans Automgen Domaine d application : Traitement programmé de l information Type de document

Plus en détail

Algorithmique et programmation : les bases (C) Corrigé

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

Plus en détail

I) Présentation du logiciel Scratch

I) Présentation du logiciel Scratch Rudiments pour l utilisation du logiciel Scratch en lycée par j-a.roddier@wanadoo.fr L objectif de cet atelier est de montrer certaines spécificités du logiciel Scratch, et au-delà de cette présentation

Plus en détail

Procédures et fonctions

Procédures et fonctions Chapitre 5 Procédures et fonctions 5.1 Introduction Considérons le programme suivant, dont le but est d inverser les éléments d un tableau : public class InversionTableau1 { int t[]= {8, 2, 1, 23; Terminal.ecrireStringln("Tableau

Plus en détail

TP Système d exploitation numéro 4

TP Système d exploitation numéro 4 TP Système d exploitation numéro 4 cycle ingénieur - 1ere année Année 2012-2013 L objectif de ce TP est d étudier un outil unix appelé awk qui permet d effectuer des traitements sur des fichiers texte

Plus en détail

Apprendre à programmer

Apprendre à programmer La résolution des problèmes est traitée suivant le cycle de développement analyse conception codage. L analyse du problème conduit à la conception d un algorithme répondant aux exigences exprimées. Chaque

Plus en détail

1. Base de connaissance du langage C# 2. Initiation de l environnement de développement 3. Exercices

1. Base de connaissance du langage C# 2. Initiation de l environnement de développement 3. Exercices Sihao DENG sihao.deng@utbm.fr http://deng.sihao.perso.sfr.fr/mn41 1. Base de connaissance du langage C# 2. Initiation de l environnement de développement 3. Exercices Langage C Références: http://deng.sihao.perso.sfr.fr/mn41/lo11.pdf

Plus en détail

Couper en deux, encore et encore : la dichotomie

Couper en deux, encore et encore : la dichotomie Couper en deux, encore et encore : la dichotomie I : Jeu du nombre inconnu Un élève volontaire choisit un nombre entier compris entre 0 et 56. Un autre élève cherche à deviner ce nombre, en adoptant la

Plus en détail

L AUTOMATISATION DU FONCTIONNEMENT D UNE BASE DE DONNÉES

L AUTOMATISATION DU FONCTIONNEMENT D UNE BASE DE DONNÉES 1 L AUTOMATISATION DU FONCTIONNEMENT D UNE BASE DE DONNÉES Dans ce chapitre, nous allons automatiser le fonctionnement de la base de données. Jusqu à présent, nous avons créé différents objets, mais maintenant

Plus en détail

Rendu de travaux I, Algo - langage C

Rendu de travaux I, Algo - langage C IFIP 33 avenue de la République 75011 PARIS Rendu de travaux I, Valérie Amiot RP 50 2001-2002 SOMMAIRE I. Pourquoi sous C? II. Présentation du jeu 1) But du jeu III. Analyse fonctionnelle IV. Fonctionnalités

Plus en détail

Visilogic. Notice d utilisation IHM. Lionel Lecointe - Support technique Tel : 01.60.92.41.74 mail : lionel.lecointe@pl-systems.fr

Visilogic. Notice d utilisation IHM. Lionel Lecointe - Support technique Tel : 01.60.92.41.74 mail : lionel.lecointe@pl-systems.fr Visilogic Notice d utilisation IHM Lionel Lecointe - Support technique Tel : 01.60.92.41.74 mail : lionel.lecointe@pl-systems.fr 1 Plan du document Définir une variable Page 3 Sélectionner une fonction

Plus en détail

Tableaux à deux dimensions

Tableaux à deux dimensions Cours 8 Tableaux à deux dimensions Un tableau à deux dimensions (tableau 2D) est un tableau contenant des lignes et des colonnes comme celui-ci : 4 22 55 2 5 2 4 4 2 24 2 12 Ce tableau à deux dimensions

Plus en détail

LE TRAITEMENT DE TEXTE CREATION D UN DOCUMENT STRUCTURE

LE TRAITEMENT DE TEXTE CREATION D UN DOCUMENT STRUCTURE LE TRAITEMENT DE TEXTE CREATION D UN DOCUMENT STRUCTURE Ce chapitre présente les fonctionnalités permettant de réaliser un document structuré à l aide de Word97. Prérequis : Connaître les fonctions de

Plus en détail

INF 2005 Programmation orientée objet avec C++ Texte 2

INF 2005 Programmation orientée objet avec C++ Texte 2 INF 2005 Programmation orientée objet avec C++ Texte 2 1. Mots clés du langage C++ et premiers pas... 2 1.1 Les mots clés du langage C++... 2 1.2 Familiarisation avec le langage... 3 2. Les entrées-sorties...

Plus en détail

Langage MEL introduction

Langage MEL introduction Langage MEL introduction Faire un fichier MEL Tout d abord, il faut ouvrir la fenêtre permettant de gérer les scripts MEL. Pour cela cliquez sur l icône «script editor» en bas à droite. Vous pouvez aussi

Plus en détail

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 2 : JUnit

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 2 : JUnit iut ORSAY DUT Informatique Département Informatique 2008 / 2009 Travaux Pratiques n o 2 : JUnit Nom(s) : Groupe : Date : Objectifs : Apprendre à vérifier une implantation à l aide de tests unitaires sous

Plus en détail

Initiation à la programmation

Initiation à la programmation Initiation à la programmation 1 re partie Ce cours est largement inspiré de "Informatique et sciences du numérique"-gilles DOWEK(Eyrolles) Nous avons vu, par ailleurs, qu un ordinateur peut effectuer des

Plus en détail

Analyse lexicale 2014-2015

Analyse lexicale 2014-2015 Analyse (lexicale, syntaxique) L3 MIAGE Analyse lexicale Université de Lille, France 2014-2015 1 Rappels Rôle de l analyse lexicale Outils 2 Mise en oeuvre Lexème Vers l analyseur syntaxique Codage d un

Plus en détail

Agrégation externe de mathématiques, texte d exercice diffusé en 2012 Épreuve de modélisation, option informatique

Agrégation externe de mathématiques, texte d exercice diffusé en 2012 Épreuve de modélisation, option informatique Agrégation externe de mathématiques, texte d exercice diffusé en 2012 Épreuve de modélisation, option informatique Résumé : A partir du problème de la représentation des droites sur un écran d ordinateur,

Plus en détail

6. Lecture/écriture formatées et Fichiers. printf / scanf Fichier: Mémoire tampon Accès aux fichiers Modes d'ouverture Lecture / écriture

6. Lecture/écriture formatées et Fichiers. printf / scanf Fichier: Mémoire tampon Accès aux fichiers Modes d'ouverture Lecture / écriture 1 6. Lecture/écriture formatées et Fichiers printf / scanf Fichier: Mémoire tampon Accès aux fichiers Modes d'ouverture Lecture / écriture 2 Références Site du zèro : Programmer en C http://www.siteduzero.com/tutoriel-3-14189-apprenez-a-programmer-en-c.html

Plus en détail

Cours Systemes d exploitation

Cours Systemes d exploitation Université de Kairouan Institut Supérieur des Siences Appliquées et de Technologie Cours Conçu Spécialement Aux Etudiants: De Master Pilotage et Réseaux Industriels Cours Systemes d exploitation Noureddine

Plus en détail

U90 Ladder. Notice d utilisation. Lionel Lecointe - Support technique Tel : 01.60.92.41.74 mail : lionel.lecointe@pl-systems.fr

U90 Ladder. Notice d utilisation. Lionel Lecointe - Support technique Tel : 01.60.92.41.74 mail : lionel.lecointe@pl-systems.fr U90 Ladder Notice d utilisation Lionel Lecointe - Support technique Tel : 01.60.92.41.74 mail : lionel.lecointe@pl-systems.fr 1 Plan du document Introduction Page 4 Créer un projet Page 5 Création des

Plus en détail

Mode d emploi Module de pré-encodage en ligne

Mode d emploi Module de pré-encodage en ligne Mode d emploi Module de pré-encodage en ligne Afin de vous faciliter l étape du pré-encodage, voici un mode d emploi détaillé de chaque étape. Si vous souhaitez vous rendre directement à une étape spécifique,

Plus en détail

TurboPascal - Prépa HEC Ipecom

TurboPascal - Prépa HEC Ipecom TurboPascal - Prépa HEC Ipecom vendredi 29 mars 1 Exemples 1.1 Procédure simple procedure pause; writeln( Appuyez sur RETURN pour continuer ); readln; 1.2 Variables locales procedure tirage; var n1,n2

Plus en détail

Remarques sur le premier contrôle de TD :

Remarques sur le premier contrôle de TD : Remarques sur le premier contrôle de TD : Démêlons les confusions en tous genres... Licence 1 MASS semestre 2, 2006/2007 La première remarque est qu il faut apprendre le cours, faire les exercices et poser

Plus en détail

} 7 Variables (composantes)

} 7 Variables (composantes) Chapitre 4 Tableaux Jusqu ici, nous avons employé les variables pour stocker les valeurs individuelles de types primitifs : une variable de type int pour stocker un entier, une variable de type boolean

Plus en détail