diff --git a/.gitignore b/.gitignore index a6dbfba..9863cb4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ +## Do not save pdf by default +*.pdf + ## Core latex/pdflatex auxiliary files: *.aux *.lof diff --git a/Fiche de préparation sequence seance.odt b/Fiche de préparation sequence seance.odt new file mode 100644 index 0000000..327aa3a Binary files /dev/null and b/Fiche de préparation sequence seance.odt differ diff --git a/autres/redaction_mail/cours.tex b/autres/redaction_mail/cours.tex new file mode 100644 index 0000000..9b8e353 --- /dev/null +++ b/autres/redaction_mail/cours.tex @@ -0,0 +1,86 @@ +\documentclass[11pt,a4paper]{../../template/template_cours} +\usepackage{listings} + +\title{Rédiger un mail ou un courrier papier} +\author{Adrian Amaglio} +\def\thesequence{} + +\begin{document} +\maketitle + +Ce cours résume des codes et les outils pour préparer, structurer, rédiger et mettre en page des mails ou courriers. + +\begin{tabular}{l|l|l} + & Mail & Lettre\\ + Registre & Soutenu \\ + Fluide & 30 mots par phrase max & 20 mots par phrase max \\ + Rédaction & Phrases entrièrement rédigées (aucune abbréviation) \\ + +\end{tabular} + + +% +\section{Les formules de politesse} +Les formules de politesse encadrent tout courrier. + +\subsection{Formule d’appel} + +La formule d’appel par défaut, quand on ne peut identifier le destinataire, est « Madame, Monsieur, ». + +Trois conventions méritent d’être connues : +\begin{itemize} + \item à moins de vouloir faire preuve d’un respect particulier, on ne met pas de nom propre après « Monsieur » ou « Madame » ; + \item pour exprimer le fait qu’on apprécie son destinataire, on peut écrire « Cher Monsieur » ou « Chère Madame » ; + \item bien que la formule d’appel finisse par une virgule, le premier paragraphe commence par une majuscule. +\end{itemize} + +\subsection{Formule de congé} + +\begin{tabular}{|c|c|c|} +Situation & Dans un e-mail & Dans une lettre \\ +\hline +on écrit à un(e) supérieur(e) + & +Respectueusement + & + Veuillez agréer/ Je vous prie d’agréer, \textbf{(reprise de la formule d’appel)}, mes salutations respectueuses +\\ + On écrit à un(e) collègue, un(e) inconnu(e)… + & + Du plus au moins formel : « Respectueusement » ; « Cordialement » ; « Bien cordialement » ; « Amicalement » + & +Veuillez agréer/ Je vous prie d’agréer, (reprise de la formule d’appel), mes salutations distinguées/mes cordiales salutations. +\\ + On écrit à un(e) ami(e), un(e) membre de la famille, des personnes que l’on connaît… + & +« bonne journée », « bon travail », « bon week-end », « à bientôt », « bonne lecture »… +\\ +\end{tabular} + +% +\section{Un vocabulaire précis} +On évite les mots vagues et passe-partout, afin de gagner en précision. +a- Quelques noms communs « bateaux » (suggestion de synonymes à choisir selon le contexte) +Problème : question, besoin, sujet, oubli, panne, point de désaccord, risque, dysfonctionnement +Chose : activité, dossier, affaire, appareil, article, élément, objet, outils, question, travail +Projet : direction, entreprise, idée, initiative, motif, plan +Document : catalogue, tableau, contrat, fiche, formulaire, mode d’emploi, rapport, texte +b- Quelques adjectifs « bateaux » (suggestion de synonymes à choisir selon le contexte) +Important : considérable, décisif, central, crucial, indispensable, majeur, nécessaire, obligatoire, primordial, +sérieux +Correct : adapté, juste, régulier, décent, exact, conforme, fidèle, adéquat, approprié +Difficile : ambigu, compliqué, complexe, confus, subtil, pénible, fatigant, gênant +Simple/facile : élémentaire, fondamental, sommaire, concis, laconique, superficiel, abordable, accessible + +\section{sources} +Inspiré d’un document de Guillaume DE SAUZA à l’IUT de Valence, selon les documents suivants : +\begin{itemize} + \item AZOULAY-BISMUTH (Sylvie), Être un pro de l’e-mail : 7 étapes pour rédiger des e-mails efficaces, Paris, Eyrolles, 2014. + \item CHAUCHEYRAS (Florence) et GABORIAUX (Chloé), L’Orthographe après le bac, Paris, Ellipses, 2012. + \item HENNEBERT (Jérôme), dir., Communication DUT, Paris, Nathan, 2010. + \item NISHIMATA (Aline), Savoir rédiger vos e-mails professionnels, Gualino, Issy-les-Moulineaux, 2019 (6e éd.). + \item NISHIMATA (Aline), 100 e-mails professionnels pour bien communiquer, Gualino, Issy-les-Moulineaux, 2019. + \item OULLION (Jean-Michel), L’Orthographe sans se fouler, Paris, Marabout, 2010. + \item VERVIER (Anne), Courrier clair : outils et mode d’emploi pour vos lettres et e-mails, Edi.pro, Liège, 2017. +\end{itemize} +\end{document} diff --git a/autres/redaction_mail/meto.ods b/autres/redaction_mail/meto.ods new file mode 100644 index 0000000..8bc999f Binary files /dev/null and b/autres/redaction_mail/meto.ods differ diff --git a/autres/redaction_mail/rediger.ods b/autres/redaction_mail/rediger.ods new file mode 100644 index 0000000..f2957b3 Binary files /dev/null and b/autres/redaction_mail/rediger.ods differ diff --git a/donnees_structurees/tp_nextcloud/sujet.pdf b/donnees_structurees/tp_nextcloud/sujet.pdf index 26cd028..7bcc921 100644 Binary files a/donnees_structurees/tp_nextcloud/sujet.pdf and b/donnees_structurees/tp_nextcloud/sujet.pdf differ diff --git a/donnees_structurees/tp_nextcloud/sujet.tex b/donnees_structurees/tp_nextcloud/sujet.tex index 0847818..54baa30 100644 --- a/donnees_structurees/tp_nextcloud/sujet.tex +++ b/donnees_structurees/tp_nextcloud/sujet.tex @@ -23,7 +23,7 @@ Durée : 1h \end{exercice} \begin{exercice} - Créez un fichier texte dont vous choisirez le nom.\\ + Créez un fichier texte dont vous choisirez le nom. Attention à bien garder une extention md ou txt sans quoi le type de fichier ne sera pas reconnu~!\\ \fbox{\includegraphics[width=\textwidth]{nouveau_document_texte.png}} \end{exercice} @@ -50,7 +50,17 @@ Durée : 1h \section{Partage avec une autre instance} \begin{exercice} Choisissez un binôme dans le groupe qui est sur une autre instance Nextcloud. - Partagez lui votre dossier en lecture seule à l’aide de son identifiant nextcloud. + Partagez lui votre dossier en lecture seule à l’aide de son identifiant nextcloud.\\ + Pour ce faire, vous devrez partager le dossier comme à l’exercice précédent, en utilisant un identifiant composé du nom d’utilisateur et de l’adresse du service. Par exemple : seconde3@educloud.jean-cloud.net \end{exercice} +% --- +%\section{Partager une photo} +%\begin{exercice} +% Téléchargez une photo sur le web et enregistrez la sur votre ordinateur. Envoyez la ensuite dans votre dossier nextcloud. +%\end{exercice} +% +%\begin{exercice} +% Partagez cette photo avec un ou une autre élève (demandez-lui son compte). Quels permissions donnez-vous à ce partage ? Vérifiez qu’il ou elle a bien accès à votre photo. +%\end{exercice} \end{document} diff --git a/notes_générales/QCMs_Pronote.md b/notes_générales/QCMs_Pronote.md new file mode 100644 index 0000000..7c13947 --- /dev/null +++ b/notes_générales/QCMs_Pronote.md @@ -0,0 +1,5 @@ +# Comment faire un QCM pronote juste. + +## S’il est à faire à la maison +- Le compter comme un bonus (s’il contient une erreur, rien n’est modifiable). +- Laisser tout le trimestre pour y répondre : Les élèves raccrochent parfois à des moments aléatoires, on leur laisse leur rythme. diff --git a/nsi/nsi-von-neumann/cours.pdf b/nsi/nsi-von-neumann/cours.pdf index ba0050d..a77bd27 100644 Binary files a/nsi/nsi-von-neumann/cours.pdf and b/nsi/nsi-von-neumann/cours.pdf differ diff --git a/nsi/nsi-von-neumann/cours.tex b/nsi/nsi-von-neumann/cours.tex index cfa8213..8536425 100644 --- a/nsi/nsi-von-neumann/cours.tex +++ b/nsi/nsi-von-neumann/cours.tex @@ -41,15 +41,15 @@ Parmi ces registres, nous allons utiliser les trois suivants : \begin{description} \item[RI] le registre d'instruction ; il contient l'instruction en cours ; \item[CO] le compteur ordinal ; il contient l'adresse de la prochaine instruction à exécuter ; - \item[AC] l'accumulateur ; registre de l'UAL chargé de stocker une des opérandes avant l'exécution puis le résultat de l'opération. + \item[ACC] l'accumulateur ; registre de l'UAL chargé de stocker une des opérandes avant l'exécution puis le résultat de l'opération. \end{description} % --- \section{Les instructions} Un processeur est capable d’exécuter des instructions. \begin{definition} - Le \textbf{langage machine} est une succession de bits qui est interprétable par le processeur d'un ordinateur.\\ - Un \textbf{langage assembleur} est le langage machine machine ou des combinaisons de bits sont représentées par des "symboles" qu'un être humain peut mémoriser. + Le \textbf{langage machine} est un ensemble d’instructions binaire que le processeur peut suivre.\\ + Un \textbf{langage assembleur} est la version lisible (par les humain·e·s) de ce langage binaire. \end{definition} Un langage assembleur est souvent spécifique un type de processeur. @@ -57,16 +57,17 @@ Un langage assembleur est souvent spécifique un type de processeur. \begin{tabular}{l|l|l} Instruction machine & Instruction Assembleur & Effet \\ \hline - 0000 xxxx & LD X & Lit le contenu de la cellule X (ACC ← \#X) \\ - 0001 xxxx & STO X & Enregistre dans la cellule X (\#X ← ACC) \\ - 0010 xxxx & ADD X & Ajoute le contenu de la cellule X (ACC ← ACC + \#X) \\ - 0011 xxxx & SUB X & Soustrait le contenu de la cellule X (ACC ← ACC - \#X) \\ - 0100 aaaa & JMP ADR & Saute à l'adresse ADR (CO ← A) \\ - 0101 aaaa & JMPZ ADR & Saute à l'adresse ADR si nul \\ - 0110 aaaa & JMPP ADR & Saute à l'adresse ADR si positif \\ - 0111 aaaa & JMPN ADR & Saute à l'adresse ADR si négatif \\ + 0000 aaaa & LD A & Lit le contenu de la cellule A (ACC ← A) \\ + 0001 aaaa & STO A & Enregistre dans la cellule A (A ← ACC) \\ + 0010 aaaa & ADD N & Ajoute le contenu de la cellule A (ACC ← ACC + N) \\ + 0011 aaaa & SUB N & Soustrait le contenu de la cellule A (ACC ← ACC - N) \\ + 0100 aaaa & JMP A & Saute à l'adresse A (CO ← A) \\ + 0101 aaaa & JMPZ A & Saute à l'adresse A (CO ← A) si ACC = 0\\ + 0110 aaaa & JMPP A & Saute à l'adresse A (CO ← A) si ACC > 0 \\ + 0111 aaaa & JMPN A & Saute à l'adresse A (CO ← A) si ACC < 0 \\ \end{tabular} - \caption{Un exemple de langage machine, dont une opération est numérotée sur 4 bits et un paramètre sur 4 bits également.} + \caption{Un exemple de langage machine, dont une opération est numérotée sur 4 bits et un paramètre sur 4 bits également.\\ + \#A signifie, la valeur de la case d’adresse A.} \end{figure} Voici un exemple d’état de la mémoire et des registres. @@ -84,14 +85,14 @@ Que va faire le processeur ainsi démarré ? 10 & STO 2 \\ 11 & END \\ \end{tabular}\hspace{5em} -\begin{tabular}{l|l|l|l|l|l} - Étape & RI & CO & Acc & RAM1 & RAM2 \\ +\begin{tabular}{l|l|l|l} + Étape & RI & CO & Acc\\ \hline - Initiale & Ø & 8 & Ø & 25 & 14 \\ - 1 & & & & & \\ - 2 & & & & & \\ - 3 & & & & & \\ - 4 & & & & & \\ + Initiale & & 8 & \\ + 1 & & & \\ + 2 & & & \\ + 3 & & & \\ + 4 & & & \\ \end{tabular} \end{figure} @@ -112,14 +113,14 @@ Complétez le tableau de droite pour simuler les actions du processeur et essaye 10 & STO 2 \\ 11 & END \\ \end{tabular}\hspace{5em} -\begin{tabular}{l|l|l|l|l|l} - Étape & RI & CO & Acc & RAM1 & RAM2 \\ +\begin{tabular}{l|l|l|l} + Étape & RI & CO & Acc \\ \hline - Initiale & & 8 & & & \\ - 1 & & & & & \\ - 2 & & & & & \\ - 3 & & & & & \\ - 4 & & & & & \\ + Initiale & & 8 & \\ + 1 & & & \\ + 2 & & & \\ + 3 & & & \\ + 4 & & & \\ \end{tabular} \end{figure} @@ -139,21 +140,24 @@ Complétez le tableau de droite pour simuler les actions du processeur et essaye 10 & JMP 8 \\ 11 & END \\ \end{tabular}\hspace{5em} -\begin{tabular}{l|l|l|l|l|l} - Étape & RI & CO & Acc & RAM1 & RAM2 \\ +\begin{tabular}{l|l|l|l} + Étape & RI & CO & Acc \\ \hline - Initiale & & 8 & & & \\ - 1 & & & & & \\ - 2 & & & & & \\ - 3 & & & & & \\ - 4 & & & & & \\ - 5 & & & & & \\ - 6 & & & & & \\ - 7 & & & & & \\ - 8 & & & & & \\ + Initiale & & 8 & \\ + 1 & & & \\ + 2 & & & \\ + 3 & & & \\ + 4 & & & \\ + 5 & & & \\ + 6 & & & \\ + 7 & & & \\ + 8 & & & \\ \end{tabular} \end{figure} +\subsection{Exercice} + \textbf{Bonus.} + Écrire un programme en langage assembleur qui récupère la valeur en RAM à l’adresse 0, à ajoute 1 et stock le résultat à l’adresse 0. \subsection{Exercice} \textbf{Bonus.} Voici un exemple d’état de la mémoire et des registres. @@ -174,18 +178,18 @@ Complétez le tableau de droite pour simuler les actions du processeur et essaye 13 & STO 0 \\ 14 & END \\ \end{tabular}\hspace{5em} -\begin{tabular}{l|l|l|l|l|l} - Étape & RI & CO & Acc & RAM1 & RAM2 \\ +\begin{tabular}{l|l|l|l} + Étape & RI & CO & Acc \\ \hline - Initiale & & 8 & & & \\ - 1 & & & & & \\ - 2 & & & & & \\ - 3 & & & & & \\ - 4 & & & & & \\ - 5 & & & & & \\ - 6 & & & & & \\ - 7 & & & & & \\ - 8 & & & & & \\ + Initiale & & 8 & \\ + 1 & & & \\ + 2 & & & \\ + 3 & & & \\ + 4 & & & \\ + 5 & & & \\ + 6 & & & \\ + 7 & & & \\ + 8 & & & \\ \end{tabular} \end{figure} diff --git a/nsi/web_html/index.html b/nsi/web_html/index.html new file mode 100644 index 0000000..dad0ba6 --- /dev/null +++ b/nsi/web_html/index.html @@ -0,0 +1,30 @@ + + +
+ +Merci d’avoir lu cette magnifique page web…
+ + + + Ceci est un lien vers la recherche de Google + + + + + + + + + + + + + diff --git a/nsi/web_html/script.js b/nsi/web_html/script.js new file mode 100644 index 0000000..ad920bb --- /dev/null +++ b/nsi/web_html/script.js @@ -0,0 +1,3 @@ +document.getElementById('paragraphe').innerText="lol" +document.getElementById('paragraphe').style="color:red;" + diff --git a/nsi_algorithmes/algorithmes.txt b/nsi_algorithmes/algorithmes.txt new file mode 100644 index 0000000..8ed5e8b --- /dev/null +++ b/nsi_algorithmes/algorithmes.txt @@ -0,0 +1,186 @@ +----------------------- Recherche d'un élément dans un tableau ----------------------- + +Données : +L un tableau de nombre +N le nombre d'éléments dans le tableau +E l'élément que l'on cherche + +Résultat : +Vrai : si l'élément est dans le tableau +Faux : S'il n'y est pas + +Algorithme : +pour compteur allant de 0 à N-1 faire + si L[compteur] <- E alors + on renvoie Vrai et on termine le programme + finsi +finpour +on renvoie Faux + + +----------------------- Calcul de la moyenne des nombre d'un tableau ----------------------- + +Données : +L un tableau de nombre +N le nombre d'éléments dans le tableau + +Résultat : +la moyenne des éléments de L + +Algorithme : +M <- 0 +compteur <- 0 +pour compteur allant de 0 à N-1 faire + M <- M+L[compteur] +finpour +M <- M/N + + + + + +----------------------- Calcul de la somme des nombres d'un tableau ----------------------- + +Données : +L un tableau de nombre +N le nombre d'éléments dans le tableau + +Résultat : + la somme des éléments de L + +Algorithme : + <- 0 +compteur <- 0 +pour compteur allant de 0 à N-1 faire + m <- M+L[compteur] +finpour + + + +----------------------- Recherche du minimum d'un tableau ----------------------- + +Données : +L un tableau de nombre +N le nombre d'éléments dans le tableau + +Résultat : + le minimum des éléments de L + +Algorithme : + <- L[0] +compteur <- 0 +pour compteur allant de 0 à N-1 faire + si M > L[compteur] alors + M <- L[compteur] + finsi +finpour + + +----------------------- Tri par sélection ----------------------- +Données : +T : Un tableau d’éléments indexés de 0 à N-1 + +Résultat : +T : Le tableau sera trié + +Algorithme : +N <- longeur(T) +pour i allant de 0 à N-2 faire + Imin <- i + pour j allant de i+1 à N-1 faire + si T[j] < T[Imin] alors + Imin <- j + finsi + finpour + échanger T[i] et T[Imin] +finpour + + +----------------------- Tri par insertion ----------------------- +Données : +T : Un tableau d’éléments indexés de 0 à N-1 + +Résultat : +T : Le tableau sera trié + +Algorithme : +N <- longeur(T) +pour i allant de 1 à N-1 faire + j <- i + tant que j>0 et T[j] > T[j-1] faire + échanger T[j] et T[j-1] + j <- j-1 + fintantque +finpour + + + +----------------------- Recherche dichotomique ----------------------- + +Données : +L : un tableau trié par ordre croissant et non vide, indexé de 0 à N-1 +El : l'élément que l'on cherche + +Résultat : +Trouvé : Si l'élément est dans le tableau +Pas trouvé : Sinon + +Algorithme : +Bmin <- 0 +Bmax <- longueur(L)-1 +tant que Bmin <= Bmax faire + med <- (Bmin+Bmax) // 2 + si L[med] > El alors + Bmax <- med-1 + sinon si L[med] < El alors + Bmin <- med+1 + sinon faire + renvoyer 'Trouvé' + finsi +fintantque +renvoyer 'Pas trouvé' + + +----------------------- Rendu de monaie ----------------------- + +Données : +P le tableau de pièces que l'on peut rendre +arendre le montant à rendre + +Algorithme : +pour compteur allant de 0 à longueur(L): + tant que P[compteur] <= arendre faire + rendre P[compteur] + arendre <- arendre - P[compteur] + fintantque +finpour + +----------------------- K plus proches voisins ----------------------- +Notes : + - Seul le principe est à connaitre, pas le calcul spécifique de la distance. + +Données : +T un tableau (0,N-1) contenant les données d’entrainement + Chaque élément du tableau est un tuple contenant la position sur le + graphique et la classe : (X, Y, nom) +E un élément dont on connait la position et dont on veut estimer la classe + C’est également un tuple mais sans classe : (X, Y) +k le nombre de voisins dont on va regarder la classe + +Algorithme : +# Ce tableau contiendra des tuples (distance, classe) +distances <- tableau vide de taille N +pour i allant de 0 à N-1 faire + distances[i] <- ( racine( (E[0]-T[i][0])^2 + (E[1]-T[i][1])^2) , T[i][2]) +finpour + +distances_triées <- distances trié par distance croissante + +voisins <- [] +pour i allant de 0 à k-1 faire + voisins <- voisins suivi de distances_triées[i][1] +finpour + +Compter le nombre d’occurence de chaque classe dans le tableau voisins +classe <- la classe avec le plus d’occurences +renvoyer classe diff --git a/nsi_algorithmes/controle/controle.tex b/nsi_algorithmes/controle/controle.tex new file mode 100644 index 0000000..bc01be6 --- /dev/null +++ b/nsi_algorithmes/controle/controle.tex @@ -0,0 +1,43 @@ +\documentclass[11pt,a4paper]{../../template/template_cours} +\usepackage{enumitem} % pour reprendre des énums en cours + +\title{Contrôle} +\author{Adrian Amaglio} +\def\thesequence{Les algorithmes} +\def\thelevel{NSI première} + +\begin{document} +\maketitle +Tout moyen de communication, appareil électronique ou document est interdit. Toute triche engendrera des points en moins sur la note finale.\\ + +\subsection*{Moyenne d’un tableau} +\terseQ{Écrivez un algorithme permettant de calculer la moyenne des éléments d’un tableau.}\\ +\terseQ{Quelle est sa complexité dans le meilleur cas, le pire cas et en moyenne ?} + +\subsection*{Tri par sélection} +\terseQ{Expliquez le principe du tri par sélection.}\\ +\terseQ{Écrivez un algorithme de tri par sélection.}\\ +\terseQ{Quelle est sa complexité dans le meilleur cas, le pire cas et en moyenne ?}\\ +\terseQ{Montrez la correction de cet algorithme de tri.} +Vous utiliserez comme invariant le fait que la partie gauche du tableau est toujours triée. +Si votre boucle principale va de i à N (la taille du tableau), l’invariante sera la proposition suivante :\\ +Le tableau est trié entre les indices 0 et i. + +\subsection*{Recherche dichotomique} +\terseQ{Expliquez le principe de la recherche dichotomique.}\\ +\terseQ{Écrivez l’algorithme de recherche dichotomique.}\\ +\terseQ{Montrer la terminaison de cet algorithme.} +Vous pourrez utiliser le variant suivant : borne\_max - borne\_min décroit strictement à chaque tour de boucle. + +\subsection*{K plus proches voisins} +\terseQ{Expliquez le principe de l’algorithme des K plus proches voisins.}\\ +\terseQ{Écrivez l’algorithme des K plus proches voisins.} +Vous pouvez rester vague dans les instructions comme vu en cours.\\ +\terseQ{Quelle est sa complexité dans le meilleur, le pire cas et en moyenne ?} + +\subsection*{Rendu de monnaie} +\terseQ{Expliquez le principe de l’algorithme du rendu de monnaie.}\\ +\terseQ{Écrivez cet algorithme.}\\ +\terseQ{\textit{Bonus} Lorsqu’on l’implémente ne python quel problème rencontre-t-on si l’on souhaite rendre 2,85 € ?} + +\end{document} diff --git a/nsi_python/projet_tkinter/bareme.txt b/nsi_python/projet_tkinter/bareme.txt new file mode 100644 index 0000000..c12be52 --- /dev/null +++ b/nsi_python/projet_tkinter/bareme.txt @@ -0,0 +1,11 @@ +Barème de notation : +- Votre programme devra être découpé en plusieurs fonctions, chaque fonction doit avoir un rôle donné. /3 +- Chaque fonction devra avoir sa « docstring » qui précisera le rôle et le type de chaque paramètre. /3 +- Quand c’est pertinent, les fonctions devront fixer des préconditions sur les paramètres à l’aide de l’instruction « assert » /2 +- Quand c’est pertinent, les fonctions devront fixer des postconditions sur leur résultat à l’aide de l’instruction « assert » /2 +- Chaque fonction devra être testée individuellement (ce que l’on appelle des tests unitaires) à l’aide de l’instruction « assert ». /3 +- Votre programme devra avoir une interface graphique (avec tkinter par exemple) /3 +- votre programme a au moins un bouton qui provoque un changement lorsqu’il est cliqué /2 +- votre programme a au moins un texte qui change après une action d’un·e utilisateur·ice /2 +- Bonus : Votre programme peut aussi être lancé avec une interface texte (pas de fenêtre, juste des print et des input) /2 +- Bonus : Votre programme fonctionne bien /2 diff --git a/nsi_python/projet_tkinter/exemple1/main.py b/nsi_python/projet_tkinter/exemple1/main.py new file mode 100644 index 0000000..f1c4653 --- /dev/null +++ b/nsi_python/projet_tkinter/exemple1/main.py @@ -0,0 +1,57 @@ +from tkinter import * + +############################################################################### +# Fonction de navigation entre les fenêtres +############################################################################### + +def afficher_fenetre1(): + racine.withdraw() # cacher la fenetre racine + fenetre1.deiconify() # afficher la fenetre1 + +def afficher_racine(): + fenetre1.withdraw() # cacher la fenetre racine + racine.deiconify() # afficher la fenetre1 + + +############################################################################### +# Définitions de la fenêtre racine +############################################################################### + +# La fenêtre racine. Il ne peut y en avoir qu’une. +racine = Tk() + +# On met un label sur la racine pour identifier la fenêtre. +label1 = Label(racine, text="""Ceci est la fenêtre racine, l’application se termine lorsqu’on la ferme.""") +label1.pack() + +# On a un bouton qui ouvre une nouvelle fenetre +button1 = Button(racine, text="afficher", command=afficher_fenetre1) +button1.pack() + +############################################################################### +# Définitions de la fenêtre 1 +############################################################################### + +# On peut créer autant de fenêtres toplevel que l’on veut +fenetre1 = Toplevel(racine) +label2 = Label(fenetre1, text="""Ceci est une fenêtre en plus, la fermer n’affectera pas les autres.""") +label2.pack() + +# Un bouton pour quiter le programme. Il appelle la fonction racine.quit() +bouton_quiter = Button(fenetre1, text="quiter", command=racine.quit) +bouton_quiter.pack() + +# Un bouton qui revient à la fenetre racine +bouton_racine = Button(fenetre1, text="Retour", command=afficher_racine) +bouton_racine.pack() + +# On cache la fenetre1 +fenetre1.withdraw() + + +############################################################################### +# Démarrage du programme +############################################################################### + +racine.mainloop() + diff --git a/nsi_python/projet_tkinter/exemple2/Accueil.py b/nsi_python/projet_tkinter/exemple2/Accueil.py new file mode 100644 index 0000000..22b2abb --- /dev/null +++ b/nsi_python/projet_tkinter/exemple2/Accueil.py @@ -0,0 +1,44 @@ +from tkinter import * +############################################################################### +# Fonctions de la fenêtre 1 +############################################################################### +def start_game(): + print('lol') + fen1.quit() + fen2.mainloop() + +############################################################################### +# Définition de la fenêtre 1 +############################################################################### +fen1=Tk() +fen1.title("Accueil") + +t1=Label(fen1,text="") +t1.grid(row=0,column=0) + +j1=Entry(fen1,bg="grey",bd=4) +j1.grid(row=2,column=0) + +b1=Button(fen1,text="entrer", command=start_game) +b1.grid(row=2,column=1) + + + +############################################################################### +# Définition de la fenêtre 1 +############################################################################### + +fen2=Tk() +fen2.title("Page de jeu") + +b1=Button(fen2,text="PIERRE") +b1.grid(row=2,column=1) + +b2=Button(fen2,text="FEUILLE") +b2.grid(row=2,column=2) + +b3=Button(fen2,text="CISEAUX", command=fen2.quit) +b3.grid(row=2,column=3) + +if __name__ == '__main__': + fen1.mainloop() diff --git a/python/tp_intro_turtle/sujet.pdf b/python/tp_intro_turtle/sujet.pdf index f522edd..d415926 100644 Binary files a/python/tp_intro_turtle/sujet.pdf and b/python/tp_intro_turtle/sujet.pdf differ diff --git a/python/tp_intro_turtle/sujet.tex b/python/tp_intro_turtle/sujet.tex index bfc5fd1..0a40475 100644 --- a/python/tp_intro_turtle/sujet.tex +++ b/python/tp_intro_turtle/sujet.tex @@ -37,7 +37,7 @@ left(45) \section{Triangles, carrés et plus si affinités} -Voici un programme Python qui trace deux traits de 100 pixels +Voici un programme Python qui trace deux traits de 50 pixels \begin{example} \begin{minted}{python} forward(50) @@ -52,11 +52,11 @@ forward(50) \end{exercice} \begin{exercice} - Complétez ce programme pour qu’il affiche un triangle. + Complétez ce programme pour qu’il dessine un triangle. \end{exercice} \begin{exercice} - Modifiez ce programme Python pour qu’il dessine un carré (polygone régulier à 4 côtés). + Modifiez maintenant ce programme Python pour qu’il dessine un carré (polygone régulier à 4 côtés). \end{exercice} \begin{exercice} @@ -67,7 +67,7 @@ forward(50) % \section{Répétons des instructions} \begin{example} - Vous aurez remarqué que pour tracer des polygones, on copie colle les instructions forward et left. + Vous aurez remarqué que pour tracer des polygones, on répète les instructions forward et left. Pour éviter cette pratique inefficace, nous allons utiliser une boucle pour répéter des instructions. Par exemple, le programme suivant trace un triangle en répétant trois fois les instructions forward et left. \begin{minted}{python} @@ -109,7 +109,7 @@ for compteur in range(nb_cotes): \section{Écrire un sous-programme} -Pour tracer plusieurs polygone, il nous faudrait copier-coller notre programme. +Pour tracer plusieurs polygone, il nous faudrait répéter notre programme. Le résultat serait difficile à lire et donc à comprendre… Nous allons créer une fonction (c’est un sous-programme) capable de tracer n’importe quel polygone. Nous pourrons alors exécuter ce sous-programme dès que besoin. @@ -141,11 +141,12 @@ end_fill() Écrivez un programme qui trace un damier de 6 cases par 6 cases. Les couleurs des cases doivent alterner blanc et noir. \\\textbf{Faites vérifier le programme par le professeur} - \\Indices : + \\Étapes conseillées : \begin{itemize} - \item Écrivez une fonction carre() traçant un carré et carreN() traçant un carré noir. Vous pourrez ainsi construire le damier à l’aide de ces deux fonctions. - \item Écrivez une fonction ligne() qui trace une ligne de damier. - \item Essayez ensuite d’exécuter la fonction ligne() pour tracer le damier. + \item Écrivez une fonction carreB() traçant un carré et carreN() traçant un carré noir. Vous pourrez ainsi construire le damier à l’aide de ces deux fonctions. + \item Écrivez une fonction ligneB() qui trace une ligne de damier (c’est à dire 3 carrés noirs alternés avec 3 carrés blancs) qui commence par un carré blanc. + \item Écrivez une fonction ligneN() qui trace une ligne de damier qui commence par un carré noir. + \item Essayez ensuite d’exécuter plusieurs fois les fonctions ligneB() et ligneN() pour tracer le damier. \end{itemize} \end{exercice} diff --git a/urls.md b/urls.md index 2232a9d..5b75d3c 100644 --- a/urls.md +++ b/urls.md @@ -5,3 +5,10 @@ https://gitlab.com/eskool/profs-info https://groupes.renater.fr/sympa/arc/numerique-sciences-informatiques https://groupes.renater.fr/sympa/arc/sciences-numeriques-technologie https://nsi.xyz/category/projets/ + +commandes ssh +https://overthewire.org/wargames/bandit/bandit33.html + +python web +http://modpython.org/live/current/doc-html/tutorial.html#a-quick-start-with-the-publisher-handler + diff --git a/web/controle/test/simple.tex b/web/controle/test/simple.tex deleted file mode 100644 index 9f7c7ca..0000000 --- a/web/controle/test/simple.tex +++ /dev/null @@ -1,331 +0,0 @@ -\documentclass[a4paper]{article} - -\usepackage[utf8x]{inputenc} -\usepackage[T1]{fontenc} -\usepackage{listings} - - -\usepackage[francais,bloc,completemulti]{automultiplechoice} -\begin{document} - -\setdefaultgroupmode{withoutreplacement} - -\element{navmdr}{ -\begin{questionmult}{navigateur} - À quoi sert un navigateur ? - \begin{reponses} - \bonne{À télécharger des documents sur le web} - \bonne{À afficher des pages web} - \mauvaise{À trouver des sites web selon des mots clés} - \mauvaise{À remplacer parfois le moteur de recherche} - \end{reponses} -\end{questionmult} -} - -\element{navmdr}{ -\begin{question}{mdr} - À quoi sert un moteur de recherche ? - \begin{reponses} - \mauvaise{À télécharger des documents sur le web} - \mauvaise{À afficher des pages web} - \bonne{À trouver des sites web selon des mots clés} - \mauvaise{À remplacer parfois le navigateur} - \end{reponses} -\end{question} -} - -\element{urls}{ -\begin{question}{protocole} - On considère l’URL suivante : \textit{https://www.ecosia.org/search?q=framasoft}\\ - Le morceau d’URL \textit{https://} est appellé : - \begin{reponses} - \bonne{Le protocole} - \mauvaise{Le nom ou l’adresse du serveur} - \mauvaise{Le chemin} - \mauvaise{Les paramètres} - \mauvaise{L’URL} - \mauvaise{La recherche} - \end{reponses} -\end{question} -} - -\element{urls}{ -\begin{question}{adresse} - On considère l’URL suivante : \textit{https://framasoft.org/fr/}\\ - Le morceau d’URL \textit{framasoft.org} est appellé : - \begin{reponses} - \mauvaise{Le protocole} - \bonne{Le nom ou l’adresse du serveur} - \mauvaise{Le chemin} - \mauvaise{Les paramètres} - \mauvaise{L’URL} - \mauvaise{La recherche} - \end{reponses} -\end{question} -} - -\element{urls}{ -\begin{question}{url} - On considère l’URL suivante : \textit{https://framasoft.org/fr/}\\ - Le morceau d’URL \textit{/fr/} est appellé : - \begin{reponses} - \mauvaise{Le protocole} - \mauvaise{Le nom ou l’adresse du serveur} - \bonne{Le chemin} - \mauvaise{Les paramètres} - \mauvaise{L’URL} - \mauvaise{La recherche} - \end{reponses} -\end{question} -} - -\element{urls}{ -\begin{question}{param} - On considère l’URL suivante : \textit{https://www.mon-ent-occitanie.fr/sg.do?PROC=CHARTE\_UTILISATION}\\ - Le morceau d’URL \textit{?PROC=CHARTE\_UTILISATION} est appellé : - \begin{reponses} - \mauvaise{Le protocole} - \mauvaise{Le nom ou l’adresse du serveur} - \mauvaise{Le chemin} - \bonne{Les paramètres} - \mauvaise{L’URL} - \mauvaise{La recherche} - \end{reponses} -\end{question} -} - -\element{urls}{ -\begin{question}{secure} - On considère l’URL suivante : \textit{http://julesguesde.fr}\\ - Cette URL est-elle sécurisée et pourquoi ? - \begin{reponses} - \bonne{Non car elle commence par http} - \mauvaise{Oui car elle commence par http} - \mauvaise{Oui car c’est le site du lycée} - \mauvaise{Non car c’est le site du lycée} - \end{reponses} -\end{question} -} - -\element{cookies}{ -\begin{question}{cookie} - Concrètement, qu’est-ce qu’un cookie ? - \begin{reponses} - \bonne{Un petit texte} - \mauvaise{Un logiciel espion} - \mauvaise{Un petit biscuit numérique} - \end{reponses} -\end{question} - -} - -\element{cookies}{ -\begin{question}{cookiestore} - Où sont stockés les cookies ? - \begin{reponses} - \bonne{Dans le navigateur} - \mauvaise{Dans le serveur} - \mauvaise{Sur le réseau} - \mauvaise{Dans la page web} - \end{reponses} -\end{question} - -} - -\element{cookies}{ -\begin{question}{cookieask} - Qui demande à stocker des cookies ? - \begin{reponses} - \bonne{Le serveur} - \mauvaise{Le navigateur} - \mauvaise{Le réseau} - \mauvaise{La page web} - \end{reponses} -\end{question} - -} - -\element{cookies}{ -\begin{question}{cookieresend} - Quand est-ce que le cookie est envoyé au serveur ? - \begin{reponses} - \bonne{À chaque requête} - \mauvaise{À la première connexion} - \mauvaise{Quand on se reconnecte au réseau} - \mauvaise{Quand il a besoin de réconfort} - \end{reponses} -\end{question} - -} - -\element{cookies}{ -\begin{questionmult}{cookiegoal} - À quoi sert un cookie ? - \begin{reponses} - \bonne{À identifier une personne sur le web} - \bonne{À enregistrer une préférence} - \mauvaise{À voler des identifiants} - \mauvaise{À décider si la publicité sera affichée} - \end{reponses} -\end{questionmult} - -} - -\element{cookies}{ -\begin{questionmult}{cookiereset} - Comment faire pour être considéré comme une nouvelle personne par les serveurs web ? - \begin{reponses} - \bonne{Passer en navigation privée} - \bonne{Supprimer les cookies} - \mauvaise{Utiliser un VPN} - \mauvaise{Changer de connexion à internet} - \mauvaise{Mettre une veste à capuche et taper très vite au clavier} - \end{reponses} -\end{questionmult} - -} - - -\element{html}{ -\begin{questionmult}{titre} - Quel·s sera ou seront le·s titre·s affiché·s en haut de la page web ? - \begin{reponses} - \bonne{Voici un exemple de site web} - \mauvaise{Il est possible d'ecrire du texte sur un site web !} - \mauvaise{Un bel exemple} - \mauvaise{h1} - \mauvaise{title} - \end{reponses} -\end{questionmult} - -} - -\element{html}{ -\begin{question}{paragraphe} - Quelle sera le texte de la page ? - \begin{reponses} - \bonne{Il est possible d'ecrire du texte sur un site web !} - \mauvaise{Il est possible d'ecrire du texte sur un site web !
} - \mauvaise{p} - \mauvaise{Un bel exemple} - \end{reponses} -\end{question} -} - -\element{html}{ -\begin{question}{couleurtext} - Quelle sera la couleur du texte dans le paragraphe ? Vous pourrez vous aider de l’annexe 1. - \begin{reponses} - \bonne{Verte} - \mauvaise{Noire} - \mauvaise{Rouge} - \mauvaise{Autre} - \end{reponses} -\end{question} -} -\element{html}{ -\begin{question}{couleurtitre} - Quelle sera la couleur du texte dans le titre ? Vous pourrez vous aider de l’annexe 1. - \begin{reponses} - \mauvaise{Verte} - \bonne{Noire} - \mauvaise{Rouge} - \mauvaise{Autre} - \end{reponses} -\end{question} -} -\element{html}{ -\begin{question}{souligne} - Quel texte sera souligné ? Vous pourrez vous aider de l’annexe 1. - \begin{reponses} - \mauvaise{Le paragraphe} - \bonne{Le titre} - \mauvaise{Aucun} - \end{reponses} -\end{question} -} - - -\exemplaire{25}{ - -%%% debut de l'en-tête des copies : - -\noindent{\bf QCM \hfill SNT : Le web} - -\vspace*{.5cm} -\begin{minipage}{.4\linewidth} -\centering\large\bf -Contrôle de SNT sur le web -\end{minipage} -\champnom{\fbox{ - \begin{minipage}{.5\linewidth} - Nom et prénom : - - \vspace*{.5cm}\dotfill - \vspace*{1mm} - \end{minipage} -}} - -\begin{center}\em -LISEZ CE TEXTE ATTENTIVEMENT PLUSIEURS FOIS. - -Pour cocher une case il faut la noircir complètement. -Pour anuler, il faut effacer au blanc. - -Durée : 30 minutes. - - Aucun document n'est autorisé. - Il est interdit d’utiliser des outils de calcul autre que votre cerveau. - Il est interdit d’utiliser tout moyen de communication (téléphone, papiers, pots de yaourt…) - - Les questions faisant apparaître le symbole \multiSymbole{} peuvent - présenter zéro, une ou plusieurs bonnes réponses. Les autres ont - une unique bonne réponse. - - Les mauvaises réponses ne rapportent pas de points négatifs. - -\end{center} -\vspace{1ex} - -%%% fin de l'en-tête -\subsection*{Définitions} -\insertgroup{navmdr} - -\subsection*{Cookies} -\insertgroup{cookies} - -\subsection*{Les URLs} -\insertgroup{urls} - -\newpage -\subsection*{HTML et CSS} -On considère les fichiers html et css suivants :\\ -\begin{samepage} -\rule{\linewidth}{1px} -\lstinputlisting[language=HTML]{index.html} -\rule{\linewidth}{1px} -\end{samepage} -\begin{samepage} -\lstinputlisting[language=HTML]{style.css} -\rule{\linewidth}{1px} -\end{samepage} - -\insertgroup{html} - -\subsection*{Annexe 1 : Quelques règles CSS} -\begin{description} - \item[font-size: 10px;] Spécifie que le texte fera 10 pixels de haut. - \item[color: red;] colorie le texte en rouge. - \item[color: green;] colorie le texte en vert. - \item[border: 1px solid black;] Spécifie un cadre de 1px de couleure noire. - \item[background-color: blue;] Colorie le fond du bloc en bleu. - \item[text-decoration: underline;] souligne le texte. - \item[letter-spacing: 3px;] Fixe l’espace entre les lettres à 3 pixels. -\end{description} -Le texte est affiché en noir quand aucune règle CSS ne précise de couleur. - - - -} - -\end{document}