Aperçu du sujet
Exercice 1 (3 points) Cet exercice porte sur l’algorithmique et la programmation. Un palindrome est un mot qui se lit de la même manière de la gauche vers la droite que de la droite vers la gauche (exemple : « kayak » est un palindrome). On propose ci-dessous une fonction
Exercice 1 (3 points) Cet exercice porte sur l’algorithmique et la programmation. Un palindrome est un mot qui se lit de la même manière de la gauche vers la droite que de la droite vers la gauche (exemple : « kayak » est un palindrome). On propose ci-dessous une fonction pour tester si un mot est un palindrome. On précise que, pour une chaîne de caractères chaine : • l’instruction len(chaine) renvoie sa longueur ; • l’instruction chaine[-1] renvoie son dernier caractère ; • l’instruction chaine[1:-1] renvoie la chaîne privée de son premier caractère et de son dernier caractère. 1. On saisit, dans la console, l’instruction suivante : Combien de fois est appelée la fonction tester_palindrome lors de l’exécution de cette instruction ? On veillera à compter l’appel initial. 2. a. Justifier que la fonction tester_palindrome est récursive. b. Expliquer pourquoi l’appel à la fonction tester_palindrome se terminera quelle que soit la chaîne de caractères sur laquelle elle s’applique. 23-NSIJ1LI1 Page : 2/10 3. La saisie, dans la console, de l’instruction une erreur. a. Parmi les quatre propositions suivantes, indiquer le type d’erreur affiché : • ZeroDivisionError • ValueError • TypeError • IndexError b. Proposer sur la copie une ou plusieurs instructions qu’on pourrait écrire entre la ligne 1 et la ligne 2 du code de la fonction tester_palindrome et permettant d’afficher clai- rement cette erreur à l’utilisateur. 4. Écrire le code d’une fonction itérative (non récursive) est_palindrome qui prend en paramètre une chaîne de caractères et renvoie un booléen égal à True si la chaîne de caractères est un palindrome, False sinon. 23-NSIJ1LI1 Page : 3/10 Exercice 2 (5 points) Cet exercice porte sur les bases de données, la représentation des données et les réseaux. Cet exercice utilise certains des mots-clés du langage SQL suivants : DELETE, FROM, INSERT, INTO, JOIN, ON, SELECT, SET, UPDATE, VALUES, WHERE. Les vacances d’été se rapprochent et le propriétaire d’une pension pour animaux gère les places dont il dispose à l’aide d’une base de données dont voici le schéma relationnel : client(num_client, nom_client, prenom_client, mail_client, tel_client) animal(num_animal, nom_animal, categorie_animal, taille_animal, num_client) cage(num_cage, taille_cage, secteur_cage) date_debut_reservation, date_fin_reservation, num_client, num_animal, num_cage) Ci-dessous, on donne des extraits des tables client, animal, cage et reservation. Extrait de la table client : num_client nom_client prenom_client mail_client tel_client 16 Dupont Marc marc.dupont@mail.com 0604050401 345 Morel Fabien fabien.morel@mail.com 0700051020 Extrait de la table animal : num_animal nom_animal categorie_animal taille_animal num_client