Q&A Géneralité
Q&A Géneralité
Q&A Géneralité
Compilation
C’est quoi un compilateur ?
Est un programme informatique qui traduit l’ensemble du code source d’un projet logiciel en code machine avant
son exécution.
Quatre phases de compilation
Phase d’analyse : Permet de reconnaitre les variables, les instructions et élaborer la structure syntaxique.
Analyse lexicale
Analyse syntaxique
Analyse sémantique
Phase de synthèse : Permet de produire le programme cible.
Code source analyse -> génération du code - optimisation du code -> programme cible
PS : En parallèle avec les phases d’analyse et de synthèse il existe une phase supplémentaire :
Phase parallèle qui comporte deux étapes : Gestion de la table des symboles / gestion des erreurs
L’optimisation de code ? est la pratique consistant à améliorer l'efficacité du code informatique d'un programme
ou d'une bibliothèque logicielle.
Quelle est la différence entre langage interprété et langage compilé ?
Un langage compilé est converti en code machine afin que le processeur puisse l'exécuter. Un langage interprété
est un langage dans lequel les implémentations exécutent directement des instructions sans compiler au
préalable un programme en langage machine. Les programmes compilés s'exécutent plus rapidement que les
programmes interprétés.
Quelle est la différence entre langage interprété o compilé ?
-Dans un langage interprété, le même code source pourra marcher directement sur tout ordinateur. Avec un
langage compilé, il faudra (en général) tout recompiler à chaque fois ce qui pose parfois des soucis.
-Dans un langage compilé, le programme est directement exécuté sur l'ordinateur, donc il sera en général plus
rapide que le même programme dans un langage interprété.
Un automate programmable industriel (API) (en anglais programmable logic Controller, PLC) ?
Est un dispositif électronique numérique programmable destiné à la commande de processus industriels par un
traitement séquentiel.
Les automates finis non déterministes (AFN) et les automates finis déterministes (AFD)
Structure de données
Structure de données ?
C'est l'organisation efficace d'un ensemble de données, sous la forme de tableaux, de listes, de piles etc. Cette
efficacité réside dans la quantité mémoire utilisée pour stocker les données, et le temps nécessaire pour réaliser
des opérations sur ces données.
Types de structures de données ?
Tableau : c’est une collection du même type.
PILE : Une pile (stack) est une liste dans laquelle l'insertion ou la suppression se fait toujours à partir de la même
extrémité appelée sommet de la pile. LIFO
FILE : Type particulier de liste où les éléments sont insérés en queue et supprimés en tête. FIFO
Liste chainée : une collection d’élément de type structure (data+ pointeur sur l’élément suivant).
Arbre : sont des listes multidimensionnelles
Type des listes :
-Liste simplement chainée : est une structure dynamique récursive dont la définition comporte une référence a
elle même
-Liste circulaire ou anneau : Le dernier élément de de la liste pointe sur le premier élément de celle-ci
Méthode LR ? vise à vérifier si une chaîne de caractères (typiquement contenue dans un fichier) possède bien la
structure d'une grammaire spécifiée à l'avance.
Un arbre binaire ? est soit un arbre vide, soit arbre où chaque sommet a au maximum deux fils
Rôle d’arbre binaire de recherche permet des opérations rapides pour rechercher une clé, insérer ou supprimer
une clé.
Les parcours des arbres binaires :
-parcours en largeur : consiste à parcourir l'arbre niveau par niveau (ligne par ligne)
- parcours en profondeur : on parcourt récursivement le sous-arbre gauche puis le sous-arbre droit
Parcours préfixé / infixe / postfixe
=> Arbre binaire équilibre
=> Arbre binaire de recherche ? Un arbre binaire de recherche est un arbre étiqueté tel que pour tout sommet x
=>arbre binaire partiellement ordonne : est un arbre étiqueté par des éléments d’un Ensemble, muni d’un ordre
total, tel que l’étiquette de tout nœud est inférieure à celles de ses fils.
ORDINATEUR
Quelle est la définition d'un ordinateur ?
Machine automatique de traitement de l'information, obéissant à des programmes formés par des suites
d'opérations arithmétiques et logiques.
Architecture d’un ordinateur ?
Les entrées/sorties, qui permettent à l'ordinateur de communiquer avec l'extérieur ;
une mémoire qui mémorise les données à manipuler ;
Combien de registre contient un microprocesseur 8086 ?
4 registres : CS (code segment, DS (Data segment), ES (Extra segment) et SS (stack segment)
Un processeur, qui manipule l'information et donne un résultat (unite traitement)
Quel est le composant qui exécute les programmes ? Le processeur
Quel est le rôle de la carte mère ? Socle d'interconnexion des composants du PC
La composante centrale d'un système d'information
Utilisateur /Logiciel /matériel /procédure
La conception d'un système d'information doit se centrer sur L’utilisateur
ALLOCATION MEMOIRE
La différence entre RAM ET ROM ?
La Rom (Read Only Memory) stocke des données dans un espace plus ou moins grand, mémoire morte
la Ram (Random Access Memory) est un processus qui permet d’accéder aux informations ,mémoire vive.
L'allocation de mémoire vive ? désigne les techniques et les algorithmes permettant de réserver la mémoire vive
à un programme informatique pour son exécution.
Les différents types d'allocation mémoire ?
Allocation statique : se fait au moment de l'initialisation du programme.
Allocation dynamique : se fait pendant l'exécution. (malloc / free)