• Aucun résultat trouvé

Rattrapage TYLA — Typologie des Langages

N/A
N/A
Protected

Academic year: 2022

Partager "Rattrapage TYLA — Typologie des Langages"

Copied!
2
0
0

Texte intégral

(1)

Rattrapage TYLA — Typologie des Langages

EPITA – Apprentis promo 2011 – Sans documents ni machine Septembre 2009 (1h30)

1 Échau ff ement

1. Qu’est-ce qu’un objet fonction ?

2. Quel(s) mot(s) clef(s) C++servent aumasquage des données?

3. On suppose que vous disposez du code d’une classe C++nomméeFoo, qui contient déjà des méthodes et des attributs. Si vous ajoutez des méthodes non virtuelles dans le code deFoo, est-ce que les instances (objets) de typeFooprendront plus de place en mémoire ? Justifiez votre réponse.

2 Portées et symboles

1. Qu’est-ce que la “portée” (scope) d’un identificateur ? 2. À quoi sert un environnement/table des symboles ?

3. Quelle différence notable y a-t-il entre une table des symboles et un tableau associatif (tel questd::map) ?

4. Donnez, dans le langage de votre choix, un court programme justifiant le recourt d’un compilateur à une table des symboles plutôt qu’un tableau associatif.

3 Multiméthodes

1. Que sont les multiméthodes ?

2. Citer quelques cas où les multiméthodes offrent une facilité d’implémentation.

3. Citer un langage supportant les multiméthodes.

4. En C++, à quelle technique fait-on appel pour simuler les multiméthodes ?

4 Polymorphismes

1. Qu’est-ce que le polymorphisme ? On s’attachera à donner une définition générale, et non pas liée à une forme particulière de polymorphisme, ou bien à un langage spécifique.

2. Soientaetbdeux variables Tiger. Donner une expression Tiger dont le code effectif (c’est- à-dire celui qui sera exécuté) dépend du type deaetb.

3. Comment le compilateur détermine-t-il la version du code à générer ?

4. Dans l’expression en langage C “sin (51) ”, quel autre mécanisme de polymorphisme intervient ?

1

(2)

Septembre 2009 Rattrapage TYLA

5. Pourquoi le code C++suivant ne compile pas ?

#include<cmath>

intmain () {returnstd::abs (−42); }

6. Voyez-vous en Tiger une valeur qui puisse avoir plusieurs types ?

7. Les langages orientés objets introduisent une forme de polymorphisme. Comment l’appelleriez- vous ?

8. À quel mot-clé est-il associé en Simula et en C++?

9. Sur quelle forme de polymorphisme s’appuie largementstl?

2

Références

Documents relatifs

Question sur 2 pts : Un compilateur est un programme qui traduit un pro- gramme source écrit dans un langage de haut niveau (i.e. C) en un programme cible sémantiquement

Tout cela, et parfois une de ces pyramides d’un noir plombé qui s’élèvent sur les puits de pétrole, composent le paysage désespéré qui m’entoure, et que ne connaissent que

Non : comme toutes les ondes, les ondes sismiques se propagent sans transport de matière mais avec transport d’énergie.. 2.3 Une onde est longitudinale si la direction de

3- Ne cessant d’améliorer notre commande, nous avons constaté qu’un phénomène d’oscillation de l’eau autour d’un niveau provoque de nombreux démarrage et arrêt

2.1° Tracer le spectre de l’aimant en U entre les deux pôles. 2.2° Orienter les lignes de champ. 2.3° Identifier les pôles de cet aimant. 2.4° Quelle propriété possède le vecteur

Correction: std::list est un patron de classe (class template), et n’est pas un type valide, car il est paramétré ainsi : std::list&lt;T, Alloc&gt; , avec T le type des

Q.2 Dans quel langage les appels de méthodes ne sont pas vérifiés statiquement.. Une classe qui

Le rˆ ole d’un compilateur Sp´ ecifier un compilateur Structure logicielle.. Le rˆole