Comment programmer quand on est débutant ?

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.

Fondamentaux en programmation

  • Les variables.
  • Les structures de contrôles.
  • Les opérateurs arithmétiques.
  • Les opérateurs de comparaisons.
  • Les fonctions.

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 ?


Un algorithme


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 en programmation

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:


Exemple utilisation des variables en C, Python et GO.

Variables en 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 ! ]

Variables en Python


"""
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 !  ]

Variables en GO


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 ! ]

Les structures de contrôles en programmation.


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 &&.


Opérateur logique en programmation.

  • || Si une des conditions est vraie alors c'est vrai.
  • && Si une des conditions est fausse alors c'est faux, les 2 doivent être vraies.

Opérateurs arithmétiques en programmation.

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.

Opérateurs de comparaisons en programmation.

Les opérateurs que l'on va utiliser pour faire des comparaisons de valeurs entre nos variables.

Comment coder quand on débute ?

Ê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.

ME SUIVRE

À 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.