Vous êtes sur la page 1sur 44

PARTIE 6

Découvrir les
notions de base
de la
programmation

Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 122


1. Découvrir les concepts fondamentaux de l’informatique

CHAPITRE 1
2. Développer du contenu numérique
3. Rechercher l’information pour répondre à un besoin donné
4. Collaborer par le biais des technologies numériques
Définir le vocabulaire 5. Partager un contenu numérique en ligne
de codage de PARTIE 6.Découvrir les notions de base de la
l’information, de
programmation
l’algorithme et de la
7. Manipuler les données avec un tableur Excel
programmation 8. Protéger les données personnelles et la vie privée
informatique

Culture et techniques du numérique DRIF - Secteur Digital & IA 2022


Codage de l’information et son principe

• Le codage de l’information concerne les moyens de formaliser l'information afin de pouvoir la manipuler, la
stocker ou la transmettre. Il ne s'intéresse pas au contenu, mais seulement à la forme et à la taille des
informations à coder.

 Exemple : On nomme lettre un élément d'un alphabet. On nomme mot une suite finie de lettres. On
nomme langage un ensemble de mots associé à certaines règles d'interprétation
• De façon générale un codage permet de passer d'une représentation des données vers une autre.

 Exemple : Le nombre 35 : 35 est la représentation externe du nombre trente cinq et La représentation


interne de 35 sera une suite de 0 et 1 ( 100011 )

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 124
Abdelkrim BEN YAHIA
Bit et Octet (Byte)

• Un bit est l’élément de base avec lequel travaille l’ordinateur : sa valeur est 1
ou 0. ( on peut comparer ça à : on/off ; vrai/faux ; marche/arrêt ; …). Bit et la
contraction de BinaryDigit.

• En informatique, un octet(Byte) est un multiplet de 8 bits codant une


information

• En fait l’ordinateur ne calcule jamais sur 1 bit à la fois, mais sur un ou


plusieurs octets. (ce qui fait 8bits ou plus, mais toujours des multiples de 8
bits). Pour simplifier 1Byte = 1 octet= 8 Bits.

• Les nouveaux ordinateurs sont 64 bits (c’est à dire qu’ils calculent sur 8 octets
à la fois (8 octets x 8 bits = 64 bits)). Les éléments qui composent l’ordinateur
(Processeur, bus de données, etc) sont en 64bits. Ils peuvent donc ainsi
adresser plus d’informations en une seule fois (2 fois plus qu’en 32bits).

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 125
Abdelkrim BEN YAHIA
Code ASCII

• La mémoire de l'ordinateur conserve toutes les données sous forme numérique. Il n'existe
pas de méthode pour stocker directement les caractères. Chaque caractère possède donc
son équivalent en code numérique : c'est le code ASCII abréviation de American Standard
Code for Information Interchange (Code américain normalisé pour l'échange d'information).

• La norme de codage des caractères ASCII décrit une table de correspondance permettant
de coder des caractères (lettres majuscules et minuscules, chiffres, symboles
mathématiques et de ponctuation) sur un ordinateur. Cette norme a été définie en 1975 et
contient 128 codes à 7 bits dont 95 caractères imprimables.

• ASCII suffit pour représenter les textes en anglais, mais il est trop limité pour les autres
langues, dont le français et ses lettres accentuées. cette norme est dépassée et supplantée
par Unicode, qui est rétrocompatible avec l'ASCII.

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 126
Abdelkrim BEN YAHIA
Unicode (UTF-8)

• Unicode est un système de codage informatique qui a pour but d'unifier les échanges de
texte au niveau international. Avec Unicode, chaque caractère informatique est décrit par un
nom et un code l'identifiant de manière unique quel que soit le support informatique ou le
logiciel utilisé. Unicode a déjà répertorié plus de 100000 caractères.

• Parmi les premiers caractères Unicode, il y a les 128 codes ASCII (dont l'alphabet latin), puis
l'alphabet phonétique international, puis les alphabets locaux (grec, cyrillique, etc.) puis des
symboles et bien d'autres.

• UTF-8 (abréviation Universal Character Set Transformation Format1 - 8 bits) est un


encodage des caractères, basé sur UNICODE, de longueur variable qui utilise de 1 à 4
octets par symbole. Le premier octet sert à encoder les caractères ASCII. Chaque caractère
dont le point de code est supérieur à 127 (caractère non ASCII) se code sur 2 à 4 octets.

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 127
Abdelkrim BEN YAHIA
Algorithme et son usage

• Dans le domaine des mathématiques, dont le terme est originaire, un algorithme peut être
considéré comme un ensemble d’opérations ordonné et fini devant être suivi dans
l’ordre pour résoudre un problème.

• Pour effectuer une tâche, quelle qu’elle soit, un ordinateur a besoin d’un programme
informatique. Or, pour fonctionner, un programme informatique doit indiquer à l’ordinateur ce
qu’il doit faire avec précision, étape par étape.

• L’ordinateur ” exécute ” ensuite le programme, en suivant chaque étape de façon mécanique


pour atteindre l’objectif. Or, il faut aussi dire à l’ordinateur ” comment ” faire ce qu’il doit faire.
C’est le rôle de l’algorithme informatique.

• Les algorithmes informatiques fonctionnent par le biais d’entrées (input) et de sortie (output).
Ils reçoivent l’input, et appliquent chaque étape de l’algorithme à cette information pour
générer un output.

 Par exemple, un moteur de recherche est un algorithme recevant une requête de


recherche en guise d’input. Il mène une recherche dans sa base de données pour des
éléments correspondant aux mots de la requête, et produit ensuite les résultats.

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 128
Abdelkrim BEN YAHIA
Programme informatique

• Un programme est une suite d'instructions que la machine doit exécuter.

• La façon d'écrire un programme est liée au langage de programmation que l'on a choisi car il en existe
énormément.

• D'une façon générale, le programme est un simple fichier texte (écrit avec un traitement de texte ou un
éditeur de texte), que l'on appelle fichier source.

• Le fichier source contient les lignes de programmes que l'on appelle code source

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 129
Abdelkrim BEN YAHIA
langue et langage

• Une langue est un moyen (et un outil) pour exprimer et enregistrer des pensées. Il y a beaucoup de langues
tout autour de nous.

• Les langages naturels (Ex l'anglais, le français ou les gestes) représentent l'ensemble des possibilités
d'expression partagé par un groupe d'individus.

• Les ordinateurs ont également leur propre langage, appelé langage machine , Il s'agit d'une suite de 0 et de
1 (du binaire) mais pour plus de "clarté il peut être décrit en hexadécimal

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 130
Abdelkrim BEN YAHIA
Principaux langages de programmation utilisés

• Les langages servant aux ordinateurs à communiquer n'ont rien à voir avec des langages de programmation,
on parle dans ce cas de protocoles de communication, ce sont deux notions totalement différentes.

• Un langage machine(0,1) n'est pas compréhensible facilement par l'humain moyen.

• langages de programmation c’est un langage intermédiaire, compréhensible par l'homme, qui sera ensuite
transformé en langage machine pour être exploitable par le processeur.

• Il existe de nombreux langages tels que Java, Python, C, C++… chacun présente des spécificités et
convient davantage à un cas d’usage spécifique.

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 131
Abdelkrim BEN YAHIA
Etapes a suivre pour la programmation informatique

Problème • Traduire le problème en algorithme

Programme • Traduire l'algorithme en programme informatique écrit


en un language de progrmmation
informatique

• Compiler le programme informatique par


Programme l'ordinateur pour le traduire en language
binaire binaire (language machine)

Exécution du programme

Résultat
Partie Partie Partie Partie Partie Partie Partie Partie
Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 132
Abdelkrim BEN YAHIA
1. Découvrir les concepts fondamentaux de l’informatique

CHAPITRE 2
2. Développer du contenu numérique
3. Rechercher l’information pour répondre à un besoin donné
4. Collaborer par le biais des technologies numériques
5. Partager un contenu numérique en ligne

Modéliser un PARTIE 6.Découvrir les notions de base de la


problème simple en programmation
un algorithme 7. Manipuler les données avec un tableur Excel
8. Protéger les données personnelles et la vie privée

Culture et techniques du numérique DRIF - Secteur Digital & IA 2022


Conversion d’un décimal vers binaire

• Pour convertir un nombre décimal en nombre binaire (en base B = 2), il suffit de faire des divisions entières
successives par 2 jusqu'à ce que le quotient devienne nul.

• Le résultat sera la juxtaposition des restes. Le bit de poids fort correspondant au reste obtenu à l'ultime
étape de la division.

• Exemple : Le nombre décimal N= 57(10) correspond au nombre binaire : 11 1001(2)

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 134
Abdelkrim BEN YAHIA
Décodage d’un mot écrit en code ASCII en principales bases de
codages
• La conversion/décodage de l'ASCII consiste à remplacer/traduire chaque valeur (en binaire, octal, décimal
ou hexadécimal) par le caractère correspondant dans la table ASCII. Sa représentation peut être formatée
en base binaire (0-1), octale (0-7), décimale (0-9) ou hexadécimale (0-9a-f).

• Les codes 65 à 90 représentent les lettres de A à Z en capitale, et les codes 97 à 122 les mêmes lettres en
minuscule, de a à z. Pour passer d'une lettre capitale à sa minuscule, il suffit d'ajouter 32 en décimal au code
ASCII (ou +20 en hexadécimal, ou de modifier le 5ème bit en binaire).

 Exemple : A=0100001 (65) et a=0110001 (65+32=97)


Valeurs ASCII (Format) Texte clair
65 77 69 82 73 67 65 78 (Décimal) AMERICAN
83 116 97 110 100 97 114 100 (Décimal) Standard
1000011 1001111 1000100 1000101 (Binaire 7bit) CODE
49 4E 46 4F 52 4D 41 54 49 4F 4E (Hexadécimal) INFORMATION
111 116 124 105 122 103 110 101 116 107 105 (Octal) INTERCHANGE
Partie Partie Partie Partie Partie Partie Partie Partie
Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 135
Abdelkrim BEN YAHIA
Construction d’un algorithme

• Pour chaque problème, il vous est demandé de définir clairement :

• Données d'entrée,
• Données de sortie.
Données

• Opérations arithmétiques de base (exemple: +,-,*,/,mod....),


• Affectation de valeur (exemple : variable <-- 2),
Instructions • Afficher/lire,
• Structures conditionnelles,
• Structures répétitives.

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 136
Abdelkrim BEN YAHIA
Les données et leur nature (Types de bases)

• Les données (d’entrée et de sortie) manipulées par un algorithme peuvent être de nature différente
(entiers, réels, caractères, chaînes de caractères, booléens...). En programmation, on parle de type
plutôt que de la nature de la donnée.

• Le type d'une donnée spécifie la taille occupée par la donnée en mémoire, les opérations qui lui sont
applicables ainsi que l'intervalle de valeurs autorisées.

• Il faut savoir que Les types de bases, types primitifs, types élémentaires ou encore types simples, sont :

 Entier : représente l'ensemble des entiers relatifs


 Réel : l'ensemble des réels
 Booléen : le domaine des booléens (vrai / faux)
 Caractère : le domaine des caractères alphanumériques
 Chaîne : le domaine des textes

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 137
Abdelkrim BEN YAHIA
La structure d’un algorithme

• Un algorithme est constitué par un en-tête et un corps, ce dernier étant constitué


de deux parties

 L'en-tête permet de donner un nom à l'algorithme. Ce nom n'a pas de


signification particulière mais doit respecter les règles de formation des
identifiants. Le fait de nommer les algorithmes permet de les différencier.
 La première partie du corps, encadrée par les mots Algorithme et Début, a
un rôle descriptif. En particulier, elle décrit les variables et constantes
utilisées dans l'algorithme.
 La seconde partie du corps, encadrée par les mots Début et Fin, a un rôle
constructif. Elle décrit les traitements à réaliser pour aboutir au résultat
recherché. Chaque ligne comporte une seule instruction. L'algorithme
commence son exécution sur le mot Début, se déroule séquentiellement
(ligne après ligne, de la première à la dernière, dans cet ordre) et se termine
sur le mot Fin.

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 138
Abdelkrim BEN YAHIA
Variables et les déclarations

• Une variable est un élément informatique permettant de mémoriser une information dont l'algorithme aura
besoin au cours de son exécution. Elle désigne donc un emplacement mémoire qui permet de stocker une
valeur.

• Une variable est définie par :

 Un nom (ou identifiant) unique qui la désigne,


 Un type (appelé aussi domaine de définition) unique qui définit de quel « genre » est l'information
associée à l'élément informatique,
 Une valeur attribuée et modifiée au cours du déroulement de l'algorithme.
• Pour la syntaxe de la déclaration d’une variable est la suivante :

variable nomVariable : TypeVariable

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 139
Abdelkrim BEN YAHIA
Opérateurs

• Les opérateurs sont des symboles qui permettent d'exécuter des opérations
dans un algorithme ou programme informatique. Par exemple si on veut
effectuer une addition de deux variables entiers ou réels on utilise l'opérateur
d'addition connu par le célèbre symbole +.

• En algorithmique, on dénombre généralement 4 familles d'opérateurs:

 Opérateurs d'assignation (ou affectation): Ce sont des opérateurs qui


permettent d'affecter (assigner) une valeur à une variables.
 Opérateurs de calcul (ou arithmétiques): Ce sont des opérateurs qui
permettent d'effectuer des opérations de calcul comme l'addition ou le
produit. Ex:: + , - , * , / , mod…
 Opérateurs de comparaison: Ce sont des opérateurs qui permettent de
comparer deux éléments (variables, constantes ou valeurs statiques).
Ex:: <, >, =, ...
 Opérateurs logiques: Ce sont des opérateurs qui permettent d'effectuer
des opérations logiques comme le ET logique ou le OU logique.

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 140
Abdelkrim BEN YAHIA
Les instructions élémentaires

• Une instruction peut être :

 Un appel à une fonction prédéfinie ou une procédure,


 Utilisation des primitives d’entrée et de sortie,
 Affection d’une variable,
 Structures conditionnelles,
 Structures répétitives,
 Structures à choix multiple,
 Structures itératives,
 Etc.

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 141
Abdelkrim BEN YAHIA
Affectation et Expressions

• L’affectation est l’instruction qui permet de stocker une valeur dans une variable. En langage naturel, l’affectation
est notée 

• Une expression est une suite finie bien formée d'opérateurs portant sur des variables ou des valeurs et qui a une
valeur. La valeur de l'expression doit être conforme au domaine de la variable affectée. Par exemple, 2+3 est une
expression arithmétique qui vaut 5.

• Exemple:

 name  « Robert » signifie que l’on stocke la chaîne de caractères « Robert » dans la variable nommée
name.
 X  10 ( cette instruction affecte à la variable X la valeur 10 )
 Y  X + 4 ( cette instruction affecte à la variable Y la valeur de la variable X plus 4)

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 142
Abdelkrim BEN YAHIA
Communication avec l’ordinateur (lire et écrire)

• L’instruction de lecture LIRE permet de fournir des Algorithme surface


informations (données) à notre programme par
l’intermédiaire d’un périphérique (clavier). Syntaxe : RÉEL Rayon,Surface
LIRE(Variable)
Début
• L’instruction d’écriture ECRIRE ou AFFICHER permet à un
programme de communiquer des informations (résultats) LIRE(Rayon)
par l’intermédiaire d’un périphérique (écran). Syntaxe:
ÉCRIRE(liste d'expressions) Surface  Rayon * Rayon * 3.14

• Exemple: On désire écrire un algorithme qui lit sur l’entrée ECRIRE (″Surface =″ , Surface)
standard (clavier) une valeur représentant le rayon d’un
cercle et qui affiche sur écran la surface de ce cercle. Fin

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 143
Abdelkrim BEN YAHIA
Structures conditionnelles

• Il s'agit de représenter une alternative où, Algorithme condition


selon les cas, un bloc d'instructions est
exécuté plutôt qu'un autre. RÉEL No,Ne,Moy
Début
• Cette instruction est composé de trois ECRIRE (“ Note d’orale = “)
partie distinctes : la condition introduite
par SI, la clause ALORS et la clause LIRE(No)
Sinon.
ECRIRE (“Note d’écrit = “)
• La condition est une expression dont la LIRE(Ne)
valeur est de type booléen. Moy  (No+2*Ne)/3
SI Moy < 10 ALORS
• Exemple: Écrire un algorithme qui permet
d’afficher le résultat d'un étudiant à un ECRIRE(″ Refusé ″)
module sachant que ce module est
sanctionné par une note d'oral de SINON
coefficient 1 et une note d'écrit de ECRIRE(“ Reçu “)
coefficient 2. La moyenne obtenue doit
être supérieure ou égale à 10 pour Fin SI
valider le module.
Fin
Partie Partie Partie Partie Partie Partie Partie Partie
Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 144
Abdelkrim BEN YAHIA
Structures à choix multiples
Algorithme SelonCas
ENTIER Choix
• L’instruction de choix «
Selon le cas » permet à DEBUT
l’aide d’une variable ECRIRE(″ donner un nombre A : ″)
servant de sélecteur, de LIRE(A)
choisir l’exécution d’une ECRIRE(″ donner un nombre B : ″)
instruction parmi LIRE(B)
l’ensemble des actions
prévues. Chaque ECRIRE(″Addition ----1 , Soustraction --
instruction possible est --2 , Multiplication ----3, Division ----4 ″)
associée à une constante ECRIRE(″ Votre choix ″) LIRE(choix)
appartenant au type du Selon le cas de choix
sélecteur.
cas 1 : ECRIRE(″A + B = ″ , A + B)
cas 2 : ECRIRE (″A - B =″ , A – B)
• Exemple : Lire deux
cas 3 : ECRIRE (″A * B =″ , A * B)
nombres(A et B) , choisir
l’opération ( + , - , * , /) à cas 4 : ECRIRE (″A / B = ″, A / B)
effectuer puis affiche le default :Ecrire(″ Erreur ″)
résultat. FinSelon
FIN
Partie Partie Partie Partie Partie Partie Partie Partie
Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 145
Abdelkrim BEN YAHIA
Structures répétitives

• Elles permettent de répéter plusieurs fois une même séquence d’instruction. Voici la différence entre les
trois instructions de répétition.

 Si on connaît a priori le nombre d’itérations à effectuer, on utilisera l’instruction Pour (POUR).


 S’il est utile d’exécuter au moins une fois le bloc d’instruction, on utilisera l’instruction (REPETER…
JUSQU’A).
 Si la condition doit être immédiate au départ, alors on utilisera Tant Que (TANT QUE).

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 146
Abdelkrim BEN YAHIA
Structures itératives POUR

Algorithme POUR
ENTIER i , N
• L’instruction POUR provoque la
DÉBUT
répétition d’une instruction
simple ou composée, pendant
qu’une variable de contrôle ECRIRE(″Donner un nombre entier : ″)
progresse entre deux bornes LIRE(N)
fixées.

POUR i DE 1 À 10 FAIRE
• Exemple : Écrire l'algorithme
permettant de lire un nombre ÉCRIRE (i , ″ * ″ , N, ″ = ″ ,i*N)
entier puis affiche sa table de FPOUR
multiplication.
FIN

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 147
Abdelkrim BEN YAHIA
Structures répétitives REPETER

Algorithme REPETER
• L’instruction REPETER exécute la ou les ENTIER i
instructions comprises entre les mots clés DÉBUT
REPETER et JUSQU’À (TANTQUE) ce
qu’une condition booléenne soit vérifiée.
I0
REPETER
• La boucle est exécutée au moins une
seule fois et la condition booléenne est i i +1
réévaluée à chaque itération. ÉCRIRE (″bonjour ″, i)

• Exemple : Écrire un algorithme qui affiche JUSQU’A I = 20


le mot bonjour 20 fois en utilisant la
boucle RÉPÉTER
FIN

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 148
Abdelkrim BEN YAHIA
Structures répétitives TANT QUE

Algorithme TANTQUE
ENTIER N, S,I
DÉBUT
• L’instruction « TANT QUE »
exécute une instruction simple ou ÉCRIRE (″donner un nombre N : ″)
composée, tant qu'une condition LIRE(N)
booléenne est vérifiée. I 0
TAN QUE i < N FAIRE
• Exemple : Écrire l’algorithme
I  I +1
permettant de Lire un nombre entier
(N) et calculer la somme S S s+i
=1+2+3+…+N FIN TAN QUE

ECRIRE(″s=1+2+..+N= ″,s)
FIN

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 149
Abdelkrim BEN YAHIA
Type complexe

• Nous avons vu au début les types des données primitives , maintenant nous allons voir les types complexes.

• Il peut y avoir à traiter des lots de données qui peuvent être toutes de même type ou de types différents.
Elles sont stockées alors dans une variable multiple à laquelle on donne un nom (identificateur) qui
désignera l’ensemble des données et une autre information permettra de désigner individuellement chacune
d’elles.

• Lorsque leur type est le même, les données sont rangées dans un tableau, sinon elles sont représentées
dans un enregistrement (structure des données).

• Les types complexes permettent de représenter un ensemble organisé des données, à savoir :

 Les tableaux à une dimension,


 Les tableaux à plusieurs dimensions,
 Les structures des données.

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 150
Abdelkrim BEN YAHIA
Type complexe : tableau unidirectionnel
Algorithme Tableau
• Tableau : C’est un type structuré constitué d’un nombre fini d’éléments ENTIER i,somme
obligatoirement de même type accessibles par leur position . Celui-ci peut être
simple ou structuré. REEL moy
TABLEAU ENTIER Tab[10]
• Le nombre maximal d'éléments, qui est précisé à la déclaration, s'appelle la Début
dimension (ou capacité) du tableau. Le type du tableau est le type de ses Somme  0
éléments. La position d'un élément s'appelle indice ou rang de l'élément.
Pour i de 0 à 9 Faire
ECRIRE (″Tab(″ , i , ″) =″ )
• La déclaration d’un tableau à une dimension :
LIRE(Tab(i))
 Variable nomVariable : TypeVariable [dimension] ou TABLEAU type Fpour
variable [ longueur ] Pour i de 0 à 9 Faire
• Pour accéder à un élément du tableau, il suffit de préciser entre crochets Somme  somme + Tab(i)
l'indice de la case contenant cet élément. Fpour
Moy  somme/10
• Exemple : Écrire un algorithme qui permet de saisir des entiers dans un ECRIRE (″somme =″ , somme)
tableau (dimension 10) et permet d’afficher la somme et la moyenne de ces
nombres. ECRIRE (″moyenne =″ , Moy)
Fin
Partie Partie Partie Partie Partie Partie Partie Partie
Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 151
Abdelkrim BEN YAHIA
Type complexe : structure

• Contrairement aux tableaux, Un enregistrement(structure) est un type de données défini par l'utilisateur et
qui permet de grouper un nombre fini d'éléments de types éventuellement différents.

 Chaque élément de l’enregistrement est nommé champ.


 L’accès à un champ se fait par son nom dans l’enregistrement.
• La déclaration d’une structure: Syntaxe : Exemple:
Nom_Enreg = structure Etudiant = structure
Champ 1 : type ; nom : chaine
Champ 2 : type ; prenom : chaine
Champ 3 : type ; ... age : Entier
Champ n : type ; Fin enreg;
fin enreg; Etud : Etudiant;
• Le champ d’un enregistrement est accessible à travers son nom à l’aide de l’opérateur ‘.’. Ainsi, etud.nom
indique la valeur stockée dans le champ nom de la variable etud.

• Les champs d’un enregistrement sont considérés comme des variables et de ce fait ils peuvent subir les
mêmes opérations telles que l’affectation, la lecture et l’affichage
Partie Partie Partie Partie Partie Partie Partie Partie
Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 152
Abdelkrim BEN YAHIA
Type complexe : structure Exercice d’application
Algorithme structure
Type article =enregistrement
ref : entier ;
• Ecrire un algorithme qui permet de :
desc : chaine de caractere ;
 1- Définir le type d’un enregistrement Prix : réel ;
nommé « article » composé des champs Fin ;
suivants : « ref » de type entier, « desc » Variable Art1 : article ;
de type chaine de caractère, « Prix » de
type réel. Début
 2- Déclarer une variable art1 de type Ecrire (‘Donner le ref d’article’) ; Lire (Art1.ref) ;
article. Ecrire (‘Donner la desc d’article’) ; Lire (art1.desc) ;
 3- Remplir les champs de la variable art1 Ecrire (‘Donner le prix d’article’) ; Lire (art1.prix) ;
par des valeurs saisies par l’utilisateur. Ecrire (‘Le ref d’article :’, art1.ref) ;
 4- Afficher les champs de la variable art1 Ecrire (‘La desc d’article :’, art1.desc) ;
sur l’écran.
Ecrire (‘Le prix d’article :’, art1.prix) ;
Fin

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 153
Abdelkrim BEN YAHIA
fonctions et procédures

• Lorsque l’algorithme devient trop compliqué, on aura envie


de le découper, de manière à ce que chaque partie soit
plus simple et donc plus lisible.

• De même, lorsqu’une partie de code doit être exécutée


plusieurs fois à des endroits différents, ou réutilisée
ultérieurement on pourra ne l’écrire qu’une fois et lui
donner un nom en faisant une fonction ou une procédure.

 Une procédure est une suite d’instructions servant à


réaliser une tâche précise en fonction d’un certain
nombre de paramètres.
 Une fonction est une procédure dont le but est de
déterminer une valeur et de la retourner au
programme appelant.

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 154
Abdelkrim BEN YAHIA
1. Découvrir les concepts fondamentaux de l’informatique

CHAPITRE 3
2. Développer du contenu numérique
3. Rechercher l’information pour répondre à un besoin donné
4. Collaborer par le biais des technologies numériques
5. Partager un contenu numérique en ligne

Traduire un algorithme PARTIE 6.Découvrir les notions de base de la


simple en un langage programmation
de programmation 7. Manipuler les données avec un tableur Excel
8. Protéger les données personnelles et la vie privée

Culture et techniques du numérique DRIF - Secteur Digital & IA 2022


Python

• Python est un langage de programmation largement utilisé, interprété, orienté objet et de haut niveau avec
une sémantique dynamique, utilisé pour la programmation à usage général.

• Python a été créé par Guido van Rossum , né en 1956 à Haarlem, aux Pays-Bas. Bien sûr, Guido van
Rossum n'a pas développé et fait évoluer tous les composants Python lui-même.

 c'est facile à apprendre - le temps nécessaire pour apprendre Python est plus court que pour de
nombreux autres langages; cela signifie qu'il est possible de démarrer la programmation réelle plus
rapidement;
 c'est facile à enseigner - la charge de travail d'enseignement est plus petite que celle requise par les
autres langues; cela signifie que l'enseignant peut mettre davantage l'accent sur les techniques de
programmation générales (indépendantes de la langue.
 il est facile à utiliser pour écrire de nouveaux logiciels - il est souvent possible d'écrire du code plus
rapidement lorsque vous utilisez Python;
 c'est facile à comprendre - il est aussi souvent plus facile de comprendre le code de quelqu'un d'autre
plus rapidement s'il est écrit en Python;
 il est facile à obtenir, à installer et à déployer - Python est gratuit, ouvert et multiplateforme;

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 156
Abdelkrim BEN YAHIA
Installation de python

• Il existe plusieurs façons d'obtenir votre propre copie de Python 3,


selon le système d'exploitation que vous utilisez.
https://www.python.org/downloads/
1
 Les utilisateurs de Linux ont probablement Python déjà
installé - c'est le scénario le plus probable, car l'infrastructure
de Python est intensivement utilisée par de nombreux
composants du système d'exploitation Linux.
 Si vous êtes un utilisateur Windows , démarrez le fichier .exe
2
téléchargé et suivez toutes les étapes. Laissez les paramètres
par défaut suggérés par le programme d'installation pour le
moment, à une exception près - regardez la case à cocher
intitulée Ajouter Python 3.x à PATH et cochez-la.
4
 Si vous êtes un utilisateur de macOS , une version de Python
2 peut déjà avoir été préinstallée sur votre ordinateur, mais
puisque nous travaillerons avec Python 3, vous devrez
toujours télécharger et installer le fichier .pkg correspondant à
partir du site Python.
3
Partie Partie Partie Partie Partie Partie Partie Partie
Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 157
Abdelkrim BEN YAHIA
Variables

• doit être composé de lettres majuscules ou minuscules, de chiffres et du caractère _(souligné),

• doit commencer par une lettre; le caractère _ est une lettre;

• les lettres majuscules et minuscules sont traitées comme différentes

• ne doit pas être un des mots réservés de Python (les mots-clés - nous vous expliquerons plus à ce sujet
bientôt).

• par contre, pas besoin de déclarer ou typer explicitement une variable avant de lui affecter une valeur. Il suffit
de faire : myVar = 'hello' pour définir myVar.

• Une variable sans valeur est définie par : myVar = None (None est l'équivalent de null dans d'autres
langages).

• Types primitifs : bool (True ou False), int , float , str .

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 158
Abdelkrim BEN YAHIA
Communication avec l’ordinateur

• Une remarque insérée dans le programme, qui est omise lors de l'exécution , est appelée un commentaire .
En Python, un commentaire est un morceau de texte qui commence par un #signe (hachage) et s'étend
jusqu'à la fin de la ligne.

• La fonction input() est capable de lire les données entrées par l'utilisateur et de renvoyer les mêmes données
au programme en cours d'exécution. vous devez affecter le résultat à une variable; ceci est crucial - manquer
cette étape entraînera la perte des données saisies;

• la fonction input() est invoquée avec un argument - c'est une chaîne contenant un message. le résultat de la
fonction input() est une chaîne, Ce n'est pas un entier ou un réel vous ne devez pas l'utiliser pour les
opérations arithmétique.

• La fonction print() imprime le message spécifié à l'écran ou sur un autre périphérique de sortie standard. Le
message peut être une chaîne, ou tout autre objet, l'objet sera converti en chaîne avant d'être écrit à l'écran.
Ex:: print("Hello", "how are you?")

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 159
Abdelkrim BEN YAHIA
Opérateurs de base

• Une expression est une combinaison de valeurs qui est évaluée comme une valeur, par
exemple 1 + 2. Priorité Opérateur
1 ~, +, - unaire
• Les opérateurs sont des symboles ou des mots clés spéciaux qui sont en mesure de
2 **
fonctionner sur les valeurs et effectuer des opérations (mathématiques). l'opérateur *
multiplie deux valeurs: x*y. 3 *, /, //, %
4 +, - binaire
• Un opérateur est un symbole du langage de programmation, qui est capable d'opérer 5 <<, >>
sur les valeurs. opérations arithmétiques les plus reconnaissables: +, -, *, /, //, %,**
6 <, <=, >, >=

• Pour poser des questions, Python utilise un ensemble d'opérateurs très spéciaux . 7 ==, !=
==(égal à) , !=(différent de) , > (supérieur à) , >= , < (inférieur à) , <= … 8 &
9 |
• Python prend en charge les opérateurs logiques suivants: NOT, AND, OR, XOR =, +=, -
=, *=, /=, %=,
10
• Python définit précisément les priorités de tous les opérateurs et suppose que les &=, ^=, |=, >>
opérateurs de priorité plus élevée effectuent leurs opérations avant les opérateurs de =, <<=
priorité inférieure.
Partie Partie Partie Partie Partie Partie Partie Partie
Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 160
Abdelkrim BEN YAHIA
conditions
# exemple
• Lorsque vous souhaitez exécuter du code uniquement si une certaine if x < 0:
condition est remplie, vous pouvez utiliser une instruction conditionnelle print('negative')
elif x == 0:
print('zero')
• déclaration conditionnelle comprend uniquement les éléments suivants else:
print('positive')
 le mot – clé if;
# Exercice if
 un ou plusieurs espaces blancs;
 une expression (une question ou une réponse) no=float(input("entrer la note Orale :"))

 un deux point (:) suivi d'un saut de ligne; ne=float(input("entrer la note écrit :"))
 une instruction en retrait(quatre espaces ou tabulation ) ou un
moy=(no+ne*2)/3
ensemble d'instructions (au moins une instruction est absolument
requise); if moy<10:
• Écrire un programme qui permet d’afficher le résultat d'un étudiant à un print("module no validé")
module sachant que ce module est sanctionné par une note d'oral de
coefficient 1 et une note d'écrit de coefficient 2. La moyenne obtenue doit else:
être supérieure ou égale à 10 pour valider le module.
print("module validé")
Partie Partie Partie Partie Partie Partie Partie Partie
Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 161
Abdelkrim BEN YAHIA
Les boucles

• Il existe deux types de boucles en Python: while et for:


# Example 1 # Example 2
 la boucle while exécute une instruction ou un ensemble
d'instructions tant qu'une condition booléenne spécifiée while True: conteur= 5
est vraie, par exemple: print("Coincé dans une boucle while conteur> 2:
infinie.") print(conteur)
 la boucle for exécute plusieurs fois un ensemble
counter -= 1
d'instructions; il est utilisé pour parcourir une séquence
(par exemple, une liste, un dictionnaire, un tuple ou un
ensemble - vous en apprendrez bientôt plus) ou d'autres # Example 1 # Example 2
objets qui sont itérables (par exemple, des chaînes).
Vous pouvez utiliser la boucle for pour parcourir une mot= "Python“ for i in range(1, 10):
séquence de nombres à l'aide de la fonction range
intégrée. Regardez les exemples ci-dessous: for lettre in mot: if i % 2 == 0:
print(lettre, end="*") print(i)

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 162
Abdelkrim BEN YAHIA
Contrôle de flux pour une boucle

# Example 1 # Example 2
• La fonction range() génère une séquence de for i in range(3): for i in range(6, 1, -2):
nombres. Il accepte des entiers et renvoie print(i, end=" ") print(i, end=" ")
des objets de plage. La syntaxe de # résultat: 0 1 2 # résultat: 6, 4, 2
range()ressemble à: range(start, stop, step)
# Example break # Example continue
• Vous pouvez utiliser les instructions break et text = "OpenEDG Python Institute“ text = "pyxpyxpyx“
continue pour modifier le flux d'une boucle:
break pour quitter une boucle et continue for lettre in text: for lettre in text:
pour ignorer l'itération actuelle et continuer if lettre == "P": if lettre == "x":
avec l'itération suivante break continue
print(lettre, end="") print(lettre, end="")
• Les boucles while et for peuvent également # Example while # Example for
avoir une clause else en Python. La clause n=0 for i in range(0, 3):
else s'exécute une fois que la boucle a while n != 3: print(i)
terminé son exécution tant qu'elle n'a pas été print(n) ; n += 1 else:
terminée par break else: print(i, "else")
print(n, "else")
Partie Partie Partie Partie Partie Partie Partie Partie
Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 163
Abdelkrim BEN YAHIA
Les listes python

• La liste est un type de données en Python utilisé pour stocker plusieurs myList = [1, ‘?’, True, 'un texte', 256, 0]
objets . Il s'agit d'une collection ordonnée et modifiable d'éléments séparés
par des virgules entre crochets, par exemple: myList = [1, None, print(myList[3]) # résultat: un texte
True, "je suis un texte", 256, 0]
print(myList[-1]) # résultat: 0
• Les listes peuvent être imbriquées , Ex: myList = [1, 'a', ["list", 64, [0, 1],
False]]. myList[1] = None

• La méthode append() elle prend la valeur de son argument et le place à la print(myList) # résultat: [1, None, True,
fin de la liste qui possède la méthode. Ex: myList.append(333)
'un texte', 256, 0]
• La méthode insert() elle peut ajouter un nouvel élément à n'importe quel
endroit de la liste , pas seulement à la fin. Ex: myList.insert(1, 333) myList.insert(0, "premier")

• Il est parfois nécessaire de supprimer une entrée de la liste. Pour cela vous myList.append("dernier")
pouvez utiliser la fonction del .
print(myList) # résultat: ['premier', 1,
• La fonction len() peut être utilisée pour vérifier la longueur de la liste
None, True, 'un texte', 256, 0, 'dernier']

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 164
Abdelkrim BEN YAHIA
Les fonctions
• Il existe au moins quatre types de fonctions de base en Python:

 fonctions intégrées qui font partie intégrante de Python (comme la fonction print()). Vous pouvez voir
une liste complète des fonctions intégrées de Python sur https://docs.python.org/3/library/functions.html
 ceux qui proviennent de modules préinstallés
 fonctions définies par l'utilisateur qui sont écrites par les utilisateurs pour les utilisateurs - vous pouvez
écrire vos propres fonctions et les utiliser librement dans votre code,
 les fonctions lambda
• Vous pouvez définir votre propre fonction à l'aide du mot – clé def et de la syntaxe suivante:

Syntaxe # Exemple # 1 Exemple # 2


def yourFunction(optional parameters): def message(): # définir la fonction def hello(name): # définir la fonction
# the body of the function print("Hello") # corps de la fonction print("Hello,", name) # le corps
message() # l’appel de la fonction return
name = input("Enter your name: ")
hello(name) # l’appel de la fonction

Partie Partie Partie Partie Partie Partie Partie Partie


Culture et techniques du numérique DRIF - Secteur Digital & IA 2022 1 2 3 4 5 6 7 8 165
Abdelkrim BEN YAHIA

Vous aimerez peut-être aussi