\documentclass[twocolumn,a4paper]{article}
\usepackage{french,tp}
\begin{document}

\begin{header}
\Huge Premier TP
\bigskip
\end{header}

%\begin{center}
%\sc Notions étudiées
%\end{center}
\section*{Prise de contact avec la machine}
$\bullet$
Unité centrale, écran, clavier, souris, lecteur de disquettes.

$\bullet$
Utilisation du clavier (flèches, touche ``return'').

$\bullet$
Répertoires. Ligne de commandes du shell DOS.
Changement de disque.
Commandes {\tt dir}, {\tt cd}, {\tt md}.

\section*{Prise de contact avec l'éditeur}
$\bullet$
Taper du texte. Insertion, remplacement.
Indentation. Menus.

$\bullet$
Menus et raccourcis clavier,
par exemple pour sauver ou charger un fichier.
Vocabulaire pseudo-anglais (save, load, etc.)

\section*{Premiers programmes}
$\bullet$
Notion de {\em syntaxe}.
Ecrire un programme. Le compiler.
Le modifier, voir ce que ca change.
Voir les messages d'erreur du compilateur.

$\bullet$
L'utilisation d'un {\tt ReadLn} final.
Et {\tt Alt-F5}.

$\bullet$
Notion d'{\em instruction}.
Le caractère {\tt ;}.
Le programme execute les instructions
successivement.
Arguments entre parenthèses, séparés
par des virgules.

$\bullet$
Notion de {\em variable}
et de {\em type}.
Les chaînes de caractères (entre apostrophes).

\section*{Principes de syntaxe}
$\bullet$
Mise en page : espacement, majuscules.
Ce que le compilateur accepte,
ce qu'il est conseillé de faire
pour avoir une présentation lisible.

$\bullet$
Donner des noms compréhensibles :
{\em identificateurs}
du programme, des variables.
Les commentaires (accolades).

$\bullet$
Le PASCAL ne fait pas de différence entre
majuscules et minuscules, mais cela aide
pour lire le programme.

$\bullet$
Le {\tt ;} sépare les instructions.
Le {\tt .} final.

$\bullet$
Les identificateurs commencent par une lettre,
ils ne contiennent que des lettres, des chiffres
ou le caractère {\tt \_} (souligné).

$\bullet$
Les {\em Mots réservés} ne peuvent
être des identificateurs. Par exemple :
{\tt BEGIN}, {\tt PROGRAM}.

\section*{Opérations sur les entiers}
$\bullet$
Ce sont {\tt +}, {\tt -}, {\tt *},
{\tt DIV} et {\tt MOD}.
Parenthèses et priorité.

$\bullet$
Calculer {\tt 30000 + 30000}.
Types {\tt INTEGER} et {\tt LONGINT}.

$\bullet$
Valeur absolue {\tt Abs()}.

$\bullet$
Affectation {\tt :=}.

\newpage
%\begin{center}
%\sc À faire pendant le TP
%\end{center}
\section*{}
$\bullet$
Allumer l'unité centrale et l'écran.
Mettre la disquette dans le lecteur.

$\bullet$
Se déplacer dans le menu, formater la disquette.

$\bullet$
Faire successivement:
{\tt dir}\qquad{\tt a:}\qquad{\tt dir}\qquad
{\tt md tp1}\qquad{\tt dir}\qquad{\tt cd tp1}\qquad{\tt dir}.

\section*{}
$\bullet$
Fleches, BackSpace, Delete, Insert.
Regarder le curseur.
Touches {\tt Ctrl}, {\tt Alt}, etc.

$\bullet$
La ligne du bas. Touches {\tt Fn}.
Regarder le contenu des répertoires.
Aide en ligne ({\tt F1} et {\tt Alt-F1}).

\section*{}
\begin{verbatim}
PROGRAM Bonjour;
VAR Nom : STRING;
BEGIN
  WriteLn('Tape ton nom : ');
  ReadLn(Nom);
  WriteLn('Bonjour ',Nom);
  ReadLn;        { optionnel }
END.
\end{verbatim}

\begin{verbatim}
PROGRAM Somme;
VAR a, b : INTEGER;
BEGIN
  WriteLn('Deux nombres...');
  ReadLn(a); ReadLn(b);
  WriteLn('La somme est ', a+b);
END.
\end{verbatim}

\begin{verbatim}
PROGRAM Corriger_ce_programme;
BEGIN
  Read Ln(integer);
  WriteLn('Le double de', integer, 'est ', integer*2);
END.
\end{verbatim}

\begin{verbatim}
PROGRAM Corriger_ce_programme;
VAR a, b : integer;
BEGIN
  ReadLn(a)      b := a*a;
  WriteLn(a vaut 'a' et b vaut 'b');
END.
\end{verbatim}

\begin{verbatim}
PROGRAM Corriger_ce_programme;
VAR a, b, somme, difference : INTEGER;
BEGIN
  ReadLn(a) ReadLn(b);
  somme      := Abs(a+b);
  difference := Abs(a-b);
  WriteLn('Le plus grand est ';
    (somme-difference)/2 );
END.
\end{verbatim}

\end{document}
