Cours #1 Flashcards
Différence entre internet et le web?
Internet = réseau de communication, Web = “page web”
qu’est-ce que le modulo (%)
modulo (%) = Le reste de la division
qu’est-ce qu’un programme?
Une DESCRITPION des opérations de traitement d’information à effectuer pour réaliser une tâche spécifique
qu’est-ce qu’une application?
Un ou plusieurs programmes qui fournissent un service à son utilisateur (jeu vidéo, traitement de texte, fûreteur Web, …)
Qu’est-ce qu’un logiciel?
Terme générique pour tout programme ou application
Qu’est-ce que le langage de programmation?
Ensemble de règles définissant la forme que doit prendre un programme valide (sa syntaxe) et le sens qui y est attaché (sa sémantique)
Qu’est-ce qu’un code?
Représentation d’un programme dans un langage de programmation spécifique (ex: alert(“bonjour!”)
Qu’est-ce qu’un processeur?
Un dispositif de traitement d’information qui fait l’exécution du code
qu’est-ce qu’un ordinateur?
Un processeur réalisé en matériel pouvant exécuter du code en langage machine (x86, ARM, MIPS, …)
Quelle sont les deux sortes de mémoires?
Mémoire vive et mémoire morte
La différence entre mémoire morte et mémoire vive?
Morte = vient avec le fabricant, ne peut être modifiée Vive = système d'exploitation
Exemple de système d’exploitation?
Windows
Quel est le modèle typique d’ordinateur?
Architecture de Von Neumann (code et données dans la même mémoire)
Comment sont encodés les codes et les données?
En binaire
Quelle sont les trois étapes du fonctionnement d’un ordinateur?
- lecture de l’instruction machine en mémoire
- décodage de l’instruction
- exécution de l’instruction
Quel est le langage assembleur?
Le langage assembleur est une représentation textuelle du langage machine
Avantages des langages assembleurs?
Contrôle total sur l’ordinateur
Possibilité d’exécution rapide
Désavantages des langages assembleurs?
Inintelligible pour les humains
Demande beaucoup de code pour faire peu
Programmeur doit se soucier des particularités de la machine, qui ne seront pas les mêmes d’une machine à l’autre
Qu’est qu’un langage de bas niveau?
Ces langages sont dits de bas niveau (d’abstraction) car le programmeur passe son temps à penser aux particularités de la machine plutôt que du traitement à réaliser
Qu’est-ce qu’un langage de haut niveau?
Les langages de haut niveau facilitent le travail du programmeur en l’isolant des détails reliés à la machine et en offrant des opérations plus proches de celles requises par l’application
Avantages des langages de haut niveau?
Accélère le codage (l’écriture du code) et sa compréhension par d’autres programmeurs
Réduit le nombre d’erreurs de programmation
Donne des programmes plus portables (qui peuvent exécuter sur des ordinateurs variés)
Qu’est-ce qu’un compilateur?
programme qui traduit un programme source, en langage source, en un programme équivalent en langage cible
Le compilateur s’occupe des particularités de
la machine et, dans certains cas, il optimise le
code pour une exécution rapide
Qu’est qu’un langage source?
le langage source est un langage de haut niveau
Qu’est-ce qu’un langage cible?
le langage cible est le langage machine de l’ordinateur
Qu’est-ce qu’un interprète?
programme qui est un processeur de son langage source
L’interprète exécute le programme
immédiatement
Avantage des interprètes?
Les interprètes favorisent le développement interactif et offrent un cycle de débogage plus rapide (rétroaction immédiate)
Différence entre compilateur et interprète?
L’exécution du programme est plus lente
avec un interprète qu’avec un compilateur
Quelles sont les étapes d’un logiciel?
Spécification Conception (Design) Codage (Coding) Tests (Testing) Mise en service Maintenance
Qu’est-ce qu’une spécification?
ensemble des caractéristiques voulues d’un logiciel (cahier des charges)
Description des comportements attendus La spécification est un contrat entre un
fournisseur de service (le développeur du logiciel) et un client (l’utilisateur du logiciel)
Qu’est-ce qu’un bogue?
défaut dans un logiciel qui fait qu’il ne respecte pas la spécification
Qu’est-ce qu’une conception?
établissement de l’architecture du logiciel (structure que prendra le logiciel et sa décomposition en sous-systèmes), choix d’algorithmes, langages et technologies, …
qu’est-ce qu’un codage?
écriture des parties en un/des langage(s) de programmation spécifique(s)
Qu’est-ce qu’un test?
vérification du bon fonctionnement
Qu’est-ce qu’une mise en service?
distribution/exploitation
qu’est-ce qu’une maintenance?
correction/extension
qu’est-ce que la syntaxe d’un langage?
forme textuelle que peuvent prendre les programmes valides
qu’est-ce qu’une grammaire?
ensemble de règles pour former des programmes valides syntaxiquement à partir de fragments de programme valides
qu’est-ce qu’un nombre décimal non-négatif?
une expression simple (une constante littérale), dont la valeur est le nombre en question
Quels sont les opérateurs de base en JavaScript?
Addition (+), soustraction (-), multiplication (*) et division (/)
qu’est-ce qu’un binaire pour deux opérandes?
Ex: 3 + 5 (le + = binaire)
qu’est-ce qu’un unaire pour un opérande?
Ex: -5 (- = unaire)
Quel est l’ordre d’importance pour les niveaux de préséances?
- Niveau 3 (opérateurs unaires), 2. Niveau 2 (opérateurs binaires multiplicatifs), 3. Niveau 1 (opérateurs binaires additifs)
Que permet la syntaxe des nombres?
permet de préciser des décimales et une puissance de 10
quelle sont les 3 façons principales de stocker les nombres en mémoire à l’aide d’un groupe de bits
Encodage binaire non signé
Encodage complément à 2
Encodage point flottant (norme IEEE 754)
qu’est-ce qu’un identificateur?
En JavaScript, les identificateurs sont des symboles composés de lettres (majuscules/minuscules), des chiffres (0-9), et les caractères $ et _