Python au lycée - tome 1
Ce livre n'est donc ni un manuel complet de Python ni un cours Le but est de découvrir des algorithmes
livre-algorithmes EXo7.pdf
d'équation x2 + y2 = 1 et la portion de disque dans le carré (voir la figure). sommé dans l'ordre) retourne 1
Introduction aux probabilités et à la statistique Jean Bérard
durable de connaissances et de méthodes que le succès à l'examen ! L'algorithme prend en entrée un entier effectue au cours de son exécu-.
cours-python.pdf
22?/03?/2018 Le cours est disponible en version HTML 2 et PDF 3. ... Nous pourrions utiliser l'algorithme présenté en pseudo-code dans la figure 1.1.
Algorithmique & programmation en langage C - vol.2 - Archive
14?/07?/2015 parallèlement étudiés en cours (cf. le volume 1). En ce qui concerne les concepts les plus simples il est difficile de sortir des exercices ...
ficall.pdf
Montrer que pour tout n ? N la somme des n premiers entiers positifs impairs est toujours le carré d'un entier. [007017]. Exercice 93.
Chapitre 7 - Tableaux `a une dimension
Puis affiche le tableau complet `a l'écran. 1 Exercices. Question 7-1 Vérification des notions de base ? exercice de cours. 1. Reprendre
livre-scratch.pdf
Avec Scratch la programmation devient un jeu et votre ordinateur un compagnon. À la découverte des algorithmes. Un algorithme est une suite d'instructions
Introduction à la Programmation 1 Python
Exercice 1 (Fonctions et liste de chaînes de caractères ?) Un carré magique est une grille carrée dans laquelle des nombres sont placés de telle sorte ...
Introduction à la Programmation 1 Java
— Les calculs peuvent dépendre de valeurs récoltées par les périphériques ou lues dans la mémoire. Les constituants d'un programme. [Cours]. — Les expressions
Introduction à la Programmation 1Python
51AE011F
Séance 5 de cours/TD
Université Paris-Diderot
Objectifs:-F aireun bilan ap rèscc, q uestions/réponses. C omprendreles listes de chaînes de ca ractères. C omprendreles listes de listes -Comp rendrel estatut pa rticulierdes listes en mémoire.1 Listes d"autres typesDes listes de chaînes de caractères[Cours]
Une liste p eutconte niraussi des chaînes d eca ractères. P arexemple ,p ourcréer une liste de chaînes de ca ractèrestheBeatlesqui vaut initialement Paul John RingoGeorges
], on peut procéder ainsi :1theBeatles = ["Paul"," John"," Ringo"," Georges"]ou bien ainsi :1theBeatles = [""]*42theBeatles[0] =" Paul"3theBeatles[1] =" John"4theBeatles[2] =" Ringo"5theBeatles[3] =" Georges"Exercice 1 (Fonctions et liste de chaînes de caractères,?)
1. Que fait la fonction de signature " funcAB (a)» fournie ci-dessous en supposant qu"elle prend enparamètre un entier strictement positif?1deff uncAB( a): 2l = [""]* a 3s =" ab"4fori i nr ange( 0,a ,1 ): 5l[i] = s6s = s +" ab"7
8return( l)1
2.Utilisez la fonction p récédentedans une suite d"instructions p ourafficher 5 lignes de la fo rmesuivante :
1ab2abab3ababab4abababab5ababababab(On pourra utiliser la procédure "print».)Exercice 2 (Listes de prénoms,??)
Écrire une fonction prenant en paramètre une liste de prénomslet qui renvoie l"indice d"un prénom delqui
y apparaît deux fois. Si une telle valeur n"existe pas, la fonction renvoie-1.Des listes de listes[Cours]
Les listes sont des valeurs c ommeles autres. Une liste p eutdonc aussi conte nirune liste dans cha cune
de ses cases. On parle alors de liste de listes.-Remarque :En fait les éléments d"une liste ne sont pas nécessairement de même type, mais dans ce
cours nous nous imposerons de manipuler et de créer des listes dont tous les éléments ont le même
type. P arexemple ,une liste de liste d"entiers p eutvaloir " [[1], [11, 22], [111, 222, 333]]».La première valeur de cette liste est la liste "[1]» , puis à la deuxième valeur de la liste est "[11,
22]» et la dernière valeur de la liste est "[111, 222, 333]».
P ourc réeret initialiser une liste de listes, il y a différentes façons de p rocéder: 1.On p eutcréer et initialiser toutes les listes au moment de l"a ffectationde la liste "contenant" : 1l = [ [1, 2], [11, 22], [111, 222]]2.On p eutcréer toutes les liste savec des valeurs initiales égales. Attention :Pour faire cela, la liste
principale contiendra au début des entiers que l"on remplacera par des listes.1l = [0] *32l[0] = [0] * 53l[1] = [0] * 54l[2] = [0] * 5L"exemple précédent crée une liste de3valeurs, et chaque valeur est une liste de5valeurs entières.
Dans cet exemples toutes les listes contenues dans la première liste ont la même taille5, mais on
aurait pu leur donner des tailles différentes comme dans l"exemple suivant :1li = [0] * 32li[0] = [0] * 13li[1] = [0] * 24li[2] = [0] * 33.P ourextraire un élément d"une liste de listes il suffit d"enchaîner les indices, d"ab ordl"indice dans
la liste de listes, puis l"indice dans la liste d"entiers sélectionnée. Par exemple :1l = [ [0], [1, 2], [3, 4] ]2print(l[2][0])3
affiche la valeur3. 24.P ourmo difierles valeurs des listes "contenues", on p eututiliser des instructions de m odification
du contenu de listes en précisant leurs indices :1l = [ [0], [1, 2], [3, 4] ]2l[2][0] = 15Cette instruction met la valeur15au premier indice de la troisième liste (la liste qui se trouve à la
fin de la liste de listesl). La déclaration suivante crée la liste "liPascal» valant"[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1]]» :1liPascal = [0] * 42liPascal[0] = [0]3liPascal[0][0] = 14liPascal[1] = [0] * 25liPascal[1][0] = 16liPascal[1][1] = 17liPascal[2] = [0] * 38liPascal[2][0] = 19liPascal[2][1] = 210liPascal[2][2] = 111liPascal[3] = [0] * 412liPascal[3][0] = 113liPascal[3][1] = 314liPascal[3][2] = 315liPascal[3][3] = 1-On pa rlerade listes à deux dimensions (ou bi-dimensionne lle)p ourdes listes de listes, les listes à trois
dimensions seront des listes de listes de liste, etc.Exercice 3 (Table de multiplication,?)
1. Créer une liste à deux dimensions tel que l[i][j]vaut(i + 1) * (j + 1)pourietjallant de0à9.
2.Où se trouve le résultat de la multiplication de 3par4dans cette liste? Même question pour le résultat
de la multiplication de7par6.Exercice 4 (Carré magique,? ? ?)Un carré magique est une grille carrée dans laquelle des nombres sont placés de telle sorte que la somme des
nombres de chaque colonne, chaque ligne et de chacune des deux diagonales soit la même. De plus, le carré
doit contenir une fois chaque nombre, de 1 au nombre de cases de la grille. La grille peut être représentée
comme une liste bi-dimensionnel d"entiers. Notre objectif est d"écrire une fonction qui vérifie si une grille de
nombres reçue comme paramètre est un carré magique. 1.Écrire une fonction carrequi prend une liste de listes d"entiersmen paramètre et qui vérifie quem
représente bien une grille carrée. 2.Écrire une fonction aplatirqui prend en paramètre une liste de listes d"entiersmqu"on peut supposer
d"être une grille carrée, et qui envoie une liste d"entiers qui contient tous les entiers présents dansm.
Par exemple, appliquée à[[1, 2, 3], [4, 5, 6], [6, 8, 9]], la fonction doit envoyer le résultat
[1, 2, 3, 4, 5, 6, 6, 8, 9]. 3.Écrire u nefonction domainequi prend une liste d"entierslen paramètre et qui envoie le booléenTrue
si tous les éléments delsont des valeurs entre0(non-inclus) et la longueur de la liste (incluse), et
3Falsesinon.
4.Écrire une fonction différentsqui prend une liste d"entierslen paramètre et qui envoie le booléen
Truesi tous les éléments delsont des valeurs différentes etFalsesinon. 5.Écrire une fonction lignesqui prend une liste de liste d"entiersmreprésentant une grille carrée et un
entieraen paramètre et qui envoie le booléenTruesi la somme des nombres de chaque ligne est égale
àaetFalsesinon.
6.Écrire une fonction colonnesqui prend une liste de liste d"entiersmreprésentant une grille carrée et
un entieraen paramètre et qui envoie le booléenTruesi la somme des nombres de chaque colonne est égale àaetFalsesinon. 7.Écrire une fonction diagonalesqui prend une liste de liste d"entiersmreprésentant une grille carrée et
un entieraen paramètre et qui envoie le booléenTruesi la somme des nombres de chaque diagonale est égale àaetFalsesinon. 8.Enfin, écrire une fonction magiquequi prend une liste de liste d"entiersmen paramètre et qui envoie
Truesimreprésente un carré magique, etFalsesinon. Utilisez les fonctions demandées aux questions
précédentes.Exercice 5 (Léger Gomoku ,? ? ?)Le Gomoku est un jeu de plateau à deux joueurs, dans lequel pour gagner, chaque joueur doit réussir à aligner
5 pions sur des cases consécutives d"un plateau, horizontalement, verticalement ou en diagonale. On va faire
une version légère oùon ne prendera pas en compte les diagonales. Le plateau est une grille carrée de
taille quelconque supérieure ou égale à 5, et il peut être représenté comme une liste de liste d"entiers. L"entier
vaut 0 si la case est vide, 1 si elle contient un pion du joueur 1, et 2 pour un pion du joueur 2. On souhaite
écrire une fonctionwinGomokuqui reçoit comme paramètre le contenu d"une partie de Gomoku et affiche
Personne
ne gagne ", ou"Joueur1 gagne "ou"Joueur2 gagne "ou"Mauvaisegrille ", selon les cas. 1.Écrire une fonction isGomokuSquarequi teste si la liste de liste d"entiers donnée en paramètre cor-
respond à une grille carrée de dimension supérieure ou égale à 5, c"est-à-dire chaque liste de la liste
principale doit avoir la même longueur que la liste principale et cette longueur doit être supérieure ou
égale à 5.
2.Écrire une fonction fiveInARowqui prend en paramètre une liste de liste d"entiers correspondant à
une grille carrée et un numéro de joueur (qui vaudra 1 ou 2) et qui teste si une liste de la grille carrée
contient cinq fois le numéro du joueur à la suite. 3.Écrire une fonc tionfiveInAColumnqui prend en paramètre une liste de liste d"entiers correspondant
à une grille carrée et un numéro de joueur (qui vaudra 1 ou 2) et qui teste si une colonne de la grille
carrée contient cinq fois le numéro du joueur à la suite. 4. En vous servant des fonctions p récédentes,donner le co dede la fonction winGomoku(si les deuxjoueurs vérifient la condition pour gagner, on suppose que c"est le joueur 1 qui gagne).2 Le statut particulier des listes en mémoire
Mémoire et liste[Cours]
Dans la mé moire,on sto ckeégalement les listes et leur c ontenu.Si aest une variable de type liste référant une liste créée, alors dans la mémoire, la variableasera
associée à la valeur$ioùiest un entier positif, appeléeson adresse dans le tas. Le tas est une mémoire
auxiliairequi est préservée par les appels de fonction et de procédure. 4-Dans notre mo dèled"exéc utiondes p rogrammes,le contenu d"une liste est rep résentéà côté de la
mémoire des variablesdans une autre mémoire. Cette seconde mémoire, le tas, associe des listes à des
valeurs de la forme$i.P arexemple : l1l2$1$2$1 = [2,3,4,5] $2 = [-9,-3,0]indique une mémoire où la variablel1réfère la liste[2, 3, 4, 5]et la variablel2la liste[-9,
-3, 0]Si une exp ressionaccède aux valeurs de la liste (pa rexemple dans " a[2]») alors il faut aller regarder
dans la mémoire quelle est la liste référée par la variablea, par exemple$3et ensuite prendre la valeur
qui se trouve dans la troisième case de la liste$3. Le même procédé s"applique pour les modifications
du contenu de la liste.Si une liste $in"est référencée par aucune variable dans la mémoire, alors on peut la supprimer.
Comme le contenu du tas est p réservépa rles app elsde fonctions et de p rocédures,on p eutécr iredes
fonctions et des procédures qui modifient les listes passées en paramètres. C"est très pratique de ne
pas avoir à recopier le contenu des listes à chaque appel de procédure car la taille des listes peut être
importante. Exercice 6 (Échange du contenu de deux indices,??)Soit la procédure suivante :1defs wap( a,i ,j ): 2tmp = a [i]3a[i] = a[j]4a[j] = tmpDonner l"évolution de la mémoire et du tas au cours de l"évaluation des instructions suivantes :
1li = [ 3, 2, 1, 0 ]2swap (li, 1, 2)3swap (li, 0, 3)3 DIY
Exercice 7 (Comptage,??)
Écrire une fonction qui, étant donnée une listelde nombres entiers et un nombre entiern, renvoie :
la liste vide si la liste donnée contient (au moins) un nomb rextel quex<0oux> n,une liste liden+ 1entiers tel queli[i]soit égal au nombre d"éléments delégaux àisi la liste
ne contient que des nombres compris, au sens large, entre0etn.Contrat:
Si la liste vaut[0, 1, 2, 2, 0, 0]alors
si le deuxième argument vaut 1, la fonction renverra[] si le deuxième argument vaut 2, la fonction renverra[ 2, 1, 3]Exercice 8 (Suites d"entiers,??)Toute suite finie d"entiers peut être décomposée de manière unique en une suite de séquences strictement
croissantes maximales. En représentant une suite dans une listel, la liste [1 2 5 7 26 05 24 6 7 8 9 34 6 12 7 8 9 423 15 9 716 63] 5 se décompose ainsi en la liste de 13 listes d"entiers suivante : [ [1 2 5 7] [2 6] [0 5] [2 4 6 7 8 9] [3 4 6] [1 2 7 8 9] [4] [2 3] [1 5 9] [7] [1 6] [6] [3] ].Les premiers éléments de ces séquences sont, en plus du premier élément de la liste, les éléments (soulignés
1.Écrire une fonc tionnumRupturesqui une listeld"entiers donnée en paramètre renvoie le nombre
de positions soulignées). 2.Écrire une f onctionrupturequi, étant donnée une listeld"entiers, renvoie une liste contenant 0
en premier élément et les indices des éléments delinférieurs ou égaux à leur prédécesseur en ordre
croissant. Pour la liste donnée en exemple, la fonction renvoie la liste : [0 4 6 8 14 17 22 23 25 28 29 31 32]. 3.Écrire une fonction factorisationqui, étant donné une listeld"entiers, renvoie une liste de listes
d"entiers, dont lai-ème liste contient lai-ème plus longue séquence croissante de nombres adja-
cents dans la listel(résultat tel que celui donné dans l"exemple). Indication : on pourra utiliser la
fonctionrupturepour déterminer le nombre de listes et la taille de chaque liste de cette liste de liste.Exercice 9 (Matrices,??)
Étant donnée une matrice (liste à deux dimensions)Aavecnlignes etmcolonnes, un couple d"indices (i,j)
représente unmin-maxde cette matrice si la valeurA[i][j]est un minimum de la ligneiet un maximum de la colonnej, c"est-à-dire A[i][j] =min{A[i][0],...,A[i][m]}A[i][j] =max{A[0][j],...,A[n][j]}.Ecrivez une fonction prenant en paramètre une liste de liste d"entiers encodant une matrice et qui affiche
l"ensemble de tels couples (i,j). La méthode proposée consiste à effectuer le travail suivant pour chaque
lignei: (1) trouver les minima de la ligneiet en mémoriser les numéros de colonne et (2) pour chacun de
ces rangsj, déterminer sia[i][j]est un maximum pour sa colonne.Exercice 10 (Championnat,? ? ?)On considère une liste à 3 dimensions stockant les scores d"un championnat de handball. Pournéquipes, la
liste auranlignes etncolonnes et à chacun de ses indices on trouvera une liste de longueur 2 contenant
le score d"un match (on ne tient pas compte de ce qui est stocké dans la diagonale). Ainsi, pour la liste
championnatch, on trouvera dansch[i][j]le score du match de l"équipei+1contre l"équipej+1et dans
ch[j][i]le score du match de l"équipej+1contre l"équipei+1. De même, pour un score stocké, le premier
entier dech[i][j]sera le nombre de but(s) marqué(s) par l"équipei+1dans le match l"opposant à l"équipe
j+1. Par conséquent, dansch[i][j][0]on trouve le nombre de bus obtenu pari+1dans le match l"opposant
àj+1et dansch[i][j][1]on trouve le nombre de bus obtenu parj+1dans le match l"opposant ài+1. On
remarque que le matchch[i][j](match aller) n"est pas le même quech[j][i](match retour). Finalement,
on suppose que lorsqu"une équipe gagne un match, elle obtient 3 points, 1 seul point pour un match nul et
0 point dans le cas où elle perd le match.
1. Écrire une métho denombrePointsqui prend en arguments une liste championnatchde longueurnetle numéro d"une équipe (entre 1 àn) et qui renvoie le nombre de point(s) obtenu(s) par cette équipe
pendant le championnat. 2. Écrire une méth odestockerScorequi prend en arguments une liste championnatchde longueurn,le numéroid"une équipe, le numérojd"une autre équipe et le score du match deicontrejet qui
met à jour la listech. 3.Écrire une métho dechampion qui p renden a rgumentune liste championna tchet qui renvoie le numéro
de l"équipe championne. Une équipe est championne si elle a strictement plus de points que toutes
les autres. Si plusieurs équipes ont le même nombre de points, alors une équipe est meilleure si elle
a marqué strictement plus de buts. Dans le cas d"égalité parfaite (même nombre maximum de points
et même nombre maximum de buts marqués), la méthode renverra 0 pour signaler l"impossibilité de
désigner un champion. 6Exercice 11 (Maxima locaux,??)
Écrire une fonction qui prend en paramètre une liste d"entiers à deux dimensions (rectangulaire) et calcule le
nombred"entréesintérieuresde la matrice dont tous les voisins sont strictement plus petits. Chaque entrée
intérieure de la matrice a quatre voisins (à gauche, à droite, vers le haut, vers le bas). Par exemple, pour la
matrice1 4 9 1 4
4 8 1 2 5
4 1 3 4 6
5 0 4 7 6
2 4 9 1 5
la méthode devrait renvoyer2car il y a deux éléments de la matrice (8et7) qui ont uniquement des voisins
plus petits.7Introduction à la Programmation 1Python
51AE011F
Séance 6 de cours/TD
Université Paris-Diderot
Objectifs:-Boucles while.-V ariablesb ooléennes.1 La boucle "while"
Boucle non bornée[Cours]
La boucle non bornée permet de répéter des instructions tant qu"une expression booléenne est vraie. Elle est
utile lorsqu"on ne connaît pasa priorile nombre d"itérations nécessaires.1while( expressionb ooléenne): 2instructions à répéter-L"exp ressionb ooléenneest app eléecondition ou enco retest d"a rrêtde la b oucle.
P arexemple, la b ouclesuivante s"a rrêteraq uandla valeur de la va riableentière asera0après avoir
affiché 50 lignes contenant la chaîne "Hello».1a = 502while( a> 0 ): 3print( "Hello")4a = a - 1-Une b ouclenon b ornéep eutne jamais terminer si sa condition est toujours vraie. La plupa rtdu temps,
la non terminaison du programme n"est pas le comportement escompté car on souhaite obtenir un résultat! 1P arexemple, la b ouclesuivante ne termine jamais et l"instruction " print( "Bonjour")» n"est donc
jamais exécutée :1b = 02while( b= =0 ): 3b = b // 24print( "Bonjour")Exercice 1 (Première boucle,?)
Quelle est la valeur de la variablerà la fin de la suite des instructions suivantes?1n = 492r = 0 13while( r* r < n ): 4r = r + 1Exercice 2 (Les "for"s vus comme des "while"s,?)
Réécrivez la suite d"instructions suivante pour obtenir le même comportement en utilisant un "while" à la
place du "for".1a = 02fori i nr ange( 0,3 2,1 ): 3a = a + i4print( a)Exercice 3 (Affichage maîtrisé,?)
Écrire, à l"aide d"une boucle, un programme qui affiche la chaîne"bla"plusieurs fois de suite autant que
possible, sans dépasser les80caractères (longueur standard d"une ligne dans un terminal).Exercice 4 (Terminaison,?)
Qu"affichent les deux séquences d"instructions suivantes? Est-ce que leur exécution se termine?1n = 22while( n> 0 ): 3print( n)1n = 22while( n> 0 ): 3n = n * 24print( n)2 Variables de typeboolPrésentation du typebool[Cours]
Comme toute valeur, une valeur de t ypebool(qui correspond à un booléen) peut être stockée dans
une variable. Rapp el: Il y a deux valeurs p ourle t ypeboolqui sontTrueetFalse.P arexemple ,on p eutinitialiser une va riableb ooléenneain si: 1b = Falseou bien encore comme cela :
1b = x >52
Dans ce dernier cas, si la valeur contenue dansxest strictement plus grande que5alors l"expression booléenne "x > 5» s"évaluera en la valeurTrue, qui sera la valeur initiale de la variableb. Rapp els: les op érateursb ooléenssont or(ou),and(et) etnot(non).P arexemple ,les affectations suivantes sont valides : 1b1 = False# b1vaut False. 2b2 = (3 + 2 < 6)# b2 vaut True. 3b1 =n ot( b2)# b1 vaut la negation de True, donc False. 4b2 = b1o rb 2# b2 vaut False or True, donc True. -Attention :le symbole=est utilisé dans les instructions d"affectation tandis que le symbole==est un
opérateur de test d"égalité entre entiers ou entre chaînes de caractères.Comme toute valeu r,une valeur de t ypeboolpeut être passée en paramètre à une fonction ou une
procédure et renvoyée par une fonction.Exercice 5 (Évaluer,?)
Quelles sont les valeurs des variablesx,b,d,eetfaprès avoir exécuté les instructions suivantes?1x = 3 + 52b = (x == 5 + 3)3d = (x > x + 1)4e = bo rd 5f = ba ndd 6f = (e != b)Exercice 6 (Parité,?)
Écrire une fonction "isEven (a)» qui prend en paramètre un entier et renvoieTruesi cet entier est pair,
Falsesinon.Exemples d"utilisation de variables booléennes[Cours]Les va riablesb ooléennesp euventêtre utilisées p oursignaler qu"une condition a été vérifiée, c equi
peut être utile pour arrêter une boucle.On p eutau ssiutiliser les va riablesb ooléennescomm epa ramètresde fonction p ourfa ireva rierle
comportement selon des conditions. Les va riablesb ooléennessont pa rfoisapp eléesdrap eaux( flagen anglais).Exercice 7 (Drapeau et recherche,?)
1.On considère la suite d"instruc tionssuivante qui pa rcourtune liste ld"entiers et affecteTrueà la
variablefoundsi une des cases delvaut3:1l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]2i = 03found = False# flag 4while( i< l en( l)): 5if( l[i]= =3 ): 6found = True7i = i + 1Quelle est la valeur contenue dans la variableiaprès ces instructions?
2.Même question sur la suite d"instructions suivante : 1l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]2i = 03found = False# flag
34while( i< l en( l)a ndn ot( found)): 5if( l[i]= =3 ): 6found = True7i = i + 13.Qu"en déduisez-vous ?
4.Écrire une fonction " findValueList (l, v)» qui teste si la valeur contenue dansvest présente
dans la liste d"entiersl.Exercice 8 (Paramètre booléen,?)Écrire une procédure qui énumère les entiers entre1etn. La procédure prend deux paramètres : l"entiern,
et un booléenup. Si le paramètre booléen est vrai, on affiche les entiers de1àn, sinon on affiche les entiers
denà1.3 DIYExercice 9 (Comptine,?)
Modifier les instructions suivantes pour que l"accord de kilomètre(s) soit correct.1n = 102while( n> 0 ): 3print( n,e nd="")4print( "k ilometrea p iedc au sel ess ouliers")5n = n - 1Exercice 10 (Palindrome,??)
Un mot est un palindrome si on obtient le même mot en le lisant à l"envers. Par exemple "kayak", "ressasser",
ou "laval" sont des palindromes. Écrire une fonction qui prend en paramètre une chaîne de caractèresset qui
renvoie le booléenTruesi le motsest un palindrome etFalsesinon.Exercice 11 (Logarithme,?)Écrire une fonction qui prend en paramètre un entier n, et renvoie le nombre de fois qu"il faut diviser celui-ci
par deux avant que le résultat soit inférieur ou égal à 1.Exercice 12 (n-ème chiffre,??)
Écrire une fonction qui prend en paramètres deux entiersketnet renvoie len-ème chiffre dek, ou 0 sik
n"est pas aussi long (par exemple le 2ème chiffre de 1789 est 8).Exercice 13 (Binaire,? ? ?)Écrire une fonction qui prend en paramètre un entiernet qui renvoie la représentation binaire densous la
forme d"une chaîne de caractères formée de caractères0et1.Exercice 14 (lastOcc,??)Écrire une fonction "lastOcc(li, x)» qui prend en paramètre une liste d"entiers et une valeur entière. Si
la liste contient cette valeur, la fonction renvoie l"indice de la dernière occurrence de la valeur. Si la liste ne
contient pas cette valeur, la fonction renvoie-1.Cet exercice a déjà été traité au TD 4, mais on demande de remplacer la boucleforpar une bouclewhile.Exercice 15 (Syracuse,? ? ?)
La suite de Syracuse de premier termep(entier strictement positif) est définie para0=pet a n+1=? ?a n2 sianest pair3·an+ 1sianest impairpourn≥0
4Une conjecture (jamais prouvée à ce jour!) est que toute suite de Syracuse contient un termeam= 1. Trouver
le premiermpour lequel cela arrive, étant donnép.Exercice 16 (Itérations,?)Combien y a-t-il d"itérations dans la boucle suivante :1n = 152while( n> =0 ): 3n = n - 1Même question pour la boucle suivante, en fonction du paramètren:1defn bIterations( n): 2while( n> =0 ): 3n = n - 1Exercice 17 (Logarithme (itéré),??)
1. Le loga rithmee nbase 2 d"un entier n≥1(notélog2n) est le réelxtel que2x=n. On se proposela partie entière du logarithme en base 2, c"est-à-dire quem=l(n). Par exemple,l(8) =l(9) = 3car
2Écrire une fonctionloqui prend en paramètre un entiernet renvoie la partie entièrelo (n)de son
logarithme en base 2. On calculeralo (n)en effectuant des divisions successives par 2. 2.À pa rtirde la fon ctionloprécédente, on peut définir une fonctionloStarainsi :loStar (n)est le
plus petit entieritel que lai-ème itération delosur l"entréenvaille 0. Par exemple,loStar (1)
vaut 1 car dès la première itération,lo (1)vaut 0; ou encoreloStar (2)vaut 2 carlo (2)vaut 1
etlo (1)vaut 0. Pour prendre un exemple plus grand, on aloStar (1500)vaut 4 carlo (1500) vaut 10,lo (10)vaut 3,lo (3)vaut 1 etlo (1)vaut 0; la quatrième itération delosur 1500 vaut donc 0. Écrire la fonctionloStarqui prend en paramètre un entiern.Exercice 18 (Racine cubique,??)Écrire une fonction qui renvoie la racine cubique d"un entierx, c"est-à-dire le plus petit entieratel quea3≥x.
On peut s"inspirer de l"exercice
1 .Exercice 19 (Racinenième,? ? ?)Maintenant, écrire une fonction qui renvoie la racinenième d"un entierx, c"est-à-dire le plus petit entiera
tel quean≥x.5Introduction à la Programmation 1Python
51AE011F
Séance 7 de cours/TD
Université Paris-Diderot
Objectifs:-C onnaîtreses classiques sur les listes. -App rendreà voir quan dun p rogrammeest faux.
1 Devenir incollable sur les listes
Opérations à savoir faire sur les listes[Cours] -Rechercher Dire si un élément est p résentdans une liste Renvo yerla p ositiond"un élément dans la liste (la p remièreou la dernière) Compter le nomb rede fois qu"un élém entest p résentdans une liste. Savoir construire une liste des p ositionsd"un é lémentdans une liste -Modifier Savoir échanger deux éléments de place dans une listeSavoir renverser une liste
Savoir décaler tous les éléments d"une liste Savoir appliquer une f onctionà tous les éléme ntsd"une listeExercice 1 (Présence dans une liste,?)
On considère la fonctionisPresent (el, li)qui renvoieTruesielest dans la listeli.1defi sPresent( el,l i): 2fori i nr ange( 0,l en(li),1 ): 3if( li[i]= =e l): 4return( True)5else: 6return( False)7return( False)8
9defi sPresent( el,l i): 10b = True11fori i nr ange( 0,l en(li),1 ): 12if( li[i]= =e l): 13b = True14else: 15b = False16return( b)17
118defi sPresent( el,l i): 19b = True20fori i nr ange( 0,l en(li),1 ): 21return( li[i]= =e l)22
23defi sPresent( el,l i): 24b = False25i = 026while( i < l en( li)a ndb ): 27if( li[i]= =e l): 28b = True29return( b)30
31defi sPresent( el,l i): 32b = False33i = 034while( i < l en( li)a ndn ot(b)): 35b = ba nd( li[i]= =e l)36return( b)code/exoPresent.py
1.P ourquoiles p ropositionsp récédentessont-elles fausses ?À cha quecas, donnez un exemple de listes
d"entiers et d"éléments pour laquelle la fonction renvoie un mauvais résultat. 2. Prop osezune co rrectionp ourcha cundes cas. Exercice 2 (Occurences dans une liste,?)On considère la fonctionocc (el, li)qui renvoie le premier indice deeldans la listeliet-1sieln"est
pas dans la liste.1defo cc( el,l i): 2fori i nr ange( 0,l en(li),1 ): 3if( el= =l i[i]): 4return( i)5else: 6return( -1)7return( -1)8
9defo cc( el,l i): 10fori i nr ange( 0,l en(li),1 ): 11if( el= =l i[i]): 12return( i)13return( i)14
15defo cc( el,l i): 16p = 017fori i nr ange( 0,l en(li),1 ): 18if( el= =l i[i]): 19p = i20else: 21p = -122return( p)23
24defo cc( el,l i): 25p = 026fori i nr ange( 0,l en(li),1 ):
227if( el= =l i[i]): 28p = i29return( p)30
31defo cc( el,l i): 32p = -133i = 034while( i < l en(li)): 35if( el= =l i[ i]): 36p = i37i = i + 138return( p)39
40defo cc( el,l i): 41p = -142i = 043while( i < l en(li)a ndp ! =- 1) : 44if( el= =l i[ i]): 45p = i46i = i + 147return( p)code/exoOccurence.py
1.P ourquoiles p ropositionsp récédentessont-elles fausses ?À cha quecas, donnez un exemple de listes
d"entiers et d"éléments pour laquelle la fonction renvoie un mauvais résultat. 2. Prop osezune co rrectionp ourcha cundes cas. Exercice 3 (Compter dans une liste,?)On considère la fonctioncount (el, li)qui renvoie le nombre de fois que l"élémentelapparaît dans la
listeli.1defc ount( el,l i): 2c = 03fori i nr ange( 0,l en(li),1 ): 4if( li[i]= =e l): 5c = c + 16return( c)7return( c)8
9defc ount( el,l i): 10c = 011fori i nr ange( 0,l en(li),1 ): 12if( li[i]= =e l): 13c = c + 114else: 15c = c - 116return( c)code/exoCounting.py
1.P ourquoiles p ropositionsp récédentessont-elles fausses ?À cha quecas, donnez un exemple de listes
d"entiers et d"éléments pour laquelle la fonction renvoie un mauvais résultat. 2.Prop osezune co rrectionp ourcha cundes cas. 3
Exercice 4 (Construire la liste des positions,?)
On considère la fonctionpos (el, li)qui renvoie une liste contenant les positions oùelapparaît dans la
listeli. 1. Que valent les va riablesli1,li2etli3après exécution du programme suivant (en supposant que lafonctionposest correctement définie).1li1 = pos (2, [3, 4, 5, 8])2li2 = pos (3, [3, 3, 4, 3, 4, 5, 6, 4, 3])3li3 = pos (4, [3, 3, 4, 3, 4, 5, 6, 4, 3])2.On considère les p ropositionssuivantes p ourla fonction pos (el, li)(on suppose que la fonction
quotesdbs_dbs45.pdfusesText_45[PDF] algorithme casio 35+ e PDF Cours,Exercices ,Examens
[PDF] algorithme casio graph 35+ boucle pour PDF Cours,Exercices ,Examens
[PDF] algorithme casio graph 35+ pour PDF Cours,Exercices ,Examens
[PDF] algorithme casio graph 35+ tant que PDF Cours,Exercices ,Examens
[PDF] algorithme casio mesure principale PDF Cours,Exercices ,Examens
[PDF] Algorithme classe de seconde 2nde Mathématiques
[PDF] Algorithme Cned Devoir 1 2nde Mathématiques
[PDF] Algorithme CNED n°3 2nde Mathématiques
[PDF] algorithme codé 1ère Mathématiques
[PDF] Algorithme code d'accès 2nde Mathématiques
[PDF] algorithme college technologie PDF Cours,Exercices ,Examens
[PDF] Algorithme conjecture et suites 1ère Mathématiques
[PDF] algorithme coordonnées milieu segment PDF Cours,Exercices ,Examens
[PDF] algorithme coordonnées vecteur PDF Cours,Exercices ,Examens