\documentclass[10pt,a4paper]{report}
\usepackage[height=250mm,width=183mm]{geometry}
\usepackage{preambule}
\usepackage[upright]{fourier}

\entete{ Informatique I  }{Prise en main de XCAS }{Lycée Jean Perrin - 2\textsuperscript{nde} 8}                           

\graphicspath{{/home/moi/Photos/Tehessin/}{/home/moi/Figures/FigSTI/}}

\usepackage[ps2pdf,colorlinks=orange]{hyperref}


\usepackage{listings}


\begin{document}
\setlength{\parindent}{0pt}
\thispagestyle{empty}


\TITRE{}{Informatique }{Prise en main de XCAS }{}{}{notice.eps}
\vspace{1cm}



\section{Avant de commencer}

XCAS est un logiciel libre de calcul formel. En particulier, vous allez pouvoir le télécharger gratuitement en toute légalité sur 

\begin{center}

\href{http://www-fourier.ujf-grenoble.fr/~parisse/irem.html}{\textcolor{red}{http://www-fourier.ujf-grenoble.fr/~parisse/irem.html}}

\end{center}



XCAS contient plusieurs centaines de  fonctions
pré-programmées. \'Evidemment, il est absolument impossible de les
aborder toutes cette année. Le but de ce TD est de découvrir XCAS à travers l'exploration des
activités de la leçon sur LES NOMBRES.

Nous n'aborderons pas les paragraphes dans le même ordre car les difficultés informatiques ne sont
pas toujours proportionnelles aux difficultés mathématiques.

\section{Savez-vous diviser~?}

XCAS y arrive souvent. Rentrons par exemple \keystroke{3}\keystroke{7}\keystroke{/}\keystroke{4} suivi de \Enter

\begin{lstlisting}
  37/4
\end{lstlisting}

Heummmmmm. En fait, c'est normal car XCAS aime travailler avec des écritures rationnelles (donc
exactes). Pour le faire travailler avec des nombres en écriture décimale, UNE solution est la
suivante

\begin{lstlisting}
  37.0/4
\end{lstlisting}



Ça change tout, car vous avez indiqué que vous vouliez travailler en approximations décimales.

Une autre méthode est d'utiliser la commande \code{evalf} qui EVALue un nombre en \og~virgule
Flottante~\fg


\begin{lstlisting}
  evalf(37/4)
\end{lstlisting}

On peut même effectuer des multiplications !

\begin{lstlisting}
  ans()*4
\end{lstlisting}

À votre avis, vous qui êtes bilingue et intelligent(e), que signifie \code{ans()}~?

Et que veut dire \emph{remain}~?

Alors interpréter

\begin{lstlisting}
  remain(37,5)
\end{lstlisting}


Sinon, tant qu'on en parle, on peut faire quelques calculs avec des nombres écrits sous forme
fractionnaire

\begin{lstlisting}
  7/6+37/4
\end{lstlisting}

Vérifiez \og~à la main~\fg...


\section{Dessinons des racines}


En anglais que veut dire \emph{square}~? \emph{root}~? \emph{square root}~?

Alors que signifie 

\begin{lstlisting}
  sqrt(2)
\end{lstlisting}

et

\begin{lstlisting}
  (sqrt(2))^2
\end{lstlisting}



Maintenant, dessinons un peu. Pour cela ouvrons une fenêtre de géométrie en appuyant en même temps
sur \Alt et \keystroke{G}


\begin{lstlisting}
  A:=point(0,0);
  B:=point(-1,0);
\end{lstlisting}

Que se passe-t-il~?


\begin{lstlisting}
  triangle_rectangle(B,A,1,C)
\end{lstlisting}

et maintenant~? Quelle est l'action de \code{triangle\_rectangle(point1,point2,nombre,point3)}~?

Toujours plus fort...

\begin{lstlisting}
  longueur(A,C)
\end{lstlisting}


Alors continuons...

\begin{lstlisting}
  couleur(triangle_rectangle(C,A,1,D),rouge)
\end{lstlisting}

ou mieux~:~continuez~!


\begin{Idee}
Appelez votre charmant professeur pour qu'il vérifie votre travail.
\end{Idee}


% \section{Mesurons le Terre}

% Traçons la Terre

% \begin{lstlisting}
%   O:=point(0,0)
%   terre:=cercle(O,2)
% \end{lstlisting}

% \begin{Danger}
%   Attention à ne pas confondre O et0...
% \end{Danger}


% Maintenant, prenons un élément quelconque sur le cercle


% \begin{lstlisting}
%   M:=element(terre)
% \end{lstlisting}

% Nous voudrions à présent obtenir un autre point quelconque du cercle, mais qu'on puisse faire bouger
% à volonté. 

% Nous le comprendrons mieux plus tard dans l'année, mais nous allons d'abord prendre un nombre
% quelconque entre 0 et 7

% \begin{lstlisting}
%   t:=element(0..7)
% \end{lstlisting}

% Une molette apparaît.

% \begin{lstlisting}
%   A:=element(terre,t)
% \end{lstlisting}

% et maintenant, faites bouger la molette à l'aide de la souris~:~incroyable~!

% Commentez alors les lignes suivantes

% \begin{lstlisting}
%   d:=couleur(demi_droite(O,M),vert)
% \end{lstlisting}

% \begin{lstlisting}
%   dd:=couleur(parallele(d,A),vert)
% \end{lstlisting}





\section{Si...alors...sinon}


\subsection{Ensemble}

Nous allons créer un programme passionnant qui  teste si un entier est positif.
Un programme porte un nom et dépend en générale de variables rentrées par l'utilisateur.

Dans le cas qui nous occupe, nous allons rentrer un nombre entier. S'il est positif, on demandera à
l'ordinateur de nous le dire.

Mais tout d'abord, qu'est-ce qu'un entier positif~?


Bon, alors voici le programme. Pour le rentrer, appuyer sur \Alt + \keystroke{P}.


\begin{lstlisting}
  posi(n):={
  si n>=0 alors return(n+" est positif"); sinon return(n+" est négatif"); fsi;
             }:;
\end{lstlisting}


Validez en cliquant sur \code{OK}

Maintenant interrogeons l'ordinateur



\begin{lstlisting}
  posi(56)
\end{lstlisting}


\begin{lstlisting}
  posi(-57)
\end{lstlisting}




Trop fort~!

\subsection{À vous de jouer}


Essayez à présent de construire un programme qui teste si un entier est pair. Il pourra être utile
de se souvenir de \code{remain} et de savoir que l'égalité de deux nombres se teste sous XCAS à
l'aide de \code{==}.


\begin{Idee}
Appelez votre charmant professeur pour qu'il vérifie votre travail.
\end{Idee}


\section{Tant que...faire...}


\subsection{Ensemble}


Nouveau bond en avant dans la connaissance informatique. Nous allons construire un programme qui
prend un nombre, le divise en deux, et continue TANT QUE le nombre obtenu reste supérieur à
$10^{-10}$.




\begin{lstlisting}
  coupendeux(n):={
    tantque n>10^(-10) faire n:=n/2; ftantque;
                 }:;

\end{lstlisting}

Par exemple

\begin{lstlisting}
  coupendeux(1)
\end{lstlisting}

ou plutôt

\begin{lstlisting}
  coupendeux(1.0)
\end{lstlisting}


Oui, bon, OK, mais il pourrait être intéressant de savoir au bout de combien d'étapes on est arrivé
à ce résultat. On va donc introduire un compteur~:~on introduit un nombre, nul au départ, et on
l'augmente de 1 à chaque fois qu'on effectue \og~un tour de boucle~\fg, c'est-à-dire une division
par deux


\begin{lstlisting}
  coupe(n):={
    k:=0; // le compteur est à 0
    tantque n>10^(-10) faire n:=n/2; // on coupe en 2
    k:=k+1; // on rajoute 1 au compteur
    ftantque; 
  return("Il a fallu "+k+" étapes")
            }:;

\end{lstlisting}

Vérifiez à la main avec votre calculatrice.



\section{La Tortue}

\subsection{Promenade en tortue}

La Tortue est un charmant animal mais également un module de XCAS permettant de faire des petits
dessins...

On y accède en tapant \Alt +\keystroke{D}

Par exemple

\begin{lstlisting}
  avance(3)
\end{lstlisting}

avance la tortue de 3 pas...

On efface l'ardoise

\begin{lstlisting}
  efface
\end{lstlisting}


 puis


\begin{lstlisting}
  avance(30);
  tourne_gauche;
  avance(60);
  tourne_gauche(30);
  avance(90);
  tourne_droite(120);
  avance(200)
\end{lstlisting}


Magique~:~la tortue nous obéit~!


On ruse un peu plus

\begin{lstlisting}
  efface;
  n:=200;tantque (n>10) faire avance n;tourne_gauche(120);n:=n-10;ftantque
\end{lstlisting}

C'est fort...

Et que pensez-vous de ça

\begin{lstlisting}
   n:=200;tantque (n>10) faire crayon(rouge); disque(n); crayon(noir); disque(n-10); 
n:=n-20; ftantque;


\end{lstlisting}


\subsection{À vous de jouer}


Dessiner une frise grecque (avec tantque) et toute sorte de belles choses en utilisant des tests \code{si}
et des boucles \code{tantque}



\begin{Idee}
Appelez votre charmant professeur pour qu'il vérifie votre travail.
\end{Idee}

\section{Un tour d'escargot}

Considérer à nouveau le dessin de la spirale du V des activités sur les nombres.
Essayer de dessiner rapidement cette coquille à l'aide de \code{tantque}.


\begin{Idee}
Appelez votre charmant professeur pour qu'il vérifie votre travail.
\end{Idee}

\section{Le nombre d'or}


Reprendre la feuille sur les nombres à partir du paragraphe VIII.




\begin{Idee}
Appelez votre charmant professeur pour qu'il vérifie votre travail.
\end{Idee}


\end{document}

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: t
%%% End: 
