Introduction à la programmation informatique
La programmation consiste à faire exécuter des tâches par la machine. Comment donner des instructions à la machine dans un langage qu'elle comprend, c'est l'objet de la programmation. Dans cette formation, nous apprendrons à créer des programmes qui seront exécutées par la machine.
L’importance des langages en informatique
Gérard Berry : L’importance des langages en informatique
Gérard Berry
De l'algorithme au programme informatique
Un programme informatique se définit comme ne suite d'instructions destinées à être exécutées par une machine.
Vous l'aurez compris, il s'agit simplement de la transcription d'un algorithme dans un langage de programmation.
Par exemple, si vous souhaitez utiliser une machine pour calculer le PGCD de deux nombres vous devez récrire l'algorithme d'Euclide dans un langage de programmation, le C par exemple.
Alors qu'est-ce qu'un langage de programmation ?
C'est une interface entre l'homme et la machine. En effet, la machine est incapable de comprendre le langage humain et l'humain ne peut pas non plus comprendre le langage machine (le binaire 1001101).
Exemples
- C (mon préféré)
- Java
- Python
Les outils pour concevoir des programmes
Il vous faut trois éléments pour mettre au point un programme informatique.
- Un éditeur de texte
- Un compilateur (interpréteur)
- Un débogueur
Vous retrouverez ces éléments dans ce qu'on appelle un IDE, éditeur de développement intégré, Intellij par exemple.
Qu'est-ce qu'un éditeur de texte ?
Il s'agit d'un logiciel qui vous permet d'écrire du code informatique et de l'enregistrer dans un fichier (fichier source).
Exemples
- Notepad++
- Sublime Text
Qu'est-ce qu'un compilateur ?
Un logiciel qui convertit le programme informatique en binaire (langage machine 0110101001) exécutable par la machine.
La compilation c'est le processus de conversion du programme informatique en binaire.
La compilation échoue lorsqu'il y a des erreurs dans le programme informatique.
Qu'est-ce qu'un débogueur ?
C'est aussi un logiciel, il va vous permettre de repérer les erreurs/bugs dans votre programme informatique.
Exemples
- Les variables non déclarées
- Les "; [ }" manquants.
- Les opérations non autorisées
À quoi ça sert tout ça ?
Les systèmes informatiques ou les logiciels ou encore applications sont tout simplement des grands programmes informatiques. C'est aussi simple que ça.
Lorsque vous allumez votre téléphone ou votre ordinateur c'est un programme informatique qui tourne derrière.
L'avion peut voler en pilote automatique grâce à des programmes informatiques qui redressent sa trajecoire en fonction des données récupérées par les capteurs.
Le langage C
En 1972 Dennis Ritchie publie la première version du langage C. Une grande révolution, un langage. Le langage C est un langage de programmation créé en 1972 par Dennis Ritchie. Il s'agit d'un langage de bas-niveau et de type compilé. Il est toujours enseigné dans les universités.
À quoi ressemble le langage C ?
Ce programme affiche le message « Salut tout le monde ! ».
Un peu grand, le programme ci-dessous permet de générer des mots de passe de manière aléatoire.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MIN 8
#define MAX 15
#define BEGIN 48 // code ASCII du caractère 0
#define END 122 // code ASCII du caractère z
char TirerUnCaractere(void)
{
int code;
char car;
// On tire un nombre entre
code = rand()%(END-BEGIN+1)+BEGIN;
// Conversion du code en caractère
car = code;
return car;
}
void GenererPassword()
{
char password[MAX]="";
int i,n, lg;
// On tire un nombre entre 8 et 15, taille du mot de passe
n = rand()%(MAX-MIN+1)+MIN;
for(i=0;i<n;i++)
{
password[i] = TirerUnCaractere();
}
printf("Longueur: %d\tMot de passe: %s\n", n, password);
}
int main()
{
int i;
srand(time(NULL));
printf("******************************\n");
printf("* Générateur de mot de passe *\n");
printf("******************************\n");
for(i=0;i<10;i++)
{
GenererPassword();
}
printf("** FIN **\n");
return 0;
}
Cas Pratique
Tout au long de cette formation, nous travaillerons sur un projet directeur, créer un programme de gestion de notes pour les étudiants.
Ne vous inquiétez pas si vous ne comprenez pas, nous décortiquerons tout cela dans la suite.