Cursus Ingénieur 1ère année – Promotion Noether Contrôles du 1er semestre 2020/
Cursus Ingénieur 1ère année – Promotion Noether Contrôles du 1er semestre 2020/2021 (S5) Epreuve du 23 novembre 2020 – Samuel Poiraud UE : Systèmes Numériques Embarqués Matière : Projet Système Embarqué Sujet : 2020_11_B4 COMPOSITION D’ELECTRONIQUE NUMERIQUE --------------------------------------- Durée : 2 heures Aucun document autorisé. Epreuve sans calculatrice. Tous objets connectés interdits. ----------------------------------------------------------------------------------------------------------------------- QCM : une seule réponse possible ; répondez sur la grille QCM, en renseignant vos identifiants. Une bonne réponse : 1 point ; une mauvaise réponse : 0 point ; pas de réponse : 0 point. Erreur dans la saisie des noms/prénoms ou identifiants : -1 point. Questions ouvertes : Répondez sur le sujet. Ne dégrafez pas les feuilles. ----------------------------------------------------------------------------------------------------------------------- Questions à choix multiples. (/32 pts ~40mn) 0- Renseignez distinctement votre nom et votre prénom en haut de cette page. 1- L’indentation du code en C : A- Elle joue un rôle dans la compilation mais peut ne pas être respectée B- Elle ne joue aucun rôle à la compilation mais doit être respectée pour rendre le code lisible C- Elle ne joue aucun rôle dans la compilation et il n’est pas utile de la respecter D- Comme en python, elle joue un rôle dans la compilation et doit être respectée scrupuleusement 2- Quel prototype de fonction est correct ci-dessous pour une fonction permettant de connaître la taille d’une chaine de caractère ? 3- Le débogueur : A- Compile le programme et nous indique les erreurs de syntaxe B- Corrige les erreurs du programme C- Donne accès à la mémoire et permet l’exécution en pas à pas du programme D- Stoppe l’exécution du programme dans la mémoire du microcontrôleur en cas de problème void my_strlen(String s, uint16_t & size); //A void my_strlen(char * s, uint16_t size){} //B uint16_t my_strlen(char * string); //C bool_e my_strlen(char s[size], uint16_t size); //D Nom : Prénom : Note : /64 Cursus Ingénieur 1ère année – Promotion Noether Contrôles du 1er semestre 2020/2021 (S5) Epreuve du 23 novembre 2020 – Samuel Poiraud 4- Dans cet exemple, la variable a : A- Existe en permanence et est accessible depuis n’importe quel fichier B- Existe en permanence et est accessible depuis le fichier courant C- Existe lorsque l’on exécute une des fonctions du fichier courant, détruite le reste du temps D- Est créé et initialisée à 6 à chaque exécution d’une des fonctions du fichier courant 5- Dans cette fonction, la variable b : A- Est créée avant l’entrée dans la fonction, initialisée à 1 une seule fois, jamais détruite B- Est créée avant l’entrée dans la fonction, mise à 1 à chaque appel, jamais détruite C- Est créée à l’entrée dans la fonction, initialisée à 1, puis détruite en fin de fonction D- Est créée à l’entrée dans la fonction, initialisée à 1, jamais détruite 6- Dans cette fonction, la variable c : A- Est créée avant l’entrée dans la fonction, initialisée à 5 une seule fois, jamais détruite B- Est créée avant l’entrée dans la fonction, mise à 5 à chaque appel, jamais détruite C- Est créée à l’entrée dans la fonction, initialisée à 5, puis détruite en fin de fonction D- Est créée à l’entrée dans la fonction, initialisée à 5, jamais détruite 7- Une variable est considérée : A- Comme vraie si elle vaut 1, comme fausse sinon B- Comme fausse si elle vaut 0, comme vraie sinon C- Comme vraie si elle est positive, comme fausse sinon D- Comme vraie ou fausse uniquement si elle est déclarée comme booléen 8- A votre avis, dans la fonction ci-dessus, qu’est ce qui sera affiché par printf() ? A- La chaine « ko », car il est évident que 0.2+0.5 ne vaut pas 0.7 B- La chaine « ok », car il est évident que 0.2+0.5 vaut 0.7 C- Je ne sais pas, et mieux vaut ne pas écrire les choses ainsi D- La chaine « ok » suivie de la chaine « ko » static int a = 6; void function(void) { int b = 1; static int c = 5; //... } float a, b, c; a = 0.2; b = 0.5; c = a+b; if(c == 0.7) printf("ok"); else printf("ko"); Cursus Ingénieur 1ère année – Promotion Noether Contrôles du 1er semestre 2020/2021 (S5) Epreuve du 23 novembre 2020 – Samuel Poiraud int tab[125]; 9- Pour accéder aux cases de ce tableau tab dont on connait l’adresse, on utilise : A- Le symbole ‘.’ B- Le symbole ‘->’ C- Les parenthèses ( ) D- Les accolades [ ] void set_population(country_t * country, uint32_t population){} 10- Pour accéder aux champs de cette structure country dont on connait l’adresse, on utilise : A- Le symbole ‘->’ B- Le symbole ‘.’ C- Les accolades [ ] D- Les parenthèses ( ) country_t europe[27]; 11- Pour accéder aux champs de cette structure europe que nous avons défini, on utilise : A- Le symbole ‘->’ B- Le symbole ‘.’ C- Les accolades [ ] D- Les parenthèses ( ) 12- Peut-on appeler une fonction dont on n’a pas défini le prototype ? A- Oui mais seulement si son prototype admet aucun paramètre et retourne un char. B- Oui, cela fonctionne très bien dans tous les cas, mais ce n’est pas propre. C- Non, cela fonctionne pourtant dans certains cas, mais on se l’interdit dans tous les cas. D- Non, et de toute façon ça ne compile pas. 13- Le mot clé static A- Rend une variable ‘constante’ B- Rend une variable ‘privée’ et ‘immobile dans la mémoire’ C- Ne sert à rien en C, il est sous-entendu par défaut D- Permet de rendre la variable ‘accessible depuis un autre fichier’ 14- Quel est l’ordre dans lequel ces outils sont utilisés ? A- Programmation de la cible compilation édition des liens B- Programmation de la cible édition des liens compilation C- Édition des liens compilation programmation de la cible D- Compilation édition des liens programmation de la cible 15- Le fait de déclarer une variable avec le mot clé volatile… A- …indique que la variable est partagée et accessible dans plusieurs fichiers. B- …indique qu’elle peut changer à chaque instant. Le compilateur doit y accéder sans raccourci. C- …rend la variable non permanente lorsque l’on coupe l’alimentation du microcontrôleur. D- …indique que la variable n’existe que temporairement et qu’elle partage son espace mémoire. Cursus Ingénieur 1ère année – Promotion Noether Contrôles du 1er semestre 2020/2021 (S5) Epreuve du 23 novembre 2020 – Samuel Poiraud 16- A quoi servent les lignes que l’on place dans un header : #ifndef APPLI_ADC #define APPLI_ADC // ... #endif /* APPLI_ADC */ A- Elles permettent de configurer le code avec ou sans le module APPLI_ADC. B- Elles permettent au compilateur de savoir qu’il traite un fichier header. C- Elles encadrent le contenu privé du header. D- Elles permettent d’éviter les risques liés aux inclusions récursives. 17- A la fin du troisième appel de la fonction_f : A- c = 3, d = 7, la valeur de retour vaut 10 B- c = 3, d = 8, la valeur de retour vaut 0x0B C- c = 1, d = 8, la valeur de retour vaut 9 D- c = 3, d = 10, la valeur de retour vaut 0x0D 18- Quelle définition est la meilleure pour expliquer la signification de la ligne, placée dans une fonction : static int skippers = 33; A- Déclaration dans la fonction d’une variable locale temporaire, initialisée à 33. B- Définition dans la fonction d’une constante locale skippers de valeur 33. C- Déclaration d’une structure statique contenant un entier de nom skippers et la valeur 33. D- Définition d’une variable locale skippers, permanente et de valeur initiale 33. 19- Dans la mission sun-tracker, quels périphériques a-t-on utilisé ? A- Un moteur DC et un encodeur B- Un ventilateur et un MOSFET C- Un servomoteur et un potentiomètre D- Un phototransistor et un moteur 20- Quel est le rôle d'un périphérique RTC ? A- Générer un signal de rapport cyclique variable et de fréquence fixe B- Interrompre le processeur lors du changement d’état d’une broche d’entrée C- Compter le temps pour fournir la date et l’heure D- Accélérer l’horloge interne du microcontrôleur lorsque des calculs sont en cours 21- Quel était le principal but pédagogique de la mission Fan ? A- Parcourir le document "le C embarqué" B- Savoir générer un signal PWM C- Comprendre la notion de registre de périphériques D- Apprendre à implémenter une machine à états en C uint8_t fonction_f(void) { static uint8_t c = 0x00; uint8_t d = 0x07; d++; c++; return c+d; } Cursus Ingénieur 1ère année – Promotion Noether Contrôles du 1er semestre 2020/2021 (S5) Epreuve du 23 novembre 2020 – Samuel Poiraud 22- Dans la fonction blink_led() ci-dessous, quel est le rôle de la variable ‘b’ ? A- Elle provoque le changement d’état de la sortie A5 à chaque appel de blink_led() B- Elle permet d’initialiser le registre lors de chaque appel de la fonction blink_led() C- C’est une variable qui s’initialise à 0 uploads/Management/ 2020-evaluation.pdf
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/SqWEpSpwNJYCotyVBb9xN5OEaUsYyvIM5iYejzXzhQU8UwMBPDcqTqvkEUteQo1dlpDPSgm2wZrtgnajBzeBKVwB.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/GgCdL91APjRzzDI0zsEcSGIkeUqHqay9Kq1jVemDZRLTU6U79DZWQcTaPPOCkeuuYLeDCP4B83kqncfaXZe6DqJ2.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/LiTHjPLOExeLRfLTVugZNTk9fEC0G7SLH4pTOgBkN2YhoRDIVUTJelCGzKSTNE15XkGxg38Cx45BKNc6GGlRzuum.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/PRD9lxrYoBUpHXY1zP4CNcLpq8wyAI8q59bsNEqQoMjBbMzex2MOZElHvKHnw4YXVT3cE0vkNYZTEjqpCCH2jirZ.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/gF6RiFnm6M3Z4czCDbS79oI9HEvmvpMbZJaKxx0puEDgOriIBJF72nXuQWPuMiJUEgXUNhegKdB3m7NEDsRqmSM3.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/EqJeYZhutA2eBTche4ojs6MUseu6qf86hPhVSLyURJ0Ho0GM5EwzA0c7mG18knZSbxaUq9jmp1IUdUF3RJWhto8s.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/xBHq0QCEm8kBFjOTyz8sw3UZreHdFgpQqnY2D5Efz2mx8mG1R3D1XVluVc0A0oKENTFMSxjrmVpNtu0h25ZNvSJ3.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/ZvNuAKg0MTWs8TDOqnk4XP9pEcqkcb1tTBxuUCfFmbIkxkVssH6YXysSEJv9JTzcyUrcRvLhnGc3qJZA3M6bt46u.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/2Q8mg45FBbQj7eLvLrg1ZeVuXR5aTfQl0F2LrPng4sdAZqRMxrPQj9zKzkRW5nnJM8gIh697LNTx4DUqsZgmn3Kh.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/ioBUwo86T8SWCFaRGWx3rRShFasxEnaxuM5JFoRua7HRtMWSK41SD732ksYl0jntDhOq5k5Cs6nT4pNmEgKPU3pv.png)
-
15
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Aoû 13, 2022
- Catégorie Management
- Langue French
- Taille du fichier 0.3647MB