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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

Transcription

1 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 des tableaux : déclaration, initialisation, remplissage, calcul à partir de tableaux, Le sujet est disponible sur le site du cours : rubrique Supports de TP. 1. Kezako (Compréhension : fonction/procédure, paramètres et appels): a) Que fait le programme ci-dessous? Réfléchissez et écrivez le texte que vous pensez voir apparaître à l'exécution de ce programme : <<endl; #include <stdlib.h> void proc_mult(int a, int b, int& ab) cout << "execution de la procedure proc_mult" << endl; ab = a*b; int fonc_mult(int a, int b) cout << "execution de la fonction fonc_mult" << endl; return a*b; void kezako(int x, int y, int r1, int& r2) proc_mult( x, y, r1); r2 = fonc_mult(x,y); cout << "A la fin de kezako r1=" << r1 << " r2=" << r2 <<endl; int main(void) int a, y, res1, res2; a = 5; y = 4; res1 = 0; res2 = 1; cout << "Dans main avant kezako res1=" << res1 << " res2=" << res2 kezako( a, y, res1, res2); cout << "Dans main apres kezako res1=" << res1 << " res2="<< res2 << endl; return EXIT_SUCCESS; Faites un copier/coller du programme Kezako afin de vérifier si votre idée est correcte. Sinon demandez une explication à votre encadrant de TP.

2 #include <stdlib.h> void proc_mult(int a, int b, int& ab) 5 cout << "execution de la procedure proc_mult" << endl; 6 ab = a*b; int fonc_mult(int a, int b) 8 cout << "execution de la fonction fonc_mult" << endl; 9 return a*b; void kezako(int x, int y, int r1, int& r2) 4 proc_mult( x, y, r1); 7 9 r2 = fonc_mult(x,y); 10 cout << "A la fin de kezako r1=" << r1 << " r2=" << r2 <<endl; 1 int main(void) int a, y, res1, res2; a = 5; y = 4; res1 = 0; res2 = 1; 2 cout << "Dans main avant kezako res1=" << res1 << " res2=" << res2 <<endl; 3 kezako( a, y, res1, res2); 11 cout << "Dans main apres kezako res1=" << res1 << " res2="<< res2 << endl; 12 return EXIT_SUCCESS; Exécution du programme : 1 Le programme commence toujours par la fonction main. Les variables sont crées et prennent leur valeur initiale. a=5, y=4, res1=0, res2=1 2 Le programme affiche la première ligne : Dans main avant kezako res1=0 res2=1 3 Appel à la fonction kezako en passant a pour x(x=5),y pour y(y=4),res1 pour r1(r1=0) et res2 pour r2(r2=res2=1). Le passage par référence se fait entre res2 et r2. 4 Appel à la fonction proc_mult en passant x pour a(a=5), y pour b(b=4),r1 pour ab (ab=r1=0). Le passage par référence se fait entre r1 et ab. 5 Dans proc_mult, une ligne est affichée : execution de la procedure proc_mult 6 Dans proc_mult, ab prend pour valeur a*b (5*4=20), ab=20. A la fin de proc_mult, ab=20 donc r1=20. 7 Dans kezako, appel à la fonction fonc_mult en passant x pour a (a=5) et y pour b(b=4) 8 Dans fonc_mult, une ligne est affichée : execution de la fonction fonc_mult 9 fonc_mult renvoie a*b=5*4=20. Dans kezako, r2 prend pour valeur Dans kezako, une ligne est affiché : A la fin de kezako r1= 20 r2= 20 A la fin de kezako, r2=20, donc res2 = Dans main, la dernière ligne est affichée : Dans main apres kezako res1=0 res2=20 res1 reste inchangé mais res2 a comme valeur Fin de programme.

3 2. Reprise des TD : passage de paramètres Programmez les exercices suivants vus en TD (ou CM) : a) Permutation circulaire void permutationcirculaire(int &a, int &b, int &c) int tampon; tampon=c; c=b; b=a; a=tampon; int main (void) int v1,v2,v3; cout<<"donnez la premiere valeur"; cin>>v1; cout<<"donnez la deuxieme valeur"; cin>>v2; cout<<"donnez la troisieme valeur"; cin>>v3; permutationcirculaire(v1,v2,v3); cout<<"apres permutation : nouvelles valeurs"<<v1<<" "<<v2<<" "<<v3; b) Division Euclidienne #include<iostream.h> void divisioneuclidienne(int a, int b, int &q, int &r) q=0; r=a; while(r>=b) q=q+1; r=r-b; int main() int a, b, q, r; a=30; b=4; q=0; r=0; divisioneuclidienne(a, b, q, r); cout << "Quotient: " << q << " et reste: " << r <<endl;

4 c) Nombre de combinaisons (fonction ET procédure) int factorielle (int n) int fact=1; for(int i=2 ; i<=n ; i++) fact*=i; return fact; int combinaisonf(int n, int p) return factorielle(n)/(factorielle(p)*factorielle(n-p)); void combinaisonp(int n, int p, int &combp) combp=factorielle(n)/(factorielle(p)*factorielle(n-p)); int main (void) int n,p,cp; cout<<"donnez la valeur de n"; cin>>n; cout<<"donnez la valeur de p"; cin>>p; cout<<factorielle(n); cout<<combinaisonf(n,p); combinaisonp(n,p,cp); cout<<cp; d) Résolution d une équation du second degré (dans CM 2) #include <math.h> int resolution (int c1,int c2, int c3, double &sol1, double &sol2) int delta; delta=c2*c2-4*c1*c3; if (delta<0) return -1; else sol1=-c2-sqrt(delta)/(2*c1); sol2=-c2+sqrt(delta)/(2*c1);

5 int main (void) int a,b,c,res; double r1,r2; cout<<"donnez la valeur de a"; cin>>a; cout<<"donnez la valeur de b"; cin>>b; cout<<"donnez la valeur de c"; cin>>c; res=resolution(a,b,c,r1,r2); if (res==0) cout<<"les racines reelles sont : "; cout<<r1<<" "<<r2; else cout<<"pas de racines réelles!!"; Écrivez à chaque fois le programme principal permettant de tester vos sous-programmes. 3. Entre passage de paramètres et tableaux A partir de la fonction écrite en 2.c) écrivez un sous programme permettant de remplir un tableau contenant la nième ligne du triangle de Pascal. void tabcombin(int tab_pascal[10],int n) int i; for(i=0;i<=n;i++) tab_pascal[i]=combinaisonf(n,i); void affiche(int tab_pascal[10],int n) int i; for(i=0;i<=n;i++) cout<<tab_pascal[i]<<" "; int main (void) int n,p,cp; int tp[10]; cout<<"donnez la valeur de n (<10)"; cin>>n;

6 tabcombin(tp,n); affiche(tp,n); 4. Les tableaux à une dimension a) Écrivez une procédure tabremplir qui remplit un tableau de taille TAILLE en demandant à l'utilisateur les valeurs. On définira TAILLE comme une constante au début du programme : // En ALGO Constante : TAILLE : Entier = 5 Procédure tabremplir(t : donnée-résultat Tab[TAILLE] d'entier) // En C const int TAILLE=5; void tabremplir(... b) Écrivez une procédure tabaff qui affiche sur la sortie standard le contenu d'un tableau d'entiers : Proc tabaff(t : donnée tab[taille]) // En ALGO c) En C, un tableau ne peut avoir une taille variable : sa taille doit être une constante. Pour pouvoir gérer un tableau de taille quelconque une manière de faire est de définir une grande valeur pour TAILLE et d'utiliser une valeur taillet pour indiquer la taille réellement utilisée du tableau : // En ALGO Constante : TAILLE : Entier = 100 Proc tabaff(t : donnée Tab[TAILLE] d'entier ; taillet :donnée Entier) // En C const int TAILLE=100; void tabaff(int T[TAILLE], int taillet)... Modifiez les procédures des questions a) et b) pour prendre en compte cette amélioration. d) Écrivez une fonction tabsomme qui renvoie la somme de tous les entiers contenus dans un tableau T Fonct tabsomme(t : donnée Tab[TAILLE] d'entier ; taillet : donnée Entier) : Entier e) Écrivez une fonction tabrechposmin qui recherche le plus petit entier d'un tableau T entre la case debut et la case fin. Cette fonction renvoie directement la position de ce minimum et renvoie par l'intermédiaire d'un paramètre donnée-résultat la valeur du minimum. // Renvoie la position du minimum

7 Fonct tabrechposmin( T : donnée tab[taille] d'entier; debut, fin : donnée Entier; min : donnée-résultat Entier) : Entier f) Écrivez une procédure tabpermute qui permute deux valeurs d'indices a et b d'un tableau T Proc tabpermute(t : donnée-résultat tab[taille] d'entier; a,b : Entier) g) En utilisant les questions e) et f), écrivez une procédure TriMin qui trie les entiers contenus dans un tableau T. Indication : rechercher le minimum du tableau entre les cases 0 et taillet-1, permuter ce minimum avec la case 0 du tableau puis recommencer avec le sous-tableau allant de la case 1 à la case taillet-1... ainsi de suite jusqu'à ce que la zone de recherche du minimum soit de taille 1. Amélioration : ajoutez un paramètre à cette procédure pour pouvoir choisir entre un tri par ordre croissant et un tri par ordre décroissant, par exemple avec un caractère : 'c' pour croissant et 'd' pour décroissant. h) Écrivez la fonction principale sous forme de menu proposant à l utilisateur de tester chacun des sous-programmes écrits précédemment. // tableau1d.cpp // La taille maximale d'un tableau const int TAILLE=100; // Ex.4c // Demander a l'utilisateur de remplir un tableau ayant taillet elements void tabremplir(int T[TAILLE], int taillet) int i; for (i=0; i<taillet; i++) cout << "tab["<<i<<"] = "; cin >> T[i]; // Ex.4c // Afficher tous les elements d'un tableau ayant taillet elements void tabaff(int T[TAILLE], int taillet) int i; for (i=0; i<taillet; i++) cout << "Tableau ["<<i<<"] = " << T[i] << endl; // Ex.4d // Calculer la somme des taillet elements d'un tableau int tabsomme(int T[TAILLE], int taillet) int somme=0, i; for (i=0; i<taillet; i++) somme= somme+t[i];

8 return somme; // Ex.4e // Rechercher la position de la valeur minimale dans un tableau // a partir de la position debut jusqu'a la position fin // La (premiere) valeur minimale trouvée est stockée dans le parametre min int tabrechposmin(int T[TAILLE], int debut, int fin, int& min) int pos, i; pos = debut; min = T[debut]; for (i=debut; i<=fin; i++) if (T[i]<min) pos = i; min = T[i]; return pos; // Ex.4f // Permuter deux éléments à la position a et b dans le meme tableau void tabpermute(int T[TAILLE], int a, int b) int c; c=t[a]; T[a]=T[b]; T[b]=c; // Ex.4g // Trier un tableau ayant taillet elements: Méthode : recherche des minima void TriMin(int T[TAILLE], int taillet) int i, posmin; int min; for (i=0; i<taillet-1; i++) posmin = tabrechposmin(t,i,taillet-1,min); if ( posmin!=i ) tabpermute(t,i,posmin); // Ex. questions subsidiaires // Faire la somme des elements des 2 tableaux de taille taillet // et garder le resultat dans le 2e tableau void tabsommet2(int t1[taille], int t2[taille], int taillet) int i; for (i=0; i<taillet; i++) t2[i]=t1[i]+t2[i]; // Ex. questions subsidiaires // Fusionner les 2 tableaux triés // Le tableau résultat (tr) est trié aussi, tt = la taille du tableau tr

9 void tabfusion(int t1[taille],int taillet1, int t2[taille],int taillet2, int tr[taille], int &tt) int i, i1, i2; tt=taillet1+taillet2; // la longueur du tableau résultat // Laisser tomber les elements qui depassent la longuer maximale du tableau if (tt>taille) tt=taille; i1=0; i2=0; // le début des deux indices for (i=0;i<tt;i++) if (i1<taillet1 && i2<taillet2) // chosir un element de T1 ou de T2 (le plus petit) if (t1[i1]<t2[i2]) tr[i]=t1[i1]; i1=i1+1; else tr[i]=t2[i2]; i2=i2+1; else if (i1>=taillet1) // il ne reste que T2 à traiter tr[i]=t2[i2]; i2=i2+1; else if (i2>=taillet2 ) // il ne reste que T1 à traiter tr[i]=t1[i1]; i1=i1+1; int menu(void) int ch; cout<<"vous avez les choix suivants"<<endl; cout<<"0 : QUITTER "<<endl; cout<<"1 : Remplir le tableau"<<endl; cout<<"2 : Afficher le contenu du tableau"<<endl; cout<<"3 : Somme des éléments du tableau"<<endl; cout<<"4 : Rechercher la position du minimum dans le tableau"<<endl; cout<<"5 : Permuter deux éléments du tableau"<<endl; cout<<"6 : Trier le tableau"<<endl; cout<<"7 : Concatene deux tableaux"<<endl; cout<<"8 : Fusion de deux tableaux"<<endl; do cout<<"quel EST VOTRE CHOIX?"; cin>>ch; while ((ch<0) (ch>8)); return ch; int main(void) int T[TAILLE], taillet, somme; int posmin,valmin, a,b; int choix;

10 cout << "Entrez la taille du tableau = "; cin >> taillet; if (taillet<1 taillet>taille) cout <<"Erreur! La taille autorisee est compris entre 1 et " << TAILLE <<endl ; return -1; // Ex.3c do choix=menu(); switch (choix) case 0: cout<<"a bientot"; case 1: cout << "Remplir le tableau" << endl ; tabremplir(t,taillet); case 2: cout << "Afficher le tableau" << endl ; tabaff(t,taillet); case 3: // Ex.4d somme = tabsomme(t,taillet); cout << endl <<"La somme du tableau = " << somme << endl ; case 4:// Ex4 posmin = tabrechposmin(t,0,taillet-1,valmin); cout << endl <<"La valeur minimale = " << valmin ; cout << " se trouve a la position " << posmin << endl ; case 5:// Ex.4f a=0; b=posmin; tabpermute(t,a,b); cout << "Apres la permutation de T["<< a << "] et T["<< b <<"]" << endl; tabaff(t,taillet); case 6: // Ex.4g TriMin(T,tailleT); cout << "Apres le tri " << endl; tabaff(t,taillet); case 7:// Ex. 4h int T2[TAILLE]; cout << "Remplir le 2eme tableau" << endl ; tabremplir(t2,taillet); cout << "Afficher le 2eme tableau" << endl ; tabaff(t2,taillet); tabsommet2(t,t2,taillet); cout << "La somme des deux tableaux" << endl ; tabaff(t2,taillet); case 8: // Ex.4i cout << endl << "Le 1er tableau est trie" << endl; tabaff(t,taillet); cout << "Le 2eme tableau est trie" << endl ; TriMin(T2,tailleT); tabaff(t2,taillet);

11 int fusiont[taille]; int taillefinale; tabfusion(t,taillet,t2,taillet,fusiont, taillefinale); cout << "La fusion des tableaux tries" << endl ; tabaff(fusiont,taillefinale); default : cout<<"choix erronné"; while (choix!=0); 5. Questions subsidiaires a- écrire un programme permettant de trier un tableau de 15 éléments en utilisant le principe du tri à bulles. Principe du tri à bulles : - fonctionne par comparaisons successives de tous les éléments adjacents d un tableau - on échange les deux éléments comparés si le premier est supérieur au second - on recommence l opération tant que tous les éléments ne sont pas triés Exemple : b- transformez votre programme de manière à compter le nombre d affectations effectuées pour trier ce tableau de 15 éléments. Essayez d augmenter progressivement le nombre d éléments dans le tableau à trier et concluez sur l efficacité de cet algorithme de tri. c- Reprenez la question 4g) et ajoutez un paramètre à cette procédure pour pouvoir choisir entre un tri par ordre croissant et un tri par ordre décroissant, par exemple avec un caractère : 'c' pour croissant et 'd' pour décroissant. d- Écrivez une procédure qui manipule deux tableaux t1 et t2 (de même taille) et qui modifie t2 en ajoutant à chaque élément de t2 la valeur de l'élément correspondant dans t1. Par exemple, si t1 = [ ] et t2 = [ ], alors après l'appel de la procédure, t1 sera inchangé et on aura t2 = [ ] e- Écrivez une procédure qui effectue la fusion de deux tableaux triés de tailles quelconques (toujours à l'aide du paramètre taillet) Par exemple : Fusion de t1=[ ] et t2=[ ] donnera tr=[ ] Que fait votre programme si la longueur de t1+t2 est plus grande que TAILLE?

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

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

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

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

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

Travaux Pratiques d Informatique 1

Travaux Pratiques d Informatique 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

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

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

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

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

LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION

LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION Licence STS Université Claude Bernard Lyon I LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION 1 COURS 5 : Les Tableaux PLAN DE LA SÉANCE Comprendre l utilité des tableaux Apprendre à manipuler

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

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

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

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

Licence STIC, Semestre 1 Algorithmique & Programmation 1

Licence STIC, Semestre 1 Algorithmique & Programmation 1 Licence STIC, Semestre 1 Algorithmique & Programmation 1 Exercices Alexandre Tessier 1 Introduction 2 instruction de sortie 3 expressions 4 variable informatique 5 séquence d instructions, trace Exercice

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

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

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

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

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

É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

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

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

Les entrées sorties en C/C++

Les entrées sorties en C/C++ Les entrées sorties en C/C++ Dans ce chapitre, nous allons voir les fonctions d entrée/sortie du langage C++, extension du langage C. Écriture sur la sortie standard Fonction printf et opérateur

Plus en détail

3 - Boucles for et Séquences (range, listes, chaînes de caractères)

3 - Boucles for et Séquences (range, listes, chaînes de caractères) 3 - Boucles for et Séquences (range, listes, chaînes de caractères) Exercices et programmes à rendre dans le compte-rendu de TP : ex 1 (TP3_1), ex 2 (TP3_2), ex 3 (TP3_3), ex 5 (TP3_5), ex 6 (TP3_6), ex

Plus en détail

VII- Enumérations dans l ordre alphabétique

VII- Enumérations dans l ordre alphabétique VII- Enumérations dans l ordre alphabétique Prenons un dictionnaire. Comment savoir si un mot se trouve avant ou après un autre? On commence par comparer la première lettre de ces deux mots. Si elles sont

Plus en détail

L1-S2 MPI : Programmation Impérative

L1-S2 MPI : Programmation Impérative L1-S2 MPI : Programmation Impérative Correspondances Langage de Réalisation C++ Ce résumé constitue un aide-mémoire rédigé sous forme d exemples qui illustrent partiellement l utilisation des différentes

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

Fonctions et procédures. Procedures: déclaration et appel

Fonctions et procédures. Procedures: déclaration et appel Cours 5 : fonctions, procédures, passage des paramètres 1 Fonctions et procédures Idée : capitaliser sur le code déjà écrit pour introduire des nouvelles commandes et opérations. On souhaite donner un

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

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

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

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

Période 3 Les tableaux

Période 3 Les tableaux Département Génie Électrique et Informatique Industrielle Période 3 Les tableaux 1/ Recopie de certains éléments d un tableau Soit les déclarations suivantes : int Tabint[10]={65,21, 9,23, 1,32,5, 69,12,

Plus en détail

IN 101 - Cours 05. 7 octobre 2011. Un problème concret Recherche de collisions

IN 101 - Cours 05. 7 octobre 2011. Un problème concret Recherche de collisions Un problème concret Recherche de collisions IN 101 - Cours 05 7 octobre 2011 Le paradoxe des anniversaires dit que 365 élèves sont suffisants (en moyenne) pour avoir une collision d anniversaire, deux

Plus en détail

Petit résumé pour IFT1166

Petit résumé pour IFT1166 Petit résumé pour IFT1166 C est un langage populaire (cours IFT 1810, IFT 1160). JAVA (IFT 1870, IFT 1170, IFT 1176) utilise surtout la syntaxe du C++. De plus, Java est un langage purement orienté objet.

Plus en détail

TP 8 : Arbres binaires de recherche

TP 8 : Arbres binaires de recherche TP 8 : Arbres binaires de recherche Semaine du 17 Mars 2008 Exercice 1 Dénir une structure struct noeud_s permettant de coder un n ud d'un arbre binaire contenant une valeur entière. Ajouter des typedef

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

ECOLE POLYTECHNIQUE DE MONTREAL DEPARTEMENT DE GENIE ELECTRIQUE ET DE GENIE INFORMATIQUE Section informatique. Cours 3.307P: INFORMATIQUE EXAMEN FINAL

ECOLE POLYTECHNIQUE DE MONTREAL DEPARTEMENT DE GENIE ELECTRIQUE ET DE GENIE INFORMATIQUE Section informatique. Cours 3.307P: INFORMATIQUE EXAMEN FINAL ECOLE POLYTECHNIQUE DE MONTREAL DEPARTEMENT DE GENIE ELECTRIQUE ET DE GENIE INFORMATIQUE Section informatique Cours 3.307P: INFORMATIQUE EXAMEN FINAL DATE : Dimanche 8 décembre 1996 HEURE: DE 13h30 A 16h00

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

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Arts & Métiers Filière PSI

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Arts & Métiers Filière PSI Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Arts & Métiers Filière PSI Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

Les sous-programmes : exercices résolus en C Corrigé

Les sous-programmes : exercices résolus en C Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Exercices résolus en C, Semaine 3 avril mai 2013 Corrigé Objectifs Savoir écrire des sous-programmes ; Comprendre les modes de passage de paramètres ; Faire la

Plus en détail

Travaux Pratiques en Dev C++ (1 GIM)

Travaux Pratiques en Dev C++ (1 GIM) Université Sidi Mohammed Ben Abdellah École Supérieure de Technologie de Fès Filière Génie Industriel et Maintenance Travaux Pratiques en Dev C++ (1 GIM) Mr KHATORY TABLE DE MATIERES PREMIERS PAS EN DEV

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

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

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

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

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

Plus en détail

Introduction au langage

Introduction au langage Introduction au langage Un langage de programmation : de haut niveau interprété orienté objet si on le souhaite rapide à écrire et proche du pseudo-code simple tant qu on fait des choses simples Un programme

Plus en détail

Exercice 1 : Questions diverses (5 points)

Exercice 1 : Questions diverses (5 points) Université Claude Bernard Lyon 1 Licence Sciences, Technologies, Santé L2 Année 2010-2011, 2ème semestre LIF5 Algorithmique & Programmation procédurale Contrôle final du 20 juin 2011 Durée : 1h30 Note

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

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

Info0101 Intro. à l'algorithmique et à la programmation. Cours 5. Tableaux

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

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

SUJET + CORRIGE. Avertissement

SUJET + CORRIGE. Avertissement Année : 2012/2013 Semestre 2 DEVUIP Service scolarité PARCOURS : Licence LIMI201 & LIMI211 UE J1MI2013 : Algorithmes et Programmes Épreuve : Devoir Surveillé Terminal Date : Lundi 10 juin 2013 Heure :

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

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

Algorithme et Programmation

Algorithme et Programmation Année universitaire 2009-2010 Algorithme et Programmation Sujets des Travaux Dirigés et des Travaux pratiques 2 ème année INSA MIC 2 ème année INSA MIC Année universitaire 2009-2010 Algorithme et Programmation

Plus en détail

Introduction à la Programmation 1

Introduction à la Programmation 1 Introduction à la Programmation 1 Séance 5 de cours/td Université Paris-Diderot Objectifs: Boucles while. Variables booléennes. 1 La boucle while Boucle non bornée [Cours] La boucle non bornée permet de

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

Contrôle sur le Cours d'algorithme et de langage C

Contrôle sur le Cours d'algorithme et de langage C Déprtement Génie Electrique Automtique NOM: Prénom: Contrôle sur le Cours d'algorithme et de lngge C G.Gteu et J.Régnier Le 15 Jnvier 2008- Durée 2h Documents de cours utorisé. Le contrôle est constitué

Plus en détail

Traduction des arbres programmatiques en C

Traduction des arbres programmatiques en C Traduction des arbres programmatiques en C Table des matières 1 Premier exemple : helloworld.c 1 2 Méthode de programmation 2 3 Déclaration de variables 2 4 Structures de contrôle 3 5 Opérateurs C 5 6

Plus en détail

Que faire en algorithmique en classe de seconde? ElHassan FADILI Lycée Salvador Allende

Que faire en algorithmique en classe de seconde? ElHassan FADILI Lycée Salvador Allende Que faire en algorithmique en classe de seconde? BEGIN Que dit le programme? Algorithmique (objectifs pour le lycée) La démarche algorithmique est, depuis les origines, une composante essentielle de l

Plus en détail

Examen Programmation ENSAE première année 2008 (rattrapage) Examen écrit (1 heure) Tous documents autorisés.

Examen Programmation ENSAE première année 2008 (rattrapage) Examen écrit (1 heure) Tous documents autorisés. Examen Programmation ENSAE première année 2008 (rattrapage) Examen écrit (1 heure) Tous documents autorisés. 1 0.0.1 Suite récurrente (Fibonacci) * Réécrire la fonction u de façon à ce qu elle ne soit

Plus en détail

Programmation en Python - Cours 2 : Premiers programmes

Programmation en Python - Cours 2 : Premiers programmes Programmation en Python - Cours 2 : Premiers programmes 2013/2014 Diverses utilisations de python Utilisation en mode interactif Ecriture d un programme python Saisie de données par l utilisateur : input(),

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

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

Utilisation des opérateurs sur les bits en PHP

Utilisation des opérateurs sur les bits en PHP Introduction Comme vous le savez sans doute, un processeur ne connaît ni les nombres entiers ni les nombres réels, ni les chaînes de caractères. La seule chose que votre processeur sait traiter ce sont

Plus en détail

Cours d Analyse, Algorithmique Elements de programmation

Cours d Analyse, Algorithmique Elements de programmation 1 de 33 Cours d Analyse, Algorithmique Elements de programmation Florent Hivert Mél : Florent.Hivert@lri.fr Adresse universelle : http://www.lri.fr/ hivert 2 de 33 Données et instructions Un programme

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

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

Exercices. Exercice 2 : Standardisation de la présentation d'un site

Exercices. Exercice 2 : Standardisation de la présentation d'un site Exercices Exercice 1 : Un AND et un OR étranges. a) Montrer que le AND (respectivement OR) a un fonctionnement différent du && (resp. ). Pour cela, faire un combinatoire sur tous les cas en affichant le

Plus en détail

Trier des tableaux en C++ : efficacité du std::sort (STL) et tris paramétrés

Trier des tableaux en C++ : efficacité du std::sort (STL) et tris paramétrés Trier des tableaux en C++ : efficacité du std::sort (STL) et tris paramétrés Hélène Toussaint, juillet 2014 Sommaire 1. Efficacité du std::sort... 1 1.1. Conditions expérimentales... 1 1.2. Tableaux de

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 et Structures de Données

Algorithmique et Structures de Données 1.1 Algorithmique et Structures de Données Jean-Charles Régin Licence Informatique 2ème année 1.2 Itérations Jean-Charles Régin Licence Informatique 2ème année Itération : définition 3 En informatique,

Plus en détail

Introduction à la Programmation 1

Introduction à la Programmation 1 Introduction à la Programmation 1 Séance 7 de cours/td Université Paris-Diderot Objectifs: Savoir écrire un programme en entier (structure du programme avec une procédure main et des déclarations de fonctions,

Plus en détail

ALGORITHME DE DIJKSTRA

ALGORITHME DE DIJKSTRA Auteur : Marie-Laurence Brivezac ALGORITHME DE DIJKSTRA TI-83 Premium CE Mots-clés : graphes, matrices, algorithme, programmation. Fichiers associés : dijkstra_eleve.pdf, DIJKSTRA.8xp, MINL.8xp, [C].8xm,

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

1 Recherche d une chaîne de caractères dans un fichier

1 Recherche d une chaîne de caractères dans un fichier TP NÆ3 1 Université de Nice-Sophia Antipolis Deug MIAS-MI 1 Algorithmique & Programmation 2003 2004 TP NÆ3 Structures de données composées Le but de cette séance est d utiliser les structures de données

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

Variables (locales et globales), fonctions et procédures

Variables (locales et globales), fonctions et procédures Algorithmique... Variables (locales et globales), fonctions et procédures Nicolas Delestre et Michel Mainguenaud {Nicolas.Delestre,Michel.Mainguenaud}@insa-rouen.fr Modifié pour l ENSICAEN par : Luc Brun

Plus en détail

Les fonctions et les procédures en C

Les fonctions et les procédures en C Les fonctions et les procédures en C Séance 6 de l'ue «introduction à la programmation» Bruno Bouzy bruno.bouzy@parisdescartes.fr Fonctions et procédures Fonction, déclaration, définition, utilisation

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

Les structures de données. Rajae El Ouazzani

Les structures de données. Rajae El Ouazzani Les structures de données Rajae El Ouazzani La récursivité 2 Définition Une procédure ou une fonction est dite récursive si elle fait appel à elle même, directement ou indirectement. 3 Exemple : Réalisation

Plus en détail

Complément C7 Infodauphine.com

Complément C7 Infodauphine.com Complément C7 Infodauphine.com Pourquoi se soucier des performances? L'utilisateur n'aime pas attendre Le timing peut-être critique Trading VBA est un outil de productivité La notion de temps d'exécution

Plus en détail

Java & Algorithme Corrigé du test final

Java & Algorithme Corrigé du test final Java & Algorithme Corrigé du test final 1 QUESTIONS EN JAVA Chaque question est sur un point, sauf certaines sur deux points. En tout, le QCM est noté sur 24 : la note est divisée par 6 pour revenir entre

Plus en détail

TD 1 de Langage C module Outils pour l'informatique Industrielle - Corrigés des Tds : http://www-lagis.univ-lille1.fr/~macaire/td.

TD 1 de Langage C module Outils pour l'informatique Industrielle - Corrigés des Tds : http://www-lagis.univ-lille1.fr/~macaire/td. Exercice 1 TD 1 de Langage C module Outils pour l'informatique Industrielle - Corrigés des Tds : http://www-lagis.univ-lille1.fr/~macaire/td.htm Exercices de base de Programmation Arbre Programmatique

Plus en détail

Interrogationécrite d 'InformatiqueUV2

Interrogationécrite d 'InformatiqueUV2 1ères années INSA 2005/06 Durée : 1H15 Interrogationécrite d 'InformatiqueUV2 Les documents sont autorisés, aucune feuille adjointe ne sera prise en compte. Toutes vos réponses doivent figurer dans ce

Plus en détail

Cours 3. La conditionnelle: instructions si et selon Les boucles Comment raisonner sur les boucles: les invariants de boucle

Cours 3. La conditionnelle: instructions si et selon Les boucles Comment raisonner sur les boucles: les invariants de boucle Cours 3 : Instructions qui changent l ordre d exécution séquentiel 1 Cours 3 Instructions qui changent l ordre d exécution séquentiel La conditionnelle: instructions si et selon Les boucles Comment raisonner

Plus en détail

Normes de programmation en langage C++

Normes de programmation en langage C++ Normes de programmation en langage C++ Bakhtouchi Abdelghani EMP, Bordj El Bahri bakhtouchi@yahoo.fr ANNEE: 2009/2010 Sommaire 1. Introduction.. 1 2. Présentation.. 1 2.1. Format des fichiers source. 1

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

Fraternité d entiers (Version tableau) [th08] - Exercice

Fraternité d entiers (Version tableau) [th08] - Exercice Fraternité d entiers (Version tableau) [th08] - Exercice Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog Version 10 avril 2015 Table des matières 1 Stratégie naïve 1 1.1 Stratégie

Plus en détail

TP 6-7-8-9 Informatique et Algorithmique Byte Battle

TP 6-7-8-9 Informatique et Algorithmique Byte Battle TP 6-7-8-9 Informatique et Algorithmique Byte Battle Objectif : L'objectif est de réfléchir à la décomposition en sous-programmes d'un algorithme de haut niveau. Les sous-programmes pourront être des fonctions

Plus en détail

Analyse de la complexité algorithmique (1)

Analyse de la complexité algorithmique (1) Analyse de la complexité algorithmique (1) L analyse de la complexité telle que nous l avons vue jusqu à présent nous a essentiellement servi à déterminer si un problème est ou non facile (i.e. soluble

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

Informatique 2014-2015 MP/MP*/PC/PC*/PSI* DS1 Samedi 22 novembre. Exercice N 1 A la découverte de la notation polonaise inversée

Informatique 2014-2015 MP/MP*/PC/PC*/PSI* DS1 Samedi 22 novembre. Exercice N 1 A la découverte de la notation polonaise inversée Le sujet comporte un total de 3 exercices indépendants qui peuvent être traités dans l ordre de votre choix. Exercice N 1 A la découverte de la notation polonaise inversée Introduction La notation polonaise

Plus en détail