Académique Documents
Professionnel Documents
Culture Documents
Découvrir les
notions de base
de la
programmation
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
• 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.
• 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.
• 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).
• 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.
• 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.
• 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.
• 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.
• 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
• 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
• 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.
• 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.
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
• 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.
• 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).
• Données d'entrée,
• Données de sortie.
Données
• 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 :
• 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.
• 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 +.
• 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)
• 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
• 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.
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
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.
I0
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)
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
• 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 :
• 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.
• 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
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
• 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;
• 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).
• 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?")
• 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
# 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']
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: