BTS SIO Programmation Basique (SI4) David ROUMANET 2014 Programmation basique - SI4 BTS SIO PLAN (séance 1) ● Correction exercice ● Autres langages (différences/points communs) – ● Présentation environnement de travail : – ● Python, Pascal, Purebasic, JavaScript, JAVA, C VirtualBox / JRE / IDE... Les notions – – – Variables Actions Répétitions Bases de programmation Correction Langages BTS SIO Environnement AUTRES LANGAGES : compilés Code Source Code Source Code Source Code Source Compilateur PPC Compilateur ARM Compilateur x86 Compilateur x64 Application Application Application Application OS X Raspian Windows Windows PowerPC ARM x86 x64 Apple Raspberry PI PC utilisant Microsoft Bases de programmation Correction Langages BTS SIO Environnement AUTRES LANGAGES : interprétés Code Source Compilateur ByteCode Application Java VM Java VM Java VM Java VM OS X Raspian Windows Windows PowerPC ARM x86 x64 Apple Raspberry PI PC utilisant Microsoft Bases de programmation Correction Langages BTS SIO Environnement AUTRES LANGAGES Compilé Java PHP C, C++, .Net Pascal, Delphi VisualBasic, Purebasic JavaScript PowerShell, Bash Python, Ruby Assembler Interprété* Avantages Inconvénients Bases de programmation Correction Langages BTS SIO Environnement AUTRES LANGAGES Avantages Inconvénients Java Hyper-compatible (ex. Android) Compilation ByteCode Parfois moins intuitif Moins rapide PHP Léger et simple. Serveur web. Peu d'inconvénients C, C++, .Net Proche machine, rapide Rigide et lourd Pascal, Delphi Syntaxe = algorithme De – en – utilisé VisualBasic, Purebasic Simple et rapide Masque les difficultés JavaScript Simple et orienté GUI Lent, principalement client web PowerShell, Bash Orienté base OS Pas de graphisme Python, Ruby Simple à utiliser Marché de niche Assembler Code machine Long et complexe Compilé Interprété* Bases de programmation Correction Langages BTS SIO Environnement ENVIRONNEMENT PHP ● WAMP ou EasyPHP ● Windows ● Apache (serveur web sur le port TCP-80) ● MySQL (serveur base de données SQL) ● PHP (langage de programmation PHP) WAMP = Stable, EasyPHP = Portable http://www.cndp.fr/crdp-dijon/Installer-et-configurer-Wampserver.html http://www.commentcamarche.net/contents/789-installation-de-easyphp Bases de programmation Correction Langages BTS SIO Environnement ENVIRONNEMENT PUREBASIC ● Purebasic Demo x86 (32 bits) ● Windows ● Linux ● Mac http://www.purebasic.com/french/download.php Pensez à VirtualBox ! http://fr.openclassrooms.com/informatique/cours/reprenez-le-controle-a-l-aide-de-linux/installez-linux-dans-une-machine-virtuelle http://www.purebasic.com/french/download.php Bases de programmation Correction Langages BTS SIO Environnement ENVIRONNEMENT JAVA ● JRE (Java Runtime Environment) ou JDK ● Windows ● Linux ● Mac Pour nos besoins, J2SE est suffisant SE = Standard Edition, EE = Enterprise Edition, ME = Micro Edition (téléphones portables...) http://fr.openclassrooms.com/informatique/cours/apprenez-a-programmer-en-java/installer-les-outils-de-developpement BTS SIO Bases de programmation Notions Part. 1 Part. 2 Part. 3 Les notions à apprendre ● Les conteneurs de données → Partie 1 ● Variables (int, float, string, pointer, ...) ● Tables (simple, multi-dimensions) ● Structures (...) ● Buffer (full, circular...) ● Listes chaînées BTS SIO Bases de programmation Notions Part. 1 Part. 2 Part. 3 Les notions à apprendre ● Les actions → Partie 2 ● Linéaires ● Procédurales (les procédures) ● Fonctionnelles (les fonctions) ● Conditionnelles (si ... sinon ... alors ...) ● Evénementielles (Gestion par événements) BTS SIO Bases de programmation Notions Part. 1 Part. 2 Part. 3 Les notions à apprendre ● Les répétitions → Partie 3 ● Boucles itératives (1, 2, 3... 10 !) ● Boucles conditionnelles en sortie (repeat ... until) ● Boucles conditionnelles en entrée (while... wend) ● Boucles récursives BTS SIO Bases de programmation Notions Part. 1 Part. 2 Part. 3 Premières notions : conteneurs ● Variables simples : ● Integer → -5, 22, 498735 (les entiers relatifs) – – – – – Bytes = 1 oct. (0 à 255) ou Signed Bytes (-128 à +127) Word = 2 oct. (0 à 65535 / -32768 à 32767) Long = 4 oct. (-2147483648 à +2147483647) Integer = 4 oct. sur OS 32 bits, 8 oct. Sur OS 64 bits Quad = 8 oct. (ne pas confondre quad-precision) BTS SIO Bases de programmation Notions Part. 1 Part. 2 Part. 3 Premières notions : conteneurs ● Variables simples : ● Float / Real → -125.421, 0.005, 3.14~ (décimaux) – Double = 8 oct. (64 bits dont 53 bits de précisions) – Quad = 16 oct. (128 bits dont 64 bits de précisions) Exemple : 1.189731495357231765085759326628007 × 104932 BTS SIO Bases de programmation Notions Part. 1 Part. 2 Part. 3 Premières notions : conteneurs ● Variables "simples" : ● Char = 1 oct. (0 à 255) ● Unicode = 2 oct. (0 à 65535) ● String = longueurChaine + 1 oct. NULL BTS SIO Bases de programmation Notions Part. 1 Part. 2 Part. 3 Premières notions : conteneurs ● Variables "simples" : Un pointeur, c'est comme un numéro de classe : il indique où Trouver la classe mais pas son Contenu ! ● Char = 1 oct. (0 à 255) ● Unicode = 2 oct. (0 à 65535) ● String = longueurChaine + 1 oct. NULL En C, une chaine est considérée comme une zone mémoire accédée via un pointeur. A 8 B 7 ... Adresse pointeur: 0FF3 Adresse contenue : A8B7 B o n j . . . Adresse : A8B7 (B=A8B7, o=A8B8, n=A8B9...) BTS SIO Bases de programmation Notions Part. 1 Part. 2 Part. 3 Premières notions : conteneurs ● Variables évoluées : ● Tableau à une dimension → dim tb(7) ● Tableau à deux dimensions → dim tb(7,3) BTS SIO Bases de programmation Notions Part. 1 Part. 2 Part. 3 Premières notions : conteneurs ● Variables très évoluées : ● Structure : ensemble de variables simples/évoluées Integer A ● Integer B Dim N(8) Word C La déclaration d'une nouvelle variable de type MaStructure – VariableAMoi.MaStructure BTS SIO Bases de programmation Notions Part. 1 Part. 2 Part. 3 Exercices ● Indiquez le type que vous choisiriez pour stocker : a) Le code postal d'une commune b) Un numéro de téléphone c) Un nom de famille d) Un ensemble de coordonnées GPS e) L'état d'un feu tricolore f) Le numéro de piste et le titre des chansons d'un CD BTS SIO Bases de programmation Notions Part. 1 Part. 2 Part. 3 Exercices ● Indiquez le type que vous choisiriez pour stocker : correction a) Le code postal d'une commune : Integer, Word b) Un numéro de téléphone : un tableau byte, une chaine c) Un nom de famille : une chaine d) Un ensemble de coordonnées GPS : structure 2xfloat e) L'état d'un feu tricolore : un byte f) Le numéro de piste et le titre des chansons d'un CD : structure byte + string BTS SIO Bases de programmation Notions Part. 1 Part. 2 Part. 3 Exercices ● Rechercher les actions pour... a) Créer un programme de tirage du loto ● 7 boules numérotées de 1 à 49 sont extraites au hasard d'une sphère.