• Aucun résultat trouvé

BREVET DE TECHNICIEN SUP ´ ERIEUR

N/A
N/A
Protected

Academic year: 2022

Partager "BREVET DE TECHNICIEN SUP ´ ERIEUR"

Copied!
4
0
0

Texte intégral

(1)

BTS SIO S´ession 2012

BREVET DE TECHNICIEN SUP ´ ERIEUR

SERVICES INFORMATIQUES AUX ORGANISATIONS

SESSION 2012

Sous-´ epreuve E 22 Algorithmique appliqu´ ee

Il est formellement interdit d’utiliser toute connexion `a un r´eseau interne ou externe au centre d’examen, quel qu’en soit le proc´ed´e.

L’usage d’une calculatrice est autoris´ee.

Cette ´epreuve comporte 2 parties :

– une premi`ere partie qui dure 30 minutes `a l’issue de laquelle vous devez fournir une pro- duction ´ecrite r´epondant au sujet.

– une deuxi`eme partie qui dure ´egalement 30 minutes. Vous travaillerez sur un des ordinateurs d’examen pour coder les algorithmes papiers sous Python.

Vous enregistrerez votre travail sur une cl´e USB fournie par votre professeur.

Vous imprimerez votre travail et le signerez.

Vous n’oublierez pas de rendre : – Le sujet.

– L’algorithme papier o`u figureront votre nom et pr´enom.

– L’impression de votre programme sign´ee

Page 1

(2)

BTS SIO S´ession 2012

Nom : Pr´enom :

Probl`eme :

On consid`ere une liste de noms. Le but de l’exercice est de tirer une lettre au hasard dans l’alphabet et d’afficher les noms de la liste commen¸cant par cette lettre.

L’algorithme et la traduction Python du programme principal sont : Variables :

listenoms,alphabet : tableau de chaˆınes de caract`eres

nom,lettre : chaˆıne de caract`eres

c :entier ebut

listenoms=[”Alain”,”Antoine”, ”Bernard”, ”Colin”, ”Chris- tine”,”Fran¸cois”, ”Guy”,”G´erard”, ”L´ea”,”L´eon”,”Louis”,

”Nathalie”,”Serge”,”Sylvie”,”Sylvain”,”Vincent”]

alphabet=[”A”,”B”,”C”,”D”,”E”,”F”,”G”,”H”,”I”,”J”,”K”,

”L”,”M”,”N”,”O”,”P”,”Q”,”R”,

”S”,”T”,”U”,”V”,”W”,”X”,”Y”,”Z”]

# Choix de la lettre au hasard lettre←−lettre au hasard()

# Liste des noms commen¸cant par la lettre choisie pr´ec´edemment noms←−noms(listenoms,lettre)

# Affichage du r´esultat c←−longueur(noms) Si c=0 alors

´ecrire : Il n’y a pas de noms commen¸cant par la lettre , lettre

FSi

Sinon si c=1 alors

´ecrire : Il y a 1 nom commen¸cant par la lettre ,lettre

´ecrire : Ce nom est,noms FSinonsi

Sinon :

´ecrire : Il y a ,c, noms commen¸cant par la lettre ,lettre

´ecrire : Ces noms sont ,noms FinSinon

Fin

# Fonctions

import random # permet d’utiliser l’instruction random.randint(a,b)

# Programme

listenoms=[”Alain”,”Antoine”, ”Bernard”, ”Colin”,

”Christine”,”Fran¸cois”, ”Guy”,”G´erard”, ”L´ea”,”L´eon”,

”Louis”, ”Nathalie”,”Serge”,”Sylvie”,”Sylvain”]

alphabet=[”A”,”B”,”C”,”D”,”E”,”F”,”G”,”H”,”I”,

”J”,”K”,”L”,”M”,”N”,”O”,”P”,”Q”,”R”,”S”,”T”,

”U”,”V”,”W”,”X”,”Y”,”Z”]

# Choix de la lettre au hasard lettre =lettre au hasard()

# Liste des nom commen¸cant par la lettre choisie pr´ec´edemment

noms=noms(listenoms,lettre)

# Affichage du r´esultat c=len(noms)

if c==0 :

print(”Il n’y a pas de noms commen¸cant par la lettre ”, lettre) elif c==1 :

print(”Il y a 1 nom commen¸cant par la lettre ”, lettre)

print(”Ce nom est”, noms) else :

print(”Il y a ”,c,” noms commen¸cant , par la lettre ” ,lettre) print(”Ces noms sont ”, noms)

Page 2

(3)

BTS SIO S´ession 2012

Partie A : 8 points

A traiter sur feuille et `a rendre avant d’acc´eder aux machines.

Dur´ee maximum : 30 minutes

Exercice 1

Ecrire une fonction´ lettre au hasard() , sans param`etre, et qui retourne une lettre choisie au hasard de la liste alphabet.

Aide : on pourra utiliser l’instruction alea(0,25)qui restitue de mani`ere al´eatoire un entier entre 0 et 25.

Exemple : Si le nombre choisi au hasard est 2,lettre au hasard()renvoie la lettre C.

Exercice 2

Ecrire une fonction´ noms(liste,lettre)dont les param`etres sont une liste de noms,listeet une lettre,lettre.

Cette fonction cr´eera la liste des noms de liste commen¸cant par la lettrelettreet retournera cette liste.

Exemple :

listenoms=[”Alain”,”Antoine”, ”Bernard”, ”Colin”, ”Christine”,”Fran¸cois”, ”Guy”,”G´erard”, ”L´ea”,”L´eon”,”Louis”,

”Nathalie”,”Serge”,”Sylvie”,”Sylvain”,”Vincent”]

noms(listenoms,"A")renvoie la liste [”Alain”,”Antoine”]

noms(listenoms,"W")renvoie la liste [ ] (la liste vide).

Partie B : 8 points

A traiter sur un ordinateur en utilisant le langage Python.

Vous enregistrerez votre travail sous votre nom.

Dur´ee maximum : 30 minutes

Exercice 3

Coder sous Python la fonctionlettre au hasard()de l’exercice 1 puis la tester.

On utilisera l’instructionrandom.randint(0,25)qui restitue de mani`ere al´eatoire un entier entre 0 et 25 Exercice 4

Coder sous Python la fonctionnoms(liste,lettre)de l’exercice 2 puis la tester.

Exercice 5

T´el´echarger le programme principal. Faˆıtes un copier coller sur votre page contenant les fonctions puis le tester.

Page 3

(4)

BTS SIO S´ession 2012

BREVET DE TECHNICIEN SUP´ERIEUR

SERVICES INFORMATIQUES AUX ORGANISATIONS Aide m´emoire

a // b calcule le quotient entier de la division de a par b.

Exemple : 13 // 5 donne 2

a % b calcule le reste de la division de a par b.

Exemple : 13 % 5 donne 3

a / b calcule le quotient de a par b.

Exemple : 13 // 5 donne 2.6

a * b calcule le produit de a par b.

Exemple : 3 * 5 donne 15

a ** b calcule a `a la puisance b.

Exemple : 2 ** 3 donne 8

Vrai et Faux sont les bool´eensTrueet False.

liste[i]restitue l’´el´ement de la liste de rang i.

Exemple : Liste=[10,25,33,4,8]Liste[1]renvoie 25.

Une matrice est une liste de listes.

Exemple :

– M=[[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]] =

1 2 3 4 5

6 7 8 9 10

11 12 13 14 15

– M[0] est la premi`ere ligne de la matrice : [1,2,3,4,5]

– M[1][2] est la valeur de la deuxi`eme ligne, troisi`eme colonne soit 8.

len(liste)restitue la longueur de la liste.

Exemple : Liste=[10,25,33,4,8],Len(Liste)renvoie 5.

Liste.append(a)ajoute l’´el´ementa`a la listeListe

Exemple : Liste=[10,25,33,4,8],Liste.append(100)renvoie [10,25,33,4,8,100]

Liste.insert(i,a)ajoute l’´el´ementaau rang ide la liste Liste

Exemple Liste=[10,25,33,4,8],Liste.insert(0,100)renvoie [100,10,25,33,4,8]

range(a,b)est la liste des entiers compris entre a et b, b non compris.

Exemple :

range(0,5)renvoie la liste [0,1,2,3,4]

for i in range(0,5): ...

correspond `a :Pour i allant de 0 `a 4

Chaˆıne de caract`eres. Comme pour les listes :

len(ch)donne la longueur de la chaˆıne de caract`eresch.

– ch[0] est le premier caract`ere de la chaˆınech

Exemple : ch=”AMI”,len(ch)renvoie 3.ch[0]renvoie A. ch +”S” renvoie ”AMIS”

Syntaxe pour l’´ecriture d’une fonction : Exemple :

>>> def somme produit(a,b):

somme=a+b produit=a*b

return somme,produit

donne

>>> somme produit(3,4)

(7, 12)

>>> a,b=somme produit(3,4)

>>> a 7

>>> b 12

Page 4

Références

Documents relatifs

En d´eduire la probabilit´e, toujours ` a 10 − 2 pr`es, qu’une boule, prise au hasard dans la production, ne soit pas retenue..

On admet que la probabilit´ e qu’une poutre, prise au hasard dans la production, soit conforme, est 0,9.. La construction d’une ferme n´ ecessite 15 poutres de

La machine F produit 2,5 % d’axes d´ efectueux. On pr´ el` eve au hasard, dans la production de la machine F, un lot de 50 axes. La production est suffisamment importante pour que

ii) D´eterminer la probabilit´e qu’il y ait plus de cinq boules non conformes dans un lot. La r´eponse sera arrondie au centi`eme.. 3 ° ) L’´etude statistique de la production

3) On pr´ el` eve dans le stock 100 roulements, successivement et au hasard. On note Y le nombre de ceux qui sont inutilisables. On assimilera ce tirage ` a un tirage avec

Sont autoris´ ees toutes les calculatrices de poche, y compris les calculatrices programmables, alphanu- m´ eriques ou ` a ´ ecran graphique ` a condition que leur fonctionnement

2) On d´ esigne par ¯ X la variable al´ eatoire qui, ` a tout ´ echantillon de 125 billes, prises au hasard et avec remise, associe la moyenne des diam` etres obtenus.. a) Donner

b- D´ efinir la fonction de transition locale regleOpinion qui mod´ elise le changement d’opinion, lorsqu’on adopte l’opinion majoritaire en tenant de ces deux voisins (cf.