Examen d`Introduction `a l`Informatique

Transcription

Examen d`Introduction `a l`Informatique
Université Aix-Marseille II
Faculté des Sciences de Luminy
Licence I – 1er Semestre
Jeudi 12 Juin 2008
Examen d’Introduction à l’Informatique
Durée : 3 heures
Calculatrices et Documents Interdits
L’épreuve est un QCM dont les modalités sont les suivantes :
• Pas de points négatifs : Mauvaises réponses et absence de réponse n’enlèvent pas de points.
• Les questions marquées par 3 étoiles ⋆⋆⋆ ont exactement 3 bonnes réponses.
• Les questions marquées par 2 étoiles ⋆⋆ ont exactement 2 bonnes réponses.
• Toutes les autres questions ont exactement 1 bonne réponse.
• Il faut noircir exactement la/les bonne(s) réponse(s) (ni plus, ni moins) pour obtenir le point de la question.
• Les 50 questions (avec ou sans étoiles) rapportent le même nombre de points (0, 4 pt chacune).
Conventions
Les nombres sont écrits par défaut en base 10 sauf s’ils sont préfixés par :
% pour la base binaire, # pour la base octale, $ pour la base hexadécimale.
Utiliser exclusivement le formulaire spécial pour répondre
Ce QCM est corrigé automatiquement par une machine.
Porter beaucoup d’attention au remplissage du cadre de droite (Carte d’Etudiant/Code d’Examen) :
• Dans ce cadre, noircir au plus une case par colonne.
• Les cases que vous noircissez doivent l’être PLEINEMENT.
• Le numéro de carte d’étudiant est cadré A DROITE (c’est-à-dire que les colonnes laissées vierges par un
numéro de carte de moins de 7 chiffres se trouvent A GAUCHE).
• La colonne ”Lettre” doit TOUJOURS rester VIERGE.
• Le code d’examen est toujours 666. Les cases des trois 6 de ce cadre doivent être noircies.
• Toujours écrire le numéro entre les piquets pour vérification.
• Tout formulaire ne respectant pas ces consignes sera PENALISE.
Code d’examen : 666 pour tout le monde.
Exemple avec le numéro de carte 50338 :
N° carte d’étudiant
chiffres
lettre
code
examen
0
0
0
0
0
0
0
A
0
0
0
1
1
1
1
1
1
1
B
1
1
1
2
2
2
2
2
2
2
C
2
2
2
3
3
3
3
3
3
3
D
3
3
3
4
4
4
4
4
4
4
E
4
4
4
5
5
5
5
5
5
5
F
5
5
5
6
6
6
6
6
6
6
G
6
6
6
7
7
7
7
7
7
7
H
7
7
7
8
8
8
8
8
8
8
I
8
8
8
9
9
9
9
9
9
9
J
9
9
9
Codage – 5 questions par Mehdi Malik
Q-1: Le code ASCII (American Standard Code for Information Interchange) est une table codant les caractères
de la langue Anglaise. Les deux derniers caractères de la table sont : le caractère imprimable tilde (~), occupant
le code 126, suivi du caractère de contrôle delete (DEL), occupant le code 127. Combien de bits sont nécessaires
pour stocker un caractère ASCII ?
A◦ 128 bits
B◦ 6 bits
C◦ 255 bits
D◦ 7 bits
E◦ 256 bits
F◦ 8 bits
Q-2: La table ISO-Latin1 est une extension du code ASCII. Elle permet de coder les caractères ASCII en
conservant la même numérotation, ainsi que les caractères accentués de certaines langues Européennes. Elle
utilise un bit de plus que la table ASCII et son dernier caractère est le y umlaut (ÿ) occupant le code 255.
Comment vérifier qu’un code de la table ISO-Latin1 est aussi un code ASCII (et non une partie de l’extension) ?
A◦ son bit de poids faible = 0
B◦ son bit de poids fort = 0
C◦ il a un nombre pair de bits nuls
D◦ son bit de poids faible = 1
E◦ son bit de poids fort = 1
F◦ il a un nombre impair de bits nuls
Q-3: Dans la table ASCII, les codes 0 à 31 sont des caractères de contrôle. Les inventeurs de la table ISOLatin1 ont souhaité que les programmes initialement conçus pour traiter de l’ASCII continuent à fonctionner
s’ils traitent des caractères ISO-Latin1. De tels programmes sont susceptibles d’ignorer le bit supplémentaire
codant un caractère ISO-Latin1 en l’annulant, ce qui a deux conséquences : (1) certains caractères de l’extension
ISO-Latin1 risquent d’être vus comme des simples caractères ASCII après annulation de ce bit, provoquant des
erreurs bénignes d’affichage, et (2) d’autres risquent d’être vus comme des caractères ASCII de contrôle, ce qui
est plus grave. Afin d’éviter le cas (2), une plage de 32 codes à l’intérieur de la table ISO-Latin1 n’a reçu aucune
attribution. Calculer laquelle :
A◦ 128 à 159
B◦ 144 à 175
C◦ 160 à 191
D◦ 176 à 207
E◦ 192 à 223
F◦ 224 à 255
Q-4: Malgré cette précaution, il reste un code attribué à un caractère par la table ISO-Latin1 qui risque toujours
d’être vu comme un code de contrôle par de tels programmes. Lequel ?
A◦ 128
B◦ 144
C◦ 160
D◦ 176
E◦ 224
F◦ 255
Q-5: Pour une mémoire de 8 Giga-mots où chaque mot est adressable, le codage d’une adresse nécessite :
A◦ 8 bits
B◦ 11 bits
C◦ 21 bits
D◦ 33 bits
E◦ 38 bits
F◦ 64 bits
Représentations des Nombres – 5 questions par Sébastien Nedjar
Q-6: Quelle est l’écriture octale du nombre non-signé $FACE?
A◦ #175316 B◦ #VISAGE C◦ $23456 D◦ 64206 E◦ %1 111 101 011 001 110
F◦ #523241
Q-7: Quel est le nombre signé dont la représentation en complément à 2 sur 1 octet est %1111 1110 ?
A◦ 1
B◦ -2
C◦ -1
D◦ 2
E◦ 254
F◦ 255
Q-8: Soit $FADA un nombre non-signé sur 2 octets. Quels sont ses 4 bits de poids fort ?
A◦ %0111
B◦ %1000
C◦ %1001
D◦ %1010
E◦ %1011
F◦ %1111
Q-9: Quels sont les 3 bits de poids faible du nombre signé +209 représenté en complément à 2 sur 2 octets ?
A◦ %100
B◦ %001
C◦ %111
D◦ %000
E◦ %010
F◦ %101
Q-10: Quel est le plus grand nombre signé que l’on peut représenter en complément à 2 sur un mot de n bits ?
A◦ +(2n )
B◦ +(2n − 1)
C◦ +(2n−1 )
D◦ +(2n−1 − 1)
E◦ +(2n+1 )
F◦ +(2n+1 − 1)
Arithmétique des Ordinateurs – 5 questions par Bertrand Estellon
Q-11: ⋆⋆⋆ Une Unité Arithmétique et Logique (ALU) fonctionnant sur 4 bits et représentant les nombres
signés en complément à 2 effectue l’addition R = %1111 + %1101. Quels sont les états des flags CF, OF et SF ?
A◦ CF = 0
B◦ CF = 1
C◦ OF = 0
D◦ OF = 1
E◦ SF = 0
F◦ SF = 1
Q-12: Après cette addition, le flag CF permet de tester si le résultat R obtenu est :
A◦ négatif
B◦ nul
C◦ une puissance de 2
D◦ incorrect en non-signé
E◦ incorrect en signé
F◦ impair
Q-13: ⋆⋆ Après cette addition, le résultat R est :
A◦ négatif correct, en signé
B◦ positif correct, en signé
D◦ négatif incorrect, en signé
E◦ positif incorrect, en signé
C◦ correct en non-signé
F◦ incorrect en non-signé
Q-14: ⋆⋆⋆ L’ALU effectue la soustraction R= %1111 - %1101. Quels sont les états des flags CF, OF, et SF ?
A◦ CF = 0
B◦ CF = 1
C◦ OF = 0
D◦ OF = 1
E◦ SF = 0
F◦ SF = 1
Q-15: Après cette soustraction, le flag SF permet de tester si le résultat R est :
A◦ négatif
B◦ nul
C◦ une puissance de 2
D◦ incorrect en non-signé
E◦ incorrect en signé
F◦ impair
Logique, Opérations bit-à-bit – 5 questions par Alexis Nasr
Un examen est composé de cinq questions. Pour chaque question, six réponses sont proposées. La copie d’un
étudiant est représentée par un mot de 30 bits. Celui-ci se décompose en 5 blocs de 6 bits, chacun de ces blocs
correspond à une question. Le codage se fait de la gauche vers la droite, c’est-à-dire que le bloc le plus à gauche
correspond à la première question, et qu’au sein de chaque bloc, le bit le plus à gauche est à 1 si l’étudiant
considère que la première réponse à la question correspondante est la bonne. La réponse 1 de la question 1 se
trouve donc dans le bit de poids fort du mot, et la réponse 6 de la question 5 se trouve dans le bit de poids
faible. Il n’y a qu’une réponse possible par question et donc il n’y a au plus qu’un bit allumé par bloc.
Q-16: L’étudiant Georges Boole a choisi la réponse 1 à la question 1, la réponse 2 à la question 2, la réponse
3 à la question 3, la réponse 4 à la question 4, et la réponse 5 à la question 5. Parmi les mots suivants, lequel
correspond à sa copie ?
A◦ %000001 000010 000100 001000 010000
B◦ %011111 101111 110111 111011 111101
C◦ %100000 010000 001000 000100 000010
D◦ %111110 111101 111011 110111 101111
E◦ %111110 000000 000000 000000 000000
F◦ %010000 001000 000100 000010 000001
Q-17: On sait que la réponse correcte à la question 3 est la réponse 4. On appelle G le mot correspondant à la
copie de Georges, et on note & le AND bit-à-bit, | le OR bit-à-bit, >> le shift droit, << le shift gauche, et ~ le
NOT bit-à-bit. Quelle expression vaut 1 si et seulement si Georges a répondu juste à la troisième question ?
A◦ G & 1
B◦ G & %000000 000000 000100 000000 000000
C◦ (G >> 14) & 1
D◦ G | %000000 000000 000100 000000 000000
E◦ (G >> 14) | 1
F◦ G & %000000 000000 000000 001000 000000
Q-18: On appelle C le corrigé de l’examen (le mot correspondant aux cinq réponses correctes). Parmi les
expressions suivantes, laquelle vaut 0 si et seulement si Georges n’a aucune réponse correcte ?
A◦ G & C
B◦ G & ~C
C◦ C & ~G
D◦ G | C
E◦ G | ~C
F◦ C | ~G
Q-19: ⋆⋆ Georges se rend compte qu’il a oublié de répondre à la question 1. S’il propose la réponse 1,
quelles instructions permettent de compléter sa copie ?
A◦ G= G & (1 << 29) ;
B◦ G= G & 1 ;
C◦ G= G & %100000 000000 000000 000000 000000 ;
D◦ G= G | (1 << 29) ;
E◦ G= G | 1 ;
F◦ G= G | %100000 000000 000000 000000 000000 ;
Q-20: En sortant de l’examen, Georges rencontre son copain Auguste. On note A le mot correpondant à la
copie de ce dernier. Parmi les expressions suivantes, laquelle est non nulle si et seulement si Georges et Auguste
ont donné la même réponse à la question 5.
A◦ A & G & %111111
B◦ (A & G) | %111111
C◦ A & G
D◦ A | G | %111111
E◦ (A | G) & %111111
F◦ A | G
Système de Fichiers Unix – 5 questions par Jean-François Pique
Q-21: Dans le système de fichiers Unix, que représente le nom / constitué du seul symbole slash ?
A◦ Le répertoire courant.
B◦ Le répertoire maison.
C◦ La racine du système de fichiers.
D◦ Un début de commentaire.
E◦ Le prompt.
F◦ Le nom de la corbeille.
Q-22: ⋆⋆⋆ Sous Unix :
A◦ dans un répertoire, deux fichiers ne peuvent avoir le même nom.
B◦ un répertoire contient soit des fichiers soit des répertoires, mais jamais les deux.
C◦ majuscules et minuscules sont discriminantes pour les noms de fichiers.
D◦ un nom de fichier doit obligatoirement commencer par une lettre.
E◦ Le nombre total de fichiers est limité à 32 K.
F◦ A chaque fichier ou répertoire sont associés des privilèges d’accès.
Q-23: Parmi les commandes suivantes, laquelle copie le fichier /tmp/f.txt dans le répertoire courant ?
A◦ cp /tmp/f.txt
B◦ cp tmp/f.txt tmp/f.txt
C◦ cp f.txt/tmp/f.txt
D◦ cp /tmp f.txt .
E◦ cp /tmp/f.txt .
F◦ cp /tmp/f.txt > f.txt
Q-24: Si un fichier script peut être exécuté par tout le monde, lu par tout son groupe, et modifié par son
propriétaire seul, quelles sont les permissions qui doivent être affichées par ls -l ?
A◦ -r-w-x
B◦ -rwxr-x--x
C◦ ---x--r--w
D◦ d-wxr----x
E◦ -rwx---r-x
F◦ --xr-xrwxQ-25: Sachant que tous les noms listés ci-dessous sont des répertoires, et que le répertoire courant est /home/toto,
qu’affiche la commande finale ?
$ ls
A◦ /home/toto
images music video
B◦ /home/toto/images
$ ls video
C◦ /home/toto/images/naruto
bleach inuyasha naruto
D◦ /home/toto/images/../naruto
$ cd images/../video/naruto/./
E◦ /home/toto/naruto
$ pwd
F◦ /home/toto/video/naruto
Pipes et Filtres Unix – 5 questions par Karim Nouioua
Pour les 5 questions suivantes, on considère le contenu suivant du fichier notes :
Nom;Pre;Angl;Info;Math;Phys
Dupont;Enzo;10;12;5;12
Durand;Emma;12;3;7;12;15
Sanchez;Anais;8;10;16;3
Dubois;Manon;13;15;16;14
Petit;Louis;10;11;9;12;4
Blanchard;Leo;4;7;8;2
Q-26: Qu’affiche la commande suivante : cat notes | fgrep 3
A◦
3
3
13
B◦
3;
3;
13;
C◦
Dupont;Enzo;10;12;5;12
Petit;Louis;10;11;9;12;4
Blanchard;Leo;4;7;8;2
D◦
3
E◦
Durand;Emma;12;3;7;12;15
Sanchez;Anais;8;10;16;3
Dubois;Manon;13;15;16;14
Q-27: Qu’affiche la commande suivante : cat notes | tail -6 | sort | head -1
A◦
Blanchard;Leo;4;7;8;2
Dubois;Manon;13;15;16;14
Dupont;Enzo;10;12;5;12
Durand;Emma;12;3;7;12;15
Nom;Pre;Angl;Info;Math;Phys
Petit;Louis;10;11;9;12;4
Sanchez;Anais;8;10;16;3
B◦
12;
15;
3;
14;
4;
2;
Q-28: Qu’affiche la dernière commande ci-contre :
A◦
Nom;Anglais
B◦
Nom;Anglais
Dupont;10
Durand;12
Sanchez;8
Dubois;13
Petit;10
Blanchard;4
C◦
C◦
2;
3;
4;
12;
14;
15;
cat notes | cut -d’;’ -f1 | fgrep D
cat notes | sort | tail -6 | head -3
cat notes | sort | head -3 | tail -6
E◦ Nom;Pre;Angl;Info;Math;Phys
F◦ Sanchez;Anais;8;10;16;3
cat notes | cut -d’;’ -f1 > nom
cat notes | cut -d’;’ -f3 > anglais
paste -d’;’ nom anglais
Nom
Dupont
Durand
Sanchez
Dubois
Petit
Blanchard
Q-29: ⋆⋆ Quelles commandes produisent la sortie ci-contre :
A◦
C◦
E◦
D◦ Blanchard;Leo;4;7;8;2
B◦
D◦
F◦
D◦
Anglais
10
12
8
13
10
4
E◦
15;
14;
12;
4;
3;
2;
Dupont
Durand
Dubois
cat notes | fgrep Du
cat notes | sort | tail -3 | head -6
cat notes | fgrep D | cut -d’;’ -f1
Q-30: Comment obtenir le contenu de notes avec les notes d’Anglais dans la 6ème colonne au lieu de la 3ème ?
A◦ cat notes | fgrep ’Angl;’ | paste ’1,2,4,5,6,3’
B◦ cat notes | fgrep ’Angl;’ | paste ’1;2;4;5;6;3’
C◦ cat notes | fgrep ’Angl;’ | paste ’1-2-4-5-6-3’
D◦ cat notes | cut -d’;’ -f1,2,4,5,6,3
E◦
cat notes | cut -d’;’ -f3 > aaa
cat notes | cut -d’;’ -f1,2,4,5,6 > bbb
paste -d’;’ aaa bbb
F◦
cat notes | cut -d’;’ -f1,2,4,5,6 > aaa
cat notes | cut -d’;’ -f3 > bbb
paste -d’;’ aaa bbb
Expressions Régulières sous Unix – 5 questions par Jérôme Hulin
Q-31: Qu’affiche la commande : echo ’abracadabra’ | sed ’s/ab/up/g’
A◦ abracadabra
B◦ apracadapra
C◦ ubracadabra
D◦ ubrucudubru
E◦ labarbapapa
F◦ upracadupra
Q-32: Qu’affiche la commande : echo ’0+0=1’ | sed ’s/0/1/g’ | sed ’s/1/0/g’
A◦ 0+0=0
B◦ 0+0=1
C◦ 1+0=0
D◦ 1+0=1
E◦ 1+1=0
Dans la suite, on considère le fichier dist, contenant les distances
séparant Paris de différentes villes (exprimées en kilomètres). Chaque
ligne de ce fichier est de la forme nom#distance. Le fichier ne contient
ni espace, ni caractère accentué. Chaque nom de ville commence par une
majuscule. De plus, les nombres n’ont jamais de zéro à gauche. Voici
ci-contre les 5 premières lignes de ce fichier.
F◦ 1+1=1
Abidjan#4900
Agadir#2300
Amman#3370
Amsterdam#430
Antalya#2700
Q-33: Comment afficher les lignes de toutes les villes contenant la lettre ’c’ ou la lettre ’C’ ?
A◦ cat dist | egrep ’c’ | egrep ’C’
B◦ cat dist | egrep ’cC’
C◦ cat dist | egrep ’c.*C’
D◦ cat dist | egrep ’c|C’
E◦ cat dist | egrep ’c.*C|C.*c’
F◦ cat dist | sed ’s/./c/g’ | egrep ’c’
Q-34: Comment afficher les lignes de toutes les villes dont la distanceà Paris se termine par le chiffre 7 ?
A◦ cat dist | egrep ’7’
B◦ cat dist | egrep ’#7’
C◦ cat dist | egrep ’#7$’
D◦ cat dist | egrep ’$7’
E◦ cat dist | egrep ’7$’
F◦ cat dist | egrep ’7^’
Q-35:
A◦
C◦
E◦
Comment afficher les lignes de toutes les villes contenant au moins 2 voyelles ?
cat dist | egrep ’[aeiouy]’ | egrep ’[aeiouy]’
B◦ cat dist | egrep ’2[aeiouy]’
cat dist | egrep ’[aeiouy][aeiouy]*’
D◦ cat dist | egrep ’2*[aeiouy]’
cat dist | egrep ’[aeiouy].*[aeiouy]’
F◦ cat dist | egrep -v ’[aeiouy]’
Algorithmique – 5 questions par Yann Vaxès
Pour les 5 questions suivantes, le but consiste à deviner par
quoi remplacer l’Instruction-Mystère du programme ci-contre afin
d’obtenir le résultat demandé, ou inversement à déterminer le résultat
obtenu lorsque l’on remplace l’Instruction-Mystère par une instruction déterminée. Nous supposons que T[ ] est un tableau de 5 entiers
avec T[0]= -3, T[1]= 1, T[2]= 2, T[3]= -5, T[4]= 4.
Soit k, val: entiers;
val= 0; k= 0;
Tant-Que (k <= 4) Faire
Instruction-Mystère;
k= k+1;
Fin-Tant-Que;
Afficher_Entier(val);
Q-36: Que représente la valeur affichée si l’on remplace l’Instruction-Mystère par : val = val+T[k];
A◦ 7
B◦ −5
C◦ 6
D◦ −1
E◦ 4
F◦ 15
Q-37: Que représente la valeur affichée si l’on remplace l’Instruction-Mystère par :
Si (T[k]>0) Alors val= val + T[k]; Sinon val= val-T[k];
A◦ 7
B◦ −5
C◦ 6
D◦ −1
E◦ 4
F◦ 15
Q-38: Que représente la valeur affichée si l’on remplace l’Instruction-Mystère par :
Si (T[k]>0 et T[k]%2==0) Alors val= val+T[k];
A◦ 7
B◦ −5
C◦ 6
D◦ −1
E◦ 4
F◦ 15
Q-39: Par quoi faut-il remplacer l’Instruction-Mystère pour que la valeur affichée soit la somme de tous les
éléments positifs impairs ?
A◦ Si (T[k]<0 Et T[k]%2==0) Alors val= val+T[k];
B◦ Si (T[k]%2==0) Alors val= T[k];
C◦ Si (T[k]>0 Et T[k]%2==1) Alors val= val+T[k];
D◦ Si (T[k]%2==1) Alors val= val+T[k];
E◦ Si (T[k]<0 Et T[k]%2==0) Alors val= val+T[k];
F◦ Si (T[k]<0) Alors val= T[k];
Q-40: Si la valeur affichée est 8, quelle est l’Instruction-Mystère ?
A◦ val= val-T[k];
B◦ val= val+T[k];
C◦ Si (T[k]>0) Alors val= val-T[k];
D◦ Si (T[k]<0) Alors val= val+T[k];
E◦ Si (T[k]<0) Alors val= val-T[k];
F◦ Si (T[k]>0) Alors val= val+T[k];
HTML – 5 questions par Mounir Kechid
Q-41: Quel est le tableau correspondant au code suivant ?
<table border=1>
<tr>
<td> 1
<td> 2
<td> 3
<tr>
<td> x
<td> y
<td> z
</table>
A◦
1
2
3
x
y
z
D◦
1
x
2
y
3
z
B◦
x
y
z
1
2
3
E◦
x
1
y
2
z
3
C◦
1
3
y
2
x
z
F◦
1
2
3
x
y
z
Q-42: Dans la balise <a>, l’attribut target=... permet de définir :
A◦ l’URL de la page à charger.
B◦ la fenêtre d’affichage de la page à charger.
C◦ le texte cliquable généralement affiché en bleu souligné.
D◦ le style d’affichage de l’ancre.
E◦ le code javascript à exécuter lorsque le lien est cliqué.
F◦ un endroit précis à l’intérieur d’une page.
Q-43: Pour afficher un texte en italique quelle balise faut-il utiliser ?
A◦ <b>
B◦ <big>
C◦ <strong>
D◦ <i>
E◦ <ita>
Q-44: Quelle balise introduit une liste ordonnée :
A◦ <ln>
B◦ <ol>
C◦ <listnum>
D◦ <h1>
F◦ <italic>
E◦ <center>
F◦ <hr>
Q-45: ⋆⋆ Quelles balises ne nécessitent pas de la balise fermante </...> correspondante ?
A◦ <hr>
B◦ <ul>
C◦ <h1>
D◦ <a>
E◦ <html>
F◦ <img>
Tutti Frutti – 9 questions par Régis Barbanchon
N=$( cat fichier | egrep ’e+’ | wc -l )
Q-46: Que peut-on dire a priori à propos de N et M ?
M=$( cat fichier | egrep ’e*e’ | wc -l )
A◦ N < M
B◦ N ≤ M
C◦ N = M
D◦ N ≥ M
E◦ N > M
F◦ rien a priori
N=$( cat fichier | egrep ’^e.*e$’ | wc -l )
Q-47: Que peut-on dire a priori à propos de N et M ?
M=$( cat fichier | egrep ’e.*e’ | wc -l )
A◦ N < M
B◦ N ≤ M
C◦ N = M
D◦ N ≥ M
E◦ N > M
F◦ rien a priori
Q-48: ⋆⋆⋆ Si (a ∧ b) = 1, alors :
A◦ (a ∨ b) = 0
B◦ (a ∨ b) = 1
C◦ (a ⊕ b) = 0
D◦ (a ⊕ b) = 1
E◦ a = 0
F◦ a = 1
Q-49: ⋆⋆⋆ Si (a ∨ b) = 0, alors :
A◦ (a ∧ b) = 0
B◦ (a ∧ b) = 1
C◦ (a ⊕ b) = 0
D◦ (a ⊕ b) = 1
E◦ a = 0
F◦ a = 1
Q-50: L’expression ¬(¬a ∨ ¬b) est équivalente à :
A◦ a ∨ b
B◦ a ∧ b
C◦ a ⊕ b
D◦ ¬(a ∨ b)
E◦ ¬(a ∧ b)
F◦ ¬(a ⊕ b)