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 Katia.barre@laposte.net 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 : Katia.barre@laposte.net 2

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 Katia.barre@laposte.net 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]) Katia.barre@laposte.net 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) Katia.barre@laposte.net 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)) Katia.barre@laposte.net 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) < Katia.barre@laposte.net 7

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 ') Katia.barre@laposte.net 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. Katia.barre@laposte.net 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))) Katia.barre@laposte.net 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'} Katia.barre@laposte.net 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)} Katia.barre@laposte.net 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 + 1 Katia.barre@laposte.net 13

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 Katia.barre@laposte.net 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]] Katia.barre@laposte.net 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)) Katia.barre@laposte.net 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)).') Katia.barre@laposte.net 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): Katia.barre@laposte.net 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) Katia.barre@laposte.net 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() Katia.barre@laposte.net 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

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

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

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

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

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

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

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

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

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

Découverte de Python

Découverte de Python Découverte de Python Python est un des langages informatiques au programme des concours à partir de la session 2015. Ce tutoriel vous permettra de vous mettre à peu près à niveau de ce qui a été fait en

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

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

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

Python - introduction à la programmation et calcul scientifique

Python - introduction à la programmation et calcul scientifique Université de Strasbourg Environnements Informatique Python - introduction à la programmation et calcul scientifique Feuille de TP 1 Avant de commencer Le but de ce TP est de vous montrer les bases de

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

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

Corrigé des TD 1 à 5

Corrigé des TD 1 à 5 Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un

Plus en détail

TSTI 2D CH X : Exemples de lois à densité 1

TSTI 2D CH X : Exemples de lois à densité 1 TSTI 2D CH X : Exemples de lois à densité I Loi uniforme sur ab ; ) Introduction Dans cette activité, on s intéresse à la modélisation du tirage au hasard d un nombre réel de l intervalle [0 ;], chacun

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

L ALGORITHMIQUE. Algorithme

L ALGORITHMIQUE. Algorithme L ALGORITHMIQUE Inspirée par l informatique, cette démarche permet de résoudre beaucoup de problèmes. Quelques algorithmes ont été vus en 3 ième et cette année, au cours de leçons, nous verrons quelques

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

La fonction exponentielle

La fonction exponentielle DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction

Plus en détail

MESURES PHYSIQUES 1 è année 2010 2011. Informatique Scientifique version 2.2. Python 3. Exercices corrigés

MESURES PHYSIQUES 1 è année 2010 2011. Informatique Scientifique version 2.2. Python 3. Exercices corrigés MESURES PHYSIQUES 1 è année 2010 2011 Informatique Scientifique version 2.2 Python 3 Exercices corrigés Énoncés Énoncés des exercices Remarque Les exercices suivants sont fournis à titre d exemples et

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

Programmation linéaire

Programmation linéaire 1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit

Plus en détail

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun> 94 Programmation en OCaml 5.4.8. Concaténation de deux listes Définissons maintenant la fonction concat qui met bout à bout deux listes. Ainsi, si l1 et l2 sont deux listes quelconques, concat l1 l2 constitue

Plus en détail

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée. ANALYSE 5 points Exercice 1 : Léonie souhaite acheter un lecteur MP3. Le prix affiché (49 ) dépasse largement la somme dont elle dispose. Elle décide donc d économiser régulièrement. Elle a relevé qu elle

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

Découverte du tableur CellSheet

Découverte du tableur CellSheet Découverte du tableur CellSheet l application pour TI-83 Plus et TI-84 Plus. Réalisé par Guy Juge Professeur de mathématiques et formateur IUFM de l académie de Caen Pour l équipe des formateurs T 3 Teachers

Plus en détail

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Cours d algorithmique pour la classe de 2nde

Cours d algorithmique pour la classe de 2nde Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage

Plus en détail

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/??

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/?? Algorithmique I Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement

Plus en détail

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation Complexité Objectifs des calculs de complexité : - pouvoir prévoir le temps d'exécution d'un algorithme - pouvoir comparer deux algorithmes réalisant le même traitement Exemples : - si on lance le calcul

Plus en détail

Les algorithmes de base du graphisme

Les algorithmes de base du graphisme Les algorithmes de base du graphisme Table des matières 1 Traçage 2 1.1 Segments de droites......................... 2 1.1.1 Algorithmes simples.................... 3 1.1.2 Algorithmes de Bresenham (1965).............

Plus en détail

Cours d Analyse. Fonctions de plusieurs variables

Cours d Analyse. Fonctions de plusieurs variables Cours d Analyse Fonctions de plusieurs variables Licence 1ère année 2007/2008 Nicolas Prioux Université de Marne-la-Vallée Table des matières 1 Notions de géométrie dans l espace et fonctions à deux variables........

Plus en détail

Raisonnement par récurrence Suites numériques

Raisonnement par récurrence Suites numériques Chapitre 1 Raisonnement par récurrence Suites numériques Terminale S Ce que dit le programme : CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES Raisonnement par récurrence. Limite finie ou infinie d une suite.

Plus en détail

Algorithmes et mathématiques. 1. Premiers pas avec Python. Exo7. 1.1. Hello world!

Algorithmes et mathématiques. 1. Premiers pas avec Python. Exo7. 1.1. Hello world! Exo7 Algorithmes et mathématiques Vidéo partie 1. Premiers pas avec Python Vidéo partie 2. Ecriture des entiers Vidéo partie 3. Calculs de sinus, cosinus, tangente Vidéo partie 4. Les réels Vidéo partie

Plus en détail

Plus courts chemins, programmation dynamique

Plus courts chemins, programmation dynamique 1 Plus courts chemins, programmation dynamique 1. Plus courts chemins à partir d un sommet 2. Plus courts chemins entre tous les sommets 3. Semi-anneau 4. Programmation dynamique 5. Applications à la bio-informatique

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé. Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé. L usage d une calculatrice est autorisé Durée : 3heures Deux annexes sont à rendre avec la copie. Exercice 1 5 points 1_ Soit f la

Plus en détail

I. Introduction aux fonctions : les fonctions standards

I. Introduction aux fonctions : les fonctions standards Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons

Plus en détail

Les chaînes de caractères

Les chaînes de caractères Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il

Plus en détail

BTS Groupement A. Mathématiques Session 2011. Spécialités CIRA, IRIS, Systèmes électroniques, TPIL

BTS Groupement A. Mathématiques Session 2011. Spécialités CIRA, IRIS, Systèmes électroniques, TPIL BTS Groupement A Mathématiques Session 11 Exercice 1 : 1 points Spécialités CIRA, IRIS, Systèmes électroniques, TPIL On considère un circuit composé d une résistance et d un condensateur représenté par

Plus en détail

1.6- Génération de nombres aléatoires

1.6- Génération de nombres aléatoires 1.6- Génération de nombres aléatoires 1- Le générateur aléatoire disponible en C++ 2 Création d'un générateur aléatoire uniforme sur un intervalle 3- Génération de valeurs aléatoires selon une loi normale

Plus en détail

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007 Vision industrielle et télédétection - Détection d ellipses Guillaume Martinez 17 décembre 2007 1 Table des matières 1 Le projet 3 1.1 Objectif................................ 3 1.2 Les choix techniques.........................

Plus en détail

Nombre dérivé et tangente

Nombre dérivé et tangente Nombre dérivé et tangente I) Interprétation graphique 1) Taux de variation d une fonction en un point. Soit une fonction définie sur un intervalle I contenant le nombre réel a, soit (C) sa courbe représentative

Plus en détail

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire CHAPITRE N5 FONCTIONS LINEAIRES NOTION DE FONCTION FONCTIONS LINEAIRES NOTION DE FONCTION FONCTIONS LINEAIRES NOTION DE FONCTION Code item D0 D2 N30[S] Items étudiés dans le CHAPITRE N5 Déterminer l'image

Plus en détail

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications Université Paris-Dauphine DUMI2E 1ère année, 2009-2010 Applications 1 Introduction Une fonction f (plus précisément, une fonction réelle d une variable réelle) est une règle qui associe à tout réel x au

Plus en détail

Lecture graphique. Table des matières

Lecture graphique. Table des matières Lecture graphique Table des matières 1 Lecture d une courbe 2 1.1 Définition d une fonction.......................... 2 1.2 Exemple d une courbe........................... 2 1.3 Coût, recette et bénéfice...........................

Plus en détail

TRACER LE GRAPHE D'UNE FONCTION

TRACER LE GRAPHE D'UNE FONCTION TRACER LE GRAPHE D'UNE FONCTION Sommaire 1. Méthodologie : comment tracer le graphe d'une fonction... 1 En combinant les concepts de dérivée première et seconde, il est maintenant possible de tracer le

Plus en détail

Définitions. Numéro à préciser. (Durée : )

Définitions. Numéro à préciser. (Durée : ) Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

EVALUATIONS MI-PARCOURS CM2

EVALUATIONS MI-PARCOURS CM2 Les enseignants de CM2 de la circonscription de METZ-SUD proposent EVALUATIONS MI-PARCOURS CM2 Mathématiques Livret enseignant NOMBRES ET CALCUL Circonscription de METZ-SUD Page 1 Séquence 1 : Exercice

Plus en détail

BACCALAURÉAT GÉNÉRAL SESSION 2012 OBLIGATOIRE MATHÉMATIQUES. Série S. Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE

BACCALAURÉAT GÉNÉRAL SESSION 2012 OBLIGATOIRE MATHÉMATIQUES. Série S. Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE BACCALAURÉAT GÉNÉRAL SESSION 2012 MATHÉMATIQUES Série S Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE Les calculatrices électroniques de poche sont autorisées, conformément à la

Plus en détail

Cours Informatique Master STEP

Cours Informatique Master STEP Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions

Plus en détail

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

Plus en détail

Solutions du chapitre 4

Solutions du chapitre 4 Solutions du chapitre 4 Structures de contrôle: première partie 4.9 Identifiez et corrigez les erreurs (il peut y en avoir plus d une par segment de code) de chacune des proposition suivantes: a) if (

Plus en détail

1 I ) Une première approche de l algorithme en seconde, saison 2010 _ 2011. Antoine ROMBALDI

1 I ) Une première approche de l algorithme en seconde, saison 2010 _ 2011. Antoine ROMBALDI 1 I ) Une première approche de l algorithme en seconde, saison 2010 _ 2011. Antoine ROMBALDI L objectif est de rendre les élèves capables : De décrire certains algorithmes en langage naturel. D en réaliser

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

Image d un intervalle par une fonction continue

Image d un intervalle par une fonction continue DOCUMENT 27 Image d un intervalle par une fonction continue La continuité d une fonction en un point est une propriété locale : une fonction est continue en un point x 0 si et seulement si sa restriction

Plus en détail

Comment tracer une droite représentative d'une fonction et méthode de calcul de l'équation d'une droite.

Comment tracer une droite représentative d'une fonction et méthode de calcul de l'équation d'une droite. Comment tracer une droite représentative d'une fonction et méthode de calcul de l'équation d'une droite. Introduction : Avant de commencer, il est nécessaire de prendre connaissance des trois types de

Plus en détail

Chapitre 2 Devine mon nombre!

Chapitre 2 Devine mon nombre! Python 3 : objectif jeux Chapitre 2 Chapitre 2 Devine mon nombre! 2.1. Thèmes abordés dans ce chapitre commentaires modules externes, import variables boucle while condition : if... elif... else la fonction

Plus en détail

EXERCICES DE REVISIONS MATHEMATIQUES CM2

EXERCICES DE REVISIONS MATHEMATIQUES CM2 EXERCICES DE REVISIONS MATHEMATIQUES CM2 NOMBRES ET CALCUL Exercices FRACTIONS Nommer les fractions simples et décimales en utilisant le vocabulaire : 3 R1 demi, tiers, quart, dixième, centième. Utiliser

Plus en détail

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

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

Plus en détail

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Baccalauréat ES/L Amérique du Sud 21 novembre 2013 Baccalauréat ES/L Amérique du Sud 21 novembre 2013 A. P. M. E. P. EXERCICE 1 Commun à tous les candidats 5 points Une entreprise informatique produit et vend des clés USB. La vente de ces clés est réalisée

Plus en détail

Annexe commune aux séries ES, L et S : boîtes et quantiles

Annexe commune aux séries ES, L et S : boîtes et quantiles Annexe commune aux séries ES, L et S : boîtes et quantiles Quantiles En statistique, pour toute série numérique de données à valeurs dans un intervalle I, on définit la fonction quantile Q, de [,1] dans

Plus en détail

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année 2003-2004 Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES Maude Manouvrier La reproduction de ce document par

Plus en détail

Quelques Algorithmes simples

Quelques Algorithmes simples Quelques Algorithmes simples Irène Guessarian ig@liafa.jussieu.fr 10 janvier 2012 Je remercie Patrick Cegielski de son aide efficace pour la programmation Java ; la section sur le codage de Huffman a été

Plus en détail

1. Structure d'un programme FORTRAN 95

1. Structure d'un programme FORTRAN 95 FORTRAN se caractérise par la nécessité de compiler les scripts, c'est à dire transformer du texte en binaire.(transforme un fichier de texte en.f95 en un executable (non lisible par un éditeur) en.exe.)

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

Développement décimal d un réel

Développement décimal d un réel 4 Développement décimal d un réel On rappelle que le corps R des nombres réels est archimédien, ce qui permet d y définir la fonction partie entière. En utilisant cette partie entière on verra dans ce

Plus en détail

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice

Plus en détail

La question est : dans 450 combien de fois 23. L opération est donc la division. Le diviseur. Le quotient

La question est : dans 450 combien de fois 23. L opération est donc la division. Le diviseur. Le quotient par un nombre entier I La division euclidienne : le quotient est entier Faire l activité division. Exemple Sur une étagère de 4mm de large, combien peut on ranger de livres de mm d épaisseur? La question

Plus en détail

Algorithmes récursifs

Algorithmes récursifs Licence 1 MASS - Algorithmique et Calcul Formel S. Verel, M.-E. Voge www.i3s.unice.fr/ verel 23 mars 2007 Objectifs de la séance 3 écrire des algorithmes récursifs avec un seul test rechercher un élément

Plus en détail

Continuité et dérivabilité d une fonction

Continuité et dérivabilité d une fonction DERNIÈRE IMPRESSIN LE 7 novembre 014 à 10:3 Continuité et dérivabilité d une fonction Table des matières 1 Continuité d une fonction 1.1 Limite finie en un point.......................... 1. Continuité

Plus en détail

Informatique Générale

Informatique Générale Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html

Plus en détail

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre : Terminale STSS 2 012 2 013 Pourcentages Synthèse 1) Définition : Calculer t % d'un nombre, c'est multiplier ce nombre par t 100. 2) Exemples de calcul : a) Calcul d un pourcentage : Un article coûtant

Plus en détail

Logique. Plan du chapitre

Logique. Plan du chapitre Logique Ce chapitre est assez abstrait en première lecture, mais est (avec le chapitre suivant «Ensembles») probablement le plus important de l année car il est à la base de tous les raisonnements usuels

Plus en détail

I. Ensemble de définition d'une fonction

I. Ensemble de définition d'une fonction Chapitre 2 Généralités sur les fonctions Fonctions de références et fonctions associées Ce que dit le programme : Étude de fonctions Fonctions de référence x x et x x Connaître les variations de ces deux

Plus en détail

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes

Plus en détail

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques CTIA04 Page 1 1. Les types de données sous S7 300 Il existe plusieurs types de données utilisées pour la programmation

Plus en détail

Programme Compte bancaire (code)

Programme Compte bancaire (code) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; Programme Compte bancaire (code) namespace compte_bancaire /// Classe Program public

Plus en détail

Équations non linéaires

Équations non linéaires Équations non linéaires Objectif : trouver les zéros de fonctions (ou systèmes) non linéaires, c-à-d les valeurs α R telles que f(α) = 0. y f(x) α 1 α 2 α 3 x Equations non lineaires p. 1/49 Exemples et

Plus en détail

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

Exercice autour de densité, fonction de répatition, espérance et variance de variables quelconques.

Exercice autour de densité, fonction de répatition, espérance et variance de variables quelconques. 14-3- 214 J.F.C. p. 1 I Exercice autour de densité, fonction de répatition, espérance et variance de variables quelconques. Exercice 1 Densité de probabilité. F { ln x si x ], 1] UN OVNI... On pose x R,

Plus en détail

Fonctions de plusieurs variables

Fonctions de plusieurs variables Maths MP Exercices Fonctions de plusieurs variables Les indications ne sont ici que pour être consultées après le T (pour les exercices non traités). Avant et pendant le T, tenez bon et n allez pas les

Plus en détail

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS Mémento Ouvrir TI-Nspire CAS. Voici la barre d outils : L insertion d une page, d une activité, d une page où l application est choisie, pourra

Plus en détail

4. Les structures de données statiques

4. Les structures de données statiques 4. Les structures de données statiques 4.1 Tableaux à une dimension 4.1.1 Introduction Imaginons que dans un programme, nous ayons besoin simultanément de 25 valeurs (par exemple, des notes pour calculer

Plus en détail

Programmation C++ (débutant)/instructions for, while et do...while

Programmation C++ (débutant)/instructions for, while et do...while Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de

Plus en détail

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 1 de 46 Algorithmique Trouver et Trier Florent Hivert Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 2 de 46 Algorithmes et structures de données La plupart des bons algorithmes

Plus en détail

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé EXERCICE 1 5 points Commun à tous les candidats 1. Réponse c : ln(10)+2 ln ( 10e 2) = ln(10)+ln ( e 2) = ln(10)+2 2. Réponse b : n 13 0,7 n 0,01

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

DM 1 : Montre Autoquartz ETA

DM 1 : Montre Autoquartz ETA Lycée Masséna DM 1 : Montre Autoquartz ETA 1 Présentation de la montre L essor de l électronique nomade s accompagne d un besoin accru de sources d énergies miniaturisées. Les contraintes imposées à ces

Plus en détail

Simulation de variables aléatoires

Simulation de variables aléatoires Chapter 1 Simulation de variables aléatoires Références: [F] Fishman, A first course in Monte Carlo, chap 3. [B] Bouleau, Probabilités de l ingénieur, chap 4. [R] Rubinstein, Simulation and Monte Carlo

Plus en détail

Chapitre 2 Le problème de l unicité des solutions

Chapitre 2 Le problème de l unicité des solutions Université Joseph Fourier UE MAT 127 Mathématiques année 2011-2012 Chapitre 2 Le problème de l unicité des solutions Ce que nous verrons dans ce chapitre : un exemple d équation différentielle y = f(y)

Plus en détail

LES TYPES DE DONNÉES DU LANGAGE PASCAL

LES TYPES DE DONNÉES DU LANGAGE PASCAL LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.

Plus en détail