david roumanet 2014david.roumanet.free.fr/bts-sio/purebasic/si4 - part 1.pdf · visualbasic,...

21
BTS SIO Programmation Basique (SI4) David ROUMANET 2014

Upload: others

Post on 14-Apr-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: David ROUMANET 2014david.roumanet.free.fr/BTS-SIO/Purebasic/SI4 - part 1.pdf · VisualBasic, Purebasic Simple et rapide Masque les difficultés JavaScript Simple et orienté GUI Lent,

BTS SIO

Programmation Basique (SI4)

David ROUMANET2014

Page 2: David ROUMANET 2014david.roumanet.free.fr/BTS-SIO/Purebasic/SI4 - part 1.pdf · VisualBasic, Purebasic Simple et rapide Masque les difficultés JavaScript Simple et orienté GUI Lent,

BTS SIOProgrammation basique - SI4

PLAN (séance 1)● Correction exercice● Autres langages (différences/points communs)

– Python, Pascal, Purebasic, JavaScript, JAVA, C● Présentation environnement de travail :

– VirtualBox / JRE / IDE...● Les notions

– Variables– Actions– Répétitions

Page 3: David ROUMANET 2014david.roumanet.free.fr/BTS-SIO/Purebasic/SI4 - part 1.pdf · VisualBasic, Purebasic Simple et rapide Masque les difficultés JavaScript Simple et orienté GUI Lent,

BTS SIO

AUTRES LANGAGES : compilés

Bases de programmation

Correction Langages Environnement

PowerPC ARM x86 x64

OS X Raspian Windows Windows

Apple Raspberry PI PC utilisant Microsoft

Application Application Application Application

Code Source Code Source Code Source Code Source

Compilateur PPC Compilateur ARM Compilateur x86 Compilateur x64

Page 4: David ROUMANET 2014david.roumanet.free.fr/BTS-SIO/Purebasic/SI4 - part 1.pdf · VisualBasic, Purebasic Simple et rapide Masque les difficultés JavaScript Simple et orienté GUI Lent,

BTS SIO

AUTRES LANGAGES : interprétés

Bases de programmation

Correction Langages Environnement

PowerPC ARM x86 x64

OS X Raspian Windows Windows

Apple Raspberry PI PC utilisant Microsoft

Application

Code Source

Compilateur ByteCode

Java VM Java VM Java VM Java VM

Page 5: David ROUMANET 2014david.roumanet.free.fr/BTS-SIO/Purebasic/SI4 - part 1.pdf · VisualBasic, Purebasic Simple et rapide Masque les difficultés JavaScript Simple et orienté GUI Lent,

BTS SIO

AUTRES LANGAGES

Bases de programmation

Correction Langages Environnement

Compilé Interprété* Avantages Inconvénients

Java

PHP

C, C++, .Net

Pascal, Delphi

VisualBasic, Purebasic

JavaScript

PowerShell, Bash

Python, Ruby

Assembler

Page 6: David ROUMANET 2014david.roumanet.free.fr/BTS-SIO/Purebasic/SI4 - part 1.pdf · VisualBasic, Purebasic Simple et rapide Masque les difficultés JavaScript Simple et orienté GUI Lent,

BTS SIO

AUTRES LANGAGES

Bases de programmation

Correction Langages Environnement

Compilé Interprété* Avantages Inconvénients

Java Hyper-compatible (ex. Android)Compilation ByteCode

Parfois moins intuitifMoins 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

Page 7: David ROUMANET 2014david.roumanet.free.fr/BTS-SIO/Purebasic/SI4 - part 1.pdf · VisualBasic, Purebasic Simple et rapide Masque les difficultés JavaScript Simple et orienté GUI Lent,

BTS SIOBases de programmation

Correction Langages 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.commentcamarche.net/contents/789-installation-de-easyphp

http://www.cndp.fr/crdp-dijon/Installer-et-configurer-Wampserver.html

Page 8: David ROUMANET 2014david.roumanet.free.fr/BTS-SIO/Purebasic/SI4 - part 1.pdf · VisualBasic, Purebasic Simple et rapide Masque les difficultés JavaScript Simple et orienté GUI Lent,

BTS SIOBases de programmation

Correction Langages Environnement

ENVIRONNEMENT PUREBASIC● Purebasic Demo x86 (32 bits)

● Windows● Linux● Mac

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

http://www.purebasic.com/french/download.php

Page 9: David ROUMANET 2014david.roumanet.free.fr/BTS-SIO/Purebasic/SI4 - part 1.pdf · VisualBasic, Purebasic Simple et rapide Masque les difficultés JavaScript Simple et orienté GUI Lent,

BTS SIOBases de programmation

Correction Langages Environnement

ENVIRONNEMENT JAVA● JRE (Java Runtime Environment) ou JDK

● Windows● Linux● Mac

Pour nos besoins, J2SE est suffisantSE = 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

Page 10: David ROUMANET 2014david.roumanet.free.fr/BTS-SIO/Purebasic/SI4 - part 1.pdf · VisualBasic, Purebasic Simple et rapide Masque les difficultés JavaScript Simple et orienté GUI Lent,

BTS SIOBases de programmation

Notions

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

Part. 1 Part. 2 Part. 3

Page 11: David ROUMANET 2014david.roumanet.free.fr/BTS-SIO/Purebasic/SI4 - part 1.pdf · VisualBasic, Purebasic Simple et rapide Masque les difficultés JavaScript Simple et orienté GUI Lent,

BTS SIOBases de programmation

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)

Notions Part. 1 Part. 2 Part. 3

Page 12: David ROUMANET 2014david.roumanet.free.fr/BTS-SIO/Purebasic/SI4 - part 1.pdf · VisualBasic, Purebasic Simple et rapide Masque les difficultés JavaScript Simple et orienté GUI Lent,

BTS SIOBases de programmation

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

Notions Part. 1 Part. 2 Part. 3

Page 13: David ROUMANET 2014david.roumanet.free.fr/BTS-SIO/Purebasic/SI4 - part 1.pdf · VisualBasic, Purebasic Simple et rapide Masque les difficultés JavaScript Simple et orienté GUI Lent,

BTS SIOBases de programmation

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)

Notions Part. 1 Part. 2 Part. 3

Page 14: David ROUMANET 2014david.roumanet.free.fr/BTS-SIO/Purebasic/SI4 - part 1.pdf · VisualBasic, Purebasic Simple et rapide Masque les difficultés JavaScript Simple et orienté GUI Lent,

BTS SIOBases de programmation

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

Notions Part. 1 Part. 2 Part. 3

Page 15: David ROUMANET 2014david.roumanet.free.fr/BTS-SIO/Purebasic/SI4 - part 1.pdf · VisualBasic, Purebasic Simple et rapide Masque les difficultés JavaScript Simple et orienté GUI Lent,

BTS SIOBases de programmation

Premières notions : conteneurs● Variables "simples" :

● Char = 1 oct. (0 à 255)● Unicode = 2 oct. (0 à 65535)

● String = longueurChaine + 1 oct. NULL

Notions Part. 1 Part. 2 Part. 3

Page 16: David ROUMANET 2014david.roumanet.free.fr/BTS-SIO/Purebasic/SI4 - part 1.pdf · VisualBasic, Purebasic Simple et rapide Masque les difficultés JavaScript Simple et orienté GUI Lent,

BTS SIOBases de programmation

Premières notions : conteneurs● Variables "simples" :

● 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.

B o n j . . .

A 8 B 7Adresse contenue : A8B7

Adresse : A8B7 (B=A8B7, o=A8B8, n=A8B9...)

...Adresse pointeur: 0FF3

Un pointeur, c'est comme un numéro de classe : il indique oùTrouver la classe mais pas son

Contenu !

Notions Part. 1 Part. 2 Part. 3

Page 17: David ROUMANET 2014david.roumanet.free.fr/BTS-SIO/Purebasic/SI4 - part 1.pdf · VisualBasic, Purebasic Simple et rapide Masque les difficultés JavaScript Simple et orienté GUI Lent,

BTS SIOBases de programmation

Premières notions : conteneurs● Variables évoluées :

● Tableau à une dimension → dim tb(7)

● Tableau à deux dimensions → dim tb(7,3)

Notions Part. 1 Part. 2 Part. 3

Page 18: David ROUMANET 2014david.roumanet.free.fr/BTS-SIO/Purebasic/SI4 - part 1.pdf · VisualBasic, Purebasic Simple et rapide Masque les difficultés JavaScript Simple et orienté GUI Lent,

BTS SIOBases de programmation

Premières notions : conteneurs● Variables très évoluées :

● Structure : ensemble de variables simples/évoluées

● La déclaration d'une nouvelle variable de type MaStructure– VariableAMoi.MaStructure

Integer A Integer B Dim N(8) Word C

Notions Part. 1 Part. 2 Part. 3

Page 19: David ROUMANET 2014david.roumanet.free.fr/BTS-SIO/Purebasic/SI4 - part 1.pdf · VisualBasic, Purebasic Simple et rapide Masque les difficultés JavaScript Simple et orienté GUI Lent,

BTS SIOBases de programmation

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

Notions Part. 1 Part. 2 Part. 3

Page 20: David ROUMANET 2014david.roumanet.free.fr/BTS-SIO/Purebasic/SI4 - part 1.pdf · VisualBasic, Purebasic Simple et rapide Masque les difficultés JavaScript Simple et orienté GUI Lent,

BTS SIOBases de programmation

Exercices● Indiquez le type que vous choisiriez pour

stocker : correctiona) 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

Notions Part. 1 Part. 2 Part. 3

Page 21: David ROUMANET 2014david.roumanet.free.fr/BTS-SIO/Purebasic/SI4 - part 1.pdf · VisualBasic, Purebasic Simple et rapide Masque les difficultés JavaScript Simple et orienté GUI Lent,

BTS SIOBases de programmation

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.

Notions Part. 1 Part. 2 Part. 3