Professional Documents
Culture Documents
C++
C++
1. Quelles sont les principales diffrences entre lallocation statique et lallocation
dynamique ?
Statique : Prvoir lespace mmoire ncessaire avant l excution du programme
Dynamique : Alloues lors de l entre dans la routine, besoin de dallocation
2. Quelle est la syntaxe pour une allocation dynamique dun tableau de float /
destruction de ce tableau en C++ (pas en C)
Float* ftableau = new float[SIZE_DE_TABLEAU] ;
Delete[] ftableau ;
3. Quelle est la syntaxe pour une allocation statique dun tableau de float / destruction
de ce tableau
Float *tableau = float[SIZE_DE_TABLEAU] ;
4. Ecrire le code C++ pour allouer, remplir et dtruire un tableau deux dimensions
de type float de taille n contenant une matrice 2D avec le format suivant M i,j = (i+j)
Include<iostream>
Float** M = new float*[sizeX] ;
For (int i = 0 ; i < sizeX ; ++i)
{
M[i] = new float[sizeY] ;
For (int j = 0 ; j < sizeY ; j++)
M[i][j] = i+j ;
}
5. Quels sont les diffrences, avantages et inconvnients entre passage par pointeur,
passage par rfrence et passage par valeur ?
Algorithme
11. Expliquez ce que fait cette fonction ?
int function(int* tab, int size, int v, int a, int b)
{
if(a < 0 || b >= size)
return -1;
int c = a + (b - a) / 2;
if(tab[c] == v || a == b)
return c;
if(tab[c] > v)
return function(tab, size, v, a, c - 1);
else
return function(tab, size, v, c + 1, b);
}
12. Pouvez-vous reprer des erreurs dans le code ? Si oui, expliquez et corrigez-les.
void tri(float*& tab, int size)
{
float tab2 = new float[size];
for(int i = 0; i <= size; i++)
{
int index(0);
for(int j = 0; j <= size; j++)
if(tab[i] > tab[j])
index++;
tab2[index] = tab[i];
}
delete tab;
tab = tab2;
Oui,
void tri(float* tab, int size)
{
14. Quels sont les problmes que lon peut rencontrer avec des fonctions rcursives ?
Faut de valeur de retour, difficile de dboguer
Multi taches
15. Expliquer la diffrence entre un mutex et un smaphore ?
Typiquement, Les mutex sont gnralement utiliss pour srialiser l'accs une
section de code rentrante qui ne peuvent pas tre excutes simultanment par
plus d'un fil. Un smaphore limite le nombre d'utilisateurs simultans d'une
ressource partage jusqu' un nombre maximum
Mthodologie:
18. Veuillez numrer les diffrentes phases dun projet et estimer le temps que vous
consacrez chacune dentre elles.
19. Quels sont les rgles de codages que vous vous imposez ?
20. Quels sont les outils que vous utilisez pour contribuer la qualit du rendu final de
votre projet ?
QT 4
21. Expliquer brivement ce quest un signal et un slot
Cest une mcanise centrale de QT qui permet de communication entre les objets.
Un signal est mis quand un vnement particulier se produit. Une Slot est appele
quand un signal connect elle est mis.
22. Quels sont les diffrents moyens de communication entre tches fournis par QT ?
1. TCP/IP dans QtNetwork, QTcpSocket, QTcpServer
2. Partag de mmoire dans QShareMemory
3. D-BUS dans QtDBUS (sous linux)
4. QCopChannel sous Qt pour linux embarqu.
23. Quelles classes QT 4 sont utilises pour crer cette fentre ?
QWidget/QApplication
QListView
QStringList, QStringListModel
QCheckBox
QPushButton