Abstractions procédurales Flashcards

1
Q

Que fait l’abstraction procédurale ?

A

L’abstraction procédurale permet d’exprimer une
abstraction d’un traitement d’information.

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

Quels sont les inconvénients de la duplication de code ?

A

Cela donne du code difficile à comprendre et maintenir car le programmeur ne s’exprime pas avec des termes qui sont proches des concepts propres à l’application
Il y a trop de détails qui viennent obscurcir la logique du programme
La duplication peut introduire des bogues

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

Complète la phrase : L’abstraction procédurale permet au programmeur….

A

de définir ses propres opérations, à un niveau d’abstraction qui est plus proche des besoins de l’application

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

Quels sont les termes qui sont utilisés pour désigner des abstractions procédurales ?

A

fonction, procédure, méthode, routine, sous-routine

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

Complète la phrase : Un aspect critique d’une bonne programmation est….

A

le choix des bonnes abstractions procédurales

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

Quel est la différence entre l’effet de la déclaration de fonction et celui de la déclaration de variable ?

A

Une déclaration de fonction a le même effet qu’une déclaration de variable, sauf que la variable sera liée à une valeur fonctionnelle, donc comme si on avait fait :
‹nom› = …unefonction…

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

Qu’arrive t-il si une fonction est appelé ?

A

Lorsqu’une fonction est appelée, les paramètres actuels sont évalués, des variables pour les paramètres formels sont créés et initialisés à la valeur des paramètres actuels correspondants, et finalement le corps de la fonction est exécuté

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

Quel est la différence entre une fonction et une procédure ?

A

Les fonctions sont des abstractions procédurales qui retournent une valeur (contrairement aux procédures qui ne retournent pas de valeur)

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

Que fait l’énoncé return ?

A

C’est à l’aide de l’énoncé return à l’intérieur du corps d’une fonction, qu’on indique la valeur que la fonction retourne

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

Vrai ou faux ? L’énoncé return est souvent le dernier énoncé
dans le corps d’une fonction

A

Vrai

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

Vrai ou faux ?
On peut mettre l’énoncé return à n’importe quel endroit où un énoncé est permis.

A

Vrai, de plus, il cause une terminaison immédiate du corps de la fonction (un peu comme le break pour les boucles)

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

Qu’est-ce qu’est une procédure ?

A

Une procédure est une abstraction procédurale qui ne retourne pas de valeur

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

Vrai ou faux ? Les déclarations de variables à l’intérieur du corps d’une fonction sont locales à la fonction

A

Vrai

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

Les variables locales servent à quoi ?

A

Les variables locales permettent de mieux modulariser le code en permettant un choix de noms locaux sans risque d’interférence avec d’autres fonctions ou variables globales

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

Que fait l’énoncé global ?

A

<id.>=<expression> dans le corps d’une fonction déclare une variable locale à la fonction, à moins que global <id.> n’apparaisse dans le corps de la fonction avant le premier usage de <id.> (par convention au début)
</id.></id.></expression></id.>

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

À quoi servent les test unitaires ?

A

vérifier le comportement correct des fonctions définies

17
Q

Vrai ou faux ? C’est mieux de faire les tests unitaires tôt dans le développement (aussitôt que la fonction est codée) pour éviter d’accumuler beaucoup de code non vérifié

A

Vrai

18
Q

Que fait l’énoncé assert ?

A

L’expression est une condition (valeur booléenne) qui doit être vraie; un message sera imprimé si la condition n’est pas vraie

19
Q

Vrai ou faux ? On a tendance à faire les tests unitaire avant même de coder ?

A

Vrai

20
Q

Quels sont les questions de conception de base à se poser lors de la conception d’une fonction ?

A

Q1 : Quelle est la tâche de la fonction?
Q2 : Quels sont les paramètres de la fonction (les données sur lesquelles la fonction se base pour calculer son résultat), et quels sont leurs types (nombre quelconque, entier, texte, booléen, …)?
Q3 : Quel est le type du résultat?
Q4 : Quel est le meilleur nom pour la fonction?
Q5 : Quels sont des exemples d’utilisation?

21
Q

Explique l’algorithme d’Euclide

A

Algorithme d’Euclide : soustraire le plus petit de x et y de l’autre nombre et répéter jusqu’à ce qu’ils soient égaux, ce sera le PGCD de x et y

22
Q

Définit la spécialisation

A

Une fonction conçue pour un programme peut être
plus ou moins spécifique à ce programme
C’est le degré de spécialisation de la fonction

23
Q

Définit la généralisation

A

inverse de la spécialisation

24
Q

Donne un avantage et un inconvénient à une fonction spécialisée

A

Une fonction spécialisée est normalement plus facile à concevoir et plus performante, mais il y a de fortes chances qu’il faudra la remplacer par une fonction plus générale lors de l’évolution du code

25
Q

Donne un avantage à une fonction généralisée.

A

L’attrait de concevoir des fonctions plus générales c’est qu’on peut plus facilement les réutiliser dans d’autres contextes

26
Q

Vrai ou faux ? La généralisation d’une fonction spécifique entraine normalement l’ajout de paramètres ou l’élargissement du type des paramètres

A

Vrai