%%%%%%%%%%%%%%%%%%%%%%%
\NewTP{Premier contact}
%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%
%\NewExo
%%%%%%%
%%%%%%%
%   Pour utiliser java, il faut faire~:

%{\small
%\begin{verbatim}
%   export PATH=$PATH:/opt/java/bin
%   export CLASSPATH=$CLASSPATH:/opt/java/bin:.
%\end{verbatim}
%}

%   Ne rajouter la seconde ligne que si la machine virtuelle java ne trouve pas votre classe.

%   Que signifie cette ligne~?
%   O\`u la mettre pour ne pas la retaper \`a chaque fois~?
%   Rep: dans .bash_profile 

Quelques conventions avant de commencer~:

\begin{itemize}
\item  La première lettre du nom d'une classe est en majuscule et toutes les autres en minuscules
  sauf si le nom de la classe est la concaténation de plusieurs mots. Dans ce cas, la première
  lettre de chaque mot est en majuscule et toutes les autres en minuscules, comme dans
  \textsf{NombreComplexe} ou \textsf{EtudiantDeuxiemeAnnee}.
\item Les noms de fonctions ou de variables s'écrivent en minuscules sauf s'ils sont la
  concaténation de plusieurs mots. Dans ce cas, la première lettre de chaque mot \textbf{hormis le
  premier} est en majuscule et toutes les autres en minuscules comme dans
  \textsf{temperatureMoyenne} et \textsf{notesEtudiantsDeuxiemeAnnee}.
\item Le source d'une classe est sauvé dans un fichier dont le nom est celui de la classe suffixé
  par \textsf{.java}. Le source de la classe \textsf{Addition} sera donc sauvé dans le fichier
  \textsf{Addition.java}. C'est ainsi que le compilateur retrouve les descriptions de classes dont
  il a besoin.
\end{itemize}

%%%%%%%
\NewExo
%%%%%%%
%%%%%%%
Taper le programme suivant sous \textsf{emacs}.

\VrbInput{Addition.java}

Comment se comporte \textsf{emacs} au cours de l'édition~?   

Compiler le programme ({\small \verb+javac Addition.java+}) puis exécuter le 
({\small \verb+java Addition+}). Comment fonctionne t-il~? Définir le rôle des symboles '+' contenus
dans ce programme.

Générer une documentation de la classe \textsf{Addition} en tapant 
{\small \verb+javadoc Addition.java+}. Regarder la documentation ainsi générée avec \textsf{netscape} en
lui donnant le chemin absolu du fichier généré.

\newpage

%%%%%%%
\NewExo
%%%%%%%
%%%%%%%
Compiler et exécuter le programme \textsf{Variables.java} suivant.

\VrbInput{Variables.java}

Définir le rôle des symboles '+'~? 

Générer une documentation commune aux classes \textsf{Addition} et \textsf{Variables} avec le nom
des auteurs ({\small \verb+javadoc -author Addition.java Variables.java+}).

Modifier le programme \textsf{Variables.java} de façon à effectuer l'élévation au carré dans une fonction
membre \textsf{carre()} qui n'accepte aucun argument. Cette fonction sera appelée dans la fonction
\textsf{main()} pour afficher le résultat.

%%%%%%%
\NewExo
%%%%%%%
%%%%%%%
Taper et compiler le programme \textsf{BogusPocus.java}.

\VrbInput{BogusPocus.java}

Qu'observez-vous~? Corriger toutes les erreurs.

%%%%%%%
\NewExo
%%%%%%%
%%%%%%%
Ecrire un programme qui calcule $((2+6)*5)/25$ et affiche le résultat
à l'écran. Le calcul doit être réalisé sur les réels et non pas les
entiers.

