SNT 2de - Cahier d’activités

Rejoignez la communauté !
Co-construisez les ressources dont vous avez besoin et partagez votre expertise pédagogique.
Th. 1
Internet
Th. 2
Le Web
Th. 3
Les réseaux sociaux
Th. 4
Les données structurées et leur traitement
Th. 5
Localisation, cartographie et mobilité
Th. 6
Informatique embarquée et objets connectés
Th. 7
La photographie numérique
Annexes
Fiches méthodes
Programmation 5
Exclusivité numérique

Structures conditionnelles

16 professeurs ont participé à cette page
Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.

Cours

Apprendre avec des exemples

Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.

1
Transformation d'image

On souhaite transformer une image numérique en niveaux de gris dont les valeurs des pixels sont des entiers compris entre 0 et 255. On remplace un à un les pixels d'une image par rapport à une valeur seuil fixée. Ainsi, si un pixel a une valeur inférieure au seuil (par exemple 100), il prendra la valeur 0.

def modification_image(niveau,seuil) :
	if niveau < seuil : # Démarrage du bloc d'instructions à exécuter si la variable niveau possède une valeur inférieure à celle de seuil
		niveau = 0 # La variable niveau prend pour valeur 0 si c'est le cas
		return niveau # La nouvelle valeur de niveau est retournée et l'appel de la fonction est interrompu
	else : # Démarrage du bloc d'instructions si la condition n'est pas vérifiée
		return niveau # Renvoi de la valeur initiale de niveau

On peut proposer un autre code, plus allégé, en introduisant un return en dehors de la structure conditionnelle :

def modification_image(niveau,seuil) :
	if niveau < seuil :
		niveau = 0
	return niveau

Dans la console on appelle la fonction modification_image() avec différents arguments.

def modification_image(niveau,seuil) :
	if niveau < seuil :
		niveau = 0
	return niveau

print(modification_image(5,100))
print(modification_image(200,100))
Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.

2
Seuillage

On souhaite transformer une image en niveau de gris dont les valeurs des pixels sont des entiers compris entre 0 et 255 en une image dont les valeurs de pixels ne peuvent avoir que la valeur 1 ou 0. On parle alors d'une image binaire, ou image en noir et blanc. On remplace un à un les pixels d'une image par rapport à une valeur seuil fixée. Ainsi, si un pixel a une valeur supérieure au seuil, il prendra la valeur 1 (blanc), et si sa valeur est inférieure ou égale, il prendra la valeur 0 (noir).

def seuillage(niveau,seuil) :
	if niveau > seuil :
		return 1
	else :
		return 0

print(seuillage(150, 123))
print(seuillage(100, 123))

La fonction peut être légèrement raccourcie en utilisant l'instruction return différemment (à l'intérieur et en dehors de la structure conditionnelle) :

def seuillage(niveau,seuil) :
	if niveau > seuil :
		return 1
	return 0
  
print(seuillage(150, 123))
print(seuillage(100, 123))
Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.

3
Rang des Jedi

On souhaite déterminer le rang d'un Jedi en fonction du nombre d'années de formation qu'il a suivies. Les trois rangs Jedi sont les suivants :
  • Padawan : apprenti Jedi qui apprend les techniques de combat au sabre laser et reçoit des enseignements sur l'utilisation de la Force. Il reçoit un entraînement intensif sous la tutelle d'un chevalier ou d'un maître Jedi. Ce n'est qu'après une longue période de 10 années que le padawan est autorisé par le conseil Jedi à accéder au rang de chevalier Jedi.
  • Chevalier : membre plus important que le simple padawan. Sa maîtrise de la Force et des techniques de combat en font un gardien de la paix craint par tous les criminels de la galaxie. Ce rang est conservé durant près de cinq années avant que le conseil Jedi n'accorde au chevalier le rang de maître Jedi.
  • Maître : rang le plus élevé des Jedi. Certains d'entre eux constituent le conseil Jedi. Sa principale mission est de diriger les chevaliers Jedi et les padawans à travers la galaxie pour assurer la paix et maintenir l'ordre dans la République.

def rang_jedi(formation) :
	if formation <= 10 and formation >= 0 :
		return "Padawan"
	elif formation <= 15 and formation > 10 :
		return "Chevalier"
	elif formation > 15 :
		return "Maître"
	else :
		return "Rang indéterminé"

print(rang_jedi(12), rang_jedi(8), rang_jedi(20), rang_jedi(-5))
Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.

A
Carré de tortue

La fonction carre() permet de dessiner un carré.

import turtle as tortue # Importation de toutes les fonctions du module turtle renommé tortue

def carre(cote) : # Création de la fonction carre() qui a pour argument cote
		for i in range(4) : # Répétion 4 fois
		tortue.forward(cote) # La tortue avance droit devant elle de la valeur de cote
		tortue.left(90) # La tortue tourne vers sa gauche de 90 °

carre(100) # Appel de la fonction carre() avec 100 en argument
tortue.mainloop()
Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.
Bilan
Dans un programme, on peut tester une condition. Cette condition est soit vraie (True) soit fausse (False).

Opérateurs de comparaison

width="25%">Opérateur>Signification
<strictement inférieur à
<=inférieur ou égal à
>strictement supérieur à
>=supérieur ou égal à
==égal à (attention à ne pas confondre avec l'opérateur d'affectation =)
!=différent de

width="25%">Algorithme>Explication width="25%">Programme Python
si condition
  instruction1
Si condition est True alors instruction1 est exécutée.
Si condition est False alors instruction1 est ignorée.
if condition :
 instruction1
si condition
 instruction1
 instruction2
sinon
 instruction3
Si condition est True alors instruction1 et instruction2 sont exécutées et instruction3 est ignorée.
Sinon, c'est-à-dire si condition est False, instruction3 est exécutée et les instructions instruction1 et instruction2 sont ignorées.
if condition :
 instruction1
 instruction2
else :
 instruction3
Condition - Programmation
Le zoom est accessible dans la version Premium.
Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.

Exercices

Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.

1
Attaque ratée

Dans un jeu vidéo, l'attaque d'un monstre peut parfois être manquée et les dégâts assénés au personnage sont alors nuls. On souhaite créer une fonction attaque() qui renvoie « Attaque ratée » dans 20 % des cas.

Compléter la fonction attaque() ci-dessous :
from random import randint

def attaque() :
	if randint(0, 10) <= ... : # À remplir
		return "Attaque réussie !"
	else :
		return "Attaque ratée !"
Afficher la correction
Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.

2
Condition mystérieuse

On considère la fonction suivante :

def mystere(n) :
	if n <= 10 :
		points = 15
	else :
		if n == 12 :
			points = 18
		else :
			points = 20
	return points

1. Prévoir le résultat pour les appels mystere(17) et mystere(12).

2. Vérifier la prévision en exécutant un programme appelant cette fonction.
Afficher la correction
Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.

3
Bon chemin

Un lutin s'est perdu dans la forêt. Il a le choix entre trois chemins A, B et C. Il décide de lancer un dé à 10 faces. Si le résultat est inférieur ou égal à 2, il choisit le chemin A. Si le résultat est compris entre 3 et 5, il choisit le chemin B. Sinon, il choisit le chemin C.

Compléter la fonction chemin() du programme ci-dessous permettant de choisir le chemin :
from random import randint

def chemin() :
	de = ... # À remplir
	if de <= ... : # À remplir
		return "A"
	elif de <= ... : # À remplir
		return "B"
	else :
		return "C"
Afficher la correction
Ressource affichée de l'autre côté.
Faites défiler pour voir la suite.

Supplément numérique

A
Tir à l'arc

On souhaite programmer un court script permettant de compter les gains obtenus lors d'un concours de tir à l'arc sur cible circulaire. Les conditions suivantes doivent être considérées :
  • si la flèche se plante à moins de 1 cm du centre, le participant empoche 20 € ;
  • si la flèche se plante entre 1 cm et 10 cm du centre, le tireur gagne 10 € ;
  • sinon, aucun gain n'est accordé par les organisateurs.

Écrire une fonction gain() qui a pour argument la variable distance exprimant la distance entre le centre de la cible et la flèche et qui renvoie le gain obtenu.

Afficher la correction

Une erreur sur la page ? Une idée à proposer ?

Nos manuels sont collaboratifs, n'hésitez pas à nous en faire part.

Oups, une coquille

j'ai une idée !

Nous préparons votre pageNous vous offrons 5 essais

Yolène
Émilie
Jean-Paul
Fatima
Sarah
Utilisation des cookies
Lors de votre navigation sur ce site, des cookies nécessaires au bon fonctionnement et exemptés de consentement sont déposés.