- Détails
- Écrit par : Richard GAUTHIER
- Clics : 871
[[{"text":"","posi":0,"title":"Indexation de tables","tagtitle":"h1"}],[{"text":"
"}],[{"text":"
","title":"Hypothèses et définitions sur les tables"}],[{"text":"
"}],[{"text":"
"}],[{"text":"
"}],[{"text":"
"}],[{"text":"
","title":"Exercice 1"},{"input":"","place":"Ecrire le résultat ici."}],[{"text":"
L'organisation tabulaire des donnees est très répandue et très ancienne.
Le bulletin d'un élève est organisé en table et indique, pour chaque matière, la note de l'élève, la moyenne de la classe, la note la plus basse et la plus haute de la classe et l'appréciation du professeur.
La liste de présence » est une table indiquant pour chaque élève s'il est présent ou absent ce jour.
Les résultats d'un match de tennis sont affichés eux aussi comme une table. Les lignes de la table correspondent aux joueurs, les colonnes indiquent le nombre de jeux gagnés dans chaque set.
Le relevé de compte bancaire indique, pour chaque opération, sa date, son montant et sa nature (débit ou crédit).
Les tables documentées les plus anciennes sont d'ailleurs des livres de comptes (on trouve des mentions de telles tables dans l'Egypte ancienne).
Les données tabulées ont évidemment une place importante en informatique. Avec l'introduction du modèle relationnel, propose par Edgar F. Codd dans les années 1970 alors qu'il est employé par IBM, les tables de données, stockées dans des bases de données deviennent rapidement le principal moyen de stocker de l'information structurée. Même sans utiliser de tels systèmes, la manipulation de données en tables depuis un langage de programmation est un outil important a maitriser. En effet, elles sont utilisées dans de nombreux domaines : calcul scientifique, intelligence artificielle, programmation wen, ...","title":"Notion de table de données"}],[{"text":"https://www.data.gouv.fr/fr/territories/commune/29024@1957-01-01/Carhaix-Plouguer/
Prénom | Année | Note 1 | Note 2 | Appréciation |
Stéphane | 2000 | 12.5 | 9.4 | AB |
Paul | 2003 | 14 | 17 | B |
Régis | 2002 | 9 | 15 | TB |
Bernard | 2001 | 5.5 | 12 | B |
Franck | 1999 | 16 | 14.5 | AB |
Léon | 2004 | 14 | 16 | TB |
Table : Une table des élèves
Les données ci-dessus sont des tables.
Les tables représentent des collections d'éléments.
Chaque ligne représente un élément de la collection.
Les colonnes représentent les attributs d'un element.
Pour un attribut donne, les valeurs sont du même type.\nPar exemple : \n- La colonne année est de type entier.\n- La colonne prénom est de type chaîne de caractère.
Le terme indexation de table désigne la création d'une table répondant aux critères ci-dessous.En bases de donnees, un index est une structure de données permettant un accès rapide aux données de la table(My Sql, Mongo Db, Firebase,...)
La première operation concernant les données en table est de charger (iire) les données.
Nous avons besoin d'un moyen simple pour échanger des données tabulées entre différents programmes.
L'un des moyens les plus simple est l'utilisation d'un fichier. Le programme créant les données les sauvegardes dans un fichier.
Un second programme charge ce fichier et travaille sur les données.
La seule contrainte est que les deux programmes utilisent le même format\n
Pour les données tabuées l'usage est d'utiliser des fichiers au format CSV (Comma Separated Values, ou données séparées par des virgules ).
Exemple :\nPrénom,Année,Note 1,Note 2,Appréciation\nStéphane,2000,12.5,9.4,AB\nPaul,2003,14,17,B\nRégis,2002,9,15,TB\nBernard,2001,5.5,12,B\nFranck,1999,16,14.5,AB\nLéon,2004,14.5,16,TB\n
Ce format est relativement simple :
• les fichiers CSV sont de simples fichiers textes ;\n• chaque ligne du fichier correspond à une ligne de la table ;\n• chaque attribut d'une ligne est séparée au moyen du caractère \" , \" ;\n• toutes les lignes du fichier ont le même nornbre de champs ;\n• la première ligne peut représenter des noms d'attributs ou commencer directement avec les données ;\n• on peut utiliser des guillemets droits \" pour délimiter le contenu des champs.\n","title":"Lire un fichier au format CSV"}],[{"text":"
Python a une bibliothèque csv contenant des fonctions pour lire et écrire des fichiers au format CSV.
Le code Python suivant permet de charger notre fichier users.csv dans une variable table.
import csv\nfichier = open(\"eleves.csv\")\ntable = list (csv.reader(fichier))\nprint(table)
Description du programme : \n- importation du module csv;\n- ouverture du fichier users.csv;\n- la fonction reader du module csv prend en argument un fichier ouvert et renvoie une valeur en tableau:\n- la fonction list convertit le tableau en list.\n- la variable table contient alors un tableau de tableaux de chaines de caractères.
Télécharger le fichier csv :
https://sciencesappliquees.com/images/nsi/eleves.csv
Ecrire et exécuter le programme.
Copier le résultat ci-dessous:","title":"Chargement d'un fichier csv"},{"input":"","place":"Ecrire le résultat ici."},{"edit":"Quel est l'inconvénient de cette méthode sur le typage des entiers?
Une alternative aux problèmes rencontrés précédemment est d'utiliser la fonction offerte par le module csv est la fonction DictReader dans le module CSV.
Le programme devient :
import csv\nfichier = open (\"eleves.csv\" )\ntable = list (csv.DictReader(fichier))\nprint(table)
","title":"Chargement d'un fichier csv (2)"},{"input":"","place":"Ecrire le résultat ici."},{"edit":"Quels sont les avantages de cette méthode?Ecrire et exécuter le programme.Copier le résultat ci-dessous:
Malgré l'utilisation de la fonction DictReader, un problème subsiste.
En effet, les nombres sont chargés comme des chaines de caractères.
On souhaiterait que ces données soit des entiers Python.
Le module csv ne propose pas de moyen pour convertir automatiquement les données.
Nous utiliserons la méthode ci-dessous pour créer une table avec des formats valides pour les attributs.
Pour ce faire il faut connaitre les types des attributs.
import csv\nfichier = open (\"eleves.csv\" )\ntable = list (csv.DictReader(fichier))\nprint(table)\n\nfor x in table :\n x[\"Année\"] = int(x[\"Année\"])\n x[\"Note 1\"] = float(x[\"Note 1\"])\n x[\"Note 2\"] = float(x[\"Note 2\"])\n#les nombres avec le bon typage\nprint(table)
Ecrire et exécuter le programme.
","title":"Validation des donnees"},{"input":"","place":"Ecrire le résultat ici."},{"edit":"Quels sont les avantages de cette méthode?Copier le résultat ci-dessous:
Le module csv de Python propose aussi des fonctions utilitaires pour ecrire le contenu d'un tableau de dictionnaires dans un fichier CSV.\n
import csv\n\nf = open(\"nouveau.csv\", \"w\")\nwriter = csv.DictWriter(\n f, [\"Prénom\", \"Année\", \"Note 1\",\"Note 2\", \"Appréciation\"])\nwriter.writeheader()\nwriter.writerow({'Prénom':'Stéphane', 'Année' : '2000' , 'Note 1': '12.5', 'Note 2': '9.4', 'Appréciation': 'AB'})\nwriter.writerows([{'Prénom':'Stéphane', 'Année' : '2000' , 'Note 1': '12.5', 'Note 2': '9.4', 'Appréciation': 'AB'},{'Prénom':'Stéphane', 'Année' : '2000' , 'Note 1': '12.5', 'Note 2': '9.4', 'Appréciation': 'AB'}])\nf.close()
Descriptions du code :\n- La fonction Di ctWrit er renvoie un objet w permettant d'ecrire des lignes dans le fichier.\n- L'instruction writer.writeheaders() dolt etre appelee en premier et ecrit la ligne d'entetes.\n- L'instruction writer.writerows(...) écrit des lignes correspondantes aux attributs dans le fichier.\n- L'instruction writer.writerow(...) écrit 1 ligne correspondantes aux attributs dans le fichier.Ecrite et exécuter le code ci-dessous.
Lire le fichier nouveau.csv avec le bloc note.
Copier son contenu ci-dessous.
","title":"Ecrire un fichier au format CSV"},{"input":"","place":"Ecrire le résultat ici."},{"edit":"Quels est le format de ce fichier?
Trouver toutes les erreurs de syntaxe dans le fichier CSV suivant :
\nTitre,Auteur,Extrait,Annee\nAir vif,tluard,J'ai regarde devant moi,1951\nJe vis...,Labe,J'ai chaud extreme en endurant froidure Heureux...,du Bellay,Heureux qui come Ulysse, a. fait..., 1552 \"La voix,Baudelaire,Mon berceau s'adossait...\",1857\n
On souhaite stocker dans une table l'inventaire d'un magasin. Ce dernier vend des biens dont il possède une certaine quantité en stock.
Les produits peuvent etre indisponibles (epuisés chez le fournisseur) et être en vente libre ou non.
Proposer des noms de colonnes et types Python\npour une telle table d'inventaire.\tSolution page 472\nExercice 182 Ecrire une fonction stats_csv(fichier) on fichier est le nom d'un fichier CSV et qui affiche le nombre de lignes et le nombre de\ncolonnes de la table stockee dans le fichier.","title":"Exercice 2"},{"input":"","place":"Ecrire le résultat ici."}],[{"text":"
Ecrire un fichier au format CSV décrivant le bon de commande suivant, dans lequel les colonnes ref et désignation contiennent des chaines de caractères, la colonne prix des nombres décimaux et la colonne qte des nombres entiers.
ref | désignation | prix | qté |
113313 | crayon | 1.30 | 3 |
212444 | gomme | 0.90 | 2 |
123366 | stylo | 2.10 | 5 |
Ecrire un programme qui lit ce fichier CSV et en extrait une table de données sous la forme d'un tableau de dictionnaires.","title":"Exercice 3"},{"input":"","place":"Ecrire le résultat ici."}]]
- Détails
- Écrit par : Richard GAUTHIER
- Clics : 1067
[[{"login":"devoir"}],[{"quiz":1448}]]
- Détails
- Écrit par : Richard GAUTHIER
- Clics : 882
[[{"login":"devoir"}],[{"quiz":1448}]]
- Détails
- Écrit par : Richard GAUTHIER
- Clics : 896
[[{"visi":false,"text":"Vous allez répondre à un QCM sur les lois en électricité.

","sol":false},{"label":"t = 6 heures
","sol":false},{"label":"t = 24 heures
","sol":false}]}],[{"text":"
","sol":false},{"label":"Une batterie de 12V et de capacité 24A.h
","sol":false},{"label":"Une batterie de 12V et de capacité 6A.h
","sol":false}]}],[{"text":"

"},{"radio":[{"label":"
","sol":false},{"label":"
","sol":false}]}],[{"text":"
"},{"chekbox":[{"label":"
","sol":false},{"label":"le montage 3
","sol":false},{"label":"Aucun des montages","sol":false}]}],[{"text":"
"},{"chekbox":[{"label":"
","sol":false},{"label":"le montage 3
","sol":false},{"label":"Aucun des montages","sol":false}]}],[{"text":"
"},{"chekbox":[{"label":"
","sol":true},{"label":"le montage 3
","sol":true},{"label":"Aucun des montages","sol":false}]}],[{"text":"
"},{"chekbox":[{"label":"
","sol":false},{"label":"le montage 3
","sol":false},{"label":"Aucun des montages","sol":false}]}],[{"text":"
"},{"radio":[{"label":"Le courant délivré par le générateur G dans le montage 2 est le même que dans le montage 1.","sol":false},{"label":"Le courant délivré par le générateur G dans le montage 2 est 2 fois plus petit que dans le montage 1.","sol":true},{"label":"Le courant délivré par le générateur G dans le montage 2 est 2 fois plus grand que dans le montage 1.","sol":false},{"label":"Le courant délivré par le générateur G est nul dans les 2 montages.","sol":false}]}],[{"text":"
"},{"radio":[{"label":"Dans le montage 2, la tension aux bornes d'un des dipôle D1 est la même que dans le montage 1.","sol":false},{"label":"Dans le montage 2, la tension aux bornes d'un des dipôle D1 est 2 fois plus petite que dans le montage 1.","sol":true},{"label":"Dans le montage 2, la tension aux bornes d'un des dipôle D1 est plus grande que dans le montage 1.","sol":false},{"label":"Dans les 2 montages, la tension est nul aux bornes des D1.","sol":false}]}],[{"text":"
"},{"radio":[{"label":"Le courant délivré par le générateur G dans le montage 2 est le même que dans le montage 1.","sol":false},{"label":"Le courant délivré par le générateur G dans le montage 2 est 2 fois plus petit que dans le montage 1.","sol":false},{"label":"Le courant délivré par le générateur G dans le montage 2 est 2 fois plus grand que dans le montage 1.","sol":true},{"label":"Le courant délivré par le générateur G est nul dans les 2 montages.","sol":false}]}],[{"text":"
"},{"radio":[{"label":"Dans le montage 2, la tension aux bornes d'un des dipôle D1 est la même que dans le montage 1.","sol":true},{"label":"Dans le montage 2, la tension aux bornes d'un des dipôle D1 est 2 fois plus petite que dans le montage 1.","sol":false},{"label":"Dans le montage 2, la tension aux bornes d'un des dipôle D1 est plus grande que dans le montage 1.","sol":false},{"label":"Dans les 2 montages, la tension est nul aux bornes des D1.","sol":false}]}],[{"text":"
"},{"radio":[{"label":"Le courant traversant un des D1 dans le montage 2 est le même que dans le montage 1.","sol":true},{"label":"Le courant traversant un des D1 dans le montage 2 est 2 fois plus petit que dans le montage 1.","sol":false},{"label":"Le courant traversant un des D1 dans le montage 2 est 2 fois plus grand que dans le montage 1.","sol":false},{"label":"Le courant dans les D1 est nul dans les 2 montages.","sol":false}]}],[{"text":"

"},{"radio":[{"label":"D3 représente un générateur.","sol":false},{"label":"D3 représente une résistance.
","sol":false},{"label":"D3 représente une lampe.
","sol":false},{"label":"D3 représente une diode (led ou del).
","sol":true}]}],[{"text":"



","sol":false},{"label":"U2 = 4V
","sol":false},{"label":"U2 = 14V
","sol":false}]}],[{"text":"

","sol":false},{"label":"I2 = 4A
","sol":false},{"label":"I2 = 1A
","sol":false}]}],[{"text":"

","sol":false},{"label":"I4 = 4A
","sol":false},{"label":"I4 = 1A
","sol":true}]}],[{"text":"

","sol":true},{"label":"U4 = 4V
","sol":false},{"label":"U4 = 14V
","sol":false}]}],[{"text":"
","sol":true},{"label":"
","sol":false}]}],[{"text":"
","sol":false},{"label":"
","sol":false}]}]]
Consignes :
- 1 seul onglet ouvert sur sciencesappliquees.com dans le navigateur chrome;
- Téléphone portable ramasser dans le sac.
- Aucun autre logiciel doit être exécuté pendant le test.
Si vous enfreignez une de ces consignes, vous aurez 0 avec 2 heures de colles pour tentative de triche!
","posi":1}],[{"text":"
Un robot tondeuse a une batterie de 4A.h sous 12V. Celle-ci débite un courant d'intensité 2A dans ses circuits (moteurs roues, moteur de coupe, carte électronique).
Pendant combien de temps le robot tondeuse pourra tondre la pelouse? …
"},{"radio":[{"label":"t = 2 heures
","sol":true},{"label":"t = 8 heures","sol":false},{"label":"t = 6 heures
","sol":false},{"label":"t = 24 heures
","sol":false}]}],[{"text":"
Un robot aspirateur débite un courant d'intensité 2A dans ses circuits (moteurs roues, système d'aspiration, carte électronique) sous une tension de 12V.
Le bureau d'étude souhaite qu'il aspire pendant 2 heures.
Quelle batterie allez vous choisir?
"},{"radio":[{"label":"Une batterie de 12V et de capacité 4A.h","sol":true},{"label":"Une batterie de 12V et de capacité 1A.h","sol":false},{"label":"Une batterie de 12V et de capacité 24A.h
","sol":false},{"label":"Une batterie de 12V et de capacité 6A.h
","sol":false}]}],[{"text":"

Une batterie de voiture de 40A.h sous une tension de 12V débite un courant constant dans un circuit pendant 20 heures.
Quelle est l'intensité du courant débitée par la batterie?
La batterie debite un courant d'intensité de 2A.
","sol":true},{"label":"La batterie debite un courant d'intensité de 400A.","sol":false},{"label":"
La batterie debite un courant d'intensité de 1,2A.
","sol":false},{"label":"La batterie debite un courant d'intensité de 120A.","sol":false}]}],[{"text":"

G est un générateur.
Quel(s) est(sont) le(les) montage(s) où le générateur G délivre un courant?
le montage 1
","sol":true},{"label":"le montage 2","sol":false},{"label":"le montage 3
","sol":false},{"label":"Aucun des montages","sol":false}]}],[{"text":"

G est un générateur.
Quel(s) est(sont) le(les) montage(s) où le dipôle D1 s'allume?
le montage 1
","sol":true},{"label":"le montage 2","sol":false},{"label":"le montage 3
","sol":false},{"label":"Aucun des montages","sol":false}]}],[{"text":"

G est un générateur.
Quel(s) est(sont) le(les) montage(s) où il y a une tension entre A et F?
le montage 1
","sol":true},{"label":"le montage 2","sol":true},{"label":"le montage 3
","sol":true},{"label":"Aucun des montages","sol":false}]}],[{"text":"

G est un générateur.
Quel(s) est(sont) le(les) montage(s) où il y a une tension non nulle entre B et E?
le montage 1
","sol":true},{"label":"le montage 2","sol":false},{"label":"le montage 3
","sol":false},{"label":"Aucun des montages","sol":false}]}],[{"text":"

G est un générateur.
Comment est le courant délivré par le générateur G dans le montage 2 par rapport au montage 1?

G est un générateur.
Comment est la tension aux bornes d'un dipôle D1 dans le montage 2 par rapport au montage 1?

G est un générateur.
Comment est le courant délivré par le générateur G dans le montage 2 par rapport au montage 1?

G est un générateur.
Comment est la tension aux bornes d'un dipôle D1 dans le montage 2 par rapport au montage 1?

G est un générateur.
Comment est le courant à traversant un dipôle D1 dans le montage 2 par rapport au montage 1?
Pour le montage de la figure ci-dessous, on donne : U1=10V , U3=4V, i1=4,0A et i3=1A.
Quel est le symbole représenté par D3?
","sol":false},{"label":"D3 représente une lampe.
","sol":false},{"label":"D3 représente une diode (led ou del).
","sol":true}]}],[{"text":"
Pour le montage de la figure ci-dessous, on donne : U1=10V , U3=4V, i1=4,0A et i3=1A.
Quels sont les nœuds dans le montage?
"},{"chekbox":[{"label":"A
","sol":false},{"label":"B","sol":false},{"label":"C
","sol":true},{"label":"D","sol":false},{"label":"E","sol":true},{"label":"F","sol":false},{"label":"G","sol":false}]}],[{"text":"Pour le montage de la figure ci-dessous, on donne : U1=10V , U3=4V, i1=4,0A et i3=1A.
Combien y-a-t'il de branches dans le circuit?
"},{"radio":[{"label":"1
","sol":false},{"label":"2","sol":false},{"label":"3
","sol":true},{"label":"4
","sol":false},{"label":"5
","sol":false},{"label":"6","sol":false}]}],[{"text":"Pour le montage de la figure ci-dessous, on donne : U1=10V , U3=4V, i1=4,0A et i3=1A.
Quel est la valeur de la tension U2?
"},{"radio":[{"label":"U2 = 6V","sol":true},{"label":"U2 = 10V","sol":false},{"label":"U2 = 4V
","sol":false},{"label":"U2 = 14V
","sol":false}]}],[{"text":"
Pour le montage de la figure ci-dessous, on donne : U1=10V , U3=4V, i1=4,0A et i3=1A.
Quel est l'intensité du courant I2?
"},{"radio":[{"label":"I2 = 3A","sol":true},{"label":"I2 = 5A","sol":false},{"label":"I2 = 4A
","sol":false},{"label":"I2 = 1A
","sol":false}]}],[{"text":"
Pour le montage de la figure ci-dessous, on donne : U1=10V , U3=4V, i1=4,0A et i3=1A.
Quel est l'intensité du courant I4?
"},{"radio":[{"label":"I4 = 3A","sol":false},{"label":"I4 = 5A","sol":false},{"label":"I4 = 4A
","sol":false},{"label":"I4 = 1A
","sol":true}]}],[{"text":"
Pour le montage de la figure ci-dessous, on donne : U1=10V , U3=4V, i1=4,0A et i3=1A.
Quel est la valeur de la tension U4?
"},{"radio":[{"label":"U4 = 6V","sol":false},{"label":"U4 = 10V","sol":true},{"label":"U4 = 4V
","sol":false},{"label":"U4 = 14V
","sol":false}]}],[{"text":"
Le courant électrique :
"},{"radio":[{"label":"est dû à un déplacement d'électrons dans un conducteur métallique.
","sol":true},{"label":"est dû à un déplacement d'atomes dans un conducteur métallique.
"},{"label":"est dû à un déplacement de molécules dans un conducteur métallique.
","sol":false},{"label":"ne circule pas dans un conducteur métallique.","sol":false}]}],[{"text":"Dans un circuit, l'intensité se mesure :
"},{"radio":[{"label":"avec un ampèremètre, placé en dérivation dans le circuit.
","sol":false},{"label":"avec un ampèremètre, placé en série dans le circuit.
avec un voltmètre, placé en dérivation dans le circuit.
","sol":false},{"label":"avec un voltmètre, placé en série dans le circuit.
Dans un circuit, la tension se mesure :
"},{"radio":[{"label":"avec un ampèremètre, placé en dérivation dans le circuit.
","sol":false},{"label":"avec un ampèremètre, placé en série dans le circuit.
avec un voltmètre, placé en dérivation dans le circuit.
","sol":true},{"label":"avec un voltmètre, placé en série dans le circuit.
- Détails
- Écrit par : Richard GAUTHIER
- Clics : 982