FINAL Flashcards

(157 cards)

1
Q

Quelle opération est représentée par le symbole + ?

A

L’addition. Elle additionne deux nombres.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quelle est l’opération représentée par le symbole - ?

A

La soustraction. Elle soustrait un nombre d’un autre.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

À quoi sert l’opérateur * ?

A

À faire une multiplication. Il multiplie deux nombres.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quelle est la différence entre / et // ?

A

/ fait une division classique (avec décimales), tandis que // fait une division entière (elle garde seulement la partie entière du résultat).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Que fait l’opérateur % (modulo) ?

A

Il donne le reste d’une division entre deux nombres.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

À quoi sert l’opérateur ** ?

A

Il sert à élever un nombre à une puissance (exposant).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

À quoi servent les opérateurs relationnels ?

A

Ils permettent de faire des comparaisons entre deux expressions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Quel type de résultat retournent les opérateurs relationnels ?

A

Ils donnent toujours un résultat booléen (vrai ou faux).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Quels sont les opérateurs relationnels disponibles ?

A

<, <=, >, >=, == (égalité), != (différent de).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Pourquoi utilise-t-on == pour l’égalité au lieu de = ?

A

Parce que = est utilisé pour l’assignation, alors que == compare deux valeurs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Combien de blocs d’instructions if, elif, else sont exécutés ?

A

Un seul bloc est exécuté, celui dont la condition est vraie.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Est-ce que le elif et le else sont obligatoires ?

A

Non, ils sont facultatifs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Peut-on utiliser plusieurs elif ?

A

Oui, on peut répéter elif autant de fois qu’on veut, avec des expressions différentes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Quelle est la structure générale d’une condition if en Python ?

A

if expression_logique:
instructions
elif autre_expression:
instructions
else:
instructions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Que fait la structure while ?

A

Elle répète des instructions tant que la condition est vraie.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Quand utilise-t-on généralement une boucle while ?

A

Quand on ne connaît pas d’avance le nombre d’itérations à effectuer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Quelle est la structure générale d’une boucle while ?

A

while condition:
instructions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Que fait le script suivant ?
saisi = int(input(‘Entrez un nombre : ‘))
while saisi != 0:
saisi = int(input(‘Entrez un nombre : ‘))
print(‘Fin du programme.’)

A

Il demande à l’utilisateur un nombre, et recommence tant que ce nombre n’est pas 0. Quand 0 est saisi, le programme se termine.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Que fait le script suivant
n = int(input(‘La valeur de n : ‘))
compteur = 1
somme = 0
while compteur <= n:
somme = somme + compteur
compteur = compteur + 1
print(‘La somme de 1 à’, n, ‘est :’, somme)

A

Il calcule la somme de tous les nombres de 1 à n saisi par l’utilisateur.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Quand utilise-t-on la boucle for ?

A

On utilise la boucle for lorsque le nombre d’itérations est connu.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Quel élément est inclus dans une boucle for et est configuré au début ?

A

Un compteur.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Quelle est la syntaxe générale d’une boucle for en Python ?

A

for x in liste:
instructions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Donne un exemple simple de boucle for sur une liste.

A

for x in [4, 56, 3]:
instructions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Donne un exemple de boucle for utilisant range(10).

A

for x in range(10):
instructions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Que fait le script suivant ? n = int(input('La valeur de n : ')) somme = 0 for compteur in range(1, n + 1): somme = somme + compteur print('La somme de 1 a', n, 'est :', somme)
Il demande à l’utilisateur un nombre n et calcule la somme des entiers de 1 à n.
26
Que fait le script suivant ? n = int(input('La valeur de n: ')) somme = 0 for compteur in range(1, n+1): if compteur % 2 == 0: somme = somme + compteur print('La somme de 1 a', n , 'pair est : ', somme)
Il demande un nombre n à l’utilisateur et calcule la somme de tous les nombres pairs de 1 à n.
27
Que retournent les opérateurs logiques ?
Ils retournent des valeurs logiques (booléennes) : True ou False.
28
Quels sont les opérateurs logiques disponibles ?
and (ET), or (OU), not (NON).
29
Que retourne A and B si A est False et B est False ?
False
30
Que retourne A and B si A est True et B est False ?
False
31
Que retourne A and B si A est True et B est True ?
True
32
Que retourne A or B si A est False et B est False ?
False
33
Que retourne A or B si A est False et B est True ?
True
34
Que retourne A or B si A est True et B est False ?
True
35
Que retourne A or B si A est True et B est True ?
True
36
Que retourne not A si A est False ?
True
37
Que retourne not A si A est True ?
False
38
Est-il possible d’ajouter manuellement des informations dans un DataFrame Pandas ?
Oui, on peut ajouter manuellement des colonnes ou générer de nouvelles colonnes à l’aide de calculs.
39
Que se passe-t-il lorsqu’on effectue une opération arithmétique sur des colonnes d’un DataFrame ?
L’opération est effectuée élément par élément (**ligne par ligne**).
40
Que donne la division d’une colonne A par une colonne B ?
Une série qui contient la division de chaque valeur de A par la valeur correspondante de B.
41
Quelles sont les deux méthodes utilisées pour sélectionner des lignes ou des colonnes dans un DataFrame Pandas ?
Les méthodes loc et iloc.
42
Quelle est la différence entre loc et iloc ?
loc utilise les **étiquettes** des lignes et colonnes ou des conditions logiques. iloc utilise uniquement les **positions numériques (indices)** des lignes et colonnes.
43
Quel est le critère pour avoir un tarif réduit dans l’exemple donné ? df['tarif_reduit'] = np.logical_or(df['age'] < 18, df['age'] > 60)
Être mineur (âge < 18) ou aîné (âge > 60).
44
Comment ajoute-t-on une colonne booléenne tarif_reduit en utilisant NumPy ?
df['tarif_reduit'] = np.logical_or(df['age'] < 18, df['age'] > 60) df = pd.DataFrame({'nom': ['Bob', 'Anne', 'Alex'], 'age': [16, 76, 45]}) 🧱 On crée un DataFrame (tableau de données) avec deux colonnes : 'nom' : Bob, Anne, Alex 'age' : 16, 76, 45 df['tarif_reduit'] = False 🔧 On ajoute une nouvelle colonne appelée 'tarif_reduit', et on met toutes les valeurs à False au départ. df['tarif_reduit'] = np.logical_or(df['age'] < 18, df['age'] > 60) 🧠 Ici on calcule qui a droit au tarif réduit : Tarif réduit si âge < 18 ou âge > 60 np.logical_or(...) renvoie une série de booléens True ou False Le résultat remplace la colonne 'tarif_reduit' Donc : Bob (16 ans) → True Anne (76 ans) → True Alex (45 ans) → False display(df) 👀 Affiche le DataFrame dans un format joli (utile dans un notebook Jupyter). Il contiendra maintenant trois colonnes : nom, age, tarif_reduit. noms_reduit = df[df['tarif_reduit'] == True]['nom'].values 📝 On filtre les lignes où 'tarif_reduit' est True, puis on récupère les noms correspondants, sous forme de tableau NumPy (values). #Ou avec loc noms_reduitv2 = df.loc[df['tarif_reduit'] == True, 'nom'] 💡 Même chose que la ligne précédente, mais cette fois on utilise .loc[], qui est une façon plus explicite de faire le filtrage. for nom in noms_reduit: print(nom) 📢 On affiche les noms des personnes qui ont droit au tarif réduit. 🔚 Résultat affiché : Bob Anne
45
Quelle est la commande Pandas pour afficher uniquement les noms des personnes admissibles au tarif réduit ?
df.loc[df['tarif_reduit'] == True, 'nom']
46
Quel module doit-on importer pour utiliser les DataFrames et les opérations logiques ?
import pandas as pd import numpy as np
47
Que fait cette ligne ? noms_reduit = df[df['tarif_reduit'] == True]['nom'].values
Elle extrait les noms des personnes éligibles au tarif réduit et les stocke dans un tableau.
48
Que fait cette boucle ? for nom in noms_reduit: print(nom)
for nom in noms_reduit: print(nom) Elle affiche un à un les noms des personnes admissibles au tarif réduit.
49
Qu'est-ce qu'une fonction en programmation ?
Une fonction est une série d'instructions contenues dans un ensemble réutilisable. Elle est conçue pour accomplir une tâche simple et précise.
50
Quelle est la différence principale entre une fonction et un script ?
Contrairement aux scripts, **une fonction ne doit pas afficher de résultats à l'aide de print ou de input**, sauf si cela est expressément demandé.
51
Qu'est-ce qu'un paramètre d'entrée d'une fonction ?
Un paramètre d'entrée est une **information préalablement donnée à la fonction avant qu'elle effectue des calculs**. Ces paramètres sont spécifiés entre parenthèses lors de la définition de la fonction.
52
Qu'est-ce que le mot-clé return fait dans une fonction ?
Le mot-clé return est utilisé pour renvoyer un résultat ou une valeur calculée par la fonction à l'appelant.
53
Qu'est-ce qu'une fonction qui n'a pas de retour ?
Une fonction qui n'a pas de retour est appelée une **procédure**. Elle effectue une tâche sans renvoyer de résultat.
54
Donne un exemple de fonction qui calcule l'aire d'un triangle.
def aireTriangle(base, hauteur): return base * hauteur / 2 aire = aireTriangle(3, 4)
55
Quelle est la différence entre estImpair et estImpairEfficace ?
La fonction estImpair utilise une structure if pour retourner True ou False. La fonction estImpairEfficace renvoie directement le résultat de la comparaison, ce qui est plus concis.
56
Que se passe-t-il aux variables définies à l'intérieur d'une fonction après son exécution ?
Toutes les variables créées à l'intérieur d'une fonction sont détruites après l'exécution de celle-ci. Seule la valeur de retour de la fonction est renvoyée.
57
Qu'est-ce que le passage par valeur en programmation ?
Le passage par valeur signifie que la fonction reçoit une copie des arguments et non leurs références. Par conséquent, les **modifications effectuées sur les paramètres à l'intérieur de la fonction n'affectent pas les variables d'origine** dans le programme appelant.
58
Explique ce que fait l'exemple de code suivant et quel est le résultat de l'affichage. def passageParValeur(x, y): x = x + 2 y = y - 2 z = x - y + 2 return z x = 4 y = 6 x = passageParValeur(y, x) print('La valeur de x, y et z sont :', x, y, z)
passageParValeur reçoit x=6 et y=4 à cause de l'ordre des arguments passés. À l'intérieur de la fonction, x devient 8 et y devient 2. Le calcul de z donne 8 - 2 + 2 = 8. Cependant, après l'exécution de la fonction, x dans le programme principal prend la valeur renvoyée par passageParValeur, soit 8. La valeur de y reste inchangée à 6, et z n'est pas défini dans le programme principal. Le résultat affiché sera : La valeur de x, y et z sont : 8 6 8
59
À quoi servent les commentaires dans le code d'une fonction, comme dans l'exemple nomFonction ?
Les commentaires dans le code (comme les chaînes de documentation entre triples guillemets) servent à expliquer le **but** de la fonction, la **description** des arguments et des **retours**, ainsi qu'à fournir un **exemple d'utilisation** pour les autres développeurs ou utilisateurs qui consulteront le code.
60
Qu'est-ce qu'une procédure en programmation ?
Une procédure est une fonction qui ne retourne pas de valeur. Elle exécute une série d'instructions, mais ne renvoie aucun résultat à l'appelan
61
Quelles sont les trois étapes principales pour convertir un diagramme de classe en un diagramme ERD ?
Transformation des classes en entités. Ajout ou identification de clé primaire. Transformation des associations.
62
Que se passe-t-il lors de la transformation des classes en entités dans un diagramme ERD ?
Les classes se transforment en **entités**, et leurs types sont ajustés pour correspondre aux types de données qui seront utilisés dans la base de données. Les propriétés des classes sont réduites à deux caractéristiques : **nullable** (peut être nul) et **unique** (doit être unique).
63
Que se passe-t-il si une classe a un attribut avec une multiplicité dans un diagramme UML ?
Si une classe a un attribut avec une multiplicité (par exemple une liste de valeurs), cet attribut devient une entité distincte, qui sera liée à l'entité initiale par une association.
64
Comment identifie-t-on la clé primaire d'une entité dans un ERD ?
Une clé primaire doit être identifiée pour chaque entité. Si un attribut unique identifie une instance d'une entité, cet attribut devient la clé primaire naturelle. Sinon, un nouvel attribut est ajouté pour servir de clé primaire, appelée clé primaire artificielle.
65
Quels types d'associations peuvent être représentés dans un diagramme ERD ?
Les diagrammes ERD ne peuvent représenter que deux types d'associations : 1 - 1 ou 0 - 1 1 - n ou 0 - n
66
Que se passe-t-il si une association a une multiplicité différente de 1-1, 0-1, ou 1-n dans un diagramme UML ?
Si une association a une multiplicité différente de ces types, elle sera normalisée pour correspondre à l'une des deux possibilités acceptées (1-1, 0-1, 1-n). Dans le cas d'une relation n-m, une conversion additionnelle sera nécessaire.
67
Que signifie ajouter une clé étrangère dans un diagramme ERD lors de la transformation d'une association 1-n ?
Lors d'une association 1-n, on doit ajouter une clé étrangère dans l'entité du côté "n" pour établir la relation avec l'entité du côté "1". Cela permet à la base de données de lier les deux entités à travers cette clé étrangère.
68
Comment transformer une relation n-m dans un diagramme ERD ?
Pour une relation n-m, il faut ajouter une table de jointure entre les deux entités de la relation n-m. Cette table aura une relation 1-n avec chacune des deux autres entités et contiendra des clés étrangères des deux entités liées.
69
Qu'est-ce qu'une classe d'association et comment est-elle transformée en ERD ?
Une classe d'association représente une relation entre deux entités qui peut avoir des attributs additionnels. Lors de la transformation en ERD, la même procédure que pour une relation n-m est appliquée, c'est-à-dire qu'une table de jointure est ajoutée, mais elle inclura également les attributs supplémentaires de la classe d'association.
70
Quel est le rôle d'une table de jointure dans un diagramme ERD pour une relation n-m ?
La table de jointure permet de lier les deux entités dans une relation n-m. Elle contient des clés étrangères des deux entités liées et établit une relation 1-n avec chacune d'elles.
71
Que fait l'opérateur // en Python ?
L'opérateur // effectue une division entière, c'est-à-dire qu'il divise deux nombres et conserve uniquement la partie entière du résultat.
72
Que fait l'opérateur % en Python
L'opérateur % trouve le restant d'une division.
73
Quels sont les opérateurs relationnels en Python
< (inférieur à) <= (inférieur ou égal à) > (supérieur à) >= (supérieur ou égal à) == (égalité) != (différent de)
74
Pourquoi l'opérateur == est utilisé et non = dans les conditions
L'opérateur == est utilisé pour vérifier l'égalité entre deux expressions, tandis que l'opérateur = est utilisé pour l'assignation de valeurs.
75
Quand utilise-t-on une boucle for en Python
La boucle for est utilisée lorsque le nombre d'itérations est connu à l'avance, par exemple pour parcourir une séquence ou un intervalle de nombres.
76
Comment ajouter une nouvelle colonne à un DataFrame dans Pandas en fonction d'un calcul ?
Vous pouvez ajouter une nouvelle colonne en effectuant une opération sur les valeurs des autres colonnes. Par exemple : df['nouvelle_colonne'] = df['colonne1'] + df['colonne2']
77
Comment sélectionner des lignes ou des colonnes spécifiques dans un DataFrame avec Pandas ?
Vous pouvez utiliser loc pour sélectionner par étiquettes et iloc pour sélectionner par index numérique. Exemple avec loc : df.loc[df['age'] > 18]
78
Comment ajouter une colonne pour indiquer si une personne a droit à un tarif réduit en fonction de son âge ?
Vous pouvez utiliser une condition avec loc pour modifier le DataFrame. Exemple df['tarif_reduit'] = df['age'].apply(lambda x: 'Oui' if x < 18 or x > 60 else 'Non')
79
Comment afficher les noms des personnes éligibles au tarif réduit dans un DataFrame ?
Après avoir ajouté la colonne de tarif réduit, vous pouvez filtrer les personnes éligibles avec : eligibles = df[df['tarif_reduit'] == 'Oui']['nom'] print(eligibles)
80
Qu'est-ce qu'une fonction en programmation ?
Une fonction est une série d'instructions regroupées dans un ensemble pouvant être réutilisé. Elle est conçue pour accomplir une tâche simple et précise.
81
Quelle est la différence entre une fonction et un script ?
Contrairement à un script, une fonction ne contient généralement pas de saisie avec print, sauf demande expresse. Elle est conçue pour être utilisée de manière réutilisable, tandis qu'un script est souvent exécuté comme une séquence d'instructions linéaires.
82
Que sont les paramètres d'entrée d'une fonction ?
Les paramètres d'entrée sont des informations préalables aux calculs de la fonction. Ils sont définis après le nom de la fonction, entre parenthèses, et sont fournis par l'appelant de la fonction.
83
Que se passe-t-il lorsqu'une fonction émet une réponse ?
Lorsque la fonction émet une réponse, on parle de "retour". Cette réponse peut être utilisée par l'appelant de la fonction.
84
Quelle est la différence entre une fonction et une procédure ?
Une fonction retourne un résultat avec l'instruction return, tandis qu'une procédure ne retourne rien. Une procédure est une fonction qui ne contient pas de return.
85
Comment déclare-t-on une fonction en Python ?
Une fonction est déclarée en utilisant le mot-clé def suivi du nom de la fonction, des paramètres d'entrée (entre parenthèses), puis du corps de la fonction. Exemple : def ma_fonction(param1, param2): # instructions
86
Qu'est-ce qu'un retour (return) dans une fonction ?
Le mot-clé return est utilisé pour renvoyer un résultat lorsque l'expression de retour est prête. Il permet de renvoyer une valeur à l'appelant de la fonction.
87
Qu'est-ce qu'un paramètre formel ?
Un paramètre formel est un paramètre défini dans l'en-tête de la fonction. C'est un **nom temporaire qui représente la donnée passée à la fonction**.
88
Qu'est-ce qu'un paramètre effectif ?
Un paramètre effectif est la valeur réelle passée à une fonction lors de son appel. **C'est la valeur concrète fournie par l'appelant de la fonction**.
89
Comment écrirait-on une fonction qui calcule l'aire d'un triangle en Python ?
def aire_triangle(base, hauteur): return 0.5 * base * hauteur
90
Écrivez une fonction qui détermine si un nombre est impair.
def est_impair(nombre): if nombre % 2 != 0: return True else: return False
91
Que se passe-t-il avec les variables définies à l'intérieur d'une fonction après son exécution ?
Les variables définies à l'intérieur d'une fonction sont détruites après l'appel de la fonction. Seule la valeur de retour, si présente, est renvoyée.
92
Qu'est-ce que le **passage par valeurs** dans le contexte des fonctions ?
Le passage par valeurs signifie que **seules les valeurs des paramètres sont transférées entre la fonction et l'appelant**. Les noms des paramètres sont locaux à la fonction, et les modifications des paramètres n'affectent pas l'appelant.
93
Qu'est-ce que les "paramètres formels" ?
Les "paramètres formels" sont les noms des paramètres définis dans l'en-tête de la fonction. Ils sont utilisés pour référencer les valeurs passées à la fonction.
94
Qu'est-ce que les "paramètres effectifs" ?
Les "paramètres effectifs" sont les valeurs réelles passées à une fonction lors de son appel.
95
Que signifie "conversion de classe en ERD" ?
La conversion de classe en diagramme ERD (Entity Relationship Diagram) consiste à transformer les classes et leurs relations en un modèle de données visuel représentant les entités (tables) et leurs relations dans une base de données.
96
Comment une classe peut-elle être représentée dans un diagramme ERD ?
Une classe dans un diagramme ERD est généralement représentée par une entité, et les attributs de la classe sont représentés par les colonnes de l'entité. Les relations entre les classes deviennent des relations entre les entités dans l'ERD.
97
Quels éléments d'une classe sont importants pour la conversion en ERD ?
Les éléments importants à prendre en compte pour la conversion d'une classe en ERD sont : * Les attributs de la classe (deviennent les colonnes de l'entité), * Les relations entre classes (deviennent les relations entre entités), * Les méthodes (souvent non incluses dans un ERD, mais peuvent être représentées dans d'autres diagrammes comme les diagrammes de classes UML).
98
Quel est le résultat de l'exécution d'une fonction qui calcule la somme de deux nombres ?
Si la fonction prend deux nombres comme paramètres, elle renverra la somme de ces deux nombres. Exemple : def addition(a, b): return a + b print(addition(5, 3)) # Affiche 8
99
Si une fonction ne retourne rien, que peut-on en déduire ?
Si une fonction ne retourne rien, cela signifie qu'il s'agit d'une procédure. Elle effectue des actions, mais ne renvoie pas de valeur à l'appelant.
100
Quels sont les trois étapes de la conversion d'un diagramme de classe UML en diagramme ERD ?
Transformation des classes en entités. Ajout ou identification de clé primaire. Transformation des associations.
101
Comment les classes sont-elles transformées en entités dans un diagramme ERD ?
Les classes sont transformées en entités. Les types de données des attributs sont ajustés pour être conformes au type de données de la base de données. Les propriétés des classes sont réduites aux attributs "Nullable" et "Unique". Si un attribut a une multiplicité, il devient une entité distincte liée à l'entité initiale par une association.
102
Que se passe-t-il lorsque les attributs d'une classe ont une multiplicité (par exemple une liste de valeurs) ?
Lorsque les attributs d'une classe ont une multiplicité, cette multiplicité devient une entité distincte. Cette nouvelle entité sera associée à l'entité initiale par une relation.
103
Pourquoi est-il nécessaire d'ajouter ou d'identifier une clé primaire pour chaque entité dans un diagramme ERD ?
Il est nécessaire d'ajouter ou d'identifier une clé primaire pour chaque entité afin de garantir que chaque instance de l'entité peut être unique et identifiable dans la base de données.
104
Quelles sont les deux options disponibles pour définir une clé primaire dans un ERD ?
**Clé primaire naturelle** : Une information qui identifie de manière unique chaque instance de l'entité. **Clé primaire artificielle** : Si aucune information dans l'entité n'est suffisamment identifiante, un nouvel attribut est ajouté pour être utilisé comme clé primaire.
105
Quels types d'associations sont supportés par un diagramme ERD ?
es diagrammes ERD supportent uniquement deux types d'associations : 1-1 ou 0-1 1-n ou 0-n
106
Que faire si une association dans un diagramme UML a une multiplicité différente de celles supportées par un ERD ?
Si une association a une multiplicité différente, elle doit être normalisée pour correspondre à l'une des associations 1-1, 1-n ou 0-n. Si une relation n-m est présente, une conversion additionnelle est nécessaire.
107
Quel est le rôle des clés étrangères dans un diagramme ERD ?
Les clés étrangères sont ajoutées dans les associations pour **établir le lien entre les entités**. Elles permettent de relier les instances de deux entités dans la base de données, en représentant une relation entre elles.
108
Comment une association n-m est-elle transformée dans un diagramme ERD ?
Dans une relation n-m, une table de jointure est ajoutée. Cette table contient des clés étrangères provenant des deux entités associées. Chaque clé étrangère est reliée à une des entités, créant ainsi une relation 1-n entre la table de jointure et chacune des deux autres entités.
109
Que faire si une association n-m inclut des attributs additionnels dans le diagramme de classe UML ?
Si une association n-m inclut des attributs additionnels, une table de jointure est également utilisée. Cette table contient les clés étrangères des deux entités associées, ainsi que les attributs additionnels issus de la classe d'association.
110
Quel est l'exemple de transformation d'une association 1-n dans un ERD ?
Dans une association 1-n, une clé étrangère est ajoutée dans l'entité du côté "n" de la relation. Cette clé étrangère pointe vers l'entité du côté "1", établissant ainsi une relation un-à-plusieurs entre les deux entités.
111
Quels sont les éléments principaux dans la conversion d'une association n-m dans un ERD ?
Lors de la conversion d'une association n-m, on ajoute une table de jointure. Cette table contient des clés étrangères des deux entités participantes à la relation, avec éventuellement des attributs additionnels si nécessaire.
112
Quelles transformations sont effectuées lorsqu'un diagramme de classe UML est converti en un diagramme ERD ?
Lors de la conversion d'un diagramme UML en ERD : Les classes sont transformées en entités avec des types de données adaptés à la base de données. Une clé primaire est identifiée ou ajoutée pour chaque entité. Les associations entre les entités sont transformées en relations avec des clés étrangères et des tables de jointure si nécessaire (pour les relations n-m).
113
Quelle librairie de visualisation est principalement utilisée dans ce contexte ?
La librairie principale de visualisation mentionnée est **Matplotlib**, spécifiquement la sous-librairie plt pour la création de graphiques.
114
Quelles autres librairies de visualisation sont mentionnées ?
En plus de Matplotlib, les autres librairies mentionnées sont : Seaborn Plotly/Dash Bokeh
115
Comment importe-t-on Matplotlib pour la visualisation des données ?
import matplotlib.pyplot as plt
116
Quel type de graphique est utilisé dans l'exemple initial ?
L'exemple initial utilise un graphique linéaire (ligne reliant les points de données sur les axes X et Y).
117
Quelle fonction est utilisée pour afficher un graphique simple dans Matplotlib ?
La fonction utilisée pour un premier affichage est **plt.plot(), qui permet de tracer un graphique linéaire**.
118
Quels paramètres peuvent être configurés lors de la création de graphiques avec Matplotlib ?
Plusieurs paramètres nommés sont disponibles pour configurer les graphiques, tels que : La couleur des lignes Le type de trait Les axes et leurs étiquettes La légende
119
Comment spécifier la couleur d'une ligne dans Matplotlib ?
On peut spécifier la couleur de la ligne de différentes manières : Par le nom de la couleur (ex : 'blue') Par un code couleur court (ex : 'g' pour vert) Par une valeur grayscale (ex : '0.75') Par un code hexadécimal (ex : '#FFDD44') Par un tuple RGB (ex : (1.0, 0.2, 0.3))
120
Quelles options permettent de personnaliser les axes dans un graphique Matplotlib ?
Il existe plusieurs méthodes pour ajuster les axes, comme la modification de l'échelle, des limites, et des étiquettes des axes.
121
Comment ajouter une légende à un graphique ?
Une légende peut être ajoutée pour identifier les différentes courbes ou séries de données sur le graphique, en utilisant la méthode **plt.legend().**
122
Quel type de graphique est principalement créé avec plt.plot() ?
plt.plot() est principalement utilisé pour créer des graphiques linéaires.
123
Est-il possible de transformer un graphique linéaire en nuage de points avec Matplotlib ?
Oui, il est possible de transformer un graphique linéaire en nuage de points en ajustant la configuration et en spécifiant des marqueurs pour chaque point.
124
Comment personnaliser un nuage de points avec des informations supplémentaires pour chaque point ?
Il est possible de personnaliser un nuage de points en ajoutant des informations supplémentaires telles que couleur, taille, et autres caractéristiques pour chaque point en utilisant des arguments comme c (couleur) et s (taille) dans la fonction plt.scatter().
125
Comment Matplotlib peut-il gérer les barres d'erreur dans les graphiques ?
Matplotlib permet de créer des graphiques avec des barres d'erreur en utilisant la méthode **plt.errorbar().**
126
Comment créer un histogramme avec Matplotlib ?
Un histogramme peut être créé avec la méthode **plt.hist()**, qui permet de représenter des distributions de données.
127
Comment créer un diagramme à barres pour des données de 2 dimensions ?
Un diagramme à barres pour des données de 2 dimensions peut être créé avec la méthode **plt.hist2d()**, qui génère une heatmap.
128
Quelles fonctions sont utilisées pour créer différents types de graphiques dans Matplotlib ?
**plt.plot()** pour les graphiques linéaires. **plt.scatter()** pour les nuages de points. **plt.errorbar()** pour les graphiques avec barres d'erreur. **plt.hist()** pour les histogrammes. **plt.hist2d()** pour les diagrammes à barres de 2 dimensions (heatmaps).
129
Pourquoi les bases de données relationnelles ne sont-elles pas idéales pour les gros volumes de données ?
Les bases de données relationnelles ne sont pas conçues pour fonctionner efficacement sur des clusters et **sont limitées lorsqu'il s'agit de gérer de très gros volumes de données.**
130
Quels sont les principaux avantages des bases de données NoSQL ?
Les bases de données NoSQL sont adaptées pour : * Gérer de gros volumes de données * S'exécuter efficacement sur des clusters * Ne nécessitent pas de schéma (flexibilité) * Fonctionnent bien avec les technologies web * Souvent disponibles en open source
131
Quelles sont les principales familles de bases de données NoSQL ?
Les principales familles de bases de données NoSQL sont : Document Store (ex : MongoDB) Clé-valeur (ex : Redis) Colonne-famille (ex : Cassandra) Graphes (ex : Neo4j)
132
Qu'est-ce qu'une base de données documentaire et quel est son concept clé ?
Une base de données documentaire stocke et récupère des documents (XML, JSON, BSON, etc.), qui sont des structures de données arborescentes hiérarchiques auto-descriptives. Ces documents sont similaires mais pas nécessairement identiques.
133
Comment MongoDB compare-t-il à Oracle dans sa terminologie de base de données ?
Oracle : schema = base de données table = collection row = document join = DBRef MongoDB : database = base de données collection = table document = ligne Pas de véritable join, mais l'utilisation de DBRef pour les références.
134
Comment MongoDB gère la cohérence des données ?
La cohérence dans MongoDB est assurée via des **replica sets**, où les écritures doivent être répliquées sur un certain nombre de serveurs avant d'être considérées comme réussies.
135
MongoDB supporte-t-il les transactions comme dans les bases de données relationnelles ?
Non, MongoDB ne supporte pas les transactions au sens traditionnel des bases de données relationnelles. Dans MongoDB, une écriture est soit réussie, soit échouée. Cependant, il existe des transactions atomiques au niveau du document unique, mais les transactions impliquant plusieurs opérations ne sont pas possibles.
136
Quelle est la principale caractéristique d'une base de données clé-valeur comme Redis ?
Une base de données clé-valeur stocke des paires de clés et de valeurs. Elle est idéale pour les cas où chaque donnée peut être récupérée via une clé unique. Redis est un exemple populaire de cette famille.
137
Quelle est l'utilisation typique de Cassandra, une base de données de type colonne-famille ?
: Cassandra est conçue pour gérer de très grandes quantités de données réparties sur de multiples serveurs. Elle est particulièrement adaptée aux applications nécessitant une haute disponibilité et une scalabilité horizontale.
138
Qu'est-ce qu'un graphe et quel rôle joue Neo4j dans ce contexte ?
Une base de données graphique comme Neo4j est optimisée pour stocker et interroger des relations complexes entre des entités. Elle est idéale pour les applications nécessitant de modéliser des réseaux, comme les réseaux sociaux, les systèmes de recommandation ou les analyses de fraude.
139
Pourquoi le modèle relationnel est-il moins adapté aux applications modernes par rapport à NoSQL ?
Le modèle relationnel souffre de son décalage d'impédance entre la façon dont les données sont structurées en mémoire et la manière dont elles sont stockées dans les bases de données relationnelles. De plus, il n'est pas conçu pour la scalabilité horizontale, ce qui est essentiel pour les applications modernes à grande échelle.
140
Qu'est-ce que le "**déplacement d'intégration**" dans le contexte des bases de données NoSQL ?
Le "déplacement d'intégration" se réfère à l'idée de s'éloigner de l'utilisation des bases de données comme points d'intégration et de plutôt **encapsuler les bases de données dans les applications**, en utilisant des services pour l'intégration.
141
positifNegatifNul# Demande à l'utilisateur de saisir un nombre. Le script affiche si le nombre est positif, négatif ou nul. L'affichage prends la forme Le nombre est positif. , Le nombre est négatif. ou Le nombre est nul. tous suivis d'un saut à la ligne. Entrez un nombre: -34 Le nombre est négatif. nombre = int(input("Entrez un nombre : ")) if nombre > 0 : print("Le nombre est positif.") elif nombre < 0 : print("Le nombre est négatif.") else : print("Le nombre est nul.")
142
minimumEntreDeux# Demande à l'utilisateur de saisir deux nombres. Le script affiche ensuite le plus petit des deux nombres. L'affichage prends la forme Plus petit : NOMBRE suivi d'un saut de ligne. Veuillez entrer un premier nombre: 43 Veuillez entrer un second nombre: 65 Plus petit : 43 #float ou int peuvent être utilisé ici nombre1 = float(input("Veuillez entrer un premier nombre: ")) nombre2 = float(input("Veuillez entrer un second nombre: ")) if nombre1 > nombre2 : print("Plus petit : "+str(nombre2)) elif nombre1 < nombre2 : print("Plus petit : "+str(nombre1))
143
Demande à l'utilisateur de saisir deux coordonnées. Les saisies représente les coordonnées x et y d'un point sur un plan cartésien. Le script affiche dans quel quadrant appartient le point. L'affichage prends la forme (X, Y) est dans le quadrant : QUADRANT. suivi d'un saut de ligne. La valeur QUADRANT peut être "I", "II", "III" ou "IV". Quadrant Cartésiens Wikipedia Veuillez entrer la coordonnée en x: -4 Veuillez entrer la coordonnée en y: 6 (-4, 6) est dans le quadrant : II. #version 1 x = int(input("Veuillez entrer la coordonnée en x: ")) y = int(input("Veuillez entrer la coordonnée en y: ")) if x>0 and y>0 : print("(" + str(x) + ", " + str(y) + ") est dans le quadrant : I.") elif x<0 and y>0 : print("(" + str(x) + ", " + str(y) + ") est dans le quadrant : II.") elif x<0 and y<0 : print("(" + str(x) + ", " + str(y) + ") est dans le quadrant : III.") elif x>0 and y<0 : print("(" + str(x) + ", " + str(y) + ") est dans le quadrant : IV.")
144
Demande à l'utilisateur de saisir son poids (en kg) et sa taille (en m). Le script calcule l'indice de masse corporelle en utilisant la forumule suivante: IMC = poids / (taille * taille) Le script affiche ensuite la catégorie de l'IMC selon les critères suivant : si l'IMC est plus petit que 18.5, l'utilisateur est "maigre", si l'IMC est plus grand ou égal à 18.5 et plus petit que 30, l'utilisateur est "normale" et si l'utilisateur est plug grand ou égal à 30, l'utilisateur est "obèse". L'affichage prends la forme Catégorie IMC : CATÉGORIE suivi d'un saut de ligne. IMC Wikipedia Veuillez entrer votre poids (en kg.): 65 Veuillez entrer votre taille (en m.): 1.65 Catégorie IMC : normale poids = float(input("Veuillez entrer votre poids (en kg.): ")) taille = float(input("Veuillez entrer votre taille (en m.): ")) IMC = poids / (taille*taille) if IMC < 18.5 : print("Catégorie IMC : maigre") elif IMC >= 18.5 and IMC < 30 : print("Catégorie IMC : normale") elif IMC >= 30 : print("Catégorie IMC : obèse")
145
Demande à l'utilisateur de saisir trois nombres. Le script affiche le plus petit des trois nombres. Le script doit aussi affiché un message si il y a eu égalité sur le plut petit nombre. L'affichage de base prends la forme Plus petit : NOMBRE suivi d'un saut de ligne. L'affichage de l'égalité prends la forme "Il y a eu égalité." suivi d'un saut de ligne. Entrez un nombre: 34 Entrez un autre nombre: 67 Entrez un dernier nombre: 32 Plus petit : 32 nombre1 = int(input("Entrez un nombre: ")) nombre2 = int(input("Entrez un autre nombre: ")) nombre3 = int(input("Entrez un dernier nombre: ")) if nombre1 < nombre2 and nombre1 < nombre3 : print("Plus petit : " + str(nombre1)) elif nombre2 < nombre1 and nombre2 < nombre3 : print("Plus petit : " + str(nombre2)) elif nombre3 < nombre2 and nombre3 < nombre1 : print("Plus petit : " + str(nombre3)) else : print("Il y a eu égalité.")
146
Saisit un nombre limite. Initialise un compteur à 0 et utilise un while qui incrémente le compteur de deux à chaque itération. Le compteur s'arrète quand le compteur à dépassé le nombre limite. Affichez la valeur du compteur à la fin de chaque itération de la boucle. Entrez une valeur limite: 13 2 4 6 8 10 12 14 nombre_limite = int(input("Entrez une valeur limite: ")) compteur = 0 while compteur <= nombre_limite : compteur = compteur + 2 print(compteur)
147
compteurImpaire# Utilise un while pour incrémenté un valeur de 1 jusqu'à 10. Affiche seulement les valeurs impaires du compteur. Note : La modulo % permet d'aider à déterminer si un nombre est impair. 1 3 5 7 9 compteur = 1 while compteur <= 10 : if compteur % 2 != 0 : print(compteur) compteur = compteur + 1
148
compteurBorne# Saisit un nombre minimum, un nombre maximum et un intervalle. Avec une boucle while, affiche tous les nombres entre le nombre minimum et le nombre maximum en utilisant des sauts de l'intervalle. Entrez le minimum : 3 Entrez le maximum : 13 Entrez l'intervalle : 2 3 5 7 9 11 13 minimum = int(input("Entrez le minimum : ")) maximum = int(input("Entrez le maximum : ")) intervalle = int(input("Entrez l'intervalle : ")) compteur = minimum while compteur <= maximum : print(compteur) compteur = compteur + intervalle
149
compteurBorneFor# Saisit un nombre minimum, un nombre maximum. Avec une boucle for, affiche tous les nombres entre le nombre minimum et le nombre maximum. Entrez le minimum : 3 Entrez le maximum : 7 3 4 5 6 7 minimum = int(input("Entrez le minimum : ")) maximum = int(input("Entrez le maximum : ")) for compteur in range (minimum, maximum+1) : print(compteur)
150
diviseurNombre# Saisit un nombre et affiche tous les diviseurs de ce nombre. Note : Le modulo % permet d'aider à trouver si un nombre est un diviseur d'un autre. Utilisez une boucle for pour parcourir tous les nombres de 1 au nombre de la saisie et vérifiez chaque diviseur possible. Veuillez entrer un nombre entier: 14 Les diviseurs du nombre 14 sont: 1 2 7 14 nombre = int(input("Veuillez entrer un nombre entier: ")) print("Les diviseurs du nombre " + str(nombre) + " sont: ") for compteur in range (1, nombre+1) : if nombre % compteur == 0 : print(compteur)
151
carreEtoile# Saisit la dimension d'un carré. Affiche un carré d'étoile (*) à l'écran avec un nombre de ligne et un nombre de colonnes déterminé par la saisit. Quel est la dimension du carre : 5 ***** ***** ***** ***** ***** #version 1 dimension = int(input("Quel est la dimension du carre : ")) for compteur1 in range (0, dimension) : for compteur2 in range (0, dimension) : print("*",end="") print("")
152
triangleEtoile# Saisit un nombre et affiche à l'écran un triangle rectangle composé d'etoiles dont la base et la hauteur correspondent au nombre saisit. Veuillez entrer la taille du triangle d'étoiles: 5 * ** *** **** ***** #version 2 taille_triangle = int(input("Veuillez entrer la taille du triangle d'étoiles: ")) for compteur1 in range (0, taille_triangle) : for compteur2 in range (0,compteur1+1) : print("*", end="") print("")
153
nombrePremier# Saisit un nombre et affiche si ce nombre est premier. Un nombre premier à seulement 1 et lui-même comme diviseur. L'affichage prendre la forme NOMBRE est premier ou NOMBRE n'est pas premier. Le nombre a regarder : 17 17 est premier. nombre_a_regarder = int(input("Le nombre a regarder : ")) nombre_de_diviseur = 0 for compteur in range (1, nombre_a_regarder+1) : if nombre_a_regarder % compteur == 0: nombre_de_diviseur = nombre_de_diviseur + 1 if nombre_de_diviseur == 2 : print(str(nombre_a_regarder) + " est premier.") else : print(str(nombre_a_regarder) + " n'est pas premier.")
154
/ : dérivé dun autre attribut
155
: type
156
multiplicity : address: String[1..*]
157
default password: String = "pw123"