| Prochaine révision | Révision précédente |
| nsi:tps:start [2021/10/01 15:03] – créée goupillwiki | nsi:tps:start [2023/02/06 00:02] (Version actuelle) – goupillwiki |
|---|
| ====== Exemples de d'épreuves pratiques ====== | ====== Exemples d'épreuves pratiques ====== |
| |
| Les élèves qui choisissent de conserver la spécialité NSI en Terminale, ont une épreuve de travaux pratique comptant pour leur note de Bac. | Dans ce [[https://synbox.ac-paris.fr/index.php/s/mtwZKSHRkaMCGQT|dépôt]], la liste complète des sujets. |
| |
| L'épreuve pratique se déroule sur ordinateur, elle dure une heure. | [[https://glassus.github.io/terminale_nsi/T6_6_Epreuve_pratique/BNS_2023/|Une liste de sujets pour 2023]] |
| |
| Il s'agit de deux exercices, notés chacun sur 4 points. | ===== En première ===== |
| * Le premier exercice consiste en l'implémentation d'une fonction simple répondant à une consigne donnée. L'élève est laissé libre de la méthode. | |
| * Le second exercice consiste à compléter une implémentation. Il s'agit là aussi de répondre à une consigne donnée, mais il faut s'adapter et comprendre la solution retenue dans le fichier fourni. | |
| |
| ===== Exemples d'exercices 1 ===== | En cours d'année, vous aurez des interrogations pratiques consistant à programme quelque chose de simple. C'est l'idée de l'épreuve de terminale mais adaptée à la progression de première. |
| |
| ==== Les exercices consistant à chercher dans un tableau ==== | [[nsi:tps:bareme_tp_premiere|Barème appliqué]] |
| |
| <WRAP box>**Exemple de formulation** | ===== L'épreuve de terminale ===== |
| |
| Programmer la fonction ''recherche', prenant en paramètre un tableau non vide ''tab'' (type ''list'') d'entiers et un entier ''n'', et qui renvoie l'indice de la dernière occurrence de l'élément cherché. Si l'élément n'est pas présent, la fonction renvoie la longueur du tableau. | Les élèves qui choisissent de conserver la spécialité NSI en Terminale, ont une épreuve de travaux pratique comptant pour leur note de Bac. |
| |
| Exemples : | L'épreuve pratique se déroule sur ordinateur, elle dure une heure. |
| <code python> | |
| >>> recherche([5, 3],1) | |
| 2 | |
| >>> recherche([2,4],2) | |
| 0 | |
| >>> recherche([2,3,5,2,4],2) | |
| 3 | |
| </code> | |
| </WRAP> | |
| |
| Variantes : | Il s'agit de deux exercices, notés chacun sur 4 points. |
| * ''recherche(caractere:str, mot:str)'',\\ ''caractere'' est un caractère et ''mot'' une chaîne. Renvoie le nombre d'occurrence de ''caractere'' dans ''mot''. | * Le premier exercice consiste en l'implémentation d'une fonction simple répondant à une consigne donnée. L'élève est laissé libre de la méthode. |
| * ''maxi(tableau)'',\\ Renvoie une ''tuple'' contenant le rang de la première occurrence du maximum 'élément maximum et la valeur du maximum\\ <wrap tip>Les sujets omettent parfois de dire quoi faire si le tableau est vide et souvent ils demandent de renvoyer une paire sous forme d'un ''list'' plutôt qu'un ''tuple'', mais un ''tuple'' est clairement préférable.</wrap> | * Le second exercice consiste à compléter une implémentation. Il s'agit là aussi de répondre à une consigne donnée, mais il faut s'adapter et comprendre la solution retenue dans le fichier fourni. |
| * ''recherche(item, tableau)'',\\ renvoie un ''list'' contenant les rangs des occurrences de ''item'' dans ''tableau'' | |
| * ''recherche_min_max(tableau)'',\\ renvoie un dictionnaire de forme ''%%{"min":valeur_min, "max":valeur_max}%%'' | |
| * ''recherche_min(tableau)'',\\ renvoie le rang de la première occurrence du minimum de ''tableau'' | |
| * ''recherche_min(tableau)'',\\ renvoie le rang de la **dernière** occurrence du minimum de ''tableau'' | |
| * ''recherche_sup(seuil, tableau)'',\\ renvoie le nombre d'items de ''tableau'' supérieurs à ''seuil'' | |
| * ''recherche_sup(seuil, tableau)'',\\ renvoie la ''list'' des rangs des items de ''tableau'' supérieurs à ''seuil'' | |
| * ''recherche_sup(seuil, tableau)'',\\ renvoie le rang de la première occurrence d'un item de ''tableau'' supérieur à ''seuil'' | |
| * ''recherche_sup(seuil, tableau)'',\\ renvoie la ''list'' des items de ''tableau'' supérieurs à ''seuil''. | |
| | |
| Comme vous pouvez le voir, on peut varier facilement, le principe reste toujours le même. | |
| | |
| On peut imaginer des variantes légèrement plus développés. | |
| | |
| <WRAP box>**Exemple un peu plus élaboré** | |
| Soit un fichier ''data.csv'' dont le contenu a la forme suivante : | |
| | |
| <WRAP group> | |
| <WRAP half column> | |
| <csv> | |
| nom;prénom;age | |
| Dupont;Jean;63 | |
| Konte;Fatoumata;37 | |
| Nguyen;Marc;32 | |
| Smith;Alicia;19 | |
| Amadi;Ahmed;29 | |
| ... | |
| </csv> | |
| </WRAP> | |
| | |
| <WRAP half column> | |
| <code python linenums> | |
| import csv | |
| with open("data.csv", 'r') as file: | |
| reader = csv.DictReader(file, delimiter=',') | |
| tableau = [dict(row) for row in reader] | |
| |
| # on travaille ensuite avec tableau | ==== Exemples d'exercices 1 ==== |
| </code> | * [[.:recherche_dans_tableau|Chercher dans un tableau]] |
| </WRAP> | * [[.:moyenne_tableau|Calculer une moyenne]] |
| </WRAP> | * [[.:conversion_binaire|Conversions binaire]] |
| | * [[.:occurences|Compter des occurences]] |
| |
| Il faut écrire une fonction ''find_age_inf(tableau, seuil)'' qui renvoie les rangs des items de ''tableau'' dont l'age est inférieur à ''seuil''. | ==== Exemples d'exercices 2 ==== |
| </WRAP> | |
| |
| | Dans ce deuxième exercice, le code Python est en partie écrit. Il faut donc s'adapter à la solution proposée. Il s'agit de remplir des trous. |
| |
| | Les sujets proposés lors de la session 2021 étaient simples mais ils ont été probablement écrits dans la précipitation car ils contenaient pas mal d'erreur grossières. La qualité du code n'est pas très bonne ne général et j'apprécierai que vous vous en rendiez compte ;-) |
| |
| s colonnes sont nommées ''%%"nom"%%'', ''%%"prénom"%%'', ''%%"age"%%''. | Voici quelques uns des sujets que j'ai sélectionnés. Je les ai laissés identiques, j'ai seulement corrigé les erreurs que j'ai vues. Il en reste probablement. |
| |
| | * [[nsi:tps:exercice2:sujet_2021_1|2021 - sujet 1]] |
| | * [[nsi:tps:exercice2:sujet_2021_2|2021 - sujet 2]] |
| | * [[nsi:tps:exercice2:sujet_2021_3|2021 - sujet 3]] |
| | * [[nsi:tps:exercice2:sujet_2021_6|2021 - sujet 6]] |
| | * [[nsi:tps:exercice2:sujet_2021_7|2021 - sujet 7]] |
| | * [[nsi:tps:exercice2:sujet_2021_8|2021 - sujet 8]] |
| | * [[nsi:tps:exercice2:sujet_2021_9|2021 - sujet 9]] |
| | * [[nsi:tps:exercice2:sujet_2021_10|2021 - sujet 10]] |
| | * [[nsi:tps:exercice2:sujet_2021_11|2021 - sujet 11]] |
| | * [[nsi:tps:exercice2:sujet_2021_12|2021 - sujet 12]] |
| | * [[nsi:tps:exercice2:sujet_2021_23|2021 - sujet 23]] |
| | * [[nsi:tps:exercice2:sujet_2021_24|2021 - sujet 24]] |
| | * [[nsi:tps:exercice2:sujet_2021_25|2021 - sujet 25]] |
| | * [[nsi:tps:exercice2:sujet_2021_26|2021 - sujet 26]] |
| | * [[nsi:tps:exercice2:sujet_2021_27|2021 - sujet 27]] |
| | * [[nsi:tps:exercice2:sujet_2021_30|2021 - sujet 30]] |
| |