• Aucun résultat trouvé

Correction du DS 3

N/A
N/A
Protected

Academic year: 2022

Partager "Correction du DS 3"

Copied!
2
0
0

Texte intégral

(1)

Correction du DS 3

Informatique pour tous, première année

Julien Reichert

Exercice 1

Voir cours, on autorise les méthodes des rectangles et des trapèzes. Il y a une certaine tolérance pour les méthodes d’ordre supérieur (Simpson, etc.) ou pour des méthodes de résolution d’équations différentielles appliquées à une équation de la formey0(x) =f(x).

Exercice 2

La complexité de la méthode du pivot pour la matrice d’un système (n, n) auquel on a éventuellement accolé k colonnes de n lignes est unO(n2(n+k)). Le fait de faire une recherche systématique du meilleur pivot possible (« pivot partiel ») ne change rien à la complexité asymptotique, car on remplace dans le calcul un O(n) (valant souvent 1) par unΘ(n)qui est de toute façon négligeable devant leO(n(n+k))auquel il est finalement additionné.

Exercice 3

L’erreur est naturellement à la ligne8, car le déclenchement d’exception ne saurait être systématique (jest forcément inférieur ou égal àn), il faut tester sij == n.

Exercice 4

def aplatir(listedelistes):

reponse = []

for liste in listedelistes:

reponse.extend(liste) # ou append avec une boucle parcourant la liste

À ce sujet, pour ne pas s’encombrer l’esprit, on peut transiter par la structure de matrice et l’aplatir par la force des choses, mais le coût est doublé et surtout le changement de structure est presque toujours sale. L’exception tolérée jusqu’ici était le passage d’un nombre à une chaîne de caractères.

Bref, un regard noir à ceux qui inventeraient le code suivant : from numpy import array, append

def aplatircommeunfragile(listedelistes):

return list(append(array(listedelistes),42)[:-1])

1

(2)

Exercice 5

Pour simuler arange(deb,fin,pas) avec un linspace, on a besoin de calculer le nombre d’éléments, qui est exactement dfin-debpas e, et le dernier élément, qui est exactement deb plus le nombre d’éléments moins un (soit le nombre d’intervalles, en fait).

Pour simuler linspace(deb,fin,nombre) avec un arange, on a besoin de calculer le pas, qui est exactement

fin-deb

nombre-1, et une nouvelle fin exclue, qui doit être strictement supérieure àfinmais inférieure ou égale àfin + pas.

On peut prendre par exemplefin + pas/42(mais la division par42n’est pas optimisée. . .).

from math import ceil

def arange_to_linspace(deb,fin,pas):

n = ceil((fin-deb)/pas)

from numpy import linspace # importation ici afin que la fonction ne dépende pas

# d’un changement ailleurs dans la façon d’importer return linspace(deb,deb+(n-1)*pas,n)

def linspace_to_arange(deb,fin,n):

pas = (fin-deb)/(n-1) from numpy import arange

return arange(deb,fin+pas/2,pas)

# le / garantit que l’un des paramètres sera un flottant,

# donc le résultat sera un tableau de flottants

2

Références

Documents relatifs

Aucune matière spécifique ni groupe de matières n’est susceptibles de réagir avec le produit pour entraîner une situation

Quel est le nombre d’op´ erations n´ ecessaires ? Montrer que la matrice A est d´ efinie positive.. Indication : on explicitera la factorisation de Cholesky de la

Soit (E, d) un espace m´ etrique compact dans lequel l’adh´ erence de toute boule ouverte est la boule ferm´ ee de mˆ eme centre et de mˆ eme rayon.. Le but de cet exercice est de

MARDI 19 FÉVRIER 2019 - 19h30 UMONS - AUDITOIRE MARIE

Il resterait à étendre la démonstration aux intervalles 1912-2100 (modulo 2000) pour

Les segments joignant les trous voisins sont les arêtes d’un

La fonction à écrire doit renvoyer le résultat de l’appel de la fonction linspace avec trois arguments : deb, fin et nombre ; ce résultat est le tableau dont le premier élément

Gabillaud, Jérôme SQL Server 2014 : Administration d'une base de données transactionnelle avec SQL server. management