\documentclass[a4paper,titlepage,12pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[dvips]{graphics}
\usepackage{makeidx}
\usepackage[francais]{babel}
\usepackage[leqno]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb,latexsym}
\usepackage{psfrag}
\usepackage{fancybox}
\usepackage{epsfig}
\usepackage[ruled,vlined,titlenotnumbered,french]{algorithm2e}
%\usepackage[ruled,vlined,french]{algorithm2e}
\usepackage{multicol}
\usepackage{graphicx}
\usepackage{epic}
\usepackage{amsthm}
\usepackage{amscd}
\usepackage{color}
\usepackage{enumerate}
\usepackage{fancyhdr}
\usepackage{url}

\newtheorem{rappel}{Rappel}[section]
\newtheorem{lemme}{Lemme}[section]
\newtheorem{cor}{Corollaire}[section]
\newtheorem{expe}{Expérimentation}[section]
\newtheorem{definition}{Définition}[section]
\newtheorem{definitions}{Définitions}[section]
\newtheorem{theoreme}{Théorème}[section]
%\newtheorem{exemple}{Exemple}[section]
%\newtheorem{exo}{Exercice}[section]
\newtheorem{prop}{Propriété}[section]
\newtheorem{props}{Propriétés}[section]
%\newtheorem{rque}{Remarque}[section]
\newtheorem{propo}{Proposition}[section]
\newtheorem{theo}{Théorème}[section]

\newcommand{\rque}
{\noindent \textrm{\underline{Remarque}~:~}\rm }

\newcommand{\rques}
{\noindent \textrm{\underline{Remarques}~:~}\rm }
%\newcounter{num}
%\renewcommand{\thenum}{\arabic{num}}
\newcommand{\exemple}%{\addtocounter{num}{1}
{\noindent \textbf{Exemple~:~}\rm }

%\newcounter{numo}
%\renewcommand{\thenumo}{\arabic{numo}}
\newcommand{\exo}%{\addtocounter{numo}{1}
{\noindent \textbf{Exercice~:~}\rm }



%\newenvironment{myquote}{%
 % \begin{quote}% Environnement quote
  %  \itshape   % \dots en italique
   % \small     % \dots en plus petit
%}{%
%  \end{quote}%
%}


\definecolor{vert}{rgb}{0,1,0}
\newcommand{\chapeau}{\widehat}
\newcommand{\itb}{\item[\textbullet]}
\newcommand{\ipt}{\item[$\centerdot$]}
\newcommand{\pt}{$\centerdot$}
\newcommand\ginter[2]{\bigcap_{#1}^{#2}}
\newcommand\gU[2]{\bigcup_{#1}^{#2}}
\newcommand\som[2]{\sum_{#1}^{#2}}
\newcommand\PI[2]{\prod_{#1}^{#2}}
\newcommand\C[2]{C_{#1}^{#2}}
\newcommand\B[2]{B_{#1}^{#2}}
\newcommand\A[2]{A_{#1}^{#2}}
\newcommand{\inclus}{\subset}
\newcommand{\barre}{\overline}
\newcommand{\U}{\cup}
\newcommand{\inter}{\cap}
\newcommand{\coeur}{$\heartsuit$}
\newcommand{\pique}{$\spadesuit$}
\newcommand{\trefle}{$\clubsuit$}
\newcommand{\carreau}{$\diamondsuit$}
\newcommand{\vide}{\emptyset}
\newcommand{\sol}{\underline{\bf Solution~:}}
\newcommand{\x}{\times}
\newcommand\coul[2]{\textcolor{#1}{#2}}
\newcommand\formule[1]{\textcolor{red}{#1}}
\newcommand\entiere[1]{\Big\lfloor #1 \Big\rfloor}
\newcommand\entiereexces[1]{\Big\lceil #1 \Big\rceil}
\newcommand\s[1]{\underline{#1}}
\newcommand\bleu[1]{\textcolor{blue}{#1}}
\newcommand\rouge[1]{\textcolor{red}{#1}}
\newcommand\verte[1]{\textcolor{vert}{#1}}
\newcommand{\deb}{\underline{début}}
\newcommand{\fin}{\underline{fin}}
\newcommand{\fpour}{\underline{fpour}}
\newcommand{\fsi}{\underline{fsi}}
\newcommand{\UNIX}{{\tt UNIX}}
\newcommand{\LINUX}{{\tt LINUX}}
\newcommand{\shell}{{\tt shell}}
\newcommand{\ftq}{\underline{ftq}}
\newcommand\attention[1]{\includegraphics[scale=0.4]{Images/warning.eps} {\large \textcolor{red}{#1}}}
\newcommand\image[2]{\begin{center}\includegraphics[scale=#1]{Images/#2}\end{center}}


%\renewcommand{\sectionmark}[1]{\markboth{\thesection.\ #1}}

\addtolength{\evensidemargin}{-2cm}
\addtolength{\oddsidemargin}{-2cm}
\addtolength{\textwidth}{4cm}
\addtolength{\topmargin}{-2cm}
\addtolength{\textheight}{3,5cm}


\pagestyle{fancy}


\begin{document}



\lhead{TP1 : A la découverte de {\tt Pascal}}
%\lhead{\leftmark} 
%\chead{haut de page centre} 
\rhead{Initiation à l'algorithmique et au langage Pascal} 
\lfoot{ECE 1} 
\cfoot{\thepage} 
\rfoot{Emilie MORVANT}
\renewcommand{\headrulewidth}{0.4pt}  
\renewcommand{\footrulewidth}{0.4pt}


\sloppy

\sffamily


\begin{center}
\Huge{TP1 : A la découverte de {\tt Pascal}}
\end{center}
Tous les exercices sont à faire dans l'ordre.\\
Un compte-rendu sera exigé dans deux semaines {\bf au plus tard}~: les questions à rédiger obligatoirement sont en gras. De plus les questions que vous n'aurez pas eu le temps de traiter en TP seront-elles aussi à rendre (qu'elles soient en gras ou non).\\
Vous pouvez effectuer le rendu de deux manières différentes :
\begin{itemize}
\itb Un rendu {\bf électronique} : à envoyer à l'adresse {\tt milie.morvant@gmail.com} avec OBLIGATOIREMENT pour objet : ``{\bf rendu tp1}'', les questions seront rédigées dans un fichier de nom : ``{\bf nom\_prenom}'' (les formats {\tt .txt}, {\tt .odt} et {\tt .doc} seront les seuls acceptés).
\itb Un rendu {\bf manuscrit} : à me rendre à la fin TP ou au début du TP du prochain groupe.
\end{itemize}
Dans les deux cas, la présentation et la rédaction doivent être {\bf claires}.

\paragraph{Exercice 1 : Comprendre l'exécution d'un programme {\tt estPair}}
\begin{enumerate}
\item Récupérer le programme {\tt estPair.pas} sur la page \url{http://www.association-wise.org/morvant/pascal.php}.
\item Exécuter le programme avec une valeur paire et une valeur impaire. Que se passe-t-il lors de l'exécution dans les deux cas ?
\end{enumerate}

\paragraph{Exercice 2 : Utilisation du {\tt write()}}
\begin{enumerate}
\item {\bf Exécution du programme suivant :}
\begin{verbatim}
PROGRAM bonjour ;
BEGIN
  writeln('Bonjour');
END.
\end{verbatim}
{\bf Le relancer immédiatement : où est placé le deuxième ``bonjour'' sur l'écran ?}
\item {\bf En remplaçant {\tt writeln()} par {\tt write()}, que se passe-t-il ?}
\item {\bf Si le programme devient :}
\begin{verbatim}
PROGRAM bonj;
uses crt;
BEGIN
  clrscr;          {abréviation de 'clear screen'}
  write('bonjour');
END.
\end{verbatim}
{\bf Que se passe-t-il ?}
\end{enumerate}

\paragraph{Exercice 3 : Utilisation du {\tt read()}}
\begin{enumerate}
\item 
\begin{verbatim}
PROGRAM somme;
VAR a,b,x : real;
BEGIN
  write('taper des réels a et b');
  read(a,b);
  x := ln(a) + sqrt(b);
  writeln('le résultat est ',x);
END.
\end{verbatim}
{\bf Exécuter le programme. Que se passe-t-il si $a\leq 0$ ou $b<0$ ? Pourquoi ?}

\item {\bf Transformer le programme précédant de manière à entrer successivement $a$ puis $b$.}
\item
\begin{verbatim}
PROGRAM melange;
VAR x,y : real;
BEGIN
  write('x=');
  readln(x);
  write('y=');
  readln(y);
  x := x+y ;
  y := x-y ;
  x := x-y ;
  writeln('après traitement :');
  writeln('x=',x,' y=',y);
END.
\end{verbatim}
Quel est le résultat obtenu ?\\Comment aurait-on pu faire pour avoir le même résultat ?
\end{enumerate}

\paragraph{Exercice 4 : Ecrire son premier petit programme} :\\
 On veut demander une température $F$ (réelle), exprimée en degrés Farenheit, et la transformer en degrés Celsius $C$, sachant que : 
\[ C\ =\ \frac{F-32}{1,8} \]
\begin{enumerate}
\item Ecrire l'algorithme
\item Le traduire en langage Pascal.
\end{enumerate}


\paragraph{Exercice 5 : De plus en plus compliqué\dots} :\\
 On veut demander un temps $T$ (en entier) exprimé en secondes, et le transformer en heures, minutes, secondes. (ex : $T=23513\ \Rightarrow\ 6$ h $31$ min $53$ s)\\
\begin{enumerate}
\item  {\bf Ecrire l'algorithme.} 
\item {\bf Le traduire en langage Pascal.}
\end{enumerate}


\paragraph{Exercice 6 : Une petite recherche sur internet} :\\
{\bf Rechercher sur le Web deux petits programmes {\tt Pascal} sur internet qui vous semblent interressant et commenter chaque ligne de la même manière que cela a été fait pour le fichier {\tt estPair.pas}.} (indiquer les liens sur le compte-rendu)

\end{document}
