Python: Introduction aux Données, Opérateurs, Instructions
Keine KartenIntroduction to programming concepts in Python: data types, operators, expressions, and simple instructions.
Introduction à la Programmation et aux Types de Données (Python 2024)
Ce cours, enseigné par Ivan Varzinczak (USPN – Limics, France), introduit les concepts fondamentaux de la programmation en se basant sur Python.
Plan du Semestre (Partie 1)
4,5h de cours par semaine (CM, TD et TP).
Supports de cours disponibles sur Moodle.
Projet pratique (détails à préciser).
Conseils pour Réussir
Poser des questions pendant les séances.
Lire le cours et la feuille de TD avant de commencer.
Faire les exercices pendant les séances de TD/TP.
Travailler à la maison et pendant les week-ends.
Utiliser Moodle et la documentation Python (https://docs.python.org/3/) en TP.
Définition de la Programmation
Programmer, c'est expliquer à une machine comment résoudre un problème.
Cela implique trois étapes clés :
Modélisation : Enoncer le problème en termes explicites.
Résolution : Spécifier une séquence d'actions (algorithme) qui résout le problème.
Codage : Traduire l'algorithme dans un langage de programmation.
Exemple de Problème : Faire un Café
Brancher la cafetière
Mettre le filtre dans la cafetière
Verser le café moulu dans le filtre
Remplir la cafetière d'eau
Allumer la cafetière
Attendre que le café remplisse le pichet
Éteindre la cafetière
Verser le café dans la tasse
Algorithme
Un algorithme est une séquence d'actions (instructions) qui permet de passer des données du problème au résultat attendu. Le mot "algorithme" vient du mathématicien perse Al Khuwarizmi (5000 ans d'existence).
Exemple : Calcul du Carré d'un Nombre
Données : un nombre réel
Résultat : le carré de
Algorithme : élèveAuCarré
début
lire x
y x × x
afficher y
fin
Qualités pour Maîtriser l'Algorithmique
Intuition : Savoir décomposer le problème.
Rigueur : Vérifier que les instructions produisent le résultat attendu.
Ces deux qualités s'acquièrent par l'expérience. Programmer est un art ou un sport.
Caractéristiques d'un Algorithme
Indépendant du langage de programmation et de la machine.
Utilise du pseudo-code pour des instructions claires.
Critères d'Évaluation d'un Algorithme
Correction : L'algorithme retourne-t-il le résultat attendu pour chaque cas ?
Complexité : Temps et espace mémoire nécessaires. Ce semestre se concentre sur la conception, la correction et la complexité seront abordées au second semestre.
Programme
Un programme est la traduction d'un algorithme dans un langage compris par la machine (compilé ou interprété).
Exemple : Calcul du Carré (Python)
x = float(input()) # Lit la valeur de x et la convertit en réel
y = x * x # Calcule le carré
print(y) # Affiche le résultatDonnées en Informatique
Une donnée est la représentation d'un objet abstrait ou concret du monde. Chaque donnée est codée et stockée dans une mémoire.
Spécification d'une Donnée
Son nom : Il désigne la donnée dans l'algorithme (doit être compréhensible).
Son type : Il décrit le domaine de valeurs que peut prendre la donnée.
Sa nature : variable (peut changer de valeur) ou constante.
Types de Données Simples
Contiennent une seule information.
Type | Domaine de valeurs | Exemple en Python |
|---|---|---|
booléen | {vrai, faux} |
|
caractère | table ASCII |
|
entier |
| |
réel |
|
La table ASCII utilise un codage 7 bits (standard) ou 8 bits (étendu pour caractères accentués) pour les caractères.
Types de Données Structurées
Contiennent une collection de données de type simple.
Type | Exemple en Python |
|---|---|
liste |
|
chaîne |
|
En Python, les variables n'ont pas de type fixe, mais les opérations sont contraintes par le type de leur contenu.
Opérateurs
Un opérateur est une fonction qui prend en entrée une liste de valeurs et retourne en sortie une valeur.
Caractéristiques d'un Opérateur
Arité : Nombre de ses entrées (unaire, binaire, etc.).
Position : Préfixe (-x), Infixe (x + y), Postfixe (x++ en C++/Java).
Type : Types des entrées et de la sortie.
Exemple: Opérateur binaire
+(infixe) : .
Opérateurs Arithmétiques
Nom | Pseudo-code | Python | Type de sortie |
|---|---|---|---|
Sur les entiers (entrées et sortie entières) | |||
Addition | + |
| entier |
Soustraction | - |
| entier |
Multiplication | × |
| entier |
Division entière | // |
| entier |
Reste (Modulo) | mod |
| entier |
Inversion de signe | - |
| entier |
Sur les réels (au moins une entrée ou la sortie est un réel) | |||
Addition | + |
| réel |
Soustraction | - |
| réel |
Multiplication | × |
| réel |
Division réelle | / |
| réel |
Inversion de signe | - |
| réel |
Opérateurs Comparatifs
Les entrées sont des caractères ou des nombres et la sortie est un booléen.
Nom | Pseudo-code | Python |
|---|---|---|
Est égal à | == |
|
Est différent de |
| |
Plus petit que | < |
|
Plus grand que | > |
|
Plus petit ou égal à |
| |
Plus grand ou égal à |
|
Opérateurs Logiques
Les entrées et la sortie sont des booléens.
Nom | Pseudo-code | Python |
|---|---|---|
Et (conjonction) | et |
|
Ou (disjonction) | ou |
|
Non (négation) | non |
|
Expressions
Une expression est une composition d'opérations.
Propriétés d'une Expression
Bien formée : Chaque opération s'applique sur des entrées de type autorisé.
Type d'une expression : Donné par le type de sa valeur de sortie.
Utiliser des parenthèses pour expliciter l'ordre des opérations.
Exemples
Si sont des entiers, et est une expression bien formée de type booléen.
ou est une expression mal formée car l'opérateur 'ou' attend des booléens.
En pseudo-code : et ()
En Python :
(i < j) and (j < k)()En pseudo-code : mod ()
En Python :
(i + j) % k()
Instructions Simples
Une instruction est une action que doit accomplir l'algorithme.
Types d'Instructions Simples
Affectation
Lecture ou écriture
Test (sera vu plus tard)
Boucle (sera vu plus tard)
Instruction d'Affectation
Permet soit d'initialiser soit de changer la valeur d'une variable.
Affectation standard :
Pseudo-code
Python
x = 0y = xIncrémentation et décrémentation :
Pseudo-code
Python
x = x + 1oux += 1x = x - 1oux -= 1L'opérateur
=est pour l'affectation, l'opérateur==est pour la comparaison (égalité).Les opérateurs d'affectation combinée (
+=,-=,*=,/=) doivent être utilisés *avec parcimonie* pour une meilleure lisibilité.
Instructions de Lecture et Écriture
Se limitent au clavier (entrée standard) et à l'écran (sortie standard).
Lecture standard (clavier) :
Pseudo-code
Python
lire x
x = input()x = input("Message: "): affiche un message à l'utilisateur avant la saisie.
Affichage standard (écran) :
Pseudo-code
Python
afficher x y
print(x, y)print("Le résultat est:", x): affiche la chaîne suivie de la valeur de la variable.
Codage de Données
Les données sont spécifiées par leur nom et leur contenu. Le nom est pour l'algorithme, le contenu est la valeur en mémoire.
Systèmes de Codage Utilisés en Informatique
Décimal (Base 10) : Système mathématique courant, chiffres de 0 à 9.
Exemple :
Binaire (Base 2) : Utilisé dans les mémoires électroniques, chiffres 0 ou 1 (bits).
Exemple :
Hexadécimal (Base 16) : Utilisé pour interpréter les données binaires, chiffres 0-9 et A-F. Chaque chiffre hexadécimal représente 4 bits.
Exemple : (où et )
Structure de Base d'un Programme Python
Commentaires : Pour expliquer le code.
Ligne simple : commence par
#.Multi-lignes : entre triple guillemets (
"""ou''').
Inclusions de modules : Pour ajouter des fonctionnalités (ex:
import random).Fonction principale : Le code exécuté au démarrage du programme.
Résumé des Concepts Abordés
Définition de l'algorithmique et de la programmation.
Clarification des notions de données, opérateurs et instructions.
Introduction au pseudo-code et à Python.
Détails sur les types de données simples, les opérateurs et les expressions.
Concepts fondamentaux de codage des données (binaire, décimal, hexadécimal).
Quiz starten
Teste dein Wissen mit interaktiven Fragen