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

  1. La programmation (principes et fonctionnement)
  2. La machine programmable
  3. L'algorithmique
  4. Les types de programmes
  5. 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

  1. La conception
  2. Le codage
  3. La transformation du code
  4. 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 : 
  1. Le transfert de données
  2. Les opérateurs arithmétiques
  3. Les opérations logiques
  4. Les contrôles de séquence
  5. Les entrées/sorties
  6. 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

  1. ordre d'exécution (ajouter, multiplier, affecter …);
  2. test conditionnel (si ceci alors … sinon …);
  3. définition de boucle (faire 10 fois, tant que n <10 faire …); plus
  4. 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