Vous êtes sur la page 1sur 7

Fiche de découverte Initiation à l’algorithmique Classe 2nde

Mais qu’est-ce qu’un algorithme ?

Un algorithme est une suite d’instructions, à appliquer dans un ordre déterminé à des données, qui
fournit en général un résultat.
Chaque donnée d’entrée est stockée dans une variable , repérée par un nom.
Une variable est comme une boîte contenant une valeur, avec une étiquette (son nom).

Activité 1 : Un programme en scratch


Nora a écrit ci-dessous un programme qui calcule et affiche le nombre de bits nécessaires pour écrire un nombre
en binaire. Les instructions sont dans le désordre.

a) Aider Nora a reconstituer son programme en numérotant les instructions dans le bon ordre, puis en
complétant.

b) On exécute le programme en entrant le nombre 5.


Que va afficher le programme ?
Vérifier en écrivant 5 en binaire.

c) Si l’on entre le nombre 31, le programme ne calcule pas le nombre de bits.


Rajouter des instructions pour que tous les nombres entiers de 8 à 31 soient traités correctement par le
programme.

Page 1
On peut faire des calculs ?
Une affectation est l’attribution d’une valeur ( ou d’une expression calculable) à la variable.
Affecter à la variable Age la valeur 3 s’écrit age 3 et en langage python Age = 3
Saisir la valeur entrée par l'utilisateur et la mettre dans la variable 𝐴 s’écrit :
A=float(input( )) pour un nombre décimal ou A= int(input( )) pour un nombre entier.
L’affichage se fait avec print (…)

Activité 2 :
On considère le programme suivant, écrit de 3 manières différentes.
Il va afficher l’emplacement d’une lettre Majuscule dans l’alphabet connaissant son code ASCII.
Script Scratch Algorithme Programme
en pseudo-code en python

Afficher "Entrer code ASCII" print("Entrer code ASCII ")


Saisir code_ASCII code_ASCII = int (input( ))
numero  code_ASCII-64 numero = code_ASCII-64
Afficher : « Le numéro est » print("Le numéro est ")
Afficher numero print(numero)

a) Qu’affiche le programme précédent si on entre la valeur 90 ?


Quelle est la lettre correspondante ?
b) Modifier l’algorithme pour qu’il traite les minuscules uniquement.

Activité 3 :
Pour passer d’un pixel couleur codé en RVB (mélange des trois couleurs rouge, vert, bleu)à un pixel en une nuance
de gris, on utilise la formule suivante : 𝐺 = 0,11 × 𝑅 + 0,83 × 𝑉 + 0,06 × 𝐵
Écrire un algorithme en pseudo-code qui demande les valeurs RVB d’un pixel et affiche la valeur de niveau de gris.

Page 2
Activité 4 : le robot éplucheur de pommes de terre

C’est vous qui devez préparer le repas : des frites.


Pour cela, vous disposez de :
- une friteuse assez grande pour faire cuire les pommes (coupées) ;
- une table pour poser les pommes ;
- des pommes de terre en grand nombre dans la cave ;
- une passoire assez grande pour laver les pommes (épluchées) ;
- un robot.

Le robot connaît les instructions simples :


- « épluche 1 pomme » : il prend une pomme sur la table, l’épluche et la met dans la passoire.
- « cherche 1 pomme » : il va à la cave et pose sur la table une pomme.
- « actionner » : il actionne la friteuse.
- « lave les pommes » : il lave les pommes de la passoire et les laisse dedans.
- « coupe les pommes » : il coupe les pommes de la passoire et les mets dans la friteuse

1) Vous devez programmer le robot pour qu’il prépare des frites avec :
a) une seule pomme
b) quinze pommes
2) Vous devez programmer le robot pour qu’il demande le nombre de pommes désiré puis prépare les frites
correspondantes.

Activité 5 :
Écrire un algorithme en pseudo-code qui demande les deux dimensions d’une image en noir et blanc, puis qui
calcule et affiche le nombre d’octet(s) nécessaire(s).
Page 3
Algorithmique : syntaxe en Python
Le langage python peut être téléchargé (choisir python3 avec IDLE) ou utilisé en ligne avec repl.it (choisir python3)
Instructions Python
Afficher du texte:
En revenant à la ligne print("Bonjour")
Sans revenir à la ligne print("Bonjour", end="")
Lecture d'une entrée :
Une chaîne de caractère en a a=input()
Un réel en b b= float(input()) # On transforme la chaîne en réel
Un entier en c c= int(input()) # ou en entier
Affectation :
Le résultat d'un calcul à la variable d 𝟒
d=2*5-4/2 # c’est 𝟐 × 𝟓 − 𝟐
e= 5**3 # c’est 𝟓𝟑
Une division Euclidienne
f=5//2 # c’est le quotient de 5 par 2
g=5%2 # c’est le reste de cette division Euclidienne
h augmente de 1
h=h+1
La concaténation de deux chaines
i="tata"+"Toto22"

Il faut importer certaines bibliothèques


from math import *
pour utiliser ou 𝜋
j=sqrt(5)+pi # c’est 𝟓 + 𝝅

Ou pour utiliser le hasard


from random import *
k=randint(1,10) # nb au hasard entre 1 et 10
Affichage des sorties :
Le contenu de la variable c print(c)
VARIABLES : Un exemple
a, b, c sont des nombres réels
TRAITEMENT :
Afficher ("entrer un nb")et lire a a=float(input ("Entrer un nombre")))
calculer a×2 et le mettre dans b b=a*2
calculer b+3 et le mettre dans c c=b+3
Afficher ("le résultat est") print("le resultat est : ",c)
renvoyer la valeur c
if X==2:
Si X = 2

Alors …
else :
Sinon …

FinSi
… # le IfEnd est sous entendu

# par le retour à la ligne
Pour i allant de 1 à 10 Faire for i in range(1, 11): # i va bien de 1 à 10
… …
FinPour
Tantque 𝑨 ≤ 𝟐 Faire
while a<=2:


FinTantque
def nom1(a,b): # on définit la fonction
y=…
return y # non obligatoire
Fonction algorithmique
c=nom1(18,10) # programme principal
print (c)
RAB

Ou autre activité 1 possible


Activité 1 : Calculer la longueur d’une hypoténuse
Nora a écrit un programme qui calcule et affiche la longueur
de l’hypoténuse d’un triangle rectangle à partir de la quand est cliqué
longueur des côtés de l’angle droit.
Les instructions sont dans le désordre.

a) Aider Nora a reconstituer son programme en écrivant les


instructions dans l’ordre dans le tableau ci-contre.

Activité 2 :
On considère le programme suivant, écrit de 3 manières différentes :
Script Scratch Algorithme en pseudo- Programme en python
code

print("Quel est le prix de


Afficher : « Quel est le l’article ? ")
prix de l’article ? » prix = float (input( ))
Saisir prix prix_reduit = prix*0.9
prix_réduit  prix × 0,9 print(prix_reduit)
Afficher prix_réduit

Qu’affiche le programme précédent si on entre la valeur 150 ?


CORRIGÉ : le robot éplucheur de pommes de terre

1. a)
actionner cherche 1
cherche 1 pomme
pomme épluche 1
épluche 1 pomme
ou
pomme lave les pommes
lave les pommes coupe les
coupe les pommes
pommes actionner

actionner
b) répéter 15 fois
cherche 1
pomme
épluche 1
pomme
lave les pommes
coupe les pommes

2) actionner
Afficher « Combien de
pommes ? »
Lire nb
répéter nb fois
cherche 1 pomme
épluche 1 pomme
lave les pommes
coupe les pommes
CORRIGÉ : le convertisseur

Vous aimerez peut-être aussi