Module ITC34 - Algorithmique et Programmation

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

Download "Module ITC34 - Algorithmique et Programmation"

Transcription

1 Module ITC34 - Algorithmique et Programmation TDs Algorithmique (trois séances) Benoît Darties - Univ. Bourgogne Franche-Comté Année universitaire Avant-propos : Support de Travaux Dirigés (TD) dispensés à l Université Bourgogne Franche- Comté, enseignements en Algorithmique et Programmation partie Algorithmique. La totalité de ce document a été rédigée uniquement à partir des connaissances de son auteur, et en utilisant un matériel personnel. L utilisation / réutilisation partielle ou complète d éléments de ce document est soumise à l approbation de son auteur. Les corrections détaillées de chaque exercice sont disponibles par mail sur demande au terme des séances de TD. 1 Analyse, boucles et structures conditionnelles Les exercices de cette section vous permettent de vous familiariser avec la notation des algorithmes, avec le concept de trace issu du déroulement d un algorithme, et avec la notion d algorithmes récursifs. On demandera un soin particulier lors de la rédaction d un algorithme, en faisant bien figurer le nom de l algorithme, sa fonction, les paramètres d entrée et le résultat retourné. Exercice 1 : Analyse d algorithme L objectif de cet exercice est d arriver à comprendre le fonctionnement et le but d un algorithme en retraçant son déroulement. Pour cela, on injecte différentes valeurs d entrée, on note le résultat à chaque fois, on cherche une corrélation entre les entrées et le résultat obtenu, et on essaye de conclure sur l objectif de l algorithme à partir des observations réalisées On considère l algorithme suivant dont l objectif est inconnu : Algorithme 1 : Algorithme inconnu Données : A:entierstrictementpositif B:entierstrictementpositif Résultat : result : entier positif 1 début 2 si A<Balors 3 temp A ; 4 A B ; 5 B temp; 6 fin 7 C A mod B; 8 tant que C 6= 0faire 9 A B ; 10 B C ; 11 C A mod B; 12 fin 13 result B ; 14 retourner result ; 15 fin

2 TD ITC34 Algorithmique et Programmation - Partie Algorithmes page 2 1. Combien cet algorithme possède t il de paramètres d entrée? 2. En utilisant un tableau dont les colonnes sont indicées par les différents paramètres et variables de cet algorithme, effectuer la trace de l algorithme pour les valeurs de paramètres d entrée suivantes : (a) A = 56 et B = 21 (b) A = 48 et B = 12 (c) A = 49 et B = Que fait cet algorithme? (Effectuez une trace avec d autres valeurs si la réponse ne vous apparait pas tout de suite) 4. Nommez cet algorithme. Quelle syntaxe écririez-vous pour exécuter cet algorithme lorsque le premier paramètre A prend la valeur 50 et le second paramètre B prend la valeur 23? 5. Deux nombres sont premiers entre eux si et seulement si leur plus grand commun diviseur est égal à 1. En réutilisant et appelant l algorithme précédent comme sous-algorithme, écrivez un algorithme qui renvoie vrai si et seulement si deux nombres sont premiers entre eux. Exercice 2 : Algorithmes de quelques fonctions mathematiques L objectif de cet exercice est la définition des entrées d un algorithme à partir des données d un énoncé, ainsi que la manipulation de variables au sein d une boucle Écrivez les algorithmes permettant de calculer les objets mathématiques suivants : 1. le nombre harmonique H n d un entier n, définiparl équationsuivante: H n = nx k=1 1 k = n (1) L entier naturel n est ici la seule entrée de l algorithme. Le résultat à renvoyer est la valeur du nombre harmonique, qui peut être un nombre réel. On suppose que n est toujours strictement supérieur à une approximation du nombre, obtenueaumoyendelaformulationdeleibniz: 4. nx k=0 ( 1) k 2k +1 = n +1 (2) Lorsque n tend vers l infini, alors la formulation de Leibniz tend vers. Onvousdemande d écrire d ici l algorithme permettant de calculer cette formulation lorsque n est un entier naturel positif donné en tant que paramètre de l algorithme. Exercice 3 : Manipulation de structures Dans cette exercice, nous définirons et manipulerons quelques structures au sein d un algorithme. Pour des raisons de simplicité, nous supposerons ici que l utilisateur ne rentre que des entiers strictement positifs On souhaite créer une structure permettant de stocker des dates, ainsi que des algorithmes (ou fonctions) permettant de manipuler des dates. 1. Définir le type date. Ce type doit être une structure comportant trois éléments : jour, quidéfinitlenumérodejour(comprisentre1et31), mois, quidéfinitlenumérodemois(comprisentre1et12), annee, quidéfinitl annéesouslaformed unentiernaturel.

3 TD ITC34 Algorithmique et Programmation - Partie Algorithmes page 3 Il est bien à noter qu il s agit d un type, et non d une variable. On considère par la suite que lorsqu une variable de type date est créée, le domaine de chacun de ses éléments est bien respecté. (par exemple, le jour ne pourra pas être égal à 35). 2. Ecrire une fonction estbissextile qui prend en paramètre une donnée nommée annee de type entier. Cette fonction renvoie un booléen, qui est à vrai si l année est bissextile, et faux sinon. Pour rappel, une année est bissextile si elle est divisible par 4 mais pas par 100, elle est aussi bissextile si elle est divisible par Ecrire une fonction datejuste qui prend en paramètre une donnée nommée date2test de type date. Cette fonction renvoie un booléen, qui est à vrai si la date représentée dans la structure date2test est juste, c est à dire que pour les mois de 30 jours, l élément jour n est pas égal à 31, et qu il n est pas égal à 29, 30 ou 31 pour le mois de février, sauf s il s agit d une année bisextille, auquel cas, la valeur 29 est admise. Autrement, elle renverra faux. 4. Ecrire la fonction jourdulendemain qui prend une donnée nommée aujourdhui de type date, et retourne une structure de type date qui correspond à la date du lendemain. 5. Ecrire une fonction comparedates prend comme données deux dates nommées d1 et d2 de type date, etretournelavaleur0sicesdatessontégales,1siladated1 est plus récente que la date d2,et-1siladated2 est plus récente que la date d1 6. En réutilisant une partie des fonctions définies jusqu à présent,écrire une fonction ecartjours qui prend comme données deux dates nommées d1 et d2 de type date, et retourne le nombre de jours qui séparent ces deux dates. On pourra faire cette fonction de manière très simple (pas nécessairement optimal en terme de temps de calcul) en utilisant les fonctions jourdulendemain et comparedates. Exercice 4 : Analyse d algorithme recursif Cet exercice vise à vous familiariser avec le concept d algorithmes récursif, et à vous permettre d appréhender ces derniers en déroulant un exemple simple On vous propose d étudier l algorithme récursif AlgoMystere suivant, qui prend en entrée deux entiers naturels A et B : Algorithme 2 : AlgoMystere Données : A:entiernaturel B:entiernaturel Résultat : result : entier 1 début 2 si B=0alors 3 result A; 4 retourner result; 5 sinon 6 C = A mod B ; 7 result=algomystere(b,c) ; 8 retourner result; 9 fin 1. Effectuer la trace de l algorithme lorsque le premier appel de l algorithme est réalisé avec les valeurs suivantes (pour réaliser cette trace, à chaque appel de l algorithme, il convient de définir un nouveau tableau correspondant à un nouvel appel avec les valeurs adéquates en paramètres) : (a) A = 750 et B = 150 (b) A = 500 et B = Que fait cet algorithme?

4 TD ITC34 Algorithmique et Programmation - Partie Algorithmes page 4 Exercice 5 : Definition d algorithme recursif Dans cet exercice, il vous est demandé de définir un algorithme récursif permettant de calculer deux fonctions mathématiques pour lesquelles vous avez déjà définis des algorithmes itératifs précédemment. Il vous est conseillé d écrire dans un premier temps la fonction sous forme récursive réduite, en exprimant une valeur de départ, et d exprimer la fonction à l indice n selon sa valeur à un indice inférieur, par exemple n 1, puis d écrire le pseudo-code associé 1. Proposez deux algorithme récursifs nommés harmonique et pileibniz, prenantchacunun paramètre n de type entier, et permettant de calculer les éléments suivants. Pour chaque algorithme, vous déterminerez la valeur de l indice de départ. Si le paramètre n est égal à cet indice, on retourne simplement la valeur. Sinon, il convient d exprimer la valeur à retourner en fonction de la valeur qui aurait été retournée à l indice inférieur. (a) le nombre harmonique H n pour un entier n 1 donné. Pour rappel : H n = nx k=1 1 k = n (3) (b) une approximation du nombre, obtenueaumoyendelaformulationdeleibniz. Pour rappel, la fonction de Leibniz est la suivante : 4. nx k=0 ( 1) k 2k +1 = n +1 (4) 2 Algorithmes sur tableaux et matrices Les exercices de cette section vous permettent de vous entrainer sur la définition d algorithmes dans des tableaux et matrices. Les objectifs sont multiples : déterminer le type de parcours à effectuer sur un tableau : déterministe (pour.. allant de..a..) ou non déterministe (tant que...), définir les meilleures conditions d arrêt dans les boucles non déterministes, effectuer des boucles imbriquées dans le parcours de matrices... Dans ces exercices, nous travaillerons uniquement avec des tableaux d entiers. Chaque tableau d entier passé en données sera de type tableau d entier et identifié par un nom, et il faudra également passer en donnée la taille de ce tableau. Un raisonnement similaire est à appliquer si le tableau est bi-dimentionnel : on utilisera le type matrice d entiers et les deux dimensions de cette matrice doivent également être passés en paramètres Exercice 6 : Manipulation de tableau d entiers L objectif de cet exercice est de définir les premières boucles qui permettent de parcourir un tableau, et de déterminer leur caractère déterministe, ou non déterministe Dans l ensemble des questions suivantes, la donnée de chacun des algorithmes à écrire est un tableau d entier nommé T accompagné de sa taille n qui est définie en tant qu entier. Les cellules de T sont indicées de 0 à n 1, etlesvaleursdecescellulessontinitialiséesavecdesvaleursentières aléatoires. On vous demande d écrire les algorithmes suivants : 1. Un algorithme somme qui prend en données le tableau d entiers T et sa taille n, etquiretourne la somme des valeurs des cellules du tableau T. 2. Un algorithme consécutifs qui prend en données le tableau d entiers T et sa taille n, et qui retourne vrai si et seulement si deux cellules de T d indice immédiatement consécutifs ont la même valeur, et faux sinon. Par exemple, si on a les tableaux suivants : T1= [ 5, 6, 78, 34, 23, 56, 34, 70 ] T2= [ 5, 6, 78, 34, 23, 23, 42, 67 ] T3= [ 5, 6, 5, 6, 5, 6, 5, 6 ]

5 TD ITC34 Algorithmique et Programmation - Partie Algorithmes page 5 alors l algorithme consécutifs ne retournera vrai que pour le tableau T2 3. Un algorithme affiche qui prend en données le tableau d entiers T et sa taille n, et qui affiche les valeurs contenues dans le tableau T séparées par des tirets. Par exemple : La difficulté de cette question réside dans le fait que l on ne souhaite pas qu il y ait un tiret après le dernier nombre. Exercice 7 : Manipulation de matrices d entiers Dans cet exercice, nous étendons les algorithmes vus sur tableau unidimensionnels à des tableaux bi-dimensionnels, c est à dire des matrices Dans cet exercice, nous reprenons la définition des algorithmes de l exercice précédent avec non pas un tableau d entier T, maisavecunematriced entiersnotéem dont les dimensions m X n sont deux entiers également passés en paramètres. On vous demande d écrire les algorithmes suivants : 1. Un algorithme somme qui prend en données la matrice d entiers M et ses dimensions m x n, et qui retourne la somme des valeurs des cellules de la matrice M. 2. Un algorithme consécutifs qui prend en données la matrice d entiers M et ses dimensions m x n,etquiretournevrai si et seulement si deux cellules adjacentes de M ont la même valeur, et faux sinon. Deux cellules sont dites adjacentes si elles sont immédiatement consécutives sur la même ligne ou sur la même colonne. Pour cet exercice, deux approches sont possibles : Soit on regarde seulement les cellules consécutives sur les lignes, puis on fait la même chose sur les colonnes. Soit on parcours les cellules de l indice [0][0] àl indice[n-2][n-2] et on regarde pour chacune si sa valeur est la même que la cellule immédiatement à droite ou que la cellule immédiatement en dessous. Il faudra ensuite parcourir une seule fois la dernière ligne, et la dernière colonne, pour verifier les adjacences des cellules de cette ligne et de cette colonne. 3. Un algorithme affiche qui prend en données la matrice d entiers M et ses dimensions m x n, etquiaffichelesvaleurscontenuesdanslamatricem séparées par des tirets. Un exemple d affichage est présenté ci-après : Exercice 8 : Algorithme de tri par selection Cet exercice présente un algorithme courant de tri d éléments d un tableau. Il vise à évaluer votre capacité à traduire des instructions informelles et à les écrire sous la forme d un algorithme Le tri par sélection est une méthode de tri des éléments d un tableau. Nous utiliserons ici un tableau d entier T de taille n et on supposera que tous ces éléments sont des entiers strictement positifs mais inférieurs à LetriparsélectionconsisteàordonnerlesélémentsdeT de manière séquentielle dans un nouveau tableau de même taille, que nous appellerons T2, delafaçonsuivante: On parcourt entièrement T àlarecherchedelacellulecontenantlavaleurlapluspetite. L indice du tableau qui contient cette valeur est stocké dans une variable temp.pour effectuer cette sélection, on peut supposer que temp est initialisé avec l indice 0, etpointedoncsur la première, et chaque fois que l on rencontre une valeur inférieure à celle contenue dans temp, on affecte temp avec cette nouvelle valeur.

6 TD ITC34 Algorithmique et Programmation - Partie Algorithmes page 6 On place alors la valeur contenue dans la cellule de T d indice temp dans la première cellule du tableau T2. On parcourt une seconde fois le tableau T àlarecherchedel indicedecellulecontenantla seconde plus petite valeur. Toute la difficulté réside dans le fait qu il ne faut pas sélectionner ànouveaulavaleurquel onavaitsélectionnéprécédemment(lorsdupremierparcours).pour cela, il faut utiliser un troisième tableau de booléens Tselect de même taille que les autres, et utilisé de la façon suivante : le tableau Tselect est initialisé avec uniquement des valeurs faux. Achaquefoisquel onparcourtletableaut entièrement et que l on sélectionne un indice dans temp, la cellule de même indice du tableau Tselect doit être positionnée à vrai. Il conviendra alors dans les parcours suivant de ne considérer que les valeurs des cellules de T pour lesquelles les cellules d indice correspondants dans le tableau Tselect sont positionnées à faux. On place alors la nouvelle valeur contenue dans la cellule de T d indice temp dans la seconde cellule du tableau T2. On continue ainsi en parcourant n fois le tableau T. Achaquei eme parcours sur T, une cellule de Tselect passe à vrai, et la i eme plus petite valeur de T est sélectionnée, et placée dans la cellule d indice i dans T2. 1. Ecrivez l algorithme correspondant au tri par sélection décrit précédemment. Cet algorithme prend en entrée un tableau d entiers nommé T, latailledecetableaunomméen, etretourne un tableau ordonné T2 contenant les valeurs de T. 2. Quelle est la complexité d un tel algorithme? 3. Il est possible de faire une version plus simple de cet algorithme si on autorise la modification de T, enfaisantn 2 parcours sur T.Achaquei eme parcours, on ne parcourt le tableau T que des cellules i à n 1 àlarecherchedel indicecontenantlapluspetitevaleur.achaquefinde parcours, on inverse simplement la valeur de la cellule de cet indice avec la valeur de l indice i du tableau T. Onrépèteainsijusqu àavoireffectuélesn 2 parcours. Le tableau T est alors une donnée-résultat. Ecrivez l algorithme correspondant à une telle version de l algorithme de tri par sélection. Exercice 9 : Algorithme recursif sur matrice Cet exercice présente un algorithme récursif sur matrice. Il illustre un cas de figure dans lequel l utilisation de la récursivité permet de fournir une solution plus simple que l utilisation d un algorithme séquentiel. Dans cet exercice (inspiré du jeu bubble breaker), on considère une matrice M de dimensions m x n dont les valeurs des cellules sont soit 0, soit1. Unexempledematriceutiliséedanscetexercice (de dimensions 15 x 9) est donné ci-après : Dans cette matrice, deux cellules sont dites "adjacentes" si elles sont côte à côte et situées sur une même ligne ou même colonne. Par exemple, les cellules de coordonnées [5][6] et [5][7] sont adjacentes. On appellera zone un ensemble connexe maximal de cellules adjacentes. Par exemple,

7 TD ITC34 Algorithmique et Programmation - Partie Algorithmes page 7 les cellules ayant les coordonnées suivantes forment une zone : [14][6], [13][6], [13][7], [13][8], [12][8], [11][8], [11][7] et [11][6]. Sionconsidèrelacelluled indice[3][7], cette dernière est contenue dans une zone de 8 cellules contenant également la cellule [0][8]. Chaque cellule appartient à une zone exactement. On peut dont désigner une zone simplement par les coordonnées d une cellule contenue dans cette zone 1. Proposez un algorithme récursif remplir qui prend en entrée une une matrice Mglobale 1 de dimensions m x n,ainsiquelescoordonnées[x][y] d une cellule quelconque. L algorithme doit affecter la valeur 2 àchacunedescellulesdelamêmezonequelacellule[x][y]. Les cellules des autres zones ne doivent pas avoir leur valeur modifiée. L algorithme ne retournera rien, car la matrice d entrée sera modifiée en direct. Pour vous aider, on vous donne l idée générale de l algorithme : Si la cellule [x][y] contient déjà la valeur 2, iln yarienafaire. Sinon, on enregistre la valeur dans une variable temp, onchangelavaleurdelacelluleà2, et on regarde chacune des cellules autours de coordonnées [x+1][y], [x-1][y], [x][y-1] et [x][y+1].quandunedecescoordonnéescorrespondàunecelluleexistante(dansles bornes de la matrice) et que sa valeur est égale à celle contenue dans temp, alorsonappelle l algorithme récursif en modifiant seulement la coordonnée en entrée. 2. Pourquoi est-il nécessaire de d abord stocker la valeur de la cellule dans temp et modifier la valeur en 2, emph avant d appeler la fonction récursive? 3 Problème Exercice 10 : Algorithmes pour un jeu de puissance 4 L objectif de cet exercice est de réaliser les algorithmes nécessaires à la création d un jeu de Puissance4. Pour rappel, le but du jeu est d aligner 4 pions sur une grille comptant 6 rangées et 7 colonnes. Chaque joueur dispose de 21 pions d une couleur donnée, jaune pour le joueur 1, et rouge pour le joueur 2. Tour à tour, chaque joueur place un pion dans la colonne de son choix, le pion glisse alors jusqu à la position la plus basse possible dans la colonne. Le vainqueur est le joueur qui réalise le premier un alignement (horizontal, vertical ou diagonal) d au moins quatre pions de sa couleur. Si toutes les cases de la grille de jeu sont remplies et qu aucun des deux joueurs n a réalisé un alignement de 4 jetons ou plus, la partie est déclarée nulle. 1. Modélisation de la grille. Pourmodéliserlagrilledejeu, nousutiliseronsunematricem de caractères de 7 colonnes par 6 lignes. Les lignes sont indicées de 0 à 5. Lescellulesd indice de ligne 0 représente la ligne la plus basse du plateau de jeu, tandis que les cellules d indice 5 la ligne la plus haute. Les colonnes sont indicées de 0 à 6, lescellulesd indicedecolonne 0 représentant la colonne la plus à gauche, et celles d indice 6 la colonne la plus à droite. Chaque cellule peut prendre l une des valeurs suivantes : - :onconsidèrealorsquelacasecorrespondanten estoccupéeparaucunjeton. J :onconsidèrealorsquelacasecorrespondanteestoccupéeparunjetondujoueur1 R :onconsidèrealorsquelacasecorrespondanteestoccupéeparunjetondujoueur2 Par soucis de simplicité, on considèrera durant tout le TD qu à chaque instant, la grille sur laquelle nous travaillerons possède une configuration réaliste, c est à dire que si une cellule est occupée par un jeton, alors toutes les cellules de même indice de colonne et d indice de ligne inférieur sont également occupées par un jeton. Un exemple d une telle grille est présenté ci après : 1. Par soucis de simplicité, on considère ici que tous les algorithmes récursifs vont travailler sur la même matrice, et pas sur des copies créées à chaque appel de l algorithme

8 TD ITC34 Algorithmique et Programmation - Partie Algorithmes page R - - R - - R J - - J J J R J R - R R J J J R J 2. Fonctions d initiation et d affichage : (a) Ecrivez une procédure init qui prend en paramètres une matrice de caractères de dimensions 7 par 6, etremplitl ensembledesescellulesaveclavaleur - :cecicorrespond àunecasevidedanslagrille. (b) Ecrivez une procédure affiche qui prend en paramètres une matrice de caractères de dimensions 7 par 6, etaffichelagrilledejeuenyfaisantapparaitrelescolonnes.dans Cet affichage, les pions du joueur 1 sont représentés par le caractère J,ceuxdujoueur2 par le caractère R,etl absencedepionparlecaractère -.Unexemplecorrespondant àlamatriceprécédemmentdéfinieestprésentéeciaprès: R - - R - - R J - - J J J R J R - R R J J J R J Evaluation de la grille : Nous allons définir les fonctions permettant de déterminer si une grille est gagnante pour l un ou l autre des joueurs. Par simplicité, on considèrera seulement les tests pour une configuration normale de jeu. A chaque étape, on pourra réutiliser au besoin les fonctions précédemment définies. Sur les évaluations de grilles suivantes, il n est pas important de gérer les cas où les grilles passées en paramètres sont à la fois gagnantes pour le joueur 1 et pour le joueur 2. Ces grilles ne seraient possibles que si les joueurs continuaient àjoueralorsqu unjoueurétaitgagnant.orcesfonctionsd évaluationserontappeléesaprès chaque tour. Il suffit de trouver un alignement de 4 pieces et de renvoyer le caractère du joueur ayant réalisé cet alignement. (a) Ecrivez une fonction estremplie qui prend en paramètres une matrice de caractères de dimensions 7 par 6, etrenvoieunbooléenàvrai si et seulement si toutes les cases de la grille sont occupées par un jeton, et faux autrement. (b) Ecrivez une fonction gagnantligne qui prend en paramètres une matrice de caractères de dimensions 7 par 6, etrenvoieuncaractèrecorrespondantà: J s il existe un alignement horizontal de 4 cellules adjacentes de valeur J R s il existe un alignement horizontal de 4 cellules adjacentes de valeur R - dans tout autre cas (c) Ecrivez une fonction gagnantcolonne qui prend en paramètres une matrice de caractères de dimensions 7 par 6, etrenvoieuncaractèrecorrespondantà: J s il existe un alignement vertical de 4 cellules adjacentes de valeur J R s il existe un alignement vertical de 4 cellules adjacentes de valeur R - dans tout autre cas (d) Ecrivez une fonction gagnantdiagonale qui prend en paramètres une matrice de caractères de dimensions 7 par 6, etrenvoieuncaractèrecorrespondantà: J s il existe un alignement en diagonale de 4 cellules adjacentes de valeur J R s il existe un alignement diagonale de 4 cellules adjacentes de valeur R - dans tout autre cas (e) Ecrivez une fonction gagnant qui prend en paramètres une matrice de caractères de dimensions 7 par 6, etrenvoieuncaractèrecorrespondantà:

9 TD ITC34 Algorithmique et Programmation - Partie Algorithmes page 9 J s il existe un alignement vertical, horizontal ou diagonal de 4 cellules adjacentes de valeur J R s il existe un alignement vertical, horizontal ou diagonal de 4 cellules adjacentes de valeur R - dans tout autre cas Cette dernière fonction pourra appeler les fonctions gagnantdiagonale, gagnantligne et gagnantcolonne (f) Ecrivez une fonction matchnul qui prend en paramètres une matrice de caractères de dimensions 7 par 6, quirenvoievrai si est seulement si la grille est remplie et qu aucun joueur n a gagné, et faux sinon. 4. Actions des joueurs : (a) Ecrire une fonction colonneremplie qui prend comme paramètre la grille de jeu sous forme d une matrice de caractères de dimensions 7 par 6, ainsiqu unindicedecolonne. Cette fonction renvoie vrai si et seulement si la colonne est remplie de jetons, c est à dire que le joueur ne peut poser de jetons dans cette colonne. (b) Ecrire une fonction poserjeton qui prend comme paramètres la grille de jeu sous forme d une matrice de caractères de dimensions 7 par 6, unindicedecolonne,etunnuméro de joueur. Si la colonne n est pas remplie, cette fonction glisse un jeton du joueur correspondant dans la colonne indiquée et renvoie la nouvelle matrice avec le jeton en plus. On considère que l appel à la fonction poserjeton 5. Interface de jeu : (a) Ecrire une fonction Puissance4 qui décrit le déroulement d une partie de puissance 4, en incluant les opérations suivantes : Crée et initialise la grille de jeu en utilisant la fonction init Demande tour à tour à chaque joueur de saisir un numéro de colonne entre 1 et 7 ; Ajoute un jeton du joueur correspondant dans la colonne indiquée (en utilisant la fonction poserjeton)sicellecin estpasvide(enutilisantlafonctioncolonneremplie), ou demande de saisir une autre colonne autrement ; continue à demander à tour de rôle quel coup jouer jusqu à ce qu un joueur gagne la partie (fonction gagnant), ou que la grille soit remplie (fonction estremplie); affiche le vainqueur de la partie, ou un message indiquant un match nul (fonction matchnul).

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

Les tableaux. Chapitre 3

Les tableaux. Chapitre 3 Chapitre 3 Les tableaux 3.1 Généralités Les tableaux en PERL sont identifiés par le symbole @ à l image du $ pour les variables. Comme ces dernières, les tableaux ne sont pas typés et un même tableau peut

Plus en détail

Université du Littoral Master 1. PROJET Puissance 4

Université du Littoral Master 1. PROJET Puissance 4 Université du Littoral Master 1 PROJET Puissance 4 Le but de ce projet est de réaliser un programme permettant à l utilisateur de jouer au Puissance 4 contre l ordinateur. 1 Travail à Rendre Le travail

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

Algorithmique et Programmation Projets 2012/2013

Algorithmique et Programmation Projets 2012/2013 3 Dames 3. Objectif Il s agit d écrire un programme jouant aux Dames selon les règles. Le programme doit être le meilleur possible. Vous utiliserez pour cela l algorithme α β de recherche du meilleur coup

Plus en détail

SNAKE. Programmation du jeu SNAKE sur la console Windows en C sous l IDE Devcpp. Copie d écran du jeu

SNAKE. Programmation du jeu SNAKE sur la console Windows en C sous l IDE Devcpp. Copie d écran du jeu SNAKE Programmation du jeu SNAKE sur la console Windows en C sous l IDE Devcpp Copie d écran du jeu Principe de fonctionnement du jeu : le serpent avance automatiquement, le joueur ne peut agir que sur

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

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

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

Plus en détail

INF-130 Travail Pratique #2

INF-130 Travail Pratique #2 École de technologie supérieure INF-30 Travail Pratique #2 Travail individuel Tracé d un métro Francis Bourdeau, Frédérick Henri et Patrick Salois Remise à la 0 e semaine. Objectifs - Amener l étudiant

Plus en détail

Enveloppes convexes dans le plan

Enveloppes convexes dans le plan ÉCOLE POLYTECHNIQUE ÉCOLES NORMALES SUPÉRIEURES ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE B (XECLR)

Plus en détail

Devoir maison Info 2 A rendre pour le 15 décembre au plus tard

Devoir maison Info 2 A rendre pour le 15 décembre au plus tard Devoir maison Info 2 A rendre pour le 15 décembre au plus tard Exercice 1 : Exécutez un algorithme Considérez l algorithme suivant. Variables A, B, C en Entier; Début Lire A; Lire B; TantQue B 0 C A; TantQue

Plus en détail

Architecture des Systèmes d Information Architecture des Systèmes d Information

Architecture des Systèmes d Information Architecture des Systèmes d Information Plan... Tableaux et tris I3 - Algorithmique et programmation 1 Rappels Nicol Delestre 2 Tableaux à n dimensions 3 Initiation aux tris Tableaux - v2.0.1 1 / 27 Tableaux - v2.0.1 2 / 27 Rappels : tableau

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

Poker. A rendre pour le 25 avril

Poker. A rendre pour le 25 avril Poker A rendre pour le 25 avril 0 Avant propos 0.1 Notation Les parties sans * sont obligatoires (ne rendez pas un projet qui ne contient pas toutes les fonctions sans *). Celles avec (*) sont moins faciles

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 2. Structures itératives

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

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

Épreuve d informatique 2011

Épreuve d informatique 2011 A 2011 INFO. MP ÉCOLE NATIONALE DES PONTS ET CHAUSSÉES, ÉCOLES NATIONALES SUPÉRIEURES DE L AÉRONAUTIQUE ET DE L ESPACE, DE TECHNIQUES AVANCÉES, DES TÉLÉCOMMUNICATIONS, DES MINES DE PARIS, DES MINES DE

Plus en détail

Projet de programmation Java Puissance 4

Projet de programmation Java Puissance 4 Projet de programmation Java Puissance 4 Juliusz Chroboczek et Gabriel Scherer Version du 13 novembre 2014 Le but de ce projet est d implémenter en Java un jeu de plateau qui s appelle Puissance 4. Votre

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

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de

Plus en détail

Algorithmique et structures de données I

Algorithmique et structures de données I Algorithmique et structures de données I Riadh Ben Messaoud Université 7 novembre à Carthage Faculté des Sciences Économiques et de Gestion de Nabeul 1ère année Licence Fondamentale IAG 1ère année Licence

Plus en détail

4. Créer des compteurs, des curseurs ou des bandes déroulantes : a) Création des objets. b) Affectation à une cellule et réglage du pas.

4. Créer des compteurs, des curseurs ou des bandes déroulantes : a) Création des objets. b) Affectation à une cellule et réglage du pas. Logiciel Excel version Office 2007. Voici une liste non exhaustive de fonctions de ce logiciel en relation avec le stage. Au sommaire : 1. Créer des boutons de raccourci dans une barre d outils: a) Sélection

Plus en détail

Licence STPI Semestre 3 - Examen de Validation de Module - Janvier 2006 ULSI301 - LANGAGE C

Licence STPI Semestre 3 - Examen de Validation de Module - Janvier 2006 ULSI301 - LANGAGE C Licence STPI Semestre 3 - Examen de Validation de Module - Janvier 2006 ULSI301 - LANGAGE C Durée : 2h. - Documents et Calculatrices autorisés. Toutes les réponses doivent être justifiées - Les exercices

Plus en détail

ALGORITHMIQUE II. Récurrence et Récursivité. SMI AlgoII

ALGORITHMIQUE II. Récurrence et Récursivité. SMI AlgoII ALGORITHMIQUE II Récurrence et Récursivité Récurrence Suite récurrente: la déition d une suite est la donnée d un terme général déi en fonction du (ou des) terme(s) précédant(s) D un terme initial qui

Plus en détail

ATELIER ALGORITHME PREMIERS PAS Journée d information sur les nouveaux programmes de Première S-ES 2010-2011

ATELIER ALGORITHME PREMIERS PAS Journée d information sur les nouveaux programmes de Première S-ES 2010-2011 Pour me contacter : irene.rougier@ac-clermont.fr 1. Introduction ATELIER ALGORITHME PREMIERS PAS Journée d information sur les nouveaux programmes de Première S-ES 2010-2011 De nombreux documents et informations

Plus en détail

L1: Fondamentaux d algorithmique (En C++)

L1: Fondamentaux d algorithmique (En C++) L1: Fondamentaux d algorithmique (En C++) Par l Université de Haute Alsace Version 6 octobre 2015 Table des matières 1 Algorithmes et Programmes (3h) 3 2 Structures de Base (3h) 4 3 TP Structures de base

Plus en détail

Étude du circuit d une course [tb03] - Exercice

Étude du circuit d une course [tb03] - Exercice Étude du circuit d une course [tb03] - Exercice Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog Version 8 avril 2015 Table des matières 1 Étude du circuit d une course / pg-circuita1

Plus en détail

Patrick Morié, Bernard-Philippe Boyer

Patrick Morié, Bernard-Philippe Boyer Patrick Morié, Bernard-Philippe Boyer Tsoft et Groupe Eyrolles, 2004, ISBN : 2-212-11418-4 5 - ANALYSE ET SIMULATION 5 MODÈLE ITÉRATIF 1 - NOTION D ITÉRATION Dans certains modèles, il arrive qu une formule

Plus en détail

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

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

Plus en détail

ISN TP 3 : «Premiers pas en programmation» 18/06/2015

ISN TP 3 : «Premiers pas en programmation» 18/06/2015 ISN TP 3 : «Premiers pas en programmation» 18/06/2015 Cette année, nous allons développer des programmes dans un langage de programmation qui s appelle Python. Nous allons travailler dans un environnement

Plus en détail

Algorithmique Travaux Dirigés

Algorithmique Travaux Dirigés Algorithmique Travaux Dirigés Master Technologie et Handicap : Intensifs 1 Corrigé Exercice 1 Affectations 1. Considérons les algorithmes ci-dessous. (a) Quel sera le contenu des variables a, b et éventuellement

Plus en détail

STAGE IREM 0- Premiers pas en Python

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

Plus en détail

Programmation Objet - Cours II

Programmation Objet - Cours II Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à

Plus en détail

1. Les fondements de l informatique 13

1. Les fondements de l informatique 13 Introduction à l'algorithmique 1. Les fondements de l informatique 13 1.1 Architecture de Von Neumann 13 1.2 La machine de Turing 17 1.3 Représentation interne des instructions et des données 19 1.3.1

Plus en détail

Mathématiques pour l informatique 1 notes de cours sur la seconde partie

Mathématiques pour l informatique 1 notes de cours sur la seconde partie Mathématiques pour l informatique notes de cours sur la seconde partie L Université Paris-Est, Marne-la-Vallée Cyril Nicaud Organisation Ce demi-cours est composé de 6 séances de cours et 6 séances de

Plus en détail

Informatique (INFO-F-206) Exemple de questionnaire d examen

Informatique (INFO-F-206) Exemple de questionnaire d examen Informatique (INFO-F-206) Exemple de questionnaire d examen Jean Cardinal Année académique 2010 2011 Consignes : 1. Les réponses doivent figurer sur des feuilles distinctes, indiquant le numéro de la question,

Plus en détail

2.1. Les fonctions. Les fonctions se définissent de la manière suivante : NomDeLaFonction(param1, param2,...)= { \\ Code de la fonction

2.1. Les fonctions. Les fonctions se définissent de la manière suivante : NomDeLaFonction(param1, param2,...)= { \\ Code de la fonction TP1, prise en main de Pari/GP et arithmétique Le programme que nous allons utiliser pour les TP se nomme PARI/GP dont le point fort est la théorie des nombres (au sens large). Il est donc tout à fait adapter

Plus en détail

Algorithmique et programmation avec Java (NFA002)

Algorithmique et programmation avec Java (NFA002) Algorithmique et programmation avec Java (NFA002) Deuxième session 13 septembre 2012 Aucun document n est autorisé. Le barème est donné à titre indicatif. Exercice 1 : listes (4 points) Etudiez le programme

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

Le raisonnement par récurrence

Le raisonnement par récurrence Le raisonnement par récurrence Nous notons N l ensemble des entiers naturels : N = {0,,, } Nous dirons naturel au lieu de entier naturel Le principe du raisonnement par récurrence Soit A une partie de

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

Projet Pratique de INF241 Parcours de Tableaux

Projet Pratique de INF241 Parcours de Tableaux Projet Pratique de INF241 Parcours de Tableaux L objectif de ce projet est de travailler sur les tableaux en langage d assemblage ARM. Vous devez réaliser votre projet en partie lors des séances encadrées

Plus en détail

Surveillance automatique [dx04] - Exercice

Surveillance automatique [dx04] - Exercice Surveillance automatique [dx04] - Exercice Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog Version 9 avril 2015 Table des matières 1 Le terrain 1 1.1 Représentation du terrain..........................

Plus en détail

PG208, Projet n 2 : Dessin vectoriel

PG208, Projet n 2 : Dessin vectoriel PG208, Projet n 2 : Dessin vectoriel Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif

Plus en détail

Invariants, Principe des tiroirs

Invariants, Principe des tiroirs DOMAINE : Combinatoire AUTEUR : Pierre BERTIN NIVEAU : Débutants STAGE : Montpellier 2013 CONTENU : Exercices Invariants, Principe des tiroirs - Principe des tiroirs - S il y a (n + 1) chaussettes à ranger

Plus en détail

Débuter en algorithmique

Débuter en algorithmique Isabelle Morel 1 1 Qu est-ce qu un algorithme? Débuter en algorithmique Définition Un alogorithme est une suite d opérations élémentaires, à appliquer dans un ordre déterminé à des données. Un algorithme

Plus en détail

Apprendre à programmer

Apprendre à programmer Christophe Dabancourt Apprendre à programmer Algorithmes et conception objet 2 e édition Groupe Eyrolles, 2008, ISBN : 978-2-212-12350-0 Table des matières Avant-propos.................................................

Plus en détail

Epidémiologie, l urne de Pólya, partie II

Epidémiologie, l urne de Pólya, partie II Epidémiologie, l urne de Pólya, partie II Se mettre par groupe de deux. Traiter la fiche dans l ordre. Un compte de rendu de TP devra être rendu avec les réponses écrites aux questions, les recherches

Plus en détail

Computix. Dans la colonne du 10, B choisit le 7 inférieur A 10 B 7

Computix. Dans la colonne du 10, B choisit le 7 inférieur A 10 B 7 Computix Matériel : grilles carrées comportant un nombre impair de cases. Quelques-unes sont données en annexe ; mais on peut aussi les construire soi-même, ou les faire construire par les élèves. Elles

Plus en détail

Plan. Tableaux. Utilité. Définition. Exemples. Déclaration d un tableau

Plan. Tableaux. Utilité. Définition. Exemples. Déclaration d un tableau Plan Tableaux Université de Nice - Sophia Antipolis Richard Grin Version 1.0.4 25/11/10 Définition Déclaration d un tableau Création d un tableau Utilisation d un dun tableau Tableau des paramètres de

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

UJF Licence Sciences INF 112. TP3 : Partie 1 : Les macros-commandes de Microsoft PowerPoint Partie 2 : Les macros-commandes de Microsoft Excel

UJF Licence Sciences INF 112. TP3 : Partie 1 : Les macros-commandes de Microsoft PowerPoint Partie 2 : Les macros-commandes de Microsoft Excel UFR IMA Informatique & Mathématiques Appliquées Grenoble 1 UNIVERSITE JOSEPH FOURIER Sciences, Technologie, Médecine : Partie 1 : Les macros-commandes de Microsoft PowerPoint Partie 2 : Les macros-commandes

Plus en détail

Informatique TP4 : Manipulations de fichiers Manipulations de chaînes et de tableaux CPP 1A

Informatique TP4 : Manipulations de fichiers Manipulations de chaînes et de tableaux CPP 1A Informatique TP4 : Manipulations de fichiers Manipulations de chaînes et de tableaux CPP 1A Djamel Aouane, Frederic Devernay, Matthieu Moy Mars - avril 2015 1 Manipulations de fichiers Pour organiser des

Plus en détail

Cours Informatique. Louis Sutre Université Montesquieu Bordeaux IV- L2 Économie et gestion 1

Cours Informatique. Louis Sutre Université Montesquieu Bordeaux IV- L2 Économie et gestion 1 Cours Informatique Louis Sutre Université Montesquieu Bordeaux IV- L2 Économie et gestion 1 Chapitre 1 : Introduction au tableur... 3 1. Composition du logiciel... 3 1.1 Menus... 3 1.2 Formatage d une

Plus en détail

Algorithmique avancée en Python TDs

Algorithmique avancée en Python TDs Algorithmique avancée en Python TDs Denis Robilliard sept. 2014 1 TD 1 Révisions 1. Ecrire un programme qui saisit un entier, et détermine puis affiche si l entier est pair où impair. 2. Ecrire un programme

Plus en détail

Listes de personnes et calculatrice polonaise inverse en Java

Listes de personnes et calculatrice polonaise inverse en Java Listes de personnes et calculatrice polonaise inverse en Java Université Paris Sud Motivation Le but de cet exercice est de manipuler les listes chaînées et les piles et de voir leur application en analyse

Plus en détail

Machine de Turing. Informatique II Algorithmique 1

Machine de Turing. Informatique II Algorithmique 1 Machine de Turing Nous avons vu qu un programme peut être considéré comme la décomposition de la tâche à réaliser en une séquence d instructions élémentaires (manipulant des données élémentaires) compréhensibles

Plus en détail

EXCEL PERFECTIONNEMENT CALCULS AVANCES

EXCEL PERFECTIONNEMENT CALCULS AVANCES TABLE DES MATIÈRES TABLE DES MATIÈRES... 1 CONVENTIONS UTILISÉES... 2 FORMATS... 3 Formats personnalisés... 3 ADRESSAGE DE CELLULES... 4 relatif & absolu Rappel... 4 FONCTIONS SI-ET-OU... 5 LA FONCTION

Plus en détail

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

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

Plus en détail

Cours de spécialité mathématiques en Terminale ES

Cours de spécialité mathématiques en Terminale ES Cours de spécialité mathématiques en Terminale ES O. Lader 2014/2015 Lycée Jean Vilar Spé math terminale ES 2014/2015 1 / 51 Systèmes linéaires Deux exemples de systèmes linéaires à deux équations et deux

Plus en détail

Ch. 1 : Bases de programmation en Visual Basic

Ch. 1 : Bases de programmation en Visual Basic Ch. 1 : Bases de programmation en Visual Basic 1 1 Variables 1.1 Définition Les variables permettent de stocker en mémoire des données. Elles sont représentées par des lettres ou des groupements de lettres

Plus en détail

Algorithmique - Techniques fondamentales de programmation Exemples en Python (nombreux exercices corrigés) - BTS, DUT informatique

Algorithmique - Techniques fondamentales de programmation Exemples en Python (nombreux exercices corrigés) - BTS, DUT informatique Introduction à l'algorithmique 1. Les fondements de l informatique 13 1.1 Architecture de Von Neumann 13 1.2 La machine de Turing 17 1.3 Représentation interne des instructions et des données 19 1.3.1

Plus en détail

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

Le problème des multiplications matricielles enchaînées peut être énoncé comme suit : étant

Le problème des multiplications matricielles enchaînées peut être énoncé comme suit : étant Licence informatique - L Année 0/0 Conception d algorithmes et applications (LI) COURS Résumé. Dans cette cinquième séance, nous continuons l exploration des algorithmes de type Programmation Dynamique.

Plus en détail

Points fixes de fonctions à domaine fini

Points fixes de fonctions à domaine fini ÉCOLE POLYTECHNIQUE ÉCOLE NORMALE SUPÉRIEURE DE CACHAN ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION 2013 FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE

Plus en détail

Cours/TD n 3 : les boucles

Cours/TD n 3 : les boucles Cours/TD n 3 : les boucles Où on se rendra compte qu il est normal de rien comprendre Pour l instant, on a vu beaucoup de choses. Les variables, les Si Alors Sinon, les tests avec les ET, les OU et les

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

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

Algorithmes de tri. 1 Introduction

Algorithmes de tri. 1 Introduction Algorithmes de tri L objectif de ce document est de présenter plusieurs algorithmes classiques de tri. On commence par présenter chaque méthode de manière intuitive, puis on détaille un exemple d exécution

Plus en détail

EXCEL PERFECTIONNEMENT CALCULS AVANCES

EXCEL PERFECTIONNEMENT CALCULS AVANCES TABLE DES MATIÈRES FORMATS... 2 Formats personnalisés... 2 ADRESSAGE DE CELLULES... 3 relatif & absolu Rappel... 3 Adressage par nom... 4 Valider avec la touche Entrée... 4 FONCTIONS SI-ET-OU... 6 LA FONCTION

Plus en détail

Le langage C. Séance n 4

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

Plus en détail

TD3 - Facturation avec archivage automatisé

TD3 - Facturation avec archivage automatisé TD3 - Facturation avec archivage automatisé Objectifs Insérer les formules nécessaires aux calculs d une facture. Créer une macro- commande avec l enregistreur de macros et l affecter à un bouton. Utiliser

Plus en détail

=FONCTION(DONNEE1;DONNEE2;DONNEE3;.)

=FONCTION(DONNEE1;DONNEE2;DONNEE3;.) EXCEL 2010 Page 1/9 Les formules 03 EXCEL LES FONCTIONS Pour toutes les formules, on va utiliser ce que l'on appelle des «fonctions». Ce sont des mots écrits en majuscule dans les formules et qui sont

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

EXCEL 1 - PRISE EN MAIN

EXCEL 1 - PRISE EN MAIN EXCEL 1 - PRISE EN MAIN I - Qu est-ce qu un tableur? Excel est un logiciel permettant d élaborer des feuilles de calculs automatiques présentées la plupart du temps sur de grandes feuilles quadrillées.

Plus en détail

Les types utilisateurs (VBA) Corrigé

Les types utilisateurs (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 2 avril mai 2013 Corrigé Résumé Ce document décrit comment traduire en VBA les types utilisateur du langage algorithmique. Table des matières

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

Avec votre tableur, réalisez un planning soigné et facile à mettre à jour.

Avec votre tableur, réalisez un planning soigné et facile à mettre à jour. Bureautique Open Office Calc Je crée un planning. Avec votre tableur, réalisez un planning soigné et facile à mettre à jour. 1. Répertoriez cours et salles. A chaque rentrée scolaire, avec la multiplication

Plus en détail

Chapitre IV Bases et dimension d un espace vectoriel

Chapitre IV Bases et dimension d un espace vectoriel Chapitre IV Bases et dimension d un espace vectoriel Objectif : Nous allons voir comment fabriquer des systèmes de coordonnées pour les vecteurs d un espace vectoriel général. Dans ce chapitre désigne

Plus en détail

Mise en œuvre d un Site Sharepoint-V1

Mise en œuvre d un Site Sharepoint-V1 Mise en œuvre d un Site Sharepoint- MAJ 20/01/2015 Ce document décrit le paramétrage pour la mise en œuvre des fonctionnalités standard de Microsoft SharePoint 2013 NADAP et SharePoint NADAP ( Nouvelle

Plus en détail

TD : Petits exercices pour la reprise

TD : Petits exercices pour la reprise TD : Petits exercices pour la reprise 1) Environnement de travail a) Qu est-ce qu un IDE? Lorsqu on fait de la programmation, il est agréable d avoir à sa disposition différents outils qui permettent de

Plus en détail

II. Conversions. I. Initialisation. III. Méthode point. TD Python Traitement d images MP*

II. Conversions. I. Initialisation. III. Méthode point. TD Python Traitement d images MP* Le but de ce TD est d utiliser les procédures et fonctions Python pour traiter des fichiers images. II. Conversions I. Initialisation Importer le module numpy sous l appellation np. On utilise le module

Plus en détail

Composition d Informatique (2 heures), Filière MP (XC)

Composition d Informatique (2 heures), Filière MP (XC) école polytechnique concours d admission 2014 ens : cachan Composition d Informatique (2 heures), Filière MP (XC) Rapport de M. Didier CASSEREAU, correcteur. 1. Bilan général A titre de rappel, cette épreuve

Plus en détail

BUREAU D ETUDES INFORMATIQUE JOUEUR DE PUISSANCE 4

BUREAU D ETUDES INFORMATIQUE JOUEUR DE PUISSANCE 4 MIETLICKI Pascal 3 MIC C2 BUREAU D ETUDES INFORMATIQUE JOUEUR DE PUISSANCE 4 1. Mode Console... 2 2. Mode Graphique... 2 3. Architecture de notre logiciel... 3 4. Manuel d utilisation... 5 5. Aide au joueur...

Plus en détail

1. Lecture / Ecriture

1. Lecture / Ecriture IUT Arles Info 1 ère année - Module AP (Algorithmique) TD 2 Algo 1. Lecture / Ecriture Exercice I : Quels résultats produira ce programme : Variables val, double : numériques Val 231 Double val * 2 Ecrire

Plus en détail

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

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

Plus en détail

Université Paris Diderot Paris 7. TD n 2. Arbres Binaire de Recherche

Université Paris Diderot Paris 7. TD n 2. Arbres Binaire de Recherche Université Paris Diderot Paris L Informatique Algorithmique Année 00-0, er semestre TD n Arbres Binaire de Recherche Le type de donné arbre" sera utilisé pour indiquer l ensemble de toutes les Arbres Binaires

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

CARTES DE VISITE, CARTE DE VŒUX, ETIQUETTES AVEC OPENOFFICE

CARTES DE VISITE, CARTE DE VŒUX, ETIQUETTES AVEC OPENOFFICE CARTES DE VISITE, CARTE DE VŒUX, ETIQUETTES AVEC OPENOFFICE 1- Créer une planche 2- Indiquer les mesures 3- Indiquer le format de la page 4- Ajouter une bordure 5- Ajouter du texte 6- Ajouter une image

Plus en détail

Mode d emploi site marchand RG Online. www.groupe-rg-online.com

Mode d emploi site marchand RG Online. www.groupe-rg-online.com Mode d emploi site marchand RG Online www.groupe-rg-online.com Le site RG online vous permet de passer vos commandes directement en ligne, à travers un site Internet. Le site présente un catalogue d articles,

Plus en détail

Personnaliser et adapter SPIP Développeur SPIP

Personnaliser et adapter SPIP Développeur SPIP Personnaliser et adapter SPIP Développeur SPIP En Théorie Le fonctionnement de SPIP Qu est ce que SPIP? SPIP (Système de Publication pour l Internet Partagé) est un logiciel libre destiné à la production

Plus en détail

Méthodes de Monte-Carlo Simulation de grandeurs aléatoires

Méthodes de Monte-Carlo Simulation de grandeurs aléatoires Méthodes de Monte-Carlo Simulation de grandeurs aléatoires Master Modélisation et Simulation / ENSTA TD 1 2012-2013 Les méthodes dites de Monte-Carlo consistent en des simulations expérimentales de problèmes

Plus en détail

Manuel d utilisation de la messagerie. http://zimbra.enpc.fr

Manuel d utilisation de la messagerie. http://zimbra.enpc.fr Manuel d utilisation de la messagerie http://zimbra.enpc.fr ÉCOLE DES PONTS PARISTECH/ DSI JANVIER 04 SOMMAIRE. Connexion à la messagerie.... Présentation générale de l écran d accueil.... Déconnexion...

Plus en détail

Arbres binaires de recherche

Arbres binaires de recherche Chapitre 6 Arbres binaires de recherche 6.1 Introduction On a étudié le problème de la recherche dans une collection d éléments ordonnés entre eux : on a montré que Pour une liste contiguë, la recherche

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

Partie I : Automates et langages

Partie I : Automates et langages 2 Les calculatrices sont interdites. N.B. : Le candidat attachera la plus grande importance à la clarté, à la précision et à la concision de la rédaction. Si un candidat est amené à repérer ce qui peut

Plus en détail

Algorithmique Partie 1

Algorithmique Partie 1 Algorithmique Partie 1 IUT Informatique de Lens, 1ère Année Université d Artois Frédéric Koriche koriche@cril.fr 2011 - Semestre 1 Modalités Sommaire 1 Modalités 2 Programmation 3 Données 4 Opérateurs

Plus en détail

OLYMPIADES FRANÇAISES DE MATHÉMATIQUES ÉPREUVE DE SÉLECTION 2012 CORRIGÉ EXERCICES POUR LES ÉLÈVES DE COLLÈGE ET DE SECONDE

OLYMPIADES FRANÇAISES DE MATHÉMATIQUES ÉPREUVE DE SÉLECTION 2012 CORRIGÉ EXERCICES POUR LES ÉLÈVES DE COLLÈGE ET DE SECONDE OLYMPIADES FRANÇAISES DE MATHÉMATIQUES ÉPREUVE DE SÉLECTION 2012 CORRIGÉ EXERCICES POUR LES ÉLÈVES DE COLLÈGE ET DE SECONDE Exercice 1. Fred et Sarah sont les aînés d une même et grande famille. Fred a

Plus en détail

Des outils en mathématiques pour l'aide personnalisée au C.P. et au C.E.1 Cyrille Philippe

Des outils en mathématiques pour l'aide personnalisée au C.P. et au C.E.1 Cyrille Philippe Des outils en mathématiques pour l'aide personnalisée au C.P. et au C.E.1 Cyrille Philippe Circonscription de Cayenne nord / Remire-Montjoly Difficulté de l'élève L'élève ne comprend pas la notion de dizaine,

Plus en détail

Un algorithme de composition musicale

Un algorithme de composition musicale Un algorithme de composition musicale Table des matières Présentation Le compositeur. Le code PMX.................................................. Structures de données utilisées........................................

Plus en détail