\documentclass[10pt] {article} \usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc}
\usepackage{amsmath,amssymb,graphicx,multicol,mathrsfs, fancyhdr,enumerate,fourier,eurosym,alterqcm,enumerate,tabularx,variations,numprint}
\usepackage[dvips]{color}
\usepackage[tikz]{bclogo}
\usepackage{pst-plot,pst-tree,pstricks,pst-node,pstricks-add,pst-math,pst-xkey,pst-eucl}
\usepackage[francais]{babel} 
\everymath{\displaystyle}
%\usepackage[colorlinks=true,pdfstartview=FitV,linkcolor=blue,citecolor=blue,urlcolor=blue]{hyperref}
\textwidth 19cm \textheight 26cm \hoffset 
-1,4cm \voffset -3.7cm \oddsidemargin 0pt 
\renewcommand{\thesubsection}{\textcolor{blue}{\Roman{subsection}}} 
\renewcommand{\thesubsubsection}{\textcolor{blue}{\Roman{subsection}}.\textcolor{blue}{\arabic{subsubsection}}} 
\pagestyle{empty}
% pour le pied de page central
\cfoot{Page \thepage/\pageref{fin}}

\begin{document}
%\tableofcontents

\begin{center}\section*{\textcolor{red}{Initiation aux algorithmes}}\end{center}





\begin{multicols}{2}
\setlength{\columnseprule}{1pt}
\setlength{\columnsep}{2 cm}

\subsection{\textcolor{blue}{Qu'est-ce qu'un algorithme ?}}

Le mot algorithme vient du nom Al Khwarizmi (Abu Ja'far Mohammed Ben Mussa Al-Khwarismi),  né vers 780 dans la région de Khwarezm (aujourd'hui Khiva), au sud de la Mer d'Aral (Ouzbékistan), et mort à Bagdad en 850.\\

\begin{bclogo}[couleur = cyan!20, arrondi = 0.1,logo=\bcbook]{\textcolor{red}{Définition}}
Un algorithme est une suite d'opérations élémentaires, à appliquer dans un ordre déterminé à des données.\\
C'est donc une liste d'instructions élémentaires à suivre. Ces instructions fournissent en un nombre fini d'étapes des résultats.\\

Écrire un algorithme consiste à donner une méthode détaillée décrivant toutes les étapes d'une t‚che à ccomplir.
\end{bclogo}

\bigskip

\textbf{\textcolor{red}{Exemples :}} une notice de montage, une recette de cuisine, un chemin indiqué par un GPS, une division à la main, trier des cartes à jouer, calculer la somme des termes consécutifs d'une suite de nombres, sont des algorithmes.\\

\noindent On peut considérer un algorithme comme une machine fonctionnant en \textbf{trois} étapes :
\begin{enumerate}
	\item les éléments dont on part : les entrées;
	\item les instructions à effectuer sur ces éléments : le traitement;
	\item les résultats obtenus : les sorties.
\end{enumerate}

\textbf{\textcolor{red}{Exercice :}}
On considère le programme de calcul suivant :
\begin{enumerate}[$\bullet$]
	\item Choisir un nombre.
	\item Lui ajouter $1$.
	\item Multiplier le résultat par $2$.
	\item Soustraire $3$ au résultat.
	\item Afficher le résultat.
\end{enumerate}
\begin{enumerate}
	\item Appliquer cet algorithme à $3$; $-4$, $0$ et $\dfrac{1}{3}$.
	\item Identifier les trois étapes de cet algorithme.
\end{enumerate}

\subsection{\textcolor{blue}{Variables et affectation}}
Pour commencer un algorithme, il faut des éléments sur lesquels on souhaite travailler (dans l'exemple précédent, il nous faut un nombre). Ces éléments sont les données d'entrée qui seront utilisées lors des étapes du traitement.\\
\\
\begin{bclogo}[couleur = cyan!20, arrondi = 0.1,logo=\bcbook]{\textcolor{red}{Définition}}
Les données d'entrée sont stockées dans la mémoire de la calculatrice ou de l'ordinateur, à un emplacement appelé \textbf{variable} et repéré par un nom. On peut donc considérer une variable comme une bo\^ite.\\
Le nom de la variable est son \textbf{étiquette}.\\
La variable peut contenir une valeur (un nombre, un mot, une liste de nombres $\cdots$)
\end{bclogo}

\bigskip

Lorsque nous déclarons les variables, nous n'avons fait que réserver un espace dans la mémoire de l'ordinateur ou de la calculatrice.\\
C'est la même chose que lorsqu'un restaurateur marque \og{} RÉSERVÉ\fg{} sur une table de restaurant.\\
Pour autant, la place n'est pas occupée.\\
Occuper cette place, c'est donner une valeur à l'espace mémoire réservé : c'est \textbf{\textcolor{red}{l'affectation}}.\\

\begin{bclogo}[couleur = cyan!20, arrondi = 0.1,logo=\bcbook]{\textcolor{red}{Définition}}
Une \textbf{affectation} est l'attribution d'une valeur à la variable.
\end{bclogo}

\bigskip


Si la variable s'appelle $A$, l'affectation peut s'écrire de différentes manières :
\begin{enumerate}[$\bullet$]
	\item Affecter à $A$ la valeur $3$;
	\item $A$ prend la valeur $3$;
	\item $A \leftarrow 3$ (écriture privilégiée en Seconde);
	\item A=3
\end{enumerate}

\textbf{\textcolor{red}{Exemples :}}
\begin{enumerate}
\item 
\fbox{\begin{minipage}{6cm}

\begin{enumerate}[1~:]
\item ENTREES : $x$

\item SORTIES : $y$

\item $b\leftarrow x+1$

\item $c\leftarrow 3b$

\item  $y\leftarrow  c^2$
\end{enumerate}
\end{minipage}}

\begin{enumerate}
\item Si l'entrée est 2, qelle est la sortie donnée par cet algorithme ?

\item Pour une entrée $x$ quelconque, quelle est la sortie ? Quelle est la fonction associée à cet algorithme ?
\end{enumerate}

\item Considérons l'algorithme suivant :\\
	
\bigskip


\begin{tabular}{|*{2}{l|}}\hline
Déclaration des variables&a ; b ; c\\
\hline
Début de l'algorithme&\\
\hline
Affectation &On affecte à a la valeur 3\\
\hline
Affectation &On affecte à a la valeur $a^2-2a+1$\\
\hline
Affectation &On affecte à b la valeur 7\\
\hline
Affectation &On affecte à b la valeur $b^2-4b+4$\\
\hline
Affectation &On affecte à c la valeur a+b-9\\
\hline
Instruction de sortie &Afficher c\\
\hline
Fin de l'algorithme&\\
\hline
\end{tabular}

Que donne l'algorithme en sortie ?

\end{enumerate}


\end{multicols}
\label{fin}
\end{document}  