Modéliser, Résoudre, Programmer comme un pro Flashcards

1
Q

1 - Python

Quelles sont les méthodes pour ajouter/supprimer un élément d’un set Python ?

A

add et discard

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

1 - Python

Un ensemble peut-il contenir un objet mutable ? Donner un exemple d’objet mutable.

A

Non. Une liste par exemple.

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

1 - Python

Quelle propriété est requise pour les clés d’un dictionnaire ?

A

Elles doivent être immuables.

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

1 - Python

Parmis ces objets, lequels sont immuables ?

  • string
  • list
  • range
  • set
  • dict
  • tuple
A

Les objets immuables sont :

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

1 - Python

Concernant la gestion de la mémoire, quelles sont les caractéristiques de Python ?

Indiquer les conséquences

A
  • Python utilise un ramasse miettes (garbage collector)
  • Les variables vivent dans l’espaces des variables
  • Les objets vivent dans l’espace de objets
  • Lorsqu’une variable contient un objet, elle ne le contient pas vraiment, elle point vers un objet dans l’espace des objets.

Par conséquent, on a besoin ni de déclarer, ni de libérer nos variables.

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

1 - Python - Itérateurs

Quelle fonction permet d’obtenir l’itérateur d’un objet itérable ?

A

Il s’agit de la fonction iter

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

1 - Python - Itérateurs

Quelle fonction permet d’obtenir l’élément suivant d’un itérateur ?

A

Il s’agit de la fonction next.

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

1 - Python - Itérateurs

Quelle exception est levée lorsqu’un itérateur est vide ?

A

C’est l’exception StopIteration;

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

1 - Python - Itérateurs

Que permet le mot clé yield en Python ?

De manière simple.

A

Il permet de transformer une fonction en itérateur.
C’est une sorte de return qui ne termine pas la fonction.

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

1 - Python - Itérateurs

Comment créer un itérateur récursif à partir d’une fonction en Python ?

A

Il faut utiliser les mots clés yield from.

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

1 - Python - Itérateurs

Concrètement, comment se comporte une fonction contenant le mot clé yield ?

Avant, Pendant et Après

A
  1. Tant que l’itérateur n’est pas utilisé, rien ne se passe.
  2. La fonction est exécutée jusqu’au prochain yield rencontré et retourne alors la valeur associée. La fonction est ensuite “mise en pause” jusqu’au prochain appel à l’itérateur.
  3. La fin d’exécution provoque l’exception StopIteration.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

2 - SAT

Qu’est-ce qu’une variable booléenne ?

A

C’est une variable qui peut prendre la valeur VRAI ou FAUX.

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

2 - SAT

Qu’est-ce qu’un littéral ?

A

Un littéral construit à partir de la variable xi est : soit xi, soit xi barre.

Ils ont pour valeur, respectivement, 1 SSI xi reçoit la valeur 1 et 1 SSI xi reçoit la valeur 0.

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

2 - SAT

Qu’est-ce qu’une clause ?

A

Une clause est une disjonction de littéraux.

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

2 - SAT

Comment appelle-t-on une clause qui a pour valeur VRAI ?

A

On dit que la clause est satisfaite.

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

2 - SAT

Que signifie qu’un ensemble de clause est satisfiable ?

A

Un ensemble S de clauses est satisfiable SSI il existe une attribution pour chaque variable booléenne satisfaisant toutes les clauses.

17
Q

2 - SAT

Qu’est-ce qu’un attribution ?

A

C’est le fait de donnr une valeur à chacune de nos variables booléennes;

18
Q

2 - SAT

Quel est le problème posé par le SAT ?

A

Etant donné un ensemble de clauses (même à 3 littéraux), le problème de décider s’il est satisfiable est un problème difficile.

Actuellement personne ne connait d’algorithme efficace pour le résoudre.

19
Q

2 - SAT

Pourquoi le problème de maximisation est au moins aussi difficile que le problème de décision ?

A

Puisque si l’on savait résoudre facilement le problème de maximisation alors on saurait résoudre facilement le problème de décision.

20
Q

2 - SAT

Expliquez l’algorithme d’Attribution aléatoire. Pourquoi utilise-t-on cet algorithme ?

A

L’algorithme attribue de manière aléatoire, équiprobable et indépendante, une valeur booléenne à chaque variable xi.

On utilise cet algorithme parce que l’on ne sait ni décider, ni maximiser en un temps acceptable.

21
Q

3 - Automates

Comment se caractérise un automate ?

A

Un automate est caractérisé par :
* un ensemble d’états ;
* un ensemble de symboles : l’alphabet ;
* un ensemble d’états accepteurs, inclus dans l’ensemble des états ;
* un état initial ;

22
Q

3 - Automates

Qu’est-ce que la fonction de transition ?

A

C’est une fonction qui, d’un état et d’un symbole de l’alphabet donnés, ressort un état.

Exemples : δ(q1, a) = q2 ; δ(q1, b) = q1

23
Q

3 - Automates

Qu’est-ce que l’extension de la fonction de transition ?

A

C’est un fonction qui, d’un état et d’un mot donnés, ressort un état.

Exemples : δ*(q1, aba) = q2 ; δ*(q2, abba)

24
Q

3 - Automates

Que signifie le fait qu’un mot est accepté ?

A

Pour un mot w et un état initial q0, la sortie de δ*(q0, w) est un état accepteur.

25
Q

3 - Automates

Qu’est-ce qu’un langage ?

A

C’est l’ensemble des mots acceptés par l’automate.

26
Q

3 - Automates

Qu’est-ce qu’un automate déterministe ?

A

Un automate d’alphabet A est déterministe si pour tout état q et pour tout caractère c
de l’alphabet l’automate contient exactement une transition δ(q, c)