UE J1BS7202 : Algorithmique et Programmation SUJET + CORRIGE Écrire un algorithme sontInvOuOpp(a,b) o`u a et b sont deux nombres, (d) La solution naturelle au probl`eme de sélection basé sur le tri rapide est une solution
Previous PDF | Next PDF |
[PDF] Algorithmique et programmation : les bases (Algo) Corrigé
Algorithmique et programmation : les bases (Algo) Corrigé Résumé Ce document décrit les éléments de base de notre langage algorithmique : la structure
[PDF] Algorithmique et programmation : les bases (C) Corrigé
-dire que c'est elle qui est exécutée quand le programme sera lancé Les instructions sont les mêmes que cette présentées dans l'algorithme même si elles ont
[PDF] exercices corrigés algorithmepdf
Ecrire un algorithme qui demande à l'utilisateur un nombre compris entre 1 et 3 Modifiez ensuite l'algorithme pour que le programme affiche de surcroît en
[PDF] SUJET + CORRIGE
UE J1BS7202 : Algorithmique et Programmation SUJET + CORRIGE Écrire un algorithme sontInvOuOpp(a,b) o`u a et b sont deux nombres, (d) La solution naturelle au probl`eme de sélection basé sur le tri rapide est une solution
[PDF] Algorithmique – Travaux Dirigés - AAATE
Corrigé Exercice 1 – Affectations 1 Considérons les algorithmes ci-dessous Dans la plupart des langages de programmation le dernier exemple (1 6) ne générera (c) Étant données 3 variables a, b et c, proposer un algorithme pour Écrire un algorithme de conversion d'un nombre entier en une base b quelconque
[PDF] Bases de programmation - TD 1 : Algorithmique - CORRECTION
Exercice 3 2 : Ecrire un algorithme qui demande à l'utilisateur le prix HT (hors taxe) d'un article, le nombre d'articles vendus et le taux de TVA (Taxe sur la
[PDF] Exercices et problèmes dalgorithmique - Adrien Poupa
séquentielles et arborescentes vous donneront les bases nécessaires pour un algorithme, signifie décrire une méthode de raisonnement (un programme) qui qui n'est pas évidente à repérer et à corriger : ce type de programmation est à
[PDF] Exercices avec Solutions
Exercices Corrigés d'Algorithmique – 1ére Année MI 5 EXERCICE 1 Ecrire un algorithme qui demande un nombre à l'utilisateur, puis calcule et affiche le carré de ce nombre opérateurs de base, et renvoie sa racine dans le cas favorable
[PDF] Algorithmique et programmation - USTO
l'algorithme mais aussi le programme Fortran correspondant avec éventuellement une ou Objectifs - Connaître le vocabulaire de base en programmation 1- Saisir sous Fortran le programme suivant, puis corriger les éventuelles erreurs
[PDF] Séance de travaux pratiques n° 1
[PDF] simulations, algorithmes en probabilités et statistique(s) au - Apmep
[PDF] Loi de Bernoulli et loi binomiale, cours, première S - MathsFG - Free
[PDF] Exercices d 'algorithmique en seconde Probabilités #8211 statistiques
[PDF] simulations, algorithmes en probabilités et statistique(s) au - Apmep
[PDF] Probabilités, simulation et algorithmique (pour TI)
[PDF] Algorithmes et programmation en Pascal TD corrigés - Limuniv-mrsfr
[PDF] Notes de cours / Algo et Python
[PDF] Algorithmique et Programmation Projet : algorithme de - DI ENS
[PDF] Score ASIA
[PDF] Un algorithme de simulation pour résoudre un problème de probabilité
[PDF] Algorithmique en classe de première avec AlgoBox - Xm1 Math
[PDF] Algorithme U prend la valeur [expression de la suite - Maths en ligne
[PDF] Algorithme U prend la valeur [expression de la suite - Maths en ligne
Master BioInformatiqueAnn
ee :2013/2014Semestre de decembre 2013PARCOURS :Master 1
UE J1BS7202 :Algorithmique et Programmation
Epreuve :Examen
Date :Jeudi 19 decembre 2013
Heure :9 heures
Duree :2 heures
Documents : autorises
Epreuve de M. AlainGriffaultSUJET + CORRIGE
Avertissement
La plupart des questions son tind ependantes.
A chaque question, vous pouvez au choix
repondre par un algorithme ou bien par un programme python.Les inden tationsdes f onctions ecritesen Python
doivent ^etre respectees. L'espace laiss ep ourles r eponsesest susan t(sauf si vous utilisez ces feuilles comme brouillon, ce qui est fortement deconseille).QuestionPointsScoreMise en bouche7
Algorithmes de rang14
Liste doublement chainee9
Total:30
Exercice 1 : Mise en bouche (7 points)
(a) (1 p oint)Deux nom bresson topp osessi le ursom meest egale a0. Deux nombres sont inverses si leur produit est egal a1.Ecrire un algorithmesontInvOuOpp(a,b)ouaetbsont deux nombres, qui retourneVraisiaetbsont inverses ou opposes,Fauxsinon.Solution:Deux solutions parmi d'autres.
defsontInvOuOpp(a ,b): returna+b==0orab==1Algorithme 1:SontInvOuOpp(a,b)Donnees:Deux nom bresa et b retourner(a+b=0) OU (a*b=1);(b)(2 p oints) Ecrire un algorithmeexisteInvOuOppConsecutifs(T)ouTest un tableau de nombres, qui retourneVraisiTcontient deux nombresconsecutifsopposes ou inverses,Fauxsinon.Solution:Deux solutions parmi d'autres.
defexisteInvOuOppConsecutifs (T): foriinrange ( len (T)1): ifsontInvOuOpp(T[ i ] ,T[ i +1]): returnTrue returnFalseAlgorithme 2:ExisteInvOuOppConsecutifs(T)Donnees:Un tabl eauT de n ombres pouri=0alen(T)-2fairesisontInvOuOpp(T[i],T[i+1])alorsretournerTrue;retournerFalse;(c)(2 p oints) Ecrire un algorithmeexisteInvOuOpp(T)ouTest un tableau de nombres, qui retourne VraisiTcontient deux nombres,ayant des indices dierents, opposes ou inverses,Fauxsinon. UE J1MI2013 : Algorithmes et Programmes DS Terminal, Annee 2012/2013Solution:Deux solutions parmi d'autres.
defexisteInvOuOpp(T): foriinrange ( len (T)1): forjinrange ( i +1,len (T)): ifsontInvOuOpp(T[ i ] ,T[ j ] ) : returnTrue returnFalseAlgorithme 3:ExisteInvOuOpp(T)Donnees:Un tableau T de nom brespouri=0alen(T)-2fairepourj=i+1alen(T)-1fairesisontInvOuOpp(T[i],T[j])alorsretournerTrue;retournerFalse;(d)(2 p oints)
Ecrire un algorithmenbInvOuOpp(T)ouTest un tableau de nombres, qui retourne le nombre de paires d'indices(i,j)telles que : d'une partipouri=0alen(T)-2fairepourj=i+1alen(T)-1fairesisontInvOuOpp(T[i],T[j])alorsnb nb+1;retournernb;Exercice 2 : Algorithmes de rang (14 points)
Le probleme de la selection consiste a trouver dans un tableau de nombres l'element dit de rangi. Pour cet exercice, du fait que les indices d'un tableauTsont compris entre0etlongueur(T)-1, nous admettrons que l'element de rang0est le plus petit element du tableau, et que l'element de rang longueur(T)-1est le plus grand.Exemple :SoitT= [8;6;53;8;2;9;3;10], alors :
Les elementsde rang <0sont indenis.
L' elementde rang 0est 2.
L' elementde rang 1est 3.
L' elementde rang 2est 6.
L' elementde rang 3est 8.
L' elementde rang 4est 8.
L' elementde rang 5est 9.
L' elementde rang 6est 10.
L' elementde rang 7est 53.
Les elementsde rang >7sont indenis.
Page 2 sur 10
UE J1MI2013 : Algorithmes et Programmes DS Terminal, Annee 2012/2013 Remarque 1 :Une solution simple au probleme de la selection consiste a utiliser un algorithmequelconque de tri, puis de retourner l'element de rang souhaite.Algorithme 5:Rang(T,rang)Donnees:Un tabl eauT de n ombres,et rang un en tier
Resultat:Si rang est un indice, alors T[rang] apr esa voirtri eT sirang<0 OU ranglongueur(T)alorsretournernil;Trier(T);retournerT[rang];Remarque 2 :Il est facile de se persuader qu'il n'est pas utile de triertoutle tableau pour avoir une
solution au probleme de la selection. Dans cet exercice, nous allons adapter des algorithmes de tri vus
en cours an d'obtenir des algorithmes de rang plusecacesque le precedent.Dans toute la suite de l'exercice, vous pourrez utiliser la fonction classiqueEchange(T,i,j)qui echange
les valeurs du tableauTindicees parietj. defechange(T, i , j ):TMP = T[ i ]
T[ i ] = T[ j ]
T[ j ] = TMPAlgorithme 6:Echange(T,i,j)Donnees:Un tableau T de nom bres,et deux indices i et jResultat:T[i] et T[j] echanges
aux T[i];T[i] T[j];
T[j] aux;(a)Solution adapt eedu tri par s electionvu en cours. deftriSelection (T): foriinrange ( len (T)): iMin = i forjinrange ( i +1,len (T)): ifT[ j]Page 3 sur 10
UE J1MI2013 : Algorithmes et Programmes DS Terminal, Annee 2012/2013 i. (2 p oints) Ecrire un algorithmerangSelection(T,r)fortement inspire de l'algorithme ou du programme pythontriSelection(T)qui resout le probleme de la selection. Ne pas oublier de s'assurer que le rang desire correspond a un indice du tableau.Solution:Deux solutions parmi d'autres.
defrangSelection (T, r ): ifr<0orr>=len (T): returnNone foriinrange ( r+1): iMin = i forjinrange ( i +1,len (T)): ifT[ j]Temps (meilleur des cas)
(n2) (nr)Temps (pire des cas)O(n2)O(nr)Espace (meilleur des cas) (1) (1)Espace (pire des cas)O(1)O(1)Non demande :Il est facile d'ameliorer (un peu) la solution en selectionnant les valeurs minimales
(comme ici) lorsquer < n=2, et en selectionnant les valeurs maximales lorsquern=2. Les complexites s'expriment alors en remplacantrparmin(r;nr).(b)Solution adapt eedu tri abulle vu en cours. deftriBulle (T): foriinrange ( len (T)1,0,1): forjinrange ( i ): ifT[ j]>T[ j +1]: echange(T, j , j+1)Algorithme 9:TriBulle(T)Donnees:Un tableau T de nom bresResultat:Le tableau T tri een ordre
croissant pouri=len(T)-1a1 decroissantfairepourj=0ai-1fairesiT[j]>T [j+1]alorsEchange(T,j,j+1);Il semble evident qu'une fois la valeur desireebien placeedans le tableau, il est inutile de continuer
le tri. i. (2 p oints) Ecrire un algorithmerangBulle(T,r)fortement inspire de l'algorithme ou du programme pythontriBulle(T)qui resout le probleme de la selection. Ne pas oublier de s'assurer que le rang desire correspond a un indice du tableau.