{"id":550,"date":"2020-10-18T13:56:46","date_gmt":"2020-10-18T11:56:46","guid":{"rendered":"http:\/\/maths-code.fr\/cours\/?page_id=550"},"modified":"2025-09-24T21:14:49","modified_gmt":"2025-09-24T19:14:49","slug":"langages-et-programmation","status":"publish","type":"page","link":"https:\/\/maths-code.fr\/cours\/langages-et-programmation\/","title":{"rendered":"Langages et programmation"},"content":{"rendered":"\n<p>Un <strong>algorithme<\/strong> est une suite finie et non ambigu\u00eb d&rsquo;instructions et d\u2019op\u00e9rations permettant de r\u00e9soudre une classe de probl\u00e8mes. (<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Algorithme\">Wikipedia<\/a> : algorithme)<br>Notre langue maternelle est ambig\u00fce et ne convient donc pas \u00e0 l&rsquo;\u00e9criture d&rsquo;algorithmes destin\u00e9s aux machines. \u00c0 ce titre, visionnez la jolie vid\u00e9o \u00ab\u00a0<a href=\"https:\/\/tube-numerique-educatif.apps.education.fr\/w\/gCdz74ew84VHZ5SV4HQhW4\">Challenge consignes exactes<\/a>\u00a0\u00bb o\u00f9 les enfants ont du mal \u00e0 se sortir des impr\u00e9cisions et ambiguit\u00e9 du langage .<br>Nous allons mettre en palce des algorithmes \u00e0 l&rsquo;aide de structures algorithmiques, puis nous impl\u00e9menteorns ces algorithmes en Python.<\/p>\n\n\n\n<div class=\"wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile\" style=\"grid-template-columns:auto 34%\"><div class=\"wp-block-media-text__content\">\n<h4 class=\"wp-block-heading\">Ada Lovelace<\/h4>\n\n\n\n<p>Elle s\u2019appelle Ada, Augusta Ada King, comtesse de Lovelace, fille du c\u00e9l\u00e8bre po\u00e8te Lord George Gordon Byron.<br>En 1843, un si\u00e8cle avant la naissance des calculateurs \u00e9lectroniques, Ada Lovelace formule les premi\u00e8res id\u00e9es fondamentales de l\u2019informatique. Elle contribue \u00e0 am\u00e9liorer les premiers programmes, con\u00e7us alors sur papier.<\/p>\n\n\n\n<p class=\"has-white-color has-text-color\">Elle travaille avec Charles Babbage, math\u00e9maticien, sur la \u00ab machine analytique \u00bb. Pour faire marcher cette future machine, Ada cr\u00e9e des \u00ab diagrammes \u00bb qui ont pour but d\u2019expliquer comment doit proc\u00e9der la machine pour arriver au r\u00e9sultat recherch\u00e9\u2026 et ceci ind\u00e9pendamment de la fa\u00e7on dont sont r\u00e9alis\u00e9es ces op\u00e9rations. Ce sont des \u00ab algorithmes \u00bb.<\/p>\n\n\n\n<p>Le langage ADA cr\u00e9\u00e9 entre 1980 et 1983 lui doit son nom. <\/p>\n\n\n\n<p>[image par <em>Luaailustrada<\/em> Licence <a href=\"https:\/\/creativecommons.org\/licenses\/by-sa\/4.0\/deed.en\">Attribution-Share Alike 4.0 <\/a>]<\/p>\n\n\n\n<p><em><a href=\"https:\/\/interstices.info\/famille-algorithmes-programmation\/\">source:https:\/\/interstices.info\/<\/a><\/em><\/p>\n<\/div><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"909\" height=\"1024\" src=\"https:\/\/maths-code.fr\/cours\/wp-content\/uploads\/2023\/07\/Ada4-909x1024.jpg\" alt=\"\" class=\"wp-image-4475 size-full\" srcset=\"https:\/\/maths-code.fr\/cours\/wp-content\/uploads\/2023\/07\/Ada4-909x1024.jpg 909w, https:\/\/maths-code.fr\/cours\/wp-content\/uploads\/2023\/07\/Ada4-266x300.jpg 266w, https:\/\/maths-code.fr\/cours\/wp-content\/uploads\/2023\/07\/Ada4-768x865.jpg 768w, https:\/\/maths-code.fr\/cours\/wp-content\/uploads\/2023\/07\/Ada4.jpg 924w\" sizes=\"auto, (max-width: 909px) 100vw, 909px\" \/><\/figure><\/div>\n\n\n<hr \/>\n<p>Dans ce chapitre, nous allons poser les bases de la programmation dite imp\u00e9rative en examinant dans l&rsquo;ordre:<\/p>\n<ol>\n<li><strong>Variables et affectation<\/strong>: stockage provisoire des valeurs, modification. Les variables ont un type: voici ceux que nous avons rencontr\u00e9s:entier (int), r\u00e9el (float), cha\u00eene de caract\u00e8re (str), bool\u00e9en (bool). Une affectation est une [b]instruction.[\/b]\n<pre><code>&gt;&gt;&gt; nom = \"Sanchez\"\n&gt;&gt;&gt; type(nom)\n&lt;class 'str'&gt;<\/code><\/pre>\n<p>Python d\u00e9termine le type des donn\u00e9es seul, on dit que le typage est dynamique. En C ou C++, vous devez indiquer le type de la variable: on dit que le typage est statique.<\/p>\n<\/li>\n<li><strong>Expression<\/strong>: c&rsquo;est le r\u00e9sultat d&rsquo;un calcul, celui-ci peut-\u00eatre stock\u00e9 dans une variable. Comme en maths, les expressions sont \u00e9valu\u00e9es en suivant les priorit\u00e9s des op\u00e9rateurs, y compris logique comme not, and et or donn\u00e9s ici dans l&rsquo;ordre de leur priorit\u00e9.<\/li>\n<li><strong>S\u00e9quences d&rsquo;instructions<\/strong>: utiliser des conditions et effectuer un branchement vers un bloc d&rsquo;instruction selon que cette condition est vraie ou fausse.<\/li>\n<li><strong>Import de module<\/strong>: Utilisation de module comme turtle qui contient des m\u00e9thodes de trac\u00e9. Sans cet import, la m\u00e9thode <em>forward<\/em>, par exemple, n&rsquo;est pas connue. Nous utliserons notamment les modules <em>math, matplot, random et tkinter, pygame, PIL.<\/em><\/li>\n<li><strong>Fonctions:<\/strong> Morceaux de programme auxquels on a donn\u00e9 un nom, nous pouvons les r\u00e9utiliser juste en appelant ce nom: le code est alors <em>factoris\u00e9<\/em>.<\/li>\n<li><strong>Structures conditionnelles<\/strong>. Utiliser une condition pour effectuer un branchement vers une s\u00e9quence d&rsquo;instruction.<\/li>\nVous aurez besoin des expressions bool\u00e9ennes : <a href=\"https:\/\/codex.forge.apps.education.fr\/exercices\/autour_des_booleens\/\">Faire la s\u00e9rie consacr\u00e9 aux bool\u00e9ens sur CODEX<\/a>.\n<li><strong>Boucles:<\/strong>\n<ul>\n<li><em>Boucle born\u00e9e <\/em>: boucle <em>Pour<\/em>, r\u00e9p\u00e9ter N fois une s\u00e9quence d&rsquo;instruction. N est connu .<\/li>\n<li>Boucle non born\u00e9e : boucle <em>while<\/em> r\u00e9p\u00e9ter une s\u00e9quence d&rsquo;instruction tant qu&rsquo;une condition est v\u00e9rifi\u00e9e.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>Notre but est que vous puissiez au fur et \u00e0 mesure de votre parcours:<\/p>\n<ul>\n<li>\n<p>nommer de mani\u00e8re pertinente les objets en explicitant leur type ou cat\u00e9gorie pour les manipuler correctement ;<\/p>\n<\/li>\n<li>\n<p>ma\u00eetriser la complexit\u00e9 d\u2019un grand probl\u00e8me ou d\u2019un syst\u00e8me en le hi\u00e9rarchisant ou le scindant en plusieurs sous-probl\u00e8mes plus simples ;<\/p>\n<\/li>\n<li>\n<p>sp\u00e9cifier dans ses moindres d\u00e9tails un proc\u00e9d\u00e9 pour qu\u2019il puisse s\u2019ex\u00e9cuter sans ambigu\u00eft\u00e9 de mani\u00e8re m\u00e9canique, etc.<\/p>\n<hr \/>\n<h2>Documents de cours:<\/h2>\n<\/li>\n<li>\n<p><a title=\" Structures de base\" href=\"http:\/\/maths-code.fr\/NSI\/1ere\/initiation_Python\/premier_pas.pdf\"> Structures de base: Activit\u00e9.<\/a><\/p>\n<\/li>\n<li>\n<p>Cours <a title=\"premiers pas\" href=\"http:\/\/maths-code.fr\/NSI\/1ere\/initiation_Python\/premier_pas_cours.pdf\">premiers pas<\/a>: les bases \u00e0 conna\u00eetre.<\/p>\n<\/li>\n<li>\n<p><a title=\"Cours Python\" href=\"http:\/\/maths-code.fr\/NSI\/1ere\/Cours-Python_2020.pdf\">Cours Python<\/a> pour plus de d\u00e9tail: <a href=\"http:\/\/maths-code.fr\/NSI\/1ere\/Cours-Python_2020.pdf\">http:\/\/maths-code.fr\/NSI\/1ere\/Cours-Python_2020.pdf<\/a><\/p>\n<\/li>\n<li>\n<p><a title=\"TP: algorithme de H\u00e9ron d'Alexandrie.\" href=\"http:\/\/maths-code.fr\/NSI\/1ere\/initiation_Python\/Exercices.pdf\">Fiche d&rsquo;exercices:<\/a><br \/>Python reste le support utilis\u00e9 mais il n&rsquo;est qu&rsquo;un support: les structures vous sont pr\u00e9sent\u00e9es dans d&rsquo;autres langages comme C++ ou Javascript.<\/p>\n<\/li>\n<\/ul>\n<h2>Liens utiles:<\/h2>\n<ul>\n<li><a hreF=\"https:\/\/interstices.info\/quest-ce-quun-algorithme\/\">Ingredients des algorithmes sur Interstices.info:<\/a><\/li>\n<\/ul>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un algorithme est une suite finie et non ambigu\u00eb d&rsquo;instructions et d\u2019op\u00e9rations permettant de r\u00e9soudre une classe de probl\u00e8mes. (Wikipedia : algorithme)Notre langue maternelle est ambig\u00fce et ne convient donc pas \u00e0 l&rsquo;\u00e9criture d&rsquo;algorithmes destin\u00e9s aux machines. \u00c0 ce titre, visionnez la jolie vid\u00e9o \u00ab\u00a0Challenge consignes exactes\u00a0\u00bb o\u00f9 les enfants ont du mal \u00e0 se sortir des impr\u00e9cisions et ambiguit\u00e9 du langage .Nous allons mettre en palce des algorithmes \u00e0 l&rsquo;aide de structures algorithmiques, puis nous impl\u00e9menteorns ces algorithmes en Python. Ada Lovelace Elle s\u2019appelle Ada, Augusta Ada King, comtesse de Lovelace, fille du c\u00e9l\u00e8bre po\u00e8te Lord George Gordon Byron.En 1843, un si\u00e8cle avant la naissance des calculateurs \u00e9lectroniques, Ada Lovelace formule les premi\u00e8res id\u00e9es fondamentales de l\u2019informatique. Elle contribue \u00e0 am\u00e9liorer les premiers programmes, con\u00e7us alors sur papier. Elle travaille avec Charles Babbage, math\u00e9maticien, sur la \u00ab machine analytique \u00bb. Pour faire marcher cette future machine, Ada cr\u00e9e des \u00ab diagrammes \u00bb qui ont pour but d\u2019expliquer comment doit proc\u00e9der la machine pour arriver au r\u00e9sultat recherch\u00e9\u2026 et ceci ind\u00e9pendamment de la fa\u00e7on dont sont r\u00e9alis\u00e9es ces op\u00e9rations. Ce sont des \u00ab algorithmes \u00bb. Le langage ADA cr\u00e9\u00e9 entre 1980 et 1983 lui doit son nom. [image par Luaailustrada Licence Attribution-Share Alike 4.0 ] source:https:\/\/interstices.info\/ Dans ce chapitre, nous allons poser les bases de la programmation dite imp\u00e9rative en examinant dans l&rsquo;ordre: Variables et affectation: stockage provisoire des valeurs, modification. Les variables ont un type: voici ceux que nous avons rencontr\u00e9s:entier (int), r\u00e9el (float), cha\u00eene de caract\u00e8re (str), bool\u00e9en (bool). Une affectation est une [b]instruction.[\/b] &gt;&gt;&gt; nom = \u00ab\u00a0Sanchez\u00a0\u00bb &gt;&gt;&gt; type(nom) &lt;class &lsquo;str&rsquo;&gt; Python d\u00e9termine le type des donn\u00e9es seul, on dit que le typage est dynamique. En C ou C++, vous devez indiquer le type de la variable: on dit que le typage est statique. Expression: c&rsquo;est le r\u00e9sultat d&rsquo;un calcul, celui-ci peut-\u00eatre stock\u00e9 dans une variable. Comme en maths, les expressions sont \u00e9valu\u00e9es en suivant les priorit\u00e9s des op\u00e9rateurs, y compris logique comme not, and et or donn\u00e9s ici dans l&rsquo;ordre de leur priorit\u00e9. S\u00e9quences d&rsquo;instructions: utiliser des conditions et effectuer un branchement vers un bloc d&rsquo;instruction selon que cette condition est vraie ou fausse. Import de module: Utilisation de module comme turtle qui contient des m\u00e9thodes de trac\u00e9. Sans cet import, la m\u00e9thode forward, par exemple, n&rsquo;est pas connue. Nous utliserons notamment les modules math, matplot, random et tkinter, pygame, PIL. Fonctions: Morceaux de programme auxquels on a donn\u00e9 un nom, nous pouvons les r\u00e9utiliser juste en appelant ce nom: le code est alors factoris\u00e9. Structures conditionnelles. Utiliser une condition pour effectuer un branchement vers une s\u00e9quence d&rsquo;instruction. Vous aurez besoin des expressions bool\u00e9ennes : Faire la s\u00e9rie consacr\u00e9 aux bool\u00e9ens sur CODEX. Boucles: Boucle born\u00e9e : boucle Pour, r\u00e9p\u00e9ter N fois une s\u00e9quence d&rsquo;instruction. N est connu . Boucle non born\u00e9e : boucle while r\u00e9p\u00e9ter une s\u00e9quence d&rsquo;instruction tant qu&rsquo;une condition est v\u00e9rifi\u00e9e. Notre but est que vous puissiez au fur et \u00e0 mesure de votre parcours: nommer de mani\u00e8re pertinente les objets en explicitant leur type ou cat\u00e9gorie pour les manipuler correctement ; ma\u00eetriser la complexit\u00e9 d\u2019un grand probl\u00e8me ou d\u2019un syst\u00e8me en le hi\u00e9rarchisant ou le scindant en plusieurs sous-probl\u00e8mes plus simples ; sp\u00e9cifier dans ses moindres d\u00e9tails un proc\u00e9d\u00e9 pour qu\u2019il puisse s\u2019ex\u00e9cuter sans ambigu\u00eft\u00e9 de mani\u00e8re m\u00e9canique, etc. Documents de cours: Structures de base: Activit\u00e9. Cours premiers pas: les bases \u00e0 conna\u00eetre. Cours Python pour plus de d\u00e9tail: http:\/\/maths-code.fr\/NSI\/1ere\/Cours-Python_2020.pdf Fiche d&rsquo;exercices:Python reste le support utilis\u00e9 mais il n&rsquo;est qu&rsquo;un support: les structures vous sont pr\u00e9sent\u00e9es dans d&rsquo;autres langages comme C++ ou Javascript. Liens utiles: Ingredients des algorithmes sur Interstices.info:<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"class_list":["post-550","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/maths-code.fr\/cours\/wp-json\/wp\/v2\/pages\/550","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maths-code.fr\/cours\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/maths-code.fr\/cours\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/maths-code.fr\/cours\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/maths-code.fr\/cours\/wp-json\/wp\/v2\/comments?post=550"}],"version-history":[{"count":40,"href":"https:\/\/maths-code.fr\/cours\/wp-json\/wp\/v2\/pages\/550\/revisions"}],"predecessor-version":[{"id":6948,"href":"https:\/\/maths-code.fr\/cours\/wp-json\/wp\/v2\/pages\/550\/revisions\/6948"}],"wp:attachment":[{"href":"https:\/\/maths-code.fr\/cours\/wp-json\/wp\/v2\/media?parent=550"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}