IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Test d'évaluation 4

Date de mise à jour : 25 décembre 2009

Par Hugo Etievant

Ce test d'évaluation (n° 4/5) pose quelques questions pièges afin de voir si vous avez assimilé les bases de la programmation en Turbo Pascal 7.0. Correction automatique on line : il vous suffit de cliquer sur le bouton de validation en bas de ce formulaire (après avoir répondu à toutes les questions) pour voir apparaître une correction personnalisée.

            


1. Sous Borland Pascal 7.0, comment peut-on modifier l'organisation virtuelle de la mémoire ?

Option / Memory Size
Run / Parameters
Compile / Target

2. Comment peut-on donner la taille "5" à une chaine de type String ?

SizeOf(chaine) := 5;
chaine[0] := Chr(5);
chaine := MemAvail(5);

3. Laquelle de ces affirmations sur les types structurés est correcte ?

Une variable enregistrement ne peut pas contenir de champs eux-mêmes de type structuré
Une variable de type structuré ne peut pas faire référence à des types prédéfinis dans le langage Pascal
Un enregistrement peut contenir un champ de type structuré

4. Laquelle de ces affirmations sur les types structurés est incorrecte ?

On peut afficher le contenu d'une variable structurée sans faire référence à ses champs
On peut passer une variable de type enregistrement en paramètre à une procédure sans précision de champ
Un champ d'une variable enregistrement peut lui-même contenir d'autres champs
On peut créer des tableaux de variables de type structuré

5. Comment réaliser une affectation sur le tableau Tab ?

Type tab = Record
nom : String[20];
age : Byte;
End;


Tab := 'CyberZoïde'.18;
Tab[1] := 'CyberZoïde';
Tab.age := 18;
Tab.nom[10] := 'CyberZoïde';
Tab[2].nom := 'CyberZoïde';

6. Quelle affirmation concernant les tableaux est correcte ?

Un tableau peut avoir une dimension de 10
Un tableau doit au moins avoir 2 dimensions
Les dimensions d'un tableau peuvent être de type différents

7. Cochez la réponse juste :

On peut systématiquement convertir une chaîne de caractères en variable nombre entier
On ne peut que sous de strictes conditions convertir un réel en chaîne de caractères
Aucune conversion n'est possible entre chaîne et nombre sans créer une fonction en Assembleur
On peut convertir une chaîne (String) en nombre entier
On peut sous certaines conditions convertir une chaîne en nombre entier

8. Quelle affirmation est vraie à propos des fonctions ?

Elles ne peuvent utiliser que des variables de même type que celui définissant la fonction
Elles ne peuvent pas être autorisées à modifier les valeurs des variables globales (du programme principal)
Elles peuvent ne pas recevoir de paramètre

9. Quelle affirmation est incorrecte à propos des identificateurs de variables ?

WriteLn(nom:File,chaine:String);

Ils ne doivent pas être identiques aux mots clés réservés de Turbo Pascal
Ils ne doivent pas être identiques aux valeurs de chaînes de caractère si celles-ci sont déclarées en constantes du programme
Ils ne peuvent être identiques au nom du programme

10. Quelle est la limite supérieure de la mémoire Tas allouée aux pointeurs ?

640 Ko
16 Ko
64 Mo
8 Mo
Il n'y a pas de limite virtuelle, la seule limite est ta taille de votre RAM

11. Comment écrit-on des commentaires en Pascal ?

{ commentaire }
<!-- commentaire -->
/* commentaire */
[* commentaire *]

12. Peut-on créer ses propres types de variables ?

Oui, à partir de types déjà existants
Oui, mais seulement en créant une unité en langage Assembleur
Non, on doit se contenter de ceux intégrés à Turbo Pascal 7.0

13. Quelle taille en mémoire cette déclaration réserve-t-elle à la variable MonTab ?

Const NMax = 100 ;
Type Etudiant = Record
nom, prenom : String[20];
matricule : Integer;
End;
Var MonTab : Array[1..NMax] Of Etudiant;


4600 octets
4400 octets
2400 octets
2376 octets

14. Lequel de ces types pointe vers le type entier ?

Type Riri = Integer;
Type Fifi = ^Integer;
Type Loulou = Integer^;
Type Zaza^ = Integer;

15. Laquelle de ces affirmations est fausse ?

On peut créer des pointeurs pointant vers d'autres pointeurs
On peut modifier la valeur de la variable pointée mais pas celle du pointeur en lui même
On peut créer plusieurs pointeurs pointant vers la même variable
On ne peut pas modifier la valeur d'une variable pointée sans passer par le pointeur

16. Laquelle de ces affirmations est juste?

On ne peut pas créer des pointeurs pointant vers des types complexes
La déclaration d'une variable pointeur ne réserve aucune mémoire
Une variable pointée par un pointeur ne réserve aucune mémoire
On ne pourra jamais réserver de la mémoire pour une variable pointée par un pointeur

17. Laquelle de ces instructions est juste ?

Type Eleve = Record
nom,prenom : String;
notes : Array[1..5] of Integer;
End ;
Var Classe : Array[1..30] Of ^Eleve;


Classe^[3].nom := 'Etiévant';
Classe[27]^.notes[0] := 14;
CLasse[8]^.notes[5] := 10.5;
Classe[12].prenom^ := 'Hugo';
Classe[30].prenom := ^'Arnold';
Classe[26]^.notes[3] := 18;

18. Lors de la déclaration d'un pointeur, quel espace mémoire lui réserve le compilateur ?

Rien du tout !
Cela dépend du type vers lequel pointe le pointeur
Quatre octets
Deux kilo octets

19. De quelle taille est l'espace mémoire alloué à la variable nom ?

Var nom : String[27];

26 octets
27 octets
28 octets
255 octets
256 octets

20. Quelle est l'affirmation fausse ?

Un pointeur peut pointer vers une variable déclarée normalement
Un pointeur peut pointer vers la variable associée à un autre pointeur
Un pointeur peut pointer vers un pointeur pointant vers sa propre variable associée
Un pointeur peut pointer vers un pointeur
Un pointeur peut pointer vers une zone mémoire vierge




Copyright © 2009 developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.