Exercices Types Algorithmique et simulation numérique Oral Mathématiques et Algorithmique Banque PT Propositions de réponses

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

Download "Exercices Types Algorithmique et simulation numérique Oral Mathématiques et Algorithmique Banque PT Propositions de réponses"

Transcription

1 Exercices Types Algorithmique et simulation numérique Oral Mathématiques et Algorithmique Banque PT Propositions de réponses Exercice 0 print('\n ') n = 1234 q = 1234 // 10 # quotient de n par 10 r = 1234 % 10 # reste de n par 10 = chiffre des unités q1 = q // 10 # reste de q par 10 r1 = q % 10 # reste de q1 par 10 = chiffre des dizaines print('n = {}, q = {}, r = {}, q1 = {}, r1 = {}'.format(n, q, r, q1, r1)) print('les restes successifs contiendront les chiffres de n') print('\n ') s = r**3 + r1**3 # contiendra la somme des cubes des chiffres q2 = q1 // 10 s += (q1 % 10)**3 s += (q2 % 10)**3 print('somme des cubes des chiffres de {} : {}'.format(n, s)) n = 1234, q = 123, r = 4, q1 = 12, r1 = 3 Les restes successifs contiendront les chiffres de n Somme des cubes des chiffres de 1234 : 100 Somme des cubes de 1234 : 100 Les chiffres inférieurs à 1000 égaux à la somme des cubes de leurs chiffres : 0, 1, 153, 370, 371, 407, --- Question Somme des cubes de 1234 : 100 print('\n ') def somcube(n): n : entier naturel renvoie la somme des cubes des chiffres de l'écriture décimale de n s = 0 # contiendra la somme des cubes des chiffres q = n # contiendra les quotients successifs par 10 # la boucle stoppe lorsque q = 0 while q: s += (q % 10)**3 q = q // 10 # que l'on peut écrire q //= 10 return s print('somme des cubes de 1234 : ', somcube(1234)) print('\n ') maxi = 1000 print('les chiffres inférieurs à {} égaux à la somme des cubes de leurs\ chiffres :'.format(maxi)) for i in range(maxi + 1): if i == somcube(i): print(i, end = ', ') print() #--- question print('\n --- Question ') def somcube2(n): n : entier naturel renvoie la somme des cubes des chiffres de l'écriture décimale de n 1

2 chiffres_str = str(n) # chaîne de caractères des chiffres de n somme = 0 for c in chiffres_str: somme += int(c)**3 return somme # ou bien : return sum(int(c)**3 for c in chiffres_str ) print('somme des cubes de 1234 : ', somcube(1234)) Exercice 1 import matplotlib.pyplot as plt import scipy.integrate as integ print('\n ') # lecture des données fichier = open('data/ex_001.csv', 'r') LX = [] LY = [] # liste des abscisses # liste des ordonnées for ligne in fichier: donnee = ligne.split(';') LX.append(float(donnee[0])) LY.append(float(donnee[1])) fichier.close() # affichage des données print('abscisses x ordonnées y ') print('-' * 25) for i in range(len(lx)): print('{} {}'.format(lx[i], LY[i])) print() abscisses x ordonnées y print('\n ') plt.plot(lx, LY, marker = 'D') plt.xlabel('$x$') plt.ylabel('$y$') plt.grid() plt.show() print('\n ') def trapeze(x, y): x et y : deux listes numériques de même longueur n renvoie la somme des (x_i-x_(i-1)) * (y_i + y_(i-1)) / 2 pour 0 < i < n trap = 0 # contiendra la somme voulue Valeur de trapeze(lx, LY) : Valeur avec trapz de scipy.integrate :

3 for i in range(1,len(x)): trap += (x[i] - x[i-1]) * (y[i] + y[i-1]) / 2 return trap ''' # que nous pourrions remplacer par : return sum(x[i] - x[i-1]) * (y[i] + y[i-1]) / 2 for i in range(1,n)) ''' print('valeur de trapeze(lx, LY) : ') print(trapeze(lx, LY), end = '\n\n') print('\n ') print('valeur avec trapz de scipy.integrate :') print(integ.trapz(ly, LX)) Exercice 2 print('\n ') # --- création de la matrice M des distances du graphe G --- M = [[0, 9, 3, -1, 7],[9, 0, 1, 8, -1],[3, 1, 0, 4, 2],[-1, 8, 4, 0, -1],[7, -1, 2, -1, 0]] # --- affichage de la matrice M --- print('matrice M des distances du graphe G : ') for ligne in M: for coeff in ligne: print('{:>2}'.format(coeff), end = ' ') print() print() print('\n ') voisins_4 = [] for j in range(5): if M[4][j] > 0: voisins_4.append(j) print('liste des voisins du sommet 4 :', voisins_4) print('\n ') def voisin(i): i : entier sommet de [0,4] retourne la liste vois_i des voisins du sommet i global M vois_i = [] Matrice M des distances du graphe G : Liste des voisins du sommet 4 : [0, 2] Liste des voisins du sommet 0 : [1, 2, 4] Liste des voisins du sommet 1 : [0, 2, 3] Liste des voisins du sommet 2 : [0, 1, 3, 4] Liste des voisins du sommet 3 : [1, 2] Liste des voisins du sommet 4 : [0, 2] Degré du sommet 0 : 3 Degré du sommet 1 : 3 Degré du sommet 2 : 4 Degré du sommet 3 : 2 Degré du sommet 4 : Question Longueur du trajet de [0] : -1 Longueur du trajet de [0, 0] : -1 Longueur du trajet de [0, 1, 0] : 18 Longueur du trajet de [0, 1, 4, 0] : -1 Longueur du trajet de [0, 1, 3, 2, 4] : 23 Longueur du trajet de [0, 1, 4] : -1 3

4 for j in range(5): if M[i][j] > 0: vois_i.append(j) return vois_i for i in range(5): print('liste des voisins du sommet {} : {}'.format(i, voisin(i))) print('\n ') def degre(i): i : entier sommet de [0,4] retourne le nombre de voisins du sommet i global M deg_i = 0 for j in range(5): if M[i][j] > 0: # ou bien deg_i += (M[i][j] > 0) - confusion bool <-> int deg_i += 1 return deg_i for i in range(5): print('degré du sommet {} : {}'.format(i, degre(i))) #--- question print('\n --- Question ') def longueur(l): L : liste de sommets renvoie la longueur du trajet décrit par la liste -si possible - global M n = len(l) if n <= 1: return -1 long = 0 for i in range(n-1): dist = M[L[i]][L[i+1]] if dist > 0: long += dist else : return -1 return long def affiche_longueur(l): print('longueur du trajet de {} : {}'.format(l, longueur(l))) affiche_longueur([0]) affiche_longueur([0,0]) affiche_longueur([0,1,0]) affiche_longueur([0,1,4,0]) affiche_longueur([0,1,3,2,4]) affiche_longueur([0,1,4]) 4

5 Exercice 3 # données de test t1 = [0,1,1,1,0,0,0,1,0,1,1,0,0,0,0] print('t1 = ', t1) long_t1 = len(t1) print('\n ') def nombrezeros(t,i): t : tableau de 0 et 1 i : indice du tableau renvoie le nombre de 0 consécutifs à partir de t[i] si t[i] = 0 renvoie 0 sinon n = len(t) if t[i]: return 0 else: s = 1 # contiendra le résultat j = i+1 while (j < n) and (t[j] == 0): s += 1 j += 1 return s t1 = [0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0] i nombrezeros(t1, i) Le nombre maximal de zéros contigus d'une liste t de longueur 1 est le maximum de la liste des nombrezeros(t,i) pour i dans [0,n-1] Nombre maximal de 0 contigus de t1 : 4 En notant N la longueur du tableau t, la complexité de nombrezeros est en O(N) et nombrezerosmax y fait N appels ;la complexité de nombrezerosmax est donc en O(N**2). Idée : parcourir le tableau une seule fois. Si t[z] = 0, alors le premier 0 de la série suivante est au plus tôt en t[z + nombrezeros(t, z) + 1]. Conserver la valeur maximale des nombrezeros calculés. Nombre maximal de 0 contigus de t1 : 4 print(' i ', end = '') for i in range(long_t1): print('{:>2} '.format(i), end = '') print() print('nombrezeros(t1, i) ', end = '') for i in range(long_t1): print('{:>2} '.format(nombrezeros(t1, i)), end = '') print() print('\n ') print('le nombre maximal de zéros contigus d\'une liste t de longueur 1 est\ le maximum de la liste des nombrezeros(t,i) pour i dans [0,n-1]\n') def nombrezerosmax(t): t : liste de 0 et 1 renvoie le nombre maximal de 0 contigus de t n = len(t) maxi = nombrezeros(t,0) # contiendra le résultat for i in range(1,n): m = nombrezeros(t,i) 5

6 if m > maxi : maxi = m return maxi print('nombre maximal de 0 contigus de t1 :', nombrezerosmax(t1)) print('\n ') print('en notant N la longueur du tableau t, \ la complexité de nombrezeros est en O(N) et nombrezerosmax y fait N appels ;\ la complexité de nombrezerosmax est donc en O(N**2).') print('\n ') print('idée : parcourir le tableau une seule fois.') print('si t[z] = 0, alors le premier 0 de la série suivante est au plus tôt') print('en t[z + nombrezeros(t, z) + 1].') print('conserver la valeur maximale des nombrezeros calculés.\n') #--- calcul du nombre maximal de 0 contigus - algorithme linéaire, en O(N) def nombrezerosmax2(t): t : liste de 0 et 1 Renvoie le nombre maximal de 0 contigus de t n = len(t) maxi = 0 # contiendra le résultat z = 0 while z < n: if t[z]: z += 1 # t[z] = 1 ; on passe à l'indice suivant else: m = nombrezeros(t, z) if m > maxi: maxi = m z += (m + 1) # t[z] = 0 # et t[i] = 0 pour i dans [z, z + m -1] # tandis que t[z + m] = 1 # le premier 0 suivant est au plus tôt t[z + m + 1] return maxi print('nombre maximal de 0 contigus de t1 :', nombrezerosmax2(t1)) 6

7 Exercice 4 import math as m import scipy.misc as spm print('\n ') def Px(k, n, p): k : entier naturel n : entier naturel >0 p : float de ]0, 1[ La v.a.r X suit une loi de Poisson P(n*p) Renvoie P(X = k) np = n * p return (np)**k * m.exp(- np) / m.factorial(k) n, p = 30, 0.1 lx = [Px(k, n, p) for k in range(n + 1)] print('\n ') def Py(k, n, p): n : entier naturel >0 k : entier naturel de [0,n] p : float de ]0, 1[ La v.a.r Y suit une loi binomiale B(n, p) Renvoie P(Y = k) return spm.comb(n, k) * p**k * (1-p)**(n-k) ly = [Py(k, n, p) for k in range(n + 1)] print('listes des P(X=k) et des P(Y=k) pour n = {0}, p = {1}\ et k dans [0, {0}] :\n'.format(n, p)) print(' k P(X=k) P(Y=k)') print(' ') for k in range(n + 1): print('{:>2} {:<22} {}'.format(k, lx[k], ly[k])) print('\n ') def Ecart(n, p): n : entier naturel >0 p : float de ]0, 1[ La v.a.r. X suit la loi de Poisson P(n*p) La v.a.r. Y suit la loi binomiale B(n, p) Renvoie le plus grand des nombres P(Y=k)-P(X=k) pour k dans [0, n] maxi = 0 # contiendra le résultat Listes des P(X=k) et des P(Y=k) pour n = 30, p = 0.1 et k dans [0, 30] : k P(X=k) P(Y=k) e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e-30 Ecart(30, 0.1) = N(Ecart(30, 0.1), 0.1) = Question N(0.008, 0.075) = 1 N(0.005, 0.075) = 124 N(0.008, 0.1) = 71 Dans le cas p = 0.1 et e = 0.005, la réponse du programme (à l'appel de la ligne 19) est : "OverflowError: long int too large to convert to float". Aucune valeur de n telle que n! soit plus petit que le plus grand float codable sur 64 bits (n <= 170) ne satisfait Ecart(n, 0.1) <

8 for k in range(n+1): distance = abs(px(k, n, p) - Py(k, n, p)) if distance > maxi: maxi = distance return maxi eps = Ecart(n, p) print('ecart({}, {}) = {}'.format(n, p, eps)) float(m.factorial(170))= e+306 Cependant, on considère quelquefois que de bonnes conditions d'approximation de B(n,p) par P(n*p) sont : p <= 0.1, n >= 30 et n * p <= 15. Pour p = 0.1, il suffirait que n soit dant [30, 150]. print('\n ') def N(e, p): e : float > 0 p : float de ]0,1[ Renvoie le plus petit entier naturel n > 0 tel que Ecart(n, p) <= e n = 1 while Ecart(n, p) > e: n += 1 return n print('n(ecart({0}, {1}), {1}) = {2}'.format(n, p, N(eps, p))) #--- question print('\n --- Question ') for (p, e) in [(0.075, 0.008), (0.075, 0.005), (0.1, 0.008)]: print('n({}, {}) = {}'.format(e, p, N(e, p))) print('dans le cas p = 0.1 et e = 0.005, la réponse du programme\ (à l\'appel de la ligne 19) est : \n\ "OverflowError: long int too large to convert to float".') print('aucune valeur de n telle que n! soit plus petit\ que le plus grand float codable sur 64 bits (n <= 170)\ ne satisfait Ecart(n, 0.1) < ') print('float(m.factorial(170))=',float(m.factorial(170)) ) print('\ncependant, on considère quelquefois que de bonnes conditions\ d\'approximation de B(n,p) par P(n*p)') print('sont : p <= 0.1, n >= 30 et n * p <= 15.') print('pour p = 0.1, il suffirait que n soit dant [30, 150].') Exercice 5 # Katia Barré - Lycée Lesage Vannes import numpy as np import matplotlib.pyplot as plt import scipy.optimize as spo print('\n ') 8

9 def g(x): if (x >= 0) and (x < 1): return x elif (x >= 1) and (x < 2): return 1 g_v = np.vectorize(g) lx = np.arange(0, 1.99, 0.01) gx = g_v(lx) plt.figure(1) plt.plot(lx, gx) plt.xlabel('$x$') plt.ylabel('$g(x)$') plt.axis([-0.1, 2.1, -0.1, 1.1]) plt.title('graphe de $g$') plt.grid() plt.show() print('\n ') def f(x): if (x >=0) and (x < 2): return g(x) elif (x >= 2): return (x**0.5) * f(x-2) f_v = np.vectorize(f) print('\n ') lx1 = np.linspace(0, 6, 500) fx = f_v(lx1) plt.figure(2) plt.plot(lx1, fx, linestyle = 'None', marker = '.', ms = 3) plt.xlabel('$x$') plt.ylabel('$f(x)$') plt.axis([-0.1, 6.1, -0.1, 5.1]) plt.title('graphe de $f$') plt.grid() plt.show() print('\n ') print('on lit graphiquement que alpha est dans [5, 6], intervalle sur lequel f est croissante.') # --- programmons la méthode de dichotomie eps = 0.01 a, b = 5, 6 fa, fb = f(a), f(b) while b-a > eps: On lit graphiquement que alpha est dans [5, 6], intervalle sur lequel f est croissante. 9

10 c = (a+b) / 2 fc = f(c) if f(c) > 4: b = c fb = fc else : a = c fa = fc print('une valeur approchée à {} près de la plus petite valeur alpha > 0\ telle que f(alpha) > 4 est :\n {}\n'.format(eps, b)) Une valeur approchée à 0.01 près de la plus petite valeur alpha > 0 telle que f(alpha) > 4 est : f(alpha-0.01) = , f(alpha) = (Recherche du zéro de f-4 dans [5, 5.5] par méthode de dichotomie de scipy : ). print('f(alpha-{}) = {}, f(alpha) = {}\n\n'.format(eps, f(b - eps), f(b))) print('(recherche du zéro de f-4 dans [5, 5.5] par méthode de dichotomie de scipy :') print(spo.bisect(lambda x : f(x) - 4, 5, 5.5), ').') Exercice 6 print('\n ') print('la fonction d retourne la liste croissante des diviseurs de l\'entier n') def d(n): n : entier naturel non nul Renvoie la liste croissante des diviseurs de l\'entier n L = [1] for nombre in range(2, n+1): if n % nombre == 0: L.append(nombre) return L for n in [4, 9, 10, 11]: print('d({}) = {}'.format(n, d(n))) print('\n ') def DNT(n): n : entier naturel non nul Renvoie la liste croissante des diviseurs "non-trivaux" de l\'entier n L = [] for nombre in range(2, n): if n % nombre == 0: L.append(nombre) return L # ou bien : return d(n)[1:-1] La fonction d retourne la liste croissante des diviseurs de l'entier n d(4) = [1, 2, 4] d(9) = [1, 3, 9] d(10) = [1, 2, 5, 10] d(11) = [1, 11] DNT(4) = [2] DNT(9) = [3] DNT(10) = [2, 5] DNT(11) = [] sommecarresdnt(4) = 4 sommecarresdnt(9) = 9 sommecarresdnt(10) = 29 sommecarresdnt(11) = 0 Les nombres <= 1000 et égaux à la somme de leurs diviseurs non triviaux sont : 4, 9, 25, 49, 121, 169, 289, 361, 529, 841, 961, On peut conjecturer, à la lecture de cette liste, que les nombres égaux à la somme de leurs diviseurs non triviaux sont les carrés des nombres premiers. for n in [4, 9, 10, 11]: print('dnt({}) = {}'.format(n, DNT(n))) 10

11 print('\n ') def sommecarresdnt(n): n : entier naturel non nul Renvoie la somme des carrés des diviseurs "non-trivaux" de l\'entier n s = 0 for nombre in range(2, n): if n % nombre == 0: s += nombre**2 return s for n in [4, 9, 10, 11]: print('sommecarresdnt({}) = {}'.format(n, sommecarresdnt(n))) print('\n ') maxi = 1000 print('les nombres <= {} et égaux à la somme de leurs \ diviseurs non triviaux sont :'.format(maxi)) for i in range(2, maxi + 1): if i == sommecarresdnt(i): print(i, end = ', ') print('\n\non peut conjecturer, à la lecture de cette liste,\ que les nombres égaux à la somme de leurs diviseurs non triviaux sont\ les carrés des nombres premiers.') Exercice 7 print('\n ') ord_a = ord('a') lettres = '' for i in range(ord_a, ord_a + 26): lettres += chr(i) # ou bien : lettres = ''.join([chr(ord_a + i) for i in range(26)]) print(lettres) print('\n ') def decalage(n): n : entier Renvoie l'alphabet après décalage de n vers la gauche global lettres decale = '' abcdefghijklmnopqrstuvwxyz decalage(1) = bcdefghijklmnopqrstuvwxyza decalage(3) = defghijklmnopqrstuvwxyzabc indices(e, "phrase originale avec des e ") = [5, 15, 19, 23, 26] indices(y, "phrase originale avec des e ") = [] codage(3, 'oralensam') : rudohqvdp dico(0) = {'c': 'c', 'b': 'b', 'a': 'a', 'g': 'g', 'f': 'f', 'e': 'e', 'd': 'd', 'k': 'k', 'j': 'j', 'i': 'i', 'h': 'h', 'o': 'o', 'n': 'n', 'm': 'm', 'l': 'l', 's': 's', 'r': 'r', 'q': 'q', 'p': 'p', 'w': 'w', 'v': 'v', 'u': 'u', 't': 't', 'z': 'z', 'y': 'y', 'x': 'x'} dico(3) = {'c': 'f', 'b': 'e', 'a': 'd', 'g': 'j', 'f': 'i', 'e': 'h', 'd': 'g', 'k': 'n', 'j': 'm', 'i': 'l', 'h': 'k', 'o': 'r', 'n': 'q', 'm': 'p', 'l': 'o', 's': 'v', 'r': 'u', 'q': 't', 'p': 's', 'w': 'z', 'v': 'y', 'u': 'x', 't': 'w', 'z': 'c', 'y': 'b', 'x': 'a'} 11

12 for i in range(26): decale += lettres[(i + n) % 26] return decale # ou bien : # global ord_a # return ''.join([chr(ord_a + (i + n) % 26) for i in range(26)]) for i in [1, 3]: print('decalage({}) = {}'.format(i, decalage(i))) codage_dico(3, 'oralensam') : rudohqvdp --- Question Pour décoder un mot codé de décalage n, il suffit d'appliquer un décalage de -n (ou de 26-n,...) codage(-3, codage(3, 'oralensam')): oralensam codage(23, codage(3, 'oralensam')): oralensam print('\n ') def indices(x, phrase): x : caractère phrase : chaîne de caractères Retourne la liste des indices de x dans la phrase (vide si x n'y figure pas) ind = [] long = len(phrase) for i in range(long): if phrase[i] == x: ind.append(i) return ind ee, pphrase = 'e', "phrase originale avec des e " print('indices({}, "{}") = '.format(ee, pphrase), indices(ee, pphrase)) yy = 'y' print('indices({}, "{}") = '.format(yy, pphrase), indices(yy, pphrase)) print('\n ') def codage(n, phrase): n : entier phrase : chaîne de caractères Renvoie la chaîne phrase codée avec un décalage de n lettres global ord_a if n % 26 == 0: return phrase else: long = len(phrase) lettre_codee = '' for lettre in phrase: lettre_codee += chr(ord_a + (ord(lettre) - ord_a + n) % 26) return lettre_codee print("codage(3, 'oralensam') : ", codage(3, 'oralensam'), '\n') #---- seconde idée : usage d'un dictionnaire def dico(n): global ord_a return {chr(ord_a + i) : chr(ord_a + (i + n) % 26) for i in range(26)} 12

13 print('dico(0) = ', dico(0)) print('dico(3) = ', dico(3), '\n') def codage_dico(n, phrase): n : entier phrase : chaîne de caractères Renvoie la chaîne phrase codée avec un décalage de n lettres if n % 26 == 0: return phrase else: dico_n = dico(n) return ''.join(dico_n[lettre] for lettre in phrase) print("codage_dico(3, 'oralensam') : ", codage_dico(3, 'oralensam')) #--- question print('\n --- Question ') print('pour décoder un mot codé de décalage n, il suffit d\'appliquer un décalage de -n (ou de 26-n,...)') print("codage(-3, codage(3, 'oralensam')): ", codage(-3, codage(3, 'oralensam'))) Exercice 8 import numpy as np import matplotlib.pyplot as plt M, m = 20, 10 print('\n ') def f(c): c : nombre On considère la suite récurrente définie par : u_0 = 0 et u_{n+1} = u_n **2 + c pour tout entier naturel n Renvoie : le plus petit entier k de [0, m] tel que u_k > M s'il existe m + 1 sinon global M, m u = 0 k = 0 while k < m: u = u**2 + c k += 1 if abs(u) > M: return k # renvoie k de [0, m] tel u_k > M return m + 1 # renvoie m

14 print('\n ') f_v = np.vectorize(f) LX = np.linspace(-2, 2, 401) fx = f_v(lx) Pour augmenter la résolution, on peut augmenter les paramètres M, m et K. plt.figure(1) plt.plot(lx, fx, linestyle = 'None', marker = '.', ms = 3) plt.axis([-2.1, 2.1, -0.1, m + 1.1]) plt.grid() plt.xlabel('$c$') plt.ylabel('$f(c)$') plt.title('graphe de $f$') plt.show() print('\n ') K = 101 x = np.linspace(-2, 0.5, K) y = np.linspace(-1.1, 1.1, K) X, Y = np.meshgrid(x, y) tableau_valeurs = f_v(x + 1j * Y) print('\n ') plt.figure(2) plt.imshow(tableau_valeurs, extent = [-2, 0.5,-1.1,1.1]) plt.title('$m = $ {}, $m$ = {}, $K$ = {}'.format(m, m, K)) plt.axis('scaled') plt.show() print('pour augmenter la résolution, on peut augmenter les paramètres M, m et K.') #--- tests def f1(c, m, M): u = 0 k = 0 while k < m: u = u**2 + c k += 1 if abs(u) > M: return k return m + 1 f1_v = np.vectorize(f1) def resolution(m, M, K): m : entier limite l'indice de la suite M : limite le module de la suite K : nombre de points sur les axes Trace l'image du code du tableau f(x + jy) où x dans [-2, 0.5] (K valeurs) y dans [-1.1, 1.1] (Ka valeurs) f fonction qui à un nombre complexe c associe le plus petit entier k de [0, m] tel que u_k > M s'il existe 14

15 m + 1 sinon avec (u_n) la suite récurrente définie par : u_0 = 0 et u_{n+1} = u_n **2 + c pour tout entier naturel n x = np.linspace(-2, 0.5, K) y = np.linspace(-1.1, 1.1, K) X, Y = np.meshgrid(x, y) tableau_valeurs = f1_v(x + 1j * Y, m, M) plt.imshow(tableau_valeurs, extent = [-2, 0.5,-1.1,1.1]) plt.title('$m = $ {}, $m$ = {}, $K$ = {}'.format(m, m, K)) plt.axis('scaled') plt.show() resolution(20, 30, 200) resolution(30,50, 500) Exercice 9 # Katia Barré - Lycée Lesage Vannes import numpy as np print('\n ') R = np.arange(1, 7).reshape(2, 3) print('r = \n', R) S = np.arange(1, 10).reshape(3, 3) R = [[1 2 3] [4 5 6]] S = [[1 2 3] [4 5 6] [7 8 9]] 15

16 print('s = \n', S) print('\n ') def test(m): M : matrice Renvoie n si M est carrée d'ordre n 0 sinon n = len(m) if n == len(m[0]): return n else: return 0 print('test(r) = ', test(r)) print('test(s) = ', test(s)) print('\n ') test(r) = 0 test(s) = 3 M1 = [[ ] [ ] [ ] [ ] [ ]] test(m1) = 5 La matrice est symétrique réelle donc toutes ses valeurs propres sont réelles. Valeurs propres de M1 : [ ] --- Question dansintervalle(valp_m1, 0, 1) = True fichier = open('data/ex_009.txt', 'r') matrice = [] for ligne in fichier: matrice.append(list(eval(ligne))) fichier.close() M1 = np.array(matrice) print('m1 = \n', M1) print('test(m1) = ', test(m1)) print('\n ') print('la matrice est symétrique réelle donc toutes ses valeurs propres sont réelles.') valp_m1, vecp_m1 = np.linalg.eig(m1) print('valeurs propres de M1 : \n ', valp_m1) #--- question print('\n --- Question ') def dansintervalle(l, a, b): L : liste de nombres complexes a, b : float Renvoie True si tous les éléments de L sont dans [a, b] False sinon for x in L: if abs(x.imag) > 1e-16 or x.real > b or x.real < a: return False return True print('dansintervalle(valp_m1, 0, 1) = ', dansintervalle(valp_m1, 0, 1)) 16

17 Exercice 10 # Katia Barré - Lycée Lesage Vannes import random print('\n ') def comptage(l, N): N : entier > 10 L : liste d'entiers de [0, N - 1] Renvoie une liste P telle que P[k] est le nombre d'occurence de k dans L P = [0] * N for x in L: P[x] += 1 return P Liste L = [0, 0, 4, 0, 4, 0, 3, 3, 1, 1, 2, 4, 3, 1, 3, 4, 0, 1, 3, 3] Comptage(L, 5) = [5, 4, 1, 6, 4] L = [0, 0, 4, 0, 4, 0, 3, 3, 1, 1, 2, 4, 3, 1, 3, 4, 0, 1, 3, 3] tri(l, 5) = [0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4] En notant M = len(l), La fonction comptage est de complexité O(M + N), de même que la fonction tri. Le tri par insertion est de complexité O(N^2). Le tri par fusion est de complexité O(N ln(n)). N = 5 ml = [random.randint(0, N - 1) for i in range(20)] print('liste L = ', ml) print('comptage(l, 5) = ', comptage(ml, N)) print('\n ') def tri(l, N): N : entier L : liste d'entiers de [0, N - 1] Renvoie la liste L triée par ordre croissant P = comptage(l, N) Q = [] for i in range(n): for k in range(p[i]): Q.append(i) return Q print('\n ') print(' L = ', ml) print('tri(l, 5) = ', tri(ml, N)) print('\n ') print('en notant M = len(l),') print('la fonction comptage est de complexité O(M + N), de même que la fonction tri.') print('le tri par insertion est de complexité O(N^2).') print('le tri par fusion est de complexité O(N ln(n)).') 17

18 Exercice 11 import numpy as np import matplotlib.pyplot as plt import scipy.integrate as integ b, w = 0.5, 6.0 print('\n ') def p(t): global b, w wt = w * t return np.cos(t) + b * np.cos(wt), np.sin(t) + b * np.sin(wt) def v(t): global b, w wt = w * t bw = b * w return -np.sin(t) - bw * np.sin(wt), np.cos(t) + bw * np.cos(wt) def a(t): global b, w wt = w * t bw2 = b * w**2 return -np.cos(t) - bw2 * np.cos(wt), -np.sin(t) - bw2 * np.sin(wt) print('\n ') dt = np.pi * 0.01 t = np.arange(-np.pi, np.pi + dt, dt) pt = p(t) plt.figure(1) plt.plot(pt[0], pt[1]) plt.xlabel('$x(t)$') plt.ylabel('$y(t)$') plt.title('trajectoire') plt.grid() plt.axis('scaled') --- Question plt.show() print('\n ') print('\n ') def c(t): 18

19 x, y = p(t) x1, y1 = v(t) x2, y2 = a(t) d = (x1**2 + y1**2) / (x1 * y2 - y1 * x2) return x - d * y1, y + d * x1 ct = c(t) plt.figure(2) plt.plot(pt[0], pt[1]) plt.plot(ct[0], ct[1]) #--- tracé de quelques segments [p(t)c(t)] for u in np.linspace(-np.pi + dt, -dt, 5): xp, yp = p(u) xc, yc = c(u) plt.plot([xp, xc], [yp, yc], marker = 'o', color = 'r') plt.grid() plt.legend(['point $p$', 'Centre de courbure $c$']) plt.title('trajectoire et développée') plt.axis('scaled') plt.show() #--- question print('\n --- Question ') def distance(a, B): A et B : deux points du plan (couples de float) retourne la longueur du segment [AB] xa, ya = A xb, yb = B return ((xb - xa)**2 + (yb - ya)**2)** Question def longueur(n): N : entier naturel > 0 Renvoie la longueur de la ligne polygonale reliant les points p(t) pour t dans [-pi, pi] pour le pas de discrétisation delta_t = pi / N t = np.linspace(-np.pi, np.pi, 2 * N) long = 0 A = p(t[0]) for i in range(1, 2 * N): B = p(t[i]) long += distance(a, B) A = B return long longueur_v = np.vectorize(longueur) # tracé de la longueur de la ligne polyngonale en fonction du nombre de points n = range(20, 301, 3) 19

20 long_n = longueur_v(n) plt.plot(n, long_n, linestyle = 'None', marker = 'o', ms = 3) norme_v = lambda u : (1 + (b * w)**2 + 2 * b * w * np.cos((w-1) * u))**0.5 longueur_p, err = integ.quad(norme_v, -np.pi, np.pi) plt.plot([20, 300], [longueur_p, longueur_p], color = 'r') plt.xlabel('$n$') plt.ylabel('longueur en fonction de $N$') plt.legend(['longueur du polygône avec $2N$ points', 'Longueur de la courbe'],\ loc = 'lower right') plt.grid() plt.show() 20

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,

Plus en détail

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

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

Plus en détail

Cours 7 : Utilisation de modules sous python

Cours 7 : Utilisation de modules sous python Cours 7 : Utilisation de modules sous python 2013/2014 Utilisation d un module Importer un module Exemple : le module random Importer un module Exemple : le module random Importer un module Un module est

Plus en détail

TD Informatique Révisions d algorithmique

TD Informatique Révisions d algorithmique LYCÉE CHAPTAL PT* 2015/2016 TD INFO 1 RÉVISIONS D ALGORITHMIQUE TD Informatique Révisions d algorithmique 1.1 Listes Exercice 1 : échange d éléments Écrire une fonction echange(l, i, j) qui échange les

Plus en détail

TD 8 - Manipulation de Fichiers. Informatique MPSI/PCSI - Lycée Thiers

TD 8 - Manipulation de Fichiers. Informatique MPSI/PCSI - Lycée Thiers TD 8 - Manipulation de Fichiers Informatique MPSI/PCSI - Lycée Thiers Exercice 1 / / Exercice 1 : / En python, créer un fichier essai.txt (à l aide de la commande f = open( essai.txt, w ), dans lequel

Plus en détail

Certificat Big Data Apprentissage TP1 Introduction à Python

Certificat Big Data Apprentissage TP1 Introduction à Python Certificat Big Data Apprentissage TP1 Introduction à Python Olivier Schwander 30 septembre 2015 1 / 31 Outline Environnement de travail Commentaires Installation Éditeur Expressions Structures de contrôle

Plus en détail

TD2 - Ecriture binaire/héxadécimale d une entier. PCSI - Lycée Thiers

TD2 - Ecriture binaire/héxadécimale d une entier. PCSI - Lycée Thiers TD2 - Ecriture binaire/héxadécimale d une entier Ecriture d un nombre dans une base Ecriture d un nombre en base m > 1 Ecriture d un nombre en base 2 Ecriture d un nombre en base 16 Corrigé Corrigé Ecriture

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-onventions Initiation à la programmation en Python Une commande Python sera écrite en caractère gras. Exemples : print("bonjour") max=input("nombre maximum autorisé :") Le résultat de l'exécution d'un

Plus en détail

Chapitre 6 : Génération aléatoire

Chapitre 6 : Génération aléatoire Chapitre 6 : Génération aléatoire Alexandre Blondin Massé Laboratoire d informatique formelle Université du Québec à Chicoutimi 12 février 2013 Cours 8STT105 Département d informatique et mathématique

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

DS Informatique Scientifique

DS Informatique Scientifique DUT Mesures Physiques - semestre S'2 DS Informatique Scientifique 10 décembre 2012 0. Directives Durée : 2h Tout système électronique interdit (calculatrice, téléphone, etc). Téléphone portable éteint

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

Programmation en Python - Cours 2 : Premiers programmes. MPSI - Lycée Thiers

Programmation en Python - Cours 2 : Premiers programmes. MPSI - Lycée Thiers Programmation en Python - Cours 2 : Premiers programmes Diverses utilisations de python Utilisation en mode interactif Ecriture d un programme python Utilisation en mode interactif Ecriture d un programme

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

1 Recherche en table par balayage

1 Recherche en table par balayage 1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément

Plus en détail

xkcd Le langage Python La GUI tkinter Christian Nguyen Département d informatique Université de Toulon et du Var 2012-2013

xkcd Le langage Python La GUI tkinter Christian Nguyen Département d informatique Université de Toulon et du Var 2012-2013 La GUI tkinter Département d informatique Université de Toulon et du Var 2012-2013 Présentation Python est né en 1990, son concepteur est De Guido Van Rossum(Pays Bas). Il présente les caractéristiques

Plus en détail

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

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

Plus en détail

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

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

Représentation d un entier en base b

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

Plus en détail

Introduction à la programmation. Python. Damien Rohmer

Introduction à la programmation. Python. Damien Rohmer Introduction à la programmation Python Damien Rohmer 000 Premier "programme" 001 Premier "programme" 002 Commandes Notion de variables: a est une variable (qui vaut 7) b est une variable (qui vaut 2) 003

Plus en détail

Informatique. Programmation en Python.

Informatique. Programmation en Python. BCPST 1 B 13 septembre 2015 Informatique. Programmation en Python. Ce document est un support de cours, il vous permet d avoir sa structure et ses éléments les plus importants. Au cours des séances en

Plus en détail

Algorithmique au lycée

Algorithmique au lycée Stage PAF christian.brucker@ac-strasbourg.fr jean-paul.quelen@ac-strasbourg.fr 13 mars 2015 Lycée Jean Monnet STRASBOURG Sommaire du stage Les programmes Sommaire du stage Les programmes Sommaire du stage

Plus en détail

ISN Chapitre 1 Python : les bases PYTHON : LES BASES

ISN Chapitre 1 Python : les bases PYTHON : LES BASES 1. Un premier programme PYTHON : LES BASES Voici un programme (ou script) qui va demander votre nom, votre année de naissance, puis qui va vous saluer et vous donner votre âge en 2013. Pour écrire un programme,

Plus en détail

Python 3 Mémo. Pour permettre au programme en cours d exécution d afficher un texte ou un nombre on utilise la commande print.

Python 3 Mémo. Pour permettre au programme en cours d exécution d afficher un texte ou un nombre on utilise la commande print. Langage Python 3 Mémo I Entrées, Sorties et Variables 1 ) Sorties Pour permettre au programme en cours d exécution d afficher un texte ou un nombre on utilise la commande print. Exemples : print("bonjour!")

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

Introduction à l algorithmique et à la programmation 2013-2014. Cyril Nicaud Cyril.Nicaud@univ-mlv.fr. Cours 1 / 5

Introduction à l algorithmique et à la programmation 2013-2014. Cyril Nicaud Cyril.Nicaud@univ-mlv.fr. Cours 1 / 5 Introduction à l algorithmique et à la programmation IUT 1ère année 2013-2014 Cyril Nicaud Cyril.Nicaud@univ-mlv.fr Cours 1 / 5 Déroulement du cours Organisation : 5 séances de 2h de cours 10 séances de

Plus en détail

Les supports de cours suivants font référence au cours de Mr SOL et à son livre : "Accès à l'université" chez DUNOD

Les supports de cours suivants font référence au cours de Mr SOL et à son livre : Accès à l'université chez DUNOD Les supports de cours suivants font référence au cours de Mr SOL et à son livre : "Accès à l'université" chez DUNOD Les supports de cours ne sont pas complets, ils ne contiennent ni les démonstrations,

Plus en détail

Cours Info - 12. Représentation des nombres en machine. D.Malka MPSI 2014-2015. D.Malka Cours Info - 12 MPSI 2014-2015 1 / 45

Cours Info - 12. Représentation des nombres en machine. D.Malka MPSI 2014-2015. D.Malka Cours Info - 12 MPSI 2014-2015 1 / 45 Cours Info - 12 Représentation des nombres en machine D.Malka MPSI 2014-2015 D.Malka Cours Info - 12 MPSI 2014-2015 1 / 45 Sommaire Sommaire 1 Bases de numération par position 2 Représentation des entiers

Plus en détail

Entier de type 'sage.rings.integer.integer' Entier de type 'int' c=2 Entier de type 'sage.rings.integer.integer'

Entier de type 'sage.rings.integer.integer' Entier de type 'int' c=2 Entier de type 'sage.rings.integer.integer' Les types. Sage est un langage typé : quand on utilise une fonction, il faut que les entrées soient de type compatible avec cette fonction. Par exemple, a^b fonctionne si a et b sont des entiers, mais

Plus en détail

Tri en Python. # on cherche k tel que a k = min(a j ) ji

Tri en Python. # on cherche k tel que a k = min(a j ) ji Tri en Python On considère ici des tableaux ou listes d entiers ou de ottants. En Python, on peut trier une liste à l aide de la méthode sort : si a est une liste d entiers ou de ottants, a.sort() modi

Plus en détail

Programmation en Python

Programmation en Python Programmation en Python Version conseillée : PYZO (et non pas Idle), disponible sur le site http://www.pyzo.org Lors du lancement du logiciel, on dispose d une fenêtre où apparaissent - d une part un écran

Plus en détail

Juin 2014 Loudun. Apprendre à programmer avec Python

Juin 2014 Loudun. Apprendre à programmer avec Python Juin 2014 Loudun Apprendre à programmer avec Python 1 Table des matières I Dialoguer avec la machine........................................ 5 I.1 Afficher un message : La fonction print...........................

Plus en détail

Programmation avec Python - Automne 2015 Bruno Martin & Jean-Paul Roy L1-Sciences. Cours n 4. http://deptinfo.unice.fr/~roy.

Programmation avec Python - Automne 2015 Bruno Martin & Jean-Paul Roy L1-Sciences. Cours n 4. http://deptinfo.unice.fr/~roy. Programmation avec Python - Automne 2015 Bruno Martin & Jean-Paul Roy L1-Sciences Cours n 4 http://deptinfo.unice.fr/~roy La Tortue 1 Les deux types de graphisme dans le plan Il y a deux types de graphisme

Plus en détail

Informatique Chapitre 4: Types et typages

Informatique Chapitre 4: Types et typages Informatique Chapitre 4: Types et typages Booléens et listes Jérôme DIDIER 8/10/2014 Objectifs du cours Compétences visées Savoir que les variables peuvent avoir plusieurs types et les connaitre ; Type

Plus en détail

LANGAGE C. Exercices corrigés 1

LANGAGE C. Exercices corrigés 1 LANGAGE C Exercices corrigés 1 TP1 Exercice 1 : Ecrire un programme qui lit un caractère au clavier et affiche le caractère ainsi que son code numérique en employant getchar et printf, int C ; printf("introduire

Plus en détail

L enseignement de l algorithmique au Lycée

L enseignement de l algorithmique au Lycée L enseignement de l algorithmique au Lycée Sisteron 12 novembre 2009 Fernand Didier didier@irem.univ-mrs.fr Approche naïve C est une méthode, une façon systématique de procéder, pour faire quelque chose

Plus en détail

Éléments de Programmation Cours 7 - n-uplets et Listes avancées

Éléments de Programmation Cours 7 - n-uplets et Listes avancées Éléments de Programmation Cours 7 - n-uplets et Listes avancées Romain Demangeon 1I001 - Section 11 PEIP 21/10/2015 Précisions Calendrier: Ni cours ni TD/TME de 1I001 les 26 et 27 octobre. Ni cours ni

Plus en détail

Algorithmie ISI301 TP 1 : Python et premiers algorithmes

Algorithmie ISI301 TP 1 : Python et premiers algorithmes Algorithmie ISI301 TP 1 : Python et premiers algorithmes 1 Python : apprentissage Pour avoir une vision plus large des différentes possibilités du langage Python, nous ne pouvons que vous conseiller d

Plus en détail

Cours fonctions, expressions algébriques

Cours fonctions, expressions algébriques I. Expressions algébriques, équations a) Développement factorisation Développer Développer un produit, c est l écrire sous forme d une somme. Réduire une somme, c est l écrire avec le moins de termes possibles.

Plus en détail

Licence STIC, Semestre 1 Algorithmique & Programmation 1

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

Plus en détail

Initiation à l algorithmique

Initiation à l algorithmique Informatique S1 Initiation à l algorithmique procédures et fonctions 2. Appel d une fonction Jacques TISSEAU Ecole Nationale d Ingénieurs de Brest Technopôle Brest-Iroise CS 73862-29238 Brest cedex 3 -

Plus en détail

Cours de mathématiques

Cours de mathématiques Cours de mathématiques Thomas Rey classe de première ES ii Table des matières 1 Les pourcentages 1 1.1 Variation en pourcentage............................... 1 1.1.1 Calcul d une variation............................

Plus en détail

INF130 - Ordinateurs et programmation. Semaine 08. Document présenté par Frédérick Henri et conçu par les enseignants en informatique du SEG

INF130 - Ordinateurs et programmation. Semaine 08. Document présenté par Frédérick Henri et conçu par les enseignants en informatique du SEG INF130 - Ordinateurs et programmation Semaine 08 Document présenté par Frédérick Henri et conçu par les enseignants en informatique du SEG Retour sur l'examen intra Objectifs Tableaux à deux dimensions

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

Chapitre 11. Premières Notions sur les fonctions

Chapitre 11. Premières Notions sur les fonctions Chapitre 11 Premières Notions sur les fonctions 1. Exemples Exemple 1 La distance parcourue par une automobile en un temps donné varie en fonction de sa vitesse. Faire deux phrases utilisant les mots suivants.

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

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

Entrées-Sorties, instructions conditionnelles, répétitions... 2 Nombres aléatoires, listes... 3 Graphiques, constantes, fonctions...

Entrées-Sorties, instructions conditionnelles, répétitions... 2 Nombres aléatoires, listes... 3 Graphiques, constantes, fonctions... Tableau des principales syntaxes pour le lycée : Scilab, Python, TI, Casio, Xcas V11 sept 2010 Sommaire Entrées-Sorties, instructions conditionnelles, répétitions... 2 Nombres aléatoires, listes... 3 Graphiques,

Plus en détail

Structures algébriques

Structures algébriques Structures algébriques 1. Lois de composition s Soit E un ensemble. Une loi de composition interne sur E est une application de E E dans E. Soient E et F deux ensembles. Une loi de composition externe

Plus en détail

NFP136- Cours 2 ALGORITHMES ET COMPLEXITÉ. Définition d'un algorithme Un exemple Présentation des algorithmes Évaluation d'un algorithme Complexité

NFP136- Cours 2 ALGORITHMES ET COMPLEXITÉ. Définition d'un algorithme Un exemple Présentation des algorithmes Évaluation d'un algorithme Complexité NFP136- Cours 2 ALGORITHMES ET COMPLEXITÉ PLAN Définition d'un algorithme Un exemple Présentation des algorithmes Évaluation d'un algorithme Complexité 1 DÉFINITION D'UN ALGORITHME Procédure de calcul

Plus en détail

Bibliothèques pour Python

Bibliothèques pour Python Bibliothèques pour Python Ce document ne prétend en aucun cas remplacer les manuels de référence des bibliothèques citées. Il s'agit simplement d'un aide-mémoire permettant de rapidement retrouver le nom

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

Examen Programmation ENSAE première année 2006 Examen écrit (1 heure)

Examen Programmation ENSAE première année 2006 Examen écrit (1 heure) Examen Programmation ENSAE première année 2006 Examen écrit (1 heure) 1 Lors de la correction, je n ai pas enlevé de points pour les erreurs de syntaxe et accordé les points de la question à partir du

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

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4) FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4) Bernard Le Stum Université de Rennes 1 Version du 13 mars 2009 Table des matières 1 Fonctions partielles, courbes de niveau 1 2 Limites et continuité

Plus en détail

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé A. P. M. E. P. Exercice 1 5 points 1. Réponse d. : 1 e Le coefficient directeur de la tangente est négatif et n est manifestement pas 2e

Plus en détail

Cahier de vacances - Préparation à la Première S

Cahier de vacances - Préparation à la Première S Cahier de vacances - Préparation à la Première S Ce cahier est destiné à vous permettre d aborder le plus sereinement possible la classe de Première S. Je vous conseille de le travailler pendant les 0

Plus en détail

L2 2011/2012 USTV. Analyse. numérique M43. Recueil d exercices corrigés et aide-mémoire G. FACCANONI. Dernière mise-à-jour

L2 2011/2012 USTV. Analyse. numérique M43. Recueil d exercices corrigés et aide-mémoire G. FACCANONI. Dernière mise-à-jour L / Recueil d exercices corrigés et aide-mémoire USTV M Analyse numérique G FACCANONI Dernière mise-à-jour Jeudi mai Avertissement : ces notes sont régulièrement mises à jour et corrigées, ne vous étonnez

Plus en détail

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé Baccalauréat S/L Métropole La Réunion 13 septembre 2013 Corrigé A. P. M.. P. XRCIC 1 Commun à tous les candidats Partie A 1. L arbre de probabilité correspondant aux données du problème est : 0,3 0,6 H

Plus en détail

1 Représentation des entiers naturels

1 Représentation des entiers naturels 1 Représentation des entiers naturels 1.1 Système de numération à position dans une base Depuis le Moyen Âge, on écrit les nombres entiers naturels dans un système de numération à position en base 10.

Plus en détail

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

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

Plus en détail

1 Valeur d une expression

1 Valeur d une expression PCSI Informatique: Cours2 1 VALEUR D UNE EXPRESSION Expressions et variables en informatique 1 Valeur d une expression Expression : suite de caractères qui a un sens pour la machine Valeur d une expression

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

Introduction à Sage-Python

Introduction à Sage-Python Introduction à Sage-Python Aurélien Greuet Université de Versailles http://lmv.math.cnrs.fr/annuaire/aurelien-greuet/ 1 Python? Sage?! Calcul formel?!? 1.1 Python Python est un langage de programmation

Plus en détail

Introduction à la programmation Travaux pratiques: séance 10 INFO0201-1. B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.

Introduction à la programmation Travaux pratiques: séance 10 INFO0201-1. B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac. Introduction à la programmation Travaux pratiques: séance 10 INFO0201-1 B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.be Programme de la séance Correction de la simulation d examen Questions

Plus en détail

Algorithmique. Groupe ALGO Lille. Utilisation des langages Python Scilab et Xcas. Table des matières. 1 Langage Python 3

Algorithmique. Groupe ALGO Lille. Utilisation des langages Python Scilab et Xcas. Table des matières. 1 Langage Python 3 Algorithmique Utilisation des langages Python Scilab et Xcas Groupe ALGO Lille Table des matières 1 Langage Python 3 2 Langage Scilab 10 2.1 Lignes de commentaires.............................................

Plus en détail

Informatique TP3 : Interface graphiques et tracer de fractales CPP 1A

Informatique TP3 : Interface graphiques et tracer de fractales CPP 1A Informatique TP3 : Interface graphiques et tracer de fractales CPP 1A Romain Casati, Wafa Johal, Frederic Devernay, Matthieu Moy Avril - juin 2014 Ce TP est dédié à la construction de courbes fractales.

Plus en détail

Baccalauréat ES Centres étrangers 12 juin 2014 - Corrigé

Baccalauréat ES Centres étrangers 12 juin 2014 - Corrigé Baccalauréat ES Centres étrangers 1 juin 14 - Corrigé A. P. M. E. P. Exercice 1 5 points Commun à tous les candidats 1. On prend un candidat au hasard et on note : l évènement «le candidat a un dossier

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

Rappels sur les suites - Algorithme

Rappels sur les suites - Algorithme DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................

Plus en détail

TP PYTHON - 01 1. PYZO? PYTHON? Le logiciel PYZO permet de réaliser des programmes informatiques écrits avec le langage PYTHON.

TP PYTHON - 01 1. PYZO? PYTHON? Le logiciel PYZO permet de réaliser des programmes informatiques écrits avec le langage PYTHON. Lycée Thiers TP PYTHON - 01 Ce premier TP nous donnera un aperçu de l environnement de travail PYZO et survolera quelques aspects fondamentaux du langage PYTHON (dans sa version 3.3.0). Le but du jeu est

Plus en détail

CONCOURS D ADMISSION. Option économique MATHEMATIQUES III. Année 2006

CONCOURS D ADMISSION. Option économique MATHEMATIQUES III. Année 2006 ESSEC M B A CONCOURS D ADMISSION Option économique MATHEMATIQUES III Année 2006 La présentation, la lisibilité, l orthographe, la qualité de la rédaction, la clarté et la précision des raisonnements entreront

Plus en détail

Séance de travaux pratiques n 1 Quelques éléments de correction

Séance de travaux pratiques n 1 Quelques éléments de correction Master Sciences, Technologies, Santé Mention Mathématiques, spécialité Enseignement des mathématiques Algorithmique et graphes, thèmes du second degré Séance de travaux pratiques n 1 Quelques éléments

Plus en détail

Cours/TP0: Les bases de la programmation en Python.

Cours/TP0: Les bases de la programmation en Python. 5/2 931,932,933,934 Lycée Masséna Cours/TP0: Les bases de la programmation en Python. Introduction Ce cours/tp a pour but de vous donner les bases du langage Python. L important est de pratiquer pour que

Plus en détail

Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_python.html. R.R. Université Lyon 2

Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_python.html. R.R. Université Lyon 2 Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_python.html 1 Généralités sur la programmation ALGORITHMIE - PROGRAMMATION 2 Algorithmie vs. Programmation Algorithmie Programme

Plus en détail

Résoudre un puzzle simple

Résoudre un puzzle simple Résoudre un puzzle simple Xavier Dupré http://www.xavierdupre.fr/ 3 mai 2013 Résumé C est un cadeau que j ai reçu à Noël sous forme de puzzle. A vrai dire, je n ai même pas essayé de résoudre le puzzle

Plus en détail

Tableau d'enregistrements

Tableau d'enregistrements Tableau d'enregistrements Regrouper plusieurs enregistrements dans un tableau est parfaitement possible! Exemple : représenter les données concernant 50 personnes algorithme monalgorithme // déclaration

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

STAGE DE GEOGEBRA Présentation des fonctions de base Exemples simples d'utilisation

STAGE DE GEOGEBRA Présentation des fonctions de base Exemples simples d'utilisation STAGE DE GEOGEBRA Présentation des fonctions de base Exemples simples d'utilisation Charger le logiciel GeoGebra. Dans le menu «Affichage» vérifier que les sous menus «axes», «fenêtre algèbre», «champ

Plus en détail

Listes et arbres binaires

Listes et arbres binaires Des structures de données dynamiques Listes, Listes ordonnées Arbres binaires, arbre binaires de recherche Listes chaînées Utile si le nombre d éléments n est pas connu à l avance et évolue beaucoup. Permet

Plus en détail

Objectifs du cours d aujourd hui. Informatique I : Cours d introduction à l informatique et à la programmation Structures de Données Abstraites & Tris

Objectifs du cours d aujourd hui. Informatique I : Cours d introduction à l informatique et à la programmation Structures de Données Abstraites & Tris Objectifs du cours d aujourd hui Informatique I : Cours d introduction à l informatique et à la programmation Structures de Données Abstraites & Tris Continuer l approfondissement de la programmation de

Plus en détail

Fonctions affines. Table des matières

Fonctions affines. Table des matières Fonctions affines Table des matières 1 fonction linéaire, fonction constante, fonction affine 3 1.1 activités.............................................. 3 1.1.1 activité 1 : fonction linéaire et variation

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

Compte en banque : Exemple de conception et implantation par raffinement successif

Compte en banque : Exemple de conception et implantation par raffinement successif Compte en banque : Exemple de conception et implantation par raffinement successif 11 octobre 2014 1 Énoncé On veut écrire un programme qui fait la mise à jour de votre compte en banque. Le programme traite

Plus en détail

Soutien illimité 7j/7 en maths: Coach, profs, exercices & annales, cours. Sujet de Bac 2013 Maths S Obligatoire & Spécialité - Liban

Soutien illimité 7j/7 en maths: Coach, profs, exercices & annales, cours. Sujet de Bac 2013 Maths S Obligatoire & Spécialité - Liban Sujet de Bac 2013 Maths S Obligatoire & Spécialité - Liban EXERCICE 1 : 4 Points Cet exercice est un questionnaire à choix multiples. Aucune justification n est demandée. Pour chacune des questions, une

Plus en détail

CHAPITRE 7 Fonction carré et fonction inverse

CHAPITRE 7 Fonction carré et fonction inverse CHAPITRE 7 Fonction carré et fonction inverse A) La fonction "carré" : f() = ² ) Domaine de définition Elle est définie sur ℝ complet (on peut toujours multiplier deu nombres entre eu). 2) Sens de variation

Plus en détail

Premiers pas avec Python

Premiers pas avec Python Premiers pas avec Python Nous supposerons ici que Python est déjà installé et fonctionnel. Dans la suite de ce document, nous indiquerons les commandes Python et le résultat donné par l'interprète. Les

Plus en détail

Programmation Delphi : Algorithmes obligatoires

Programmation Delphi : Algorithmes obligatoires Programmation Delphi : Algorithmes obligatoires I re B, 2015 16 Version 4.3 du 11 septembre 2015 Table des matières 1 Mathématiques élémentaires 2 1.1 Fonction «puissance à exposant naturel»......................

Plus en détail

1 Récupération des données

1 Récupération des données Lycée Buffon MP*/PSI 014-15 Épreuve d informatique du concours blanc, jeudi 5 mars 015 (3h00) Les documents, téléphones portables, ordinateurs et calculatrices sont interdits. Le sujet de cette épreuve

Plus en détail

Exercices d informatique pour la 2 e B

Exercices d informatique pour la 2 e B Exercice 1 Exercices d informatique pour la 2 e B Voici une application en console Delphi contenant des erreurs. Trouvez-les et redressez-les dans l esprit du programmeur, puis donner la sortie écran.

Plus en détail

Tableaux et pointeurs (corrigé)

Tableaux et pointeurs (corrigé) Tableaux et pointeurs (corrigé) Tous les exercices sont à faire. 1 Tableaux Exercice 1. Moyenne (*) Écrivez une fonction qui calcule la moyenne de n nombres stockés dans un tableau de double. Prototype

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

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3 I Arbres binaires 2014-2015 Table des matières 1 Rappels 2 1.1 Définition................................................ 2 1.2 Dénombrements............................................ 2 1.3 Parcours.................................................

Plus en détail

UTILISER SA CALCULATRICE GRAPHIQUE TI NSPIRE CX CAS

UTILISER SA CALCULATRICE GRAPHIQUE TI NSPIRE CX CAS UTILISER SA CALCULATRICE GRAPHIQUE TI NSPIRE CX CAS Table des matières I ) Bon à savoir 2 I.1. L écran d Accueil (Home), le Bloc-Note (Scratchpad) et les classeurs............................ 2 I.2. Le

Plus en détail

Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_python.html. R.R. Université Lyon 2

Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_python.html. R.R. Université Lyon 2 Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_python.html 1 Tableau statique en lecture seule d objets hétérogènes LES TUPLES 2 Création des tuples et accès aux données

Plus en détail

ARITHMETIQUE EXERCICES CORRIGES

ARITHMETIQUE EXERCICES CORRIGES Exercice n 1. ARITHMETIQUE EXERCICES CORRIGES 5 1) Donner l écriture de a) A = 1 b) A = 1001 c) A = 1 ) Ecrire la suite des 10 premiers nombres entiers en base deux. En base quatre ) En base douze, on

Plus en détail

Année Universitaire 2013/2014 DST de Printemps

Année Universitaire 2013/2014 DST de Printemps Année Universitaire 2013/2014 DST de Printemps Parcours : Licence LIMI201 & LIMI211 Code UE : J1MI2013 Épreuve : Algorithmes et Programmes Date : Lundi 16 juin 2014 Heure : 16 heures 30 Durée : 2 heures

Plus en détail

CONCOURS 2015 ÉPREUVE D INFORMATIQUE. (Durée de l épreuve : 1h30 heures) L usage de l ordinateur ou de la calculatrice est interdit.

CONCOURS 2015 ÉPREUVE D INFORMATIQUE. (Durée de l épreuve : 1h30 heures) L usage de l ordinateur ou de la calculatrice est interdit. A 2015 INFO. ÉCOLE DES PONTS PARISTECH. SUPAERO (ISAE), ENSTA PARISTECH, TELECOM PARISTECH, MINES PARISTECH MINES DE SAINT-ÉTIENNE, MINES NANCY, TÉLÉCOM BRETAGNE, ENSAE PARISTECH (Filière MP). ÉCOLE POLYTECHNIQUE

Plus en détail