2022-2023/1NSI/07_Representation_de_texte/exercises.tex
Bertrand Benjamin 809c20cc21
All checks were successful
continuous-integration/drone/push Build is passing
Feat(NSI): fin du chapitre sur les string
2023-02-14 11:36:18 +01:00

82 lines
4.1 KiB
TeX

\begin{exercise}[subtitle={Table ASCII}, step={1}, origin={}, topics={ Representation de texte }, tags={ ASCII, Chiffrement }]
Voici la table de caractère ASCII
\begin{center}
\includegraphics[scale=0.35]{./fig/ascii_table}
\end{center}
\begin{enumerate}
\item Quels sont les caractères absents de cette table?
\item Combien de bits sont nécessaires pour encoder un caractère avec la table ascii? Combien d'octets?
\item Encoder en binaire puis en héxadécimal grâce à la table ASCII le message \Ovalbox{\texttt{NSI <3}}.
\item Décoder grace à la table ASCII le message
\begin{center}
01001101 01100001 01110100 01101000 00100000 00101011 00100000 01010011 01010110 01010100 00100000 00101011 00100000 01010000 01000011 00100000 00111101 00100000 00111100 00110011
\end{center}
\item Décoder grace à la table ASCII le message
\begin{center}
4D 61 74 68 3A 29
\end{center}
\item Le programme de première NSI contient \np{25107} caractères. Quelle sera son poids s'il est numérisé en ASCII? Vous exprimerez le résultat en octet et en bit.
\end{enumerate}
\end{exercise}
\begin{exercise}[subtitle={Table ASCII et Python}, step={1}, origin={}, topics={ Representation de texte }, tags={ ASCII, Chiffrement }]
En Python, il existe deux fonctions qui permettent de convertir un caractère en son point de code (lisez place dans la table ASCII pour le moment) en décimal et inversement.
\begin{itemize}
\item \mintinline{python}{ord}: caractère vers point de code
\item \mintinline{python}{chr}: point de code vers le caractère
\end{itemize}
\begin{enumerate}
\item Avec python afficher les 128 craactères de la table ascii (Bonus: faites les apparaitres sur 4 colonnes comme dans la table au dessus).
\item Comparer le résultat avec la table obtenu.
\end{enumerate}
\end{exercise}
\begin{exercise}[subtitle={Norme ISO-8859-1}, step={1}, origin={}, topics={ Representation de texte }, tags={ ASCII, Chiffrement }]
\begin{enumerate}
\item Chercher la table d'encodage ISO-8859-1 (ou latin-1).
\item Comparer cette table avec la table ASCII.
\item Encoder le mot \texttt{a«€éø}
\end{enumerate}
\end{exercise}
\begin{exercise}[subtitle={Unicode table}, step={2}, origin={}, topics={ Representation de texte }, tags={ ASCII, Chiffrement }]
La norme Unicode découpe le processus d'encodage en deux parties: le point de code et l'encodage.
Vous trouverez les points de code et les encodages correspondant sur le moteur de recherche \url{https://unicode-table.com/fr}.
\begin{enumerate}
\item Compléter le tableau ci-dessous avec les points de code et les encodage (représentée sous la forme qui vous semble la plus familière).
\begin{center}
\begin{tabular}{|p{3cm}|p{3cm}|p{3cm}|p{3cm}|p{3cm}|}
\hline
Caractère & Point de code & UTF-8 & UTF-16BE & UTF-32BE \\
\hline
I & & & &\\
\hline
\euro & & & &\\
\hline
$\aleph$ & & & &\\
\hline
& U+20B3 & & &\\
\hline
& U+1F606 & & &\\
\hline
& U+FE9A & & &\\
\hline
\end{tabular}
\end{center}
\item Quels sont les caractères qui sont inclus dans la norme Unicode?
\item Quels sont les encodages possibles et quelles sont leur caractéristiques?
\item Comment est placé la table ASCII dans cette norme?
\end{enumerate}
\end{exercise}
\begin{exercise}[subtitle={Exploration de l'Unicode}, step={2}, origin={}, topics={ Representation de texte }, tags={ ASCII, Chiffrement }]
Notebook \texttt{02_unicode}
\end{exercise}
\begin{exercise}[subtitle={Encodage UTF-8}, step={2}, origin={}, topics={ Representation de texte }, tags={ ASCII, Chiffrement }]
On verra...
\end{exercise}