Outils pour utilisateurs

Outils du site


cours:progra10

Ceci est une ancienne révision du document !


Passer de SCRATCH à PYTHON

Durant votre scolarité au collège, vous avez appris la programmation en bloc de type SCRATCH (Scratch, mBlock, Blockly …). Vous savez qu'une fois que vous avez trouvé et écrit l'algorithme ou l'algorigramme, il faut le traduire en programme pour pouvoir le faire exécuter dans la machine/système. Vous savez aussi que Scratch, langage d'apprentissage, n'est pas le seul langage existant et qu'au lycée vous apprendrez le langage textuel Python.

Compétences :

  • CT 1.3 – CT 2.5 – CT 2.7 - DIC 1.5 : Imaginer des solutions pour produire des objets et des éléments de programmes informatiques en réponse au besoin.
  • CT 3.1 - OTSCIS 2.1 : Exprimer sa pensée à l’aide d’outils de description adaptés : croquis, schémas, graphes, diagrammes, tableaux.
  • CT 4.2 – CT 5.5 - IP 2.3 : Écrire un programme dans lequel des actions sont déclenchées par des événements extérieurs.

J’ai acquis la compétence si :

  • J'ai compris les liens entre les blocs de contrôles Scratch et les instructions Python.
  • J'ai compris l'importance de la syntaxe des instructions et l'organisation des programmes.
  • J'ai repéré les principales instructions utilisées.

Développé à des fins pédagogique, SCRATCH est inutilisable en dehors d'un cadre scolaire.

Dans ce cours, nous allons voir ce qu'est un langage de programmation textuel adapté aux débutants et toute la rigueur nécessaire à sa mise en œuvre.

PYTHON

Python et un langage de programmation structuré généraliste. Il s'utilise dans de très nombreux domaines et possède de nombreuses bibliothèques permettant d'en étendre les possibilités. C'est un langage populaire facile à exploiter. Il en est à la version 3.4.

Utilisé dans l'enseignement comme successeur du PASCAL qui est un langage compilé, il s'en rapproche sans en avoir la rigueur structurelle et en étant un langage interprété.

PASCAL

program HelloWorld(output);
begin
  writeln('Hello World');
end.

PYTHON

print('Hello World!')

Pour faciliter l'écriture d'un programme et tester facilement son code, il existe des IDE (Environnement de travail intégré). Un des plus simple à utiliser est EduPython, développé pour l'éducation et qui peut fonctionner à partir d'une clé USB.

Il existe aussi des IDE en ligne tel MyCompiler qui permet aussi d'utiliser d'autres langages.

Les IDE colorent généralement les éléments du langage en fonction de leur type : variable, instruction, paramètre, opérateur, commentaire …

  • Le PYTHON est un langage de programmation structuré généraliste très utilisé et simple à apprendre. C'est un langage interprété.
  • Un programme compilé est transformé en code machine en 1 seule fois. Il est plus rigoureux à écrire et à déboguer mais plus efficace dans les systèmes.
  • Un programme interprété est transformé en code machine ligne par ligne. Il plus simple à écrire et à déboguer mais moins efficace dans les systèmes.
  • Un IDE (Environnement de travail intégré) permet de simplifier l'écriture, le débogage et les test d'un programme.

Instructions et syntaxe de base

Un commentaire, texte non interprété par l'IDE débute au symbole '#' et se termine à la fin de la ligne.

Les variables et opérateurs

Les variables

Comme en SCRATCH, les variables sont des espaces mémoires contenant une information et qui sont identifiés par un nom. Une variable peut être un nombre entier (int()), décimal (float()), une chaîne de caractères (string()) ou une valeur vrai/faux (bool()).

Instruction d'affectation

Les instructions algorithmiques suivante :

  • Mettre la valeur 2 dans la variable x
  • Mettre la valeur Pierre dans la variable nom

utilisent le symbole d'affectation '=' qui permet aussi de modifier le contenu d'une variable.

SCRATCH

PYTHON

#Affectations
x = 2
nom = "Pierre"
x = x + 5

Opérateurs

Les opérateurs arithmétiques ( + - * / //) sont utilisés pour les opérations numériques (// = le reste de la division entière).
l'opérateur ( + ) permet aussi la concaténation de chaîne de caractères.

identité = "Nom" + " " + "Prénom"

Les opérateurs logiques sont ( < > <= >= == != ) : plus petit, plus grand, plus petit ou égal, plus grand ou égal, égal et différent.

Les opérateurs booléens True (vrai), False (faux), and (vrai si les 2 opérateurs sont vrais), or (vrai si 1 des opérateurs est vrai) et not (inverse True et False.

Python utilise :

  • des commentaires débutants par '#'
  • des variables de types int(), float(), string(), bool() [entier, décimal, chaîne de caractère, booleen]
  • des opérateur arithmétiques + - * / // (modulo)
  • des opérateurs logiques < <= > >= == !=
  • des opérateurs booleens True, False, and, or, not

Les structures de contrôle

Les structures de contrôle (conditions, boucles) permettent d'organiser les séquences d'instructions qui composent le programme.

Remarquer que, comme pour les algorithmes, l'indentation (le décalage) est utilisé pour définir le bloc d'instructions concerné par la structure. L'instruction concernée est terminé par le symbole ':'.

Instruction conditionnelle : si - alors - sinon

ALGORITHME

Si d <0
    Afficher "Température négative"
Sinon
    Si d = 0
        Afficher "Température nulle"
    Sinon
        Afficher "Température positive"

SCRATCH

PYTHON

#Contrôle température
if d < 0 :
    print("Température négative")
else :
    if d == 0 :
        print("Température nulle")
    else :
        print("Température positive")

Instruction boucle bornée : répéter - de - à

Contrairement à SCRATCH, une boucle fermée ne démarre pas obligatoirement à 0.

ALGORITHME

Demander un nombre et le mettre dans la variable X
Mettre la variable f à 1
Pour la variable n allant de 1 à x
    Mettre la variable f à f*n
Afficher "Factorielle de ", valeur variable x, " vaut ", valeur variable f

SCRATCH

PYTHON

#Factorielle
x = int(input("Entrer un nombre""))
f = 1
for n in range (1, x+1) :
    f = f * n
print ("Factorielle ", x, " = ", f)

L'instruction “input” permet d'afficher un message afin de permettre la saisie d'une valeur de type chaîne de caractère (string). Pour la convertir en nombre entier il faut utiliser l'instruction int() et float() pour convertir en nombre à virgule.

L'expression “in range” détermine la borne de début et la borne à ne pas atteindre (1, x+1 ⇒ n s'arrête donc à x). La borne de début peut être omise et vaut 0 par défaut.
L'expression “in variable chaîne” parcours 1 à 1 tous les caractères de la chaîne fournie.

Instruction boucle conditionnelle : tant que

Le boucle s'arrête lorsque la condition devient fausse.

ALGORITHME

Demander un nombre et le mettre dans la variable X
Mettre la variable l à 0
Mettre la variable n à x
Tant que n >= 0
    l = l + 1
    n = (n - (n modulo 10)) / 10
Afficher valeur variable x, " contient ", valeur variable f, " chiffres"

SCRATCH

PYTHON

x = int(input("Entrer un nombre""))
l = 0
while n >= 0 :
    n = n//10
    l = l+1
print (x, " contient ", l, " chiffres")

Les structures de contrôles sont :

  • print(“texte ou”, variable) #pour afficher un résultat
  • variable = input(“texte”) #pour demander une information
  • if condition : else : #pour un test vrai ou faux
  • for variable in range (deb, fin+1) : #pour une boucle bornée numérique (in chaîne #pour les caractères de la chaîne)
  • while condition : #pour une boucle conditionnelle

Les instructions contenues dans la structure sont indentées après le ':' jusqu'au retour à la ligne.

cours/progra10.1718924588.txt.gz · Dernière modification: 2024/06/21 01:03 de mrcjl