Retour

td01.tex

Télécharger le fichier Fichier PDF
Image PNG
\documentclass[11pt,a4paper,pdftex]{article}
\usepackage[latin1]{inputenc}
\usepackage[frenchb]{babel}
\usepackage[garamond]{mathdesign}
\usepackage{geometry,multicol}
\usepackage{xcolor,graphicx}
\usepackage{pifont}
 
\renewcommand{\ttdefault}{lmtt}
 
\definecolor{gris}{gray}{0.9}
\definecolor{DarkSlateBlue}{rgb}{0.28,0.24,0.55}
\definecolor{firebrick}{rgb}{0.7,0.13,0.13}
\parindent0pt
\geometry{margin=1cm,nohead,nofoot}
\pagestyle{empty}
 
\newlength{\largeur}
\setlength{\largeur}{\textwidth}
\addtolength{\largeur}{-2\fboxsep}
\addtolength{\largeur}{-2\fboxrule}
 
\renewcommand{\tt}[1]{\texttt{\bfseries\color{firebrick} #1}}
\newcommand{\mathematica}{\textit{\bfseries\color{DarkSlateBlue}Mathematica}}
 
\makeatletter
\renewcommand\section{\@startsection {section}{1}{\z@}%
    {-3.5ex \@plus -1ex \@minus -.2ex}%
    {2.3ex \@plus .2ex}%
    {\centering\Large\scshape\bfseries}}
\makeatother
 
 
\def\imp{\(\Rightarrow\)}
 
\begin{document}
\fcolorbox{black}{gris}{\parbox{\largeur}{
\Large
PTSI -- Lycée Louis Armand -- POITIERS
 
\textbf{Mathématiques}
 
TP Mathematica N°1 (2 heures)\hfill Vendredi 7 mars 2008
}}
\vspace{5mm}
 
\section*{Les expressions}
\begin{multicols}{2}
\begin{dingautolist}{'300}
 
    \item Écrire quelques expressions.
\begin{verbatim}
e1 = a + b + c; e2 = a + b * c
e3 = {a + b, c}
e4 = 18.; e5 = 36/2
\end{verbatim}
 
    \item Utiliser les instructions \tt{FullForm}, \tt{Head} et
    \tt{TreeForm} pour comprendre comment \mathematica{} en fait
    l'analyse.
\end{dingautolist}
 
\end{multicols}
 
 
\section*{Un peu de logique}
\begin{multicols}{2}
 
\begin{dingautolist}{'300}
 
    \item Définir quelques listes.
\begin{verbatim}
l1 = {1,2,3,4}
l2 = {a,b,c,d}
l3 = {t,u,v,x,y,z}
\end{verbatim}
 
    \item Appréhender l'instruction \tt{Outer}.
\begin{verbatim}
Outer[Plus,l1,l2]
Outer[Times,l1,l2]
Outer[List,l1,l2]
Outer[List,l1,l2,l3]
\end{verbatim}
 
    \item Présentation des listes avec \tt{TableForm}. 
 
    \item Définir la table de vérité, de référence.
\begin{verbatim}
VF = {True, False}
\end{verbatim}
 
    \item Manipuler les connecteurs logiques \tt{Or}, \tt{And},
    \tt{Not}, \tt{Xor}, \tt{Nor}, \tt{Nand},
    \tt{Implies}.
\begin{verbatim}
Outer[And,VF,VF]
\end{verbatim}
 
    \item Définir une formule propositionnelle.
\begin{verbatim}
f1[a_,b_] := Or[Not[a],b]
Outer[f1,VF,VF]
\end{verbatim}
 
    \item Vérifier la validité de la contraposition.
 
    \item Définir une formule propositionnelle à trois arguments. Usage de \tt{Flatten}.
\begin{verbatim}
f2[a_,b_,c_] := And[Not[Or[a,b]],c]
Outer[f2,VF,VF,VF]//Flatten
\end{verbatim}
 
    \item Obtenir la représentation d'une table de vérité. Usage de
    \tt{Thread}, \tt{DisplayForm}, \tt{Gridbox}.
\begin{verbatim}
f3[{a_,b_,c_}] := {a,b,c,Or[a,And[b,c]]}
VF3 = Flatten[Outer[List,VF,VF,VF],2]
tf3 = Thread[f3[VF3]]
DisplayForm[GridBox[tf3,
    RowLines->1, ColumnLines->1]]
\end{verbatim}
 
    \item Les propositions \textbf{A ou (B et C)} et \textbf{(A ou B) et
    C} sont-elles équivalentes?
 
    Trouvez les formules propositionnelles équivalentes parmi les
    suivantes: \textbf{A\imp(B\imp C)}, \textbf{(A\imp C) et (B\imp C)},
    \textbf{(A et B)\imp C}, \textbf{(A ou B)\imp C}, \textbf{(A\imp C)
    ou (B\imp C)}.
\end{dingautolist}
\end{multicols}
 
\section*{Les listes (1)}
 
\begin{multicols}{2}
\begin{dingautolist}{'300}
 
    \item Création de quelques listes. Observer, au passage, les
    différents modes de création.
\begin{verbatim}
l1 = {a, b, {c, d}, d, e}
l2 = List[a, b, {c, d}, d, e]
l3 = Table[n, {n, 1, 100}]
l4 = Range[10]
l5 = Table[j, {j, 10}]
l6 = Table[j, {j, 1, 10, .5}]
\end{verbatim}
 
    \item Évaluer les opérations directes sur les listes.
\begin{verbatim}
l1 + l2
l1 * l2
2 * l1
a + l2
\end{verbatim}
    Que se passe t-il dans une \textit{addition} de listes si elles
    n'ont pas le même nombre d'éléments?
 
    \item Tester les fonctions suivantes qui s'apliquent aux listes:
    \tt{Length}, \tt{First}, \tt{Rest}, \tt{RotateLeft}, \tt{Reverse}, 
    \tt{Drop}, \tt{Join}, \tt{Union}, \tt{Intersection}.
 
    \item Extraire des éléments d'une liste.
\begin{verbatim}
l1[[1]]
{a, b, {c, d}, e}[[3]]
l1[[3,2]]
l1[[3]][[2]]
l1[[{1,2}]]
\end{verbatim}
    Obtenir les mêmes résultats à l'aide des instructions \tt{Take} et
    \tt{Part}.
\end{dingautolist}
\end{multicols}
 
\end{document}