• Aucun résultat trouvé

DS 1

N/A
N/A
Protected

Academic year: 2022

Partager "DS 1"

Copied!
1
0
0

Texte intégral

(1)

DS 1

Informatique pour tous, deuxième année

Julien Reichert

Durée : 2 heures maximum.

Le barème est donné à titre indicatif entre parenthèses après le numéro de la question.

1 Piles

Exercice 1 (/3) : Donner une implémentation (efficace) des piles en Python et écrire les fonctions de création, d’empilement et de dépilement correspondantes.

Exercice 2 (/3) : Sans disposer de mémoire autre que des piles, combien de piles supplémentaires au moins sont nécessaires pour « retourner » une pile de taillen≥21? Combien d’empilements et de dépilements sont alors effec- tués ? Écrire un programme en Python pour réaliser cette opération, en utilisant l’implémentation et les fonctions de la question précédente et en supposant qu’il n’y a pas de problème de capacité.

Exercice 3 (/4) : Les piles de cet exercice sont supposées de capacité illimitée et on ne pourra y mettre que des+et des−. On représente un entier relatifnsous la forme d’une pile contenant |n|occurrences du symbole marquant le signe den. Écrire en Python et à l’aide de primitives sur des piles une fonction additionnant deux entiers relatifs, le premier étant représenté comme une pile, et le deuxième étant représenté tel quel. Le résultat doit être représenté comme une pile. Écrire ensuite sous les mêmes conditions une fonction qui additionne deux entiers relatifs représentés tous deux comme des piles. Le résultat doit là aussi être représenté comme une pile.

2 Récursivité

Exercice 4 (/4) : Écrire en Python une fonction récursivepuiss(a,n)calculant la puissancen-ième d’un nombrea.

Déterminer sa complexité en détaillant la formule de récurrence2. Écrire ensuite une fonction puiss_n(n) qui calculenn.

Exercice 5 (/2) : Soit une fonction récursive telle que le coût pour le paramètre2nsoitnplus le coût pour le paramètre n, le coût pour le paramètre1étant1. Quelle est la complexité exacte de cette fonction pour le paramètrre2k, et quel est l’ordre de grandeur pour un paramètre quelconque, si le coût est supposé croissant3?

Exercice 6 (/4) : Écrire une fonction récursive appliquant l’algorithme d’Euclide. Écrire ensuite une fonction déter- minant un couple de Bézout.

Exercice 7 (/[le nombre de points de l’exercice 7]) : Faire l’exercice 7.

1. c’est-à-dire faire en sorte que l’ordre des éléments dans la pile de départ soient inversés 2. bonus si la complexité est logarithmique

3. bonus si un exemple de fonction, même artificiel, est écrit ensuite

1

Références

Documents relatifs

Par convention un nombre entier naturel positif n est appelé « puissant » si pour tout facteur premier p de n, p² divise

La lecture à l’envers du tableau donnant les fonctions dérivées des fonctions usuelles permet de dresser un premier tableau de primitives usuelles.. Intégrale

Que ce soit pour la somme ou le produit, nous discutons selon les parités des entiers n et p.. Parité de

Lors de la recherche de valeurs, pour des grandeurs physiques ou géométriques, l’utilisation d’une formule simple est impossible (car les formes géométriques considérées

On peut utiliser le fait que ce ne sont pas tous les entiers relatifs que l’on repr´esente mais seulement ceux qui tiennent sur n bits, avec n plus ou moins grand (n = 8 pour

L’ensemble Z n’est pas un groupe pour (seul 1 sont inversibles) : quand on rajoute 4 à Z les inverses de ses éléments non nuls puis les produits d’entiers avec des

Pour diviser deux entiers relatifs, on divise leur distance âzéro et on applique la même règle de la multiplication.. Le quotient de deux entiers relatifs de même

Pour chaque question, une seule réponse parmi celles proposées est exacte1. Les nombres suivants sont