U2 MATHÉMATIQUES POUR L INFORMATIQUE Dans ce document, on trouve toutes les notions que le référentiel du BTS SIO impose pour l epreuve U22. Les éléments en rouge sont des rappels concernant la notion du référentiel, les éléments en vert sont les travaux pratiques à réaliser pour prendre en main les notions et se préparer à cette epreuve. La stratégie pour se préparer à cette epreuve et de faire 2 heures de mathématiques et 2 heures d algorithmiques en formation, c est la stratégie que j ai appliqué dans les centres de formations ou je suis intervenu sur cette matiére avec d excellents résultats même pour les candidats médiocres en mathématiques. Le module U2 comprend deux sous-module : U21 MATHÉMATIQUES Arithmétique ; Suites numériques ; Calcul matriciel 2 ; Calcul des propositions et des prédicats, langage ensembliste, calcul booléen ; Éléments de la théorie des ensembles ; Graphes et ordonnancement. I) Systèmes de numération U22-ALGORITHMIQUES I.a) Numération en bases 10, 2 et 16 des entiers et des réels. I.a.1) Conversion base 10->2 Pour convertir un nombre decimal en binaire on procéde par division successives. 10 :2=5*2+0 5 :2=2*2+1 2 :2=2*1+0 1 :2=2*0+1 On concaténe les restes du dernier au premier on obtient : 1010 I.a.2) Conversion base 2->10 Pour convertir un nombre binaire en decimal on multiplie les chiffres de ce dernier par les puissances successives de 10 1010 (2) =1*2 3 +0*2 2 +1*2 1 +0*2 0 = 8+0+2+0=10 I. a.3) Conversion base 2->16
Pour convertir un nombre binaire en hexadecimal on subdivise ce nombre en tranches de 4 et on remplace chaque tranche par son expression hexadecimal. 101011101011->1010 1110 1011->AEB I.a.4) Conversion base 16->2 Pour convertir un nombre hexadecimal en binaire on remplace chacun des chiffres de ce nombres par son expression en binaire sur quatres positions. AEB->A E B->1010 1110 1011 I.a.5) Conver sion base 16->10 Pour convertir un nombre hexadecimal en base 10 on convertit d abord ce nombre en base 2 puis on convertir le nombre binaire obtenus en base 10 II) Notion d arrondi et de précision. d.1) Arrondir une valeur à 2 décimales après la virgule Arrondi(5,484,2)=5,48 Arrondi(5,485,2)=5.49 d.2) Calculez la solution d une équation à 10-5 prés f(x)=0.000006 donnera une solution valable pour x III) Arithmétique modulaire III.a) Division euclidienne : chiffre=diviseur*quotient+reste III.b) nombre premier C est un nombre divisible que par 1 et par lui-même Tout nombre est décomposable en un produit de nombre premier PGCD : Plus grand commun diviseur. PGCD(18,27)? 18=2*3 2 24=2 3 *3 PGCD(18,27)=2*3 PPCM(18,27)? 18=2*3 2 24=2 3 *3 PPCM(18,27)= 3 2 *2 3 C) Congruence 5%2=1 Travaux pratiques pour appliquer les notions ci-dessous 1 Exemples de calculs en bases 2 et 16. Conversions entre bases. 2 Exemples d algorithmes de recherche de nombres premiers et de décomposition en facteurs premiers.
3 Parcours d une liste circulaire par sauts d amplitude constante. On notera en particulier que le parcours n est exhaustif que quand la longueur du saut et la taille de la liste sont des entiers premiers entre eux. 4 Comparaison entre le calcul binaire et le calcul booléen. 5 Faire les algorithmes pour calculer les expressions suivantes (i+r) Π (i*q) i=1 i*(-1)i (1/i) i (i+r) i Π(i*q) P = n!/(p!(n-p)!) Cn p Cn p=1 IV) Ensemble des notions a apprehender pour le module U22 Définition des termes suivants Algorithme. Finitude Modularité Identifiant constante, variable fonction procédure expression numérique expression conditionnelle expression booléenne V) Données manipulées V.1) Types simples : V.1.1) Booléen
b=true b=false V.1.2) Tableaux à une ou deux dimensions de type homogène tab=[1,2,3,4,5,6,78,8,9] tab[0] tab=[[1,2,3],[4,5,6],[7,8,9]] tab[0][0] V.1.3) tableaux à deux dimensions constitués de tableaux à une dimension dont les types ne sont pas homogènes. tab=[[1,2,3],['a','b','c'],[[1,2,3],[4,5,6],[6,7,8]]] V.1.4) Instructions de base et opérateurs utilisés Lecture, écriture.affectation, affectation récursive Opérateurs numériques : addition, soustraction,multiplication, division, exponentiation, quotient et reste de la division entière, signes. Fonctions mathématiques usuelles. Opérateurs de comparaison : =, <> ou!=, <, <=,>, >= Entre numériques et entre chaînes de caractères. Opérateurs booléens : non, et, ou, oux Opérateurs booléens bit à bit On interprétera notamment en termes de masque, de mise à un, de mise à zéro, de changement d état. Opérateurs de chaînes : concaténation. Fonctions permettant l extraction en début,milieu ou fin ; la recherche d un motif. V.1.5) Contrôle d exécution Par défaut : l exécution séquentielle. Exécution à structure conditionnelle Afin d en maîtriser le fonctionnement, les structures d exécution seront elles-mêmes présentées sous forme d algorithmes. Exécution à structure itérative déterministe (pour) et indéterministe (tant que / répéter jusqu à ce que). Méthodologie de construction des structures itératives : raisonnement par récurrence, initialisation, mise à jour itérative et neutralisation des cas indésirables, calcul itératif (souvent récursif), mise en forme finale. Symboles et, traduction algorithmique. Structures imbriquées, y compris quand les éléments de contrôle des structures internes dépendent de ceux des structures externes. Le nombre d imbrications n est pas limité, sauf pour les itérations en dépendance, où on se limitera à deux. Récursivité. Nécessité d un test. Nécessité de cas particuliers résolus sans appel à la récursivité, finitude.
Travaux pratiques pour appliquer les notions ci-dessous 1 Exemple(s) de récursivité terminale, conversion en algorithme non récursif. Exemple de récursivité non terminale. 2 Variantes où les notions de complexité temporelle et de complexité spatiale peuvent être abordées. L étude de la complexité des algorithmes se limitera au calcul d un nombre minimum ou maximum d opérations significatives ou de taille des données. 3 Exemples d effets indésirables (effets de bord, évaluation partielle lors de calcul d expressions booléennes, débordements ou approximations numériques, transtypage, utilisation d indices hors domaine, ). Afin de mieux sensibiliser l étudiant à certains risques, on s efforcera de présenter des cas aux conséquences spectaculaires. Aucune théorie n est au programme. 4 Algorithme délibérément erroné dont les défauts seront repérés par débogage. On procédera essentiellement par suivi de variables. 5 Interprétation d algorithmes. PRISE EN MAIN DE PYTHON Sur mon blog http://formationjava.unblog.fr/ tout débutant en algorithmique trouvera, les notions de base à la réalisation d algorithmes et une vidéo permettant de comprendre comment télécharger et installer python. 1) Prise en main de python a) Lancez python gui (IDLE) b) i=1 c) I d) print (i) DEFINITION: TP 1 I est une variable, une zone de stockage en mémoire. 1) I,j,k=1,2,3 2) print (I,j,k) 3)i=j+K 4) print(i) 5)j=i+j 6) print(j) 4)k=k+i
5) print(k) TP 2 1) from math import * 2)sqrt(5) 3)int(5.6) 4) 5%2 TP 3 : Calculez la somme des termes de la suite de premier terme u0=1 et de raison r=2 1) Sans boucle 1) u,r=1,2 2) print u 3) u=u+r 4) print u 5) u=u+r 6) print(u) 7)u=u+r 8)print(u) 9)u=u+r 10) print (u) 2) Avec une boucle >>> u,r,n,somme=1,2,0,0 >>> while (n<=4): u=u+r n=n+1 somme=somme+u >>> print (somme) EXERCICE 1) Somme des 5 premiers termes d une suite géométrique de raison 2 2) (i+r) 3) Π (i*q) i=1 4) i*(-1) i