Source Latex: Cours de mathématiques, Algorithmique
2nde
Algorithmique
Introduction à l'agorithmique et la programmation - Généralités: algorithme, programme et langage de programmation, variable, instructions et structures de base- Fichier
- Type: Cours
- File type: Latex, tex (source)
- Télécharger le document pdf compilé
- Description
- Introduction à l'agorithmique et la programmation - Généralités: algorithme, programme et langage de programmation, variable, instructions et structures de base
- Niveau
- 2nde
- Table des matières
- Définitions
- Algorithme
- Langage de programmation
- Programme
- Variable
- Exemples: Suites d'instructions élémentaires
- Strutures de base: condition, boucle, boucle conditionnelle
- Définitions
- Mots clé
- algorithme, algorithmique, programmation, introduction, structures fondamentales, boucle, test, exemples, exercices
- Voir aussi:
Documentation sur LaTeX- Source Latex
-
Source Latex
\documentclass[12pt]{article} \usepackage{amsfonts}\usepackage{amssymb} \usepackage[french]{babel} \usepackage{amsmath} \usepackage[utf8]{inputenc} \usepackage{graphicx} \usepackage{calc} \usepackage{array} \usepackage{pst-all} \usepackage{hyperref} \hypersetup{ pdfauthor={Yoann Morel}, pdfsubject={Cours mathématiques: algorithmique}, pdftitle={Algorithmique}, pdfkeywords={Mathématiques, algorithmique, programmation, lycée, 2nde, seconde, 1S, première, S, 1èreS, 1ère S, terminale, terminale S, python} } \hypersetup{ colorlinks = true, linkcolor = red, anchorcolor = red, citecolor = blue, filecolor = red, urlcolor = red } \voffset=-1.cm % Raccourcis diverses: \newcommand{\nwc}{\newcommand} \nwc{\dsp}{\displaystyle} \nwc{\ct}{\centerline} \nwc{\bge}{\begin{equation}}\nwc{\ene}{\end{equation}} \nwc{\bgar}{\begin{array}}\nwc{\enar}{\end{array}} \nwc{\bgit}{\begin{itemize}}\nwc{\enit}{\end{itemize}} \nwc{\la}{\left\{}\nwc{\ra}{\right\}} \nwc{\lp}{\left(}\nwc{\rp}{\right)} \nwc{\lb}{\left[}\nwc{\rb}{\right]} \nwc{\bgsk}{\bigskip} \nwc{\vsp}{\vspace{0.1cm}} \nwc{\vspd}{\vspace{0.2cm}} \nwc{\vspt}{\vspace{0.3cm}} \nwc{\vspq}{\vspace{0.4cm}} \def\N{{\rm I\kern-.1567em N}} \def\D{{\rm I\kern-.1567em D}} \def\No{\N_0} \def\R{{\rm I\kern-.1567em R}} \def\C{{\rm C\kern-4.7pt \vrule height 7.7pt width 0.4pt depth -0.5pt \phantom {.}}} \def\Q{\mathbb{Q}} \def\Z{{\sf Z\kern-4.5pt Z}} \nwc{\tm}{\times} \nwc{\V}[1]{\overrightarrow{#1}} \nwc{\zb}{\mbox{$0\hspace{-0.67em}\mid$}} \nwc{\db}{\mbox{$\hspace{0.1em}|\hspace{-0.67em}\mid$}} \nwc{\ul}[1]{\underline{#1}} \newcounter{nex}[section]\setcounter{nex}{0} \newenvironment{EX}{% \stepcounter{nex} \bgsk{\noindent\large {\bf Exercice }\arabic{nex}}\hspace{0.2cm} }{} \nwc{\bgex}{\begin{EX}}\nwc{\enex}{\end{EX}} \nwc{\bgfg}{\begin{figure}}\nwc{\enfg}{\end{figure}} \nwc{\epsx}{\epsfxsize}\nwc{\epsy}{\epsfysize} \nwc{\bgmp}{\begin{minipage}}\nwc{\enmp}{\end{minipage}} \nwc{\deftitle}{Définition} \newlength{\ldef}\settowidth{\ldef}{\deftitle:} \nwc{\bgdef}[1]{\paragraph{\ul{\deftitle:}} \begin{minipage}[t]{\textwidth-\ldef-2em}{\it #1} \end{minipage} } \nwc{\proptitle}{Prop.} \newlength{\lprop}\settowidth{\lprop}{\proptitle:} \nwc{\bgprop}[1]{\paragraph{\ul{\proptitle:}} \begin{minipage}[t]{\textwidth-\ldef-2em}{\it #1} \end{minipage} } \headheight=0cm \textheight=26.2cm \topmargin=-1.8cm \footskip=0.8cm \textwidth=18.6cm \oddsidemargin=-1.3cm \parindent=0.2cm \newcommand{\TITLE}{Introduction à l'algorithmique et la programmation} \author{Y. Morel} \date{} \usepackage{fancyhdr} \pagestyle{fancyplain} \setlength{\headheight}{0cm} \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{0.1pt} \lhead{}\chead{}\rhead{} \lfoot{Y. Morel - \href{https://xymaths.fr/Lycee/2nde/Mathematiques-2nde.php}{xymaths.fr - 2nde}} \rfoot{\TITLE\ - \thepage/\pageref{LastPage}} \cfoot{} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{document} \vspace*{-0.4cm} \ct{\LARGE \bf \TITLE} \vspace{0.6cm} \bgdef{{\bf Algorithme} Un algorithme est une succession d'instructions (aussi appelées commandes) et permettant la résolution systématique d'un problème donné. } \vspq {\it Le mot ``algorithme'' vient du nom du mathématicien perse Al Khuwarizmi (latinisé au Moyen Age en Algoritmi), qui, au IXe siècle écrivit le premier ouvrage sur la résolution systématique de certaines équations (en plus d'introduire le zéro des Indiens). } \vspd Par exemple, l'algorithme suivant: \fbox{ \bgmp[t]{6.cm} \texttt{Pour A allant de 1 à 10\\ \hspace*{0.5cm}stocker A*A dans B\\ \hspace*{0.5cm}Afficher B\\ Fin Pour} \enmp } \vspt permet d'afficher les carrés des 10 premiers entiers naturels. \bgdef{{\bf Langage de programmation} Un langage de programmation est un ensemble d'instruction et de règles syntaxiques compréhensible par un système automatisé (calculatrice, ordinateur, puce électronique,\dots). Un programme est alors la traduction d'un algorithme dans un langage de programmation particulier. } \vspd Il existe de très nombreux langage de programmation, par exemple, Basic, Fortran, C, C++, assembleur, Python, Matlab, ainsi que par exemple ceux implantés dans les calculatrices (alors dites ``programmables''\dots). \bgdef{{\bf Variable} On appelle variable tout emplacement de la mémoire dans lequel est, ou peut-être, stockée une information. Une variable est constituée de : \bgit \item un nom qui permet à l'ordinateur de la localiser dans sa mémoire \item une valeur: l'information (souvent un nombre) qu'elle contient. \enit } \vspq Tous les langages de programmation permettent d'effectuer des algorithmes comprenant des \ul{opérations} \ul{élémentaires} (addition, multiplication, division, \dots) , ainsi que quelques \ul{structures} fondamentales. \vspq\vspd\noindent \bgmp[t]{10cm} Suite d'opérations élémentaires: \vsp\\ \fbox{ \bgmp{7cm} \texttt{Afficher "Entrer D: "\\ Lire D\\ R prend la valeur D/2\\ C prend la valeur 3,14*R*R\\ Afficher C} \enmp} \enmp \bgmp[t]{10cm} \ \\ \fbox{ \bgmp{7cm} \texttt{Lire A\\ Lire B\\ Lire C\\ D prend la valeur A+B+C\\ E prend la valeur D/3\\ Afficher E} \enmp } \enmp \vspq\vspd\noindent \ul{Structure} \texttt{Tant que \dots, faire \dots, Fin Tant que} (\texttt{While \dots, do \dots, end})\vsp\\ \bgmp[t]{10cm} \fbox{ \bgmp{7cm} \texttt{Lire A\\ Tant que A>0 faire\\ \hspace*{0.5cm}A prend la valeur A-1\\ \hspace*{0.5cm}Afficher A\\ Fin Tant que} \enmp } \enmp \bgmp[t]{10cm} \fbox{ \bgmp{7cm} \texttt{Lire N \\ Tant que N>0 faire \\ \hspace*{0.5cm}N prend la valeur N-2\\ Fin Tant que\\ Afficher N } \enmp } \enmp \clearpage \noindent \ul{Structure (boucle)} \texttt{Pour} {\it variable} \texttt{allant de} {\it début} \texttt{à} {\it fin}, \texttt{faire} \dots\,, \texttt{Fin Pour}\\ (\texttt{For \dots, do \dots, end}) \vspd\\ \bgmp{7.5cm} Effectuer l'algorithme suivant sur le graphique ci-contre: \vsp\\ \fbox{ \bgmp{7.5cm} \texttt{Pour i allant de 2 à 18\\ \hspace*{0.5cm}Afficher le point (i;2)\\ \hspace*{0.5cm}Afficher le point (i;10)\\ Fin Pour} \vspd \texttt{Pour j allant de 3 à 9\\ \hspace*{0.5cm}Afficher le point (2;j)\\ \hspace*{0.5cm}Afficher le point (18;j)\\ Fin Pour} \vspd \texttt{Pour i allant de 3 à 10\\ \hspace*{0.5cm}Afficher le point (i;9+i/2)\\ \hspace*{0.5cm}Afficher le point (i+8;15-i/2)\\ Fin Pour } \enmp}\enmp\hspace{1cm} \bgmp{8cm} \psset{xunit=0.5cm,yunit=0.6cm} \begin{pspicture}(0,0)(20,15) \pspolygon[linewidth=0.5pt,linestyle=dashed](0,0)(20,0)(20,15)(0,15) \psline[linewidth=1.5pt]{->}(0,0)(1,0) \psline[linewidth=1.5pt]{->}(0,0)(0,1) \rput(0.5,-0.3){$\scriptstyle\vec{i}$} \rput(-0.3,0.5){$\scriptstyle\vec{j}$} \rput(-0.3,-0.3){$\scriptstyle 0$} \multido{\i=0+1}{21}{ \multido{\ii=0+1}{16}{ \psdot(\i,\ii) } } \end{pspicture} \enmp \vspace{1cm}\noindent \ul{Structure conditionnelle} \texttt{Si \dots, faire \dots, Sinon faire \dots, Fin Si}\\ (\texttt{if \dots, do \dots, else do \dots, end}) \vsp\\ \bgmp[t]{10cm} \fbox{ \bgmp{8cm} \texttt{Afficher ``Quel est votre age ?''\\ Lire A\\ Si A<18, alors \\ \hspace*{0.5cm}Afficher ``Vous êtes mineur''\\ Sinon \\ \hspace*{0.5cm}Afficher ``Vous êtes majeur''\\ Fin Si } \enmp } \enmp \bgmp[t]{9cm} \fbox{ \bgmp{6.5cm} \texttt{Lire X1, X2, X3, X4, X5\\ M prend la valeur X1\\ Pour i allant de 2 à 5\\ \hspace*{0.5cm}Si Xi > M, faire\\ \hspace*{0.5cm}\hspace*{0.5cm}M prend la valeur Xi\\ \hspace*{0.5cm}Fin Si\\ Fin Pour\\ Afficher M } \enmp } \enmp \vspq\noindent {\bf Exercices:} Ecrire un algorithme permettant de : \vspd\bgit \item[1.] demander à l'utilisateur les coordonnées de deux points $A$ et $B$, et qui affiche les coordonnées du milieu $I$ de $[AB]$ et la distance $AB$. \vspd \item[2.] demander à l'utilisateur les coordonnées d'un point $M$, et d'afficher, étant donner les points $A(3,2;0,6)$ et $B(-1;2)$, si $M$ est sur la médiatrice de $[AB]$. \vspd \item[3.] Demander un nombre entier \texttt{n} et calculer la somme : \hspace*{1cm}\texttt{1 + 2 + 3 + \dots + n} \vspd \item[4.] \bgit \item[a)] demander à l'utilisateur un nombre entier $m$ et d'afficher la suite: \texttt{1 2 3 \dots m} \item[b)] demander un nombre entier \texttt{n} et afficher les suites suivantes: \texttt{1\\ 1 2\\ 1 2 3\\ 1 2 3 4\\ \vdots \\ 1 2 3 4 5 \dots n} \enit \vspd \vspd %\item[4.] Tracer la courbe représentative de la fonction % $f:x\mapsto 2x+1$. \enit \label{LastPage} \end{document}
Télécharger le fichier source
Quelques devoirs
Devoir corrigéGénéralités sur les fonctions - Algorithme
Interrogation de cours: courbe représentative d'une fonction, sens de variation, fonction affine. Algorithmique: un algorithme à évaluer.
Devoir corrigéProbabilités, algorithme et une inéquation
Une usine qui produit des pièces parfois défectueuses. Calculs de probabilités avec une pièce de monnaie et une autre truquée, les deux mélangées. Un algorithme et une résolution d'inéquations avec des fractions.
Devoir corrigéStatistiques et un algorithme
Statistiques descriptives: mode, médiane, étendue et moyenne. Un algorithme à décrire et un à écrire.
Devoir corrigéStatistiques et un algorithme
Statistiques descriptives: diagramme en boîtes. Un algorithme à exécuter et à décrire.