INFO BTS1 A TEST ALGO mardi 2 décembre 2014
PREMIER TRAVAIL
Voici un algorithme en Python 2.7.
from random import*
def calcul():
a=input("Donner le montant de votre revenu net ")
e=raw_input("êtes-vous marié? OUI , NON ")
b=input("Combien avez- vous d'enfants? ")
if e=="OUI":
part=2+0.5*b
else:
part=1+0.5*b
S=0.9*a
r=S/part
if r<700:
impot=0
elif r<30000:
impot=(r−700)*0.10
elif r<45000 :
impot=(30000−700)*0.1+(r−30000)*0.20
else:
impot=0.75(r−45000)+( 45000−30000)*0.20+(30000-700)*0.10
print impot
calcul()
QUESTIONS:
1. Que signifie elif?
Cela signifie if cà-d si quand il y en a plusieurs.
2.Combien une famille( père mère) avec deux enfants et 23000€ de revenu net
doit-elle payer pour les impôts?
On obtient:
>>> calcul()
Donner le montant de votre revenu net 23000
êtes-vous marié? OUI , NON OUI
Combien avez vous d'enfants? 2
620.0
Donner le montant de votre revenu net
>>>
3.Quel est l'intérêt d'avoir mis calcul() à la fin ?
Cela permet de relancer le programme sans avoir à remettre
calcul() dans le fenêtre Pythons shell.
4. Quelles sont les tranches de l'impôt sur le revenu?
Ce sont les intervalles :
[ 0 , 700 [ ; [ 700 , 30000 [ ; [ 30000 , 45000 [ ; [ 45000 , +∞ [
5. Quel est le taux de l'abattement au départ?
Il est de 10%.
6. A quoi sert raw_input ?
Cela sert à demander la saisie d'une chaîne.
7. Pourquoi a-t-on mis print avec le même alignement que les if et else?
Cela permet de n'avoir l'affichage que du résultat final.
8. Que vaut part pour un célibataire?
Elle est de 1.
9. Que représente r ?
C'est le revenu net par part après abattement de 10% .
10.Que faut changer dans le programme si l'on veut que le montant minimum de l'impôt soit de 50€.
Au lieu de
if r<700:
impot=0
Il faut mettre :
if r<700:
impot=50
------------------------------------------------------------------------------
SECOND TRAVAIL
Ecrire un programme en Python qui donne le résultat au bac en précisant la mention..
On peut proposer:
from random import*
def bac():
n=input("Donner votre note de l'écrit ")
if n<8:
print "Désolé, vous êtes ajourné"
elif n<10:
print "Vous êtes convoqué pour le second tour"
else:
if n<12:
print "Bravo. vous êtes admis. Sans mention"
elif n<14:
print "Bravo. Vous êtes admis avec la mention AB"
elif n<16:
print "C'est bien. Vous êtes admis avec la mention B"
else:
print "Félicitation. Vous êtes admis avec la mention TB"
Par exemple on obtient:
>>> bac()
Donner votre note de l'écrit 16
Félicitation. Vous êtes admis avec la mention TB
>>> bac()
Donner votre note de l'écrit 7.5
Désolé, vous êtes ajourné
>>>
------------------------------------------------------------------------------