Ils existent de nombreux langages de programmation qui ont leurs avantages et inconvénients, mais surtout chaque langage est utilisé, choisie, selon les besoins du projet et du développeur.
5 concepts fondamentaux en programmation à connaître, ils sont à la base des langages de programmation qui se différencient ensuite par d'autres concepts qui leur sont propres.
Et connaître les fondamentaux de la programmation permet d'apprendre de nouveau langage de programmation plus facilement.
Ils existent de nombreux langages de programmation qui ont leurs avantages et inconvénients, mais surtout chaque langage est utilisé, choisie, selon les besoins du projet et du développeur.
5 concepts fondamentaux en programmation à connaître, ils sont à la base des langages de programmation qui se différencient ensuite par d'autres concepts qui leur sont propres.
Et connaître les fondamentaux de la programmation permet d'apprendre de nouveau langage de programmation plus facilement.
Voilà ce que tous débutants en programmation doivent connaître et comprendre et ce n’est pas compliqué croyez-moi.
Pour savoir coder pas besoin d’être un génie ou doué en mathématiques, il faut surtout avoir une logique algorithmique.
C'est quoi les algorithmes ?
Vous connaissez déjà !
C’est une suite d'instruction afin d’obtenir tel résultat.
Petit exemple :
Pour préparer un café, si vous buviez du café par exemple.
Vous allez faire quoi ?
1. Je regarde s’il y a de l'eau dans la cafetière.
2. Si non je remplie si oui je continue.
3. J'ajoute ma dosette de café et ma tasse a son emplacement.
4. je lance le préchauffage de la cafetière
5 .j'attends que le bouton passe au vert s’il est vert j'appuie pour lancer la cafetière.
Génial, j'ai mon café !
C'est un algorithme.
Donc si vous commencez à faire certaines étapes dans le désordre ou autrement, votre algorithme est inadéquat et vous n’avez pas le résultat voulu.
Pour bien comprendre la suite, on va faire un point bref sur le langage binaire et le fonctionnement de l'ordinateur.
Tout le monde a entendu Kilo Octet Mega Octet Giga Tera etc.
Mais concrètement c'est quoi ?
Vous savez déjà que ça représente un volume de données lors de vos téléchargements 😂, c'est exact.
Et dans la mémoire de l'ordinateur ?
Le langage binaire, 0 et 1, c'est le langage de l'ordinateur et c'est aussi comme ça qu'il stocke les données.
Un octet est une unité de mesure de la quantité de données informatiques.
Il se compose toujours de huit bits (c'est-à-dire huit "0" ou "1", lire la définition de "bit") et permet de coder une information.
L'octet a pour mission principale de stocker un caractère (il peut s'agir d'un chiffre, d'une lettre, etc.)
Donc si on représente 1 Octet en mémoire comme un tiroir me permettant de stocker un caractère comme "A".
Et que je possède 10 tiroirs je pourrais stocker 10 lettres et former un mot.
Avec une norme et un protocole vous pouvez lire, recevoir et envoyer de l’information avec des 0 et des 1.
Exemple :
Vous voulez échanger des messages parmi les utilisateurs en binaire.
Selon une règle établie par votre programme qui permet de lire et interpréter une trame binaire selon un protocole.
- Les 8 premiers bits sont l'expéditeur.
- Les 8 bits suivants sont le destinataire.
- Les 48 bits suivants sont le message (6 caractères).
Vous avez compris du coup comment l'ordinateur stocke et fait circuler l'ordinateur ?
Les programmes permettent justement de les manipuler, les interpréter, les langages de programmation nous permettent justement de concevoir nos programmes de façon plus compréhensible pour les être humain.
Coder directement nos programmes en binaire ou bas niveau est bien trop compliqué depuis un moment et c'est pour ça que l'on a conçu les langages de programmation.
Je vous montre.
En premier une fonction qui affiche a l'écran un caractère en langage Assembleur très proche du langage machine.
# fonction qui affiche un caractere
_my_putchar:
cmp rdi, 0x00
je Lnull
push rdi
call _ft_strlen
pop rsi
mov rdx, rax
mov rdi, 0x01
mov rax, 0x2000004
syscall
jc Lerr
mov r9, rax
lea rsi, [rel bn]
mov rdi, 1
mov rdx, 1
mov rax, 0x2000004
syscall
jc Lerr
add rax, r9
ret
Lnull:
lea rsi, [rel nerror]
mov rdi, 1
mov rdx, 7
mov rax, 0x2000004
syscall
jc Lerr
ret
Lerr:
mov rax, 0
not rax
ret
segment .data
nerror db "(null)", 10
bn db 10
La même chose en langage C
#include
/* Meme fonction en C */
void my_putchar(char c)
{
write(1, &c, 1);
}
C'est plus facile à comprendre en langage C quand même ?
Les variables sont des emplacements dans la mémoire où on stocke des données, que l’on va pouvoir utiliser dans notre code et que l’on peut modifier contrairement aux variables de type constant.
Par exemple:
Je dis que la variable A = 1
Dans ce cas j’ai mis un chiffre dans cette variable on n’en vient au point sur suivant.
Les types de variable
Les variables ont un type parmi les langages de programmation, Le type doit être spécifié et respecter c’est-à-dire que vous allez indiquer le type de données que c’est variable va contenir.
Le type peut être un Char (caractère) [A] [B] [?] [%] [D]
Ou un INT une variable de type entier qui contient des chiffres ou des nombres sans virgule qui peut aller.
De – 2 147 483 648 à 2 147 4647
Ceux-ci sont 2 exemples de type et ils en existent bien d'autres, certains langages comme python n'a pas besoin que l'on précise le type.
Types de variables en langage C:
#include
#include
int main(int argc, char **argv) {
unsigned short variableA;
unsigned short variableB;
unsigned short variableC;
variableA = 1;
variableB = 1;
variableC = variableA + variableB;
printf("--> A = [ %d ]\n", variableA);
printf("--> B = [ %d ]\n", variableB);
printf("--> C = [ %d ]\n", variableC);
char variableString1[50] = "Salut ";
char variableString2[] = "Tous le monde !";
printf("--> String 1 = [ %s ]\n", variableString1);
printf("--> String 2 = [ %s ]\n", variableString2);
strcat(variableString1, variableString2);
printf("--> New String 1 = [ %s ]\n", variableString1);
return (0);
}
> $ gcc test.c
> $ ./a.out
--> A = [ 1 ]
--> B = [ 1 ]
--> C = [ 2 ]
--> String 1 = [ Salut ]
--> String 2 = [ Tous le monde ! ]
--> New String 1 = [ Salut Tous le monde ! ]
"""
Variable en Python
"""
variable_A = 1
variable_B = 1
variable_C = variable_A + variable_B
print("--> A = [ ", variable_A, " ]")
print("--> B = [ ", variable_B, " ]")
print("--> C = [ ", variable_C, " ]")
variable_string_1 = "Salut"
variable_string_2 = "Tous le monde !"
variable_string_3 = variable_string_1 + " " + variable_string_2
print("--> String 1 = [ ", variable_string_1, " ]")
print("--> String 2 = [ ", variable_string_2, " ]")
print("--> String 3 = [ ", variable_string_3, " ]")
> $ python test.py
--> A = [ 1 ]
--> B = [ 1 ]
--> C = [ 2 ]
--> String 1 = [ Salut ]
--> String 2 = [ Tous le monde ! ]
--> String 3 = [ Salut Tous le monde ! ]
package main
import "fmt"
func main() {
var variableA int
var variableB int
var variableC int
variableA = 1
variableB = 1
variableC = variableA + variableB
fmt.Printf("--> A = [ %d ]\n", variableA)
fmt.Printf("--> B = [ %d ]\n", variableB)
fmt.Printf("--> C = [ %d ]\n", variableC)
var variableString1 string
var variableString2 string
var variableString3 string
variableString1 = "Salut"
variableString2 = "Tous le monde !"
variableString3 = variableString1 + variableString2
fmt.Printf("--> String 1 = [ %s ]\n", variableString1)
fmt.Printf("--> String 2 = [ %s ]\n", variableString2)
fmt.Printf("--> String 3 = [ %s ]\n", variableString3)
}
> $ go run test.go
--> A = [ 1 ]
--> B = [ 1 ]
--> C = [ 2 ]
--> String 1 = [ Salut ]
--> String 2 = [ Tous le monde ! ]
--> String 3 = [ SalutTous le monde ! ]
package main
import "fmt"
func main() {
ma_note := 4
note_max := 20
note_moyenne := 10
switch {
case ma_note > (note_moyenne+5) && ma_note <= note_max:
fmt.Println("Tres Bien !")
break
case ma_note > note_moyenne && ma_note <= (note_moyenne+5):
fmt.Println("Bien !")
break
default:
fmt.Println("Oula")
}
}
Avec les structures de contrôle vous pouvez concevoir votre algorithme.
Dans l'exemple suivant on veut comparer une note d'un examen.
On utilise avec les structures de contrôle les opérateurs de comparaison.
La première condition commence avec if pour vérifier si une valeur et supérieur à 15 et inférieur ou égal à 20.
Ensuite si ce n'est pas le cas.
else if pour vérifier si une valeur et supérieur à 10 et inférieur ou égal à 15.
else pour toutes les notes en dessous de 10 ( la moyenne ).
On utilise également l’opérateur logique &&.
Les opérateurs qui nous permettent d'effectuer des calculs avec nos variables, en Go on peut additionner des variables de mêmes types ou en forçant celui-ci.
Les opérateurs que l'on va utiliser pour faire des comparaisons de valeurs entre nos variables.
Êtes-vous intéressé par l'apprentissage de la programmation ?
Vous voulez comprendre comment les ordinateurs fonctionnent et comment ils communiquent entre eux sur Internet ? Si c'est le cas, ma formation en programmation est parfaite pour vous !
Continuer avec les concepts fondamentaux sur ma chaîne youtube (liens de la vidéo ci-dessous).
Celle-ci fait partie de la formation programmation et informatique 100% Gratuit pour débutants en programmation, afin de présenter un aperçu de l'univers des développeurs.
Abonnez-vous
Abonner vous, pour recevoir les nouvelles publications et obtenir ma formation programmation pour débutant 100% gratuite.
À PROPOS
Je m'appelle Gregory Lafitte, ancien étudiant de l'école 42, et aujourd’hui ingénieur informatique.
Je partage mes connaissances et mon expérience dans les métiers du numérique.
Créé avec © systeme.io • Politique de confidentialité • Mentions légales