BSIO1 - SI4 Les bases de la programmation
Introduction à la programmation
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
Contenu du cours
- La programmation (principes et fonctionnement)
- La machine programmable
- L'algorithmique
- Les types de programmes
- Les langages de programmation
SI4 : Cours 1 - Introduction à la programmation
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
1. La programmation
La programmation dans le domaine informatique est l'ensemble des activités qui permettent l'écriture des programmes informatiques. C'est une étape importante du développement de logiciels (voire de matériel).
Un programme informatique est une série d'instructions non équivoques transmises au microprocesseur afin de produire un résultat précis.
L'étape de programmation est appelée usuellement le codage, c’est-à-dire la rédaction du code source d'un logiciel. Pour cela, on utilise un langage de programmation.
On utilise plutôt le terme développement pour dénoter l'ensemble des activités liées à la création d'un logiciel.
SI4 : Cours 1 - Introduction à la programmation
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
Historique de la programmation
1642 : La Pascaline, premier calculateur mécanique par B. Pascal (addition et soustraction seulement)
1725 : Programmation d’un métier à tisser par cartes perforées (1ère machine programmable)
1834 : La carte perforée d'IBM pour la machine analytique
1936 : La machine de Turing (concept abstrait) puis premiers calculateurs programmeurs avec mémoire et périphériques de saisie
1946 : P. Eckert et JW Mauchly achèvent l’ENIAC (Electronic Numerical Integrator and Computer)
1960 : aparition des premiers superordinateurs ou supercalculateurs, selon le modèle du matématicien Van Newmann
SI4 : Cours 1 - Introduction à la programmation
1. La programmation
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
Les phases de la programmation
- La conception
- Le codage
- La transformation du code
- Le test du programme
SI4 : Cours 1 - Introduction à la programmation
1. La programmation
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
Définition
SI4 : Cours 1 - Introduction à la programmation
2. La machine programmable
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
Une machine programmable est une machine dont le comportement va changer en fonction du programme qui est chargé en mémoire.
Un ordinateur est une machine programmable qui fonctionne par la lecture séquentielle d'un ensemble d'instructions, organisées en programmes, qui lui font exécuter des opérations logiques et arithmétiques.
Evolution de l'architecture du microprocesseur
SI4 : Cours 1 - Introduction à la programmation
2. La machine programmable
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
Les jeux d'instructions
- RISC versus CISC
- 6 groupes d'instructions :
- Le transfert de données
- Les opérateurs arithmétiques
- Les opérations logiques
- Les contrôles de séquence
- Les entrées/sorties
- Les manipulations binaires diverses
SI4 : Cours 1 - Introduction à la programmation
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
2. La machine programmable
SI4 : Cours 1 - Introduction à la programmation
Architecture d'une machine programmable moderne
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
2. La machine programmable
- Les programmes sont stockés sur le disque dur (mémoire externe).
- Pour être exécuté, un programme doit être envoyé dans la mémoire vive (RAM).
- Le processeur (CPU) lit et exécute les instructions trouvées dans la mémoire vive.
- Le processeur peut également déposer des informations dans la mémoire vive: les résultats de ses calculs, par exemple.
- Lorsque le traitement est terminé, on peut envoyer les résultats obtenus sur les interfaces de sortie ou la mémoire externe.
SI4 : Cours 1 - Introduction à la programmation
Aller plus loin...
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
2. La machine programmable
3. L'algorithmique
Un algorithme est un mot savant pour dire "recette de calcul pour ordinateur"
L'algorithme est :
- universel : il fonctionne quelle que soit la machine utilisée. Cependant une transcription dans le langage propre de la machine utilisée sera indispensable.
- paramétrable : il est possible de choisir des valeurs avant de lancer l'exécution de l'algorithme.
- exhaustif : toutes les choses à faire doivent être dites précisément et sans en oublier.
SI4 : Cours 1 - Introduction à la programmation
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
3. L'algorithmique
Un algorithme comporte trois types d'instructions
- ordre d'exécution (ajouter, multiplier, affecter …);
- test conditionnel (si ceci alors … sinon …);
- définition de boucle (faire 10 fois, tant que n <10 faire …); plus
- les instructions pilotant les entrées / sorties de données.
Quel est l'intérêt d'un l'algorithme?
C'est de pouvoir le porter (le charger) dans un ordinateur ou une calculette pour faire des travaux:
fastidieux
répétitifs,
compliqués
SI4 : Cours 1 - Introduction à la programmation
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
3. L'algorithmique
- Intervient dans la phase de Conception
- Sert à décrire la méthode de production du résultat attendu du programme
- Se concentre sur le traitement des données
- Méthode graphique (dans le cadre de ce cours) : l'organigramme
SI4 : Cours 1 - Introduction à la programmation
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
3. L'algorithmique
Pour simplifier et avoir une meilleure vision globale, on réalise une sorte de figure, un graphe, un organigramme. Voici l'algorithme de calcul des carrés sous la forme d'un organigramme.
La partie initialisation permet de modifier les paramètres fixant le déroulement de l'algorithme.
Max donne la quantité de carrés désirés, et
n indique à partir de quelle valeur.
Chaque rectangle est une instruction élémentaire.
Ici, pour dire mettre 10 dans la mémoire nommée Max, on utilise le symbole ":=". On lit: M prend la valeur 10. C'est une affectation.
La boucle est la partie répétitive de l'algorithme. Elle comporte toujours une condition d'arrêt, de fin.
Un hexagone aplati indique un test dont le résultat est oui ou non (vrai ou faux). On indique clairement ce que l'on fait dans chacun des cas.
SI4 : Cours 1 - Introduction à la programmation
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
L'organigramme
Imaginez une machine qui sait exécuter ces instructions, elle pourra le faire des milliers de fois sans se fatiguer et avec des valeurs aussi grandes que vous voulez.
Inversion
Vous devez réaliser un programme informatique qui inverse le contenu de 2 bouteilles pleines.
SI4 : Cours 1 - Introduction à la programmation
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
3. L'algorithmique
Addition : analogie des wagonnets
Nous vous proposons de programmer une simple addition: 3 + 5 = 8, par exemple. Mais ce pourrait être n'importe quels nombres.
Nous disposons d'une "usine addition" qui reçoit les wagonnets nommés A et B. L'usine addition a pour effet de charger un wagonnet C avec le contenu de A et le contenu de B.
De sorte que si A contenait 3 patates et B contenait 5 patates, le wagonnet C va sortir de l'usine addition chargé de 3 + 5 = 8 patates.
SI4 : Cours 1 - Introduction à la programmation
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
3. L'algorithmique
Addition : analogie des wagonnets
SI4 : Cours 1 - Introduction à la programmation
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
3. L'algorithmique
Addition : analogie des wagonnets
SI4 : Cours 1 - Introduction à la programmation
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
3. L'algorithmique
Multiplication
Vous devez réaliser un programme informatique qui réalise la multiplication du chiffre 2 par le chiffre 2
La calculatrice simple
Vous devez réaliser un programme informatique qui réalise la multiplication de deux entiers quelconques saisis au clavier par l'utilisateur.
SI4 : Cours 1 - Introduction à la programmation
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
3. L'algorithmique
SI4 : Cours 1 - Introduction à la programmation
Aller plus loin...
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
3. L'algorithmique
SI4 : Cours 1 - Introduction à la programmation
La transformation du code
Interpréter
Compiler
- est une traduction de l'intégralité d'un programme rédigé dans un langage source de haut niveau;
- réalisé une seule fois;
- le résultat est un programme exécutable ou encore code objet;
- réputé plus rapide;
- les erreurs sont détectées à la fin de la compilation
- est une analyse de chaque instruction d'un programme rédigé dans un langage source dit interprété;
- réalisé à chaque exécution ;
- le code est immédiatement exécuté après analyse;
- plus lent mais plus évolutif ;
- les erreurs sont détectées immédiatement dès l'analyse (à la volée).
4. Les types de programmes
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
SI4 : Cours 1 - Introduction à la programmation
La transformation du code
Compiler
- est une traduction de l'intégralité d'un programme rédigé dans un langage source de haut niveau;
- réalisé une seule fois;
- le résultat est un programme exécutable ou encore code objet;
- réputé plus rapide;
- les erreurs sont détectées à la fin de la compilation
4. Les types de programmes
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
SI4 : Cours 1 - Introduction à la programmation
La programmation assembleur
- Très proche du langage machine
- Dépend donc fortement du type de processeur
- Difficilement lisible par nous, humains
Les instructions sont stockées dans un fichier texte (le fichier source) qui, grâce à un programme spécifique (appelé « l'assembleur ») sera traduit en langage machine.
4. Les types de programmes
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
SI4 : Cours 1 - Introduction à la programmation
La programmation procédurale
Le but : découper le problème en plusieurs tâches élémentaires (fonctions, procédures)
Une procédure ou fonction peut être appelée depuis n'importe où:
- depuis le programme principal,
- depuis une autre procédure ou fonction,
- depuis elle-même (récursive)
Éviter la programmation spaggetti (GOTO)
4. Les types de programmes
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
SI4 : Cours 1 - Introduction à la programmation
La programmation orientée objet (POO)
Manipulation de briques logicielles (objets)
Un objet va représenter une entité du monde réel:
- une personne,
- une voiture,
- une entreprise...
Un objet possède une structure interne et un comportement:
- la structure : des données et des valeurs,
- le comportement : des fonctions et des procédures
4. Les types de programmes
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
SI4 : Cours 1 - Introduction à la programmation
5. Les langages de programmation
Le langage C
Date du début des années 1970, initialement conçu pour Unix. Langage de bas niveau :
- compilation directe en langage machine
- manipulation de plages d'adresse mémoire grâce aux pointeurs
Évolution vers le C++
- utilise la même syntaxe de base
- permet la programmation objet
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
SI4 : Cours 1 - Introduction à la programmation
Langage C#
Apparu en 2001, perte de vitesse depuis 2012
Basé sur C/C++ pour exploiter Microsoft.Net
Permet donc de développer toute sorte de composants
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
5. Les langages de programmation
SI4 : Cours 1 - Introduction à la programmation
Langage PHP
Langage web
Permet de développer toute sorte de site web
Couple HTML5 (CSS3)-PHP5 introduisent la notion d'objet
Langage interprété
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
5. Les langages de programmation
SI4 : Cours 1 - Introduction à la programmation
Le langage JAVA
Orienté objet
Créé par les développeurs SUN en 1995
Langage assez utilisé
Portable sous Windows, Mac OS, Linux
Compilation vers un bytecode Java, interprété par une machine virtuelle (JVM)
Compatible PC, téléphone portable, tablette...
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
5. Les langages de programmation
SI4 : Cours 1 - Introduction à la programmation
Tous les langages autorisent :
- une approche via pseudo-code
- la gestion de fichiers
- une connexion à une source de données (BD)
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
5. Les langages de programmation
SI4 : Cours 1 - Introduction à la programmation
Aller plus loin...
http://www.tiobe.com/index.php/content/company/Home.html
https://sites.google.com/site/pydatalog/pypl/PyPL-PopularitY-of-Programming-Language
BTS SIO - AMEP Redoute - Année scolaire 2017-2018 - Préparé par Axel Féliot
5. Les langages de programmation
BSIO1 : SI4 - c1. Introduction
By Axel FELIOT
BSIO1 : SI4 - c1. Introduction
Présentation du cours d'introduction à la programmation
- 1,160