David ROUMANET 2014david.roumanet.free.fr/BTS-SIO/Purebasic/SI4 - part 1.pdf · VisualBasic,...

Post on 14-Apr-2020

7 views 0 download

Transcript of David ROUMANET 2014david.roumanet.free.fr/BTS-SIO/Purebasic/SI4 - part 1.pdf · VisualBasic,...

BTS SIO

Programmation Basique (SI4)

David ROUMANET2014

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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