Python: Introduction aux Données, Opérateurs, Instructions

Kart yok

Introduction 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 :

  1. Modélisation : Enoncer le problème en termes explicites.

  2. Résolution : Spécifier une séquence d'actions (algorithme) qui résout le problème.

  3. Codage : Traduire l'algorithme dans un langage de programmation.

Exemple de Problème : Faire un Café

  1. Brancher la cafetière

  2. Mettre le filtre dans la cafetière

  3. Verser le café moulu dans le filtre

  4. Remplir la cafetière d'eau

  5. Allumer la cafetière

  6. Attendre que le café remplisse le pichet

  7. Éteindre la cafetière

  8. 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  \longleftarrow 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

  1. Correction : L'algorithme retourne-t-il le résultat attendu pour chaque cas ?

  2. 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ésultat

Donné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}

True, False

caractère

table ASCII

"b"

entier

19

réel

3.1415

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

liste = [1, 2, 3, 4, 5, 6, 7]

chaîne

chaine = "abcdefghij"

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

and

Ou (disjonction)

ou

or

Non (négation)

non

not

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 = 0

    y = x

  • Incrémentation et décrémentation :

    Pseudo-code

    Python

    x = x + 1 ou x += 1

    x = x - 1 ou x -= 1

  • L'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).

Bir quiz başla

Bilgini etkileşimli sorularla test et