100% tevredenheidsgarantie Direct beschikbaar na je betaling Lees online óf als PDF Geen vaste maandelijkse kosten 4.2 TrustPilot
logo-home
Tentamen (uitwerkingen)

Exam (elaborations) TEST BANK FOR Introduction to the Theory of Computation 3rd Edition By Michael Sipser (Solution Manual)

Beoordeling
2,0
(1)
Verkocht
4
Pagina's
90
Cijfer
A+
Geüpload op
15-11-2021
Geschreven in
2021/2022

Exam (elaborations) TEST BANK FOR Introduction to the Theory of Computation 3rd Edition By M. (Michael) Sipser (Solution Manual) Instructor’s Solutions Manual for Introduction to the Theory of Computation third edition Michael Sipser Mathematics Department MIT c 2013 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part. Chapter 0 0.1 a. The odd positive integers. b. The even integers. c. The even positive integers. d. The positive integers which are a multiple of 6. e. The palindromes over {0,1}. f. The empty set. 0.2 a. {1, 10, 100}. b. {n| n > 5}. c. {1, 2, 3, 4}. d. {aba}. e. {ε}. f. ∅. 0.3 a. No. b. Yes. c. A. d. B. e. {(x, x), (x, y), (y, x), (y, y), (z, x), (z, y)}. f. {∅, {x}, {y}, {x, y}}. 0.4 A × B has ab elements, because each element of A is paired with each element of B, so A × B contains b elements for each of the a elements of A. 0.5 P(C) contains 2c elements because each element of C may either be in P(C) or not in P(C), and so each element of C doubles the number of subsets of C. Alternatively, we can view each subset S of C as corresponding to a binary string b of length c, where S contains the ith element of C iff the ith place of b is 1. There are 2c strings of length c and hence that many subsets of C. 0.6 a. f(2) = 7. b. The range = {6, 7} and the domain = {1, 2, 3, 4, 5}. c. g(2,10) = 6. d. The range = {1, 2, 3, 4, 5} × {6, 7, 8, 9, 10} and the domain = {6, 7, 8, 9, 10}. e. f(4) = 7 so g(4, f(4)) = g(4, 7) = 8. 1 c 2013 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part. 2 Theory of Computation, third edition 0.7 The underlying set is N in these examples. a. Let R be the “within 1” relation, that is, R = {(a, b)| |a − b| ≤ 1}. b. Let R be the “less than or equal to” relation, that is, R = {(a, b)| a ≤ b}. c. Finding a R that is symmetric and transitive but not reflexive is tricky because of the following “near proof” that R cannot exist! Assume that R is symmetric and transitive and chose any member x in the underlying set. Pick any other member y in the underlying set for which (x, y) ∈ R. Then (y, x) ∈ R because R is symmetric and so (x, x) ∈ R because R is transitive, hence R is reflexive. This argument fails to be an actual proof because y may fail to exist for x. Let R be the “neither side is 1” relation, R = {(a, b)| a = 1 and b = 1}. 0.10 Let G be any graph with n nodes where n ≥ 2. The degree of every node in G is one of the n possible values from 0 to n − 1. We would like to use the pigeon hole principle to show that two of these values must be the same, but number of possible values is too great. However, not all of the values can occur in the same graph because a node of degree 0 cannot coexist with a node of degree n − 1. Hence G can exhibit at most n − 1 degree values among its n nodes, so two of the values must be the same. 0.11 The error occurs in the last sentence. If H contains at least 3 horses, H1 and H2 contain a horse in common, so the argument works properly. But, if H contains exactly 2 horses, then H1 and H2 each have exactly 1 horse, but do not have a horse in common. Hence we cannot conclude that the horse in H1 has the same color as the horse in H2. So the 2 horses in H may not be colored the same. 0.12 a. Basis: Let n = 0. Then, S(n) = 0 by definition. Furthermore, 1 2n(n + 1) = 0. So S(n) = 1 2n(n + 1) when n = 0. Induction: Assume true for n = k where k ≥ 0 and prove true for n = k + 1. We can use this series of equalities: S(k + 1) = 1 + 2 + · · · + k + (k + 1) by definition = S(k) + (k + 1) because S(k) = 1 + 2 + · · · + k = 1 2k(k + 1) + (k + 1) by the induction hypothesis = 1 2 (k + 1)(k + 2) by algebra b. Basis: Let n = 0. Then, C(n) = 0 by definition, and 1 4 (n4 + 2n3 + n2) = 0. So C(n) = 1 4 (n4 + 2n3 + n2) when n = 0. Induction: Assume true for n = k where k ≥ 0 and prove true for n = k + 1. We can use this series of equalities: C(k + 1) = 13 + 23 + · · · + k3 + (k + 1)3 by definition = C(k) + (k + 1)3 C(k) = 13 + · · · + k3 = 1 4 (n4 + 2n3 + n2) + (k + 1)3 induction hypothesis = 1 4 ((n + 1)4 + 2(n + 1)3 + (n + 1)2) by algebra 0.13 Dividing by (a − b) is illegal, because a = b hence a − b = 0 and division by 0 is undefined. c 2013 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part. Chapter 1 1.12 Observe that D ⊆ b∗a∗ because D doesn’t contain strings that have ab as a substring. Hence D is generated by the regular expression (aa)∗b(bb)∗. From this description, finding the DFA for D is more easily done. 1.14 a. LetM be the DFAM with the accept and non-accept states swapped. We show thatM recognizes the complement of B, where B is the language recognized by M. Suppose M accepts x. If we run M on x we end in an accept state of M. Because M and M have swapped accept/non-accept states, if we runM on x, we would end in a non-accept state. Therefore, x ∈ B. Similarly, if x is not accepted by M, then it would be accepted byM. SoM accepts exactly those strings not accepted byM. Therefore,M recognizes the complement of B. Since B could be any arbitrary regular language and our construction shows how to build an automaton to recognize its complement, it follows that the complement of any regular language is also regular. Therefore, the class of regular languages is closed under complement. b. Consider the NFA in Exercise 1.16(a). The string a is accepted by this automaton. If we swap the accept and reject states, the string a is still accepted. This shows that swapping the accept and non-accept states of an NFA doesn’t necessarily yield a new NFA recognizing the complementary language. The class of languages recognized by NFAs is, however, closed under complement. This follows from the fact that the class of languages recognized by NFAs is precisely the class of languages recognized by DFAs which we know is closed under complement from part (a). 1.18 LetΣ = {0, 1}. a. 1Σ∗0 b. Σ∗1Σ∗1Σ∗1Σ∗ c. Σ∗0101Σ∗ d. ΣΣ0Σ∗ e. (0 ∪ 1Σ)(ΣΣ)∗ f. (0 ∪ (10)∗)∗1∗ g. (ε ∪ Σ)(ε ∪ Σ)(ε ∪ Σ)(ε ∪ Σ)(ε ∪ Σ) h. Σ∗0Σ∗ ∪ 1111Σ∗ ∪ 1 ∪ ε i. (1Σ)∗(1 ∪ ε) j. 0∗(100 ∪ 010 ∪ 001 ∪ 00)0∗ k. ε ∪ 0 l. (1∗01∗01∗)∗ ∪ 0∗10∗10∗ 3 c 2013 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part. 4 Theory of Computation, third edition m. ∅ n. Σ+ 1.20 a. ab, ε; ba, aba b. ab, abab; ε, aabb c. ε, aa; ab, aabb d. ε, aaa; aa, b e. aba, aabbaa; ε, abbb f. aba, bab; ε, ababab g. b, ab; ε, bb h. ba, bba; b, ε 1.21 In both parts we first add a new start state and a new accept state. Several solutions are possible, depending on the order states are removed. a. Here we remove state 1 then state 2 and we obtain a∗b(a ∪ ba∗b)∗ b. Here we remove states 1, 2, then 3 and we obtain ε ∪ ((a ∪ b)a∗b((b ∪ a(a ∪ b))a∗b)∗(ε ∪ a)) 1.22 b. /#(#∗(a ∪ b) ∪ /)∗#+/ 1.24 a. q1, q1, q1, q1; 000. b. q1, q2, q2, q2; 111. c. q1, q1, q2, q1, q2; 0101. d. q1, q3; 1. e. q1, q3, q2, q3, q2; 1111. f. q1, q3, q2, q1, q3, q2, q1; . g. q1; ε. 1.25 A finite state transducer is a 5-tuple (Q,Σ, Γ, δ, q0), where i) Q is a finite set called the states, ii) Σ is a finite set called the alphabet, iii) Γ is a finite set called the output alphabet, iv) δ : Q × Σ−→Q × Γ is the transition function, v) q0 ∈ Q is the start state. Let M = (Q,Σ, Γ, δ, q0) be a finite state transducer, w = w1w2 · · ·wn be a string over Σ, and v = v1v2 · · · vn be a string over the Γ. Then M outputs v if a sequence of states r0, r1, . . . , rn exists in Q with the following two conditions: i) r0 = qo ii) δ(ri, wi+1) = (ri+1, vi+1) for i = 0, . . . , n − 1. 1.26 a. T1 = (Q,Σ, Γ, δ, q1), where i) Q = {q1, q2}, ii) Σ = {0, 1, 2}, iii) Γ = {0, 1}, iv) δ is described as 0 1 2 q1 (q1,0) (q1,0) (q2,1) q2 (q1,0) (q2,1) (q2,1) v) q1 is the start state. c 2013 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part. Instructor’s Manual 5 b. T2 = (Q,Σ, Γ, δ, q1), where i) Q = {q1, q2, q3}, ii) Σ = {a, b}, iii) Γ = {0, 1}, iv) δ is described as a b q1 (q2,1) (q3,1) q2 (q3,1) (q1,0) q3 (q1,0) (q2,1) v) q1 is the start state. 1.29 b. Let A2 = {www| w ∈ {0,1}∗}. We show that A2 is nonregular using the pumping lemma. Assume to the contrary that A2 is regular. Let p be the pumping length given by the pumping lemma. Let s be the string apbapbapb. Because s is a member of A2 and s has length more than p, the pumping lemma guarantees that s can be split into three pieces, s = xyz, satisfying the three conditions of the lemma. However, condition 3 implies that y must consist only of as, so xyyz ∈ A2 and one of the first two conditions is violated. Therefore A2 is nonregular. 1.30 The error is that s = 0p1p can be pumped. Let s = xyz, where x = 0, y = 0 and z = 0p−21p. The conditions are satisfied because i) for any i ≥ 0, xyiz = 00i0p−21p is in 0∗1∗. ii) |y| = 1 > 0, and iii) |xy| = 2 ≤ p. 1.31 We construct a DFA which alternately simulates the DFAs for A and B, one step at a time. The new DFA keeps track of which DFA is being simulated. LetM1 = (Q1,Σ, δ1, s1, F1) and M2 = (Q2,Σ, δ2, s2, F2) be DFAs for A and B. We construct the following DFA M = (Q,Σ, δ, s0, F) for the perfect shuffle of A and B. i) Q = Q1 × Q2 × {1, 2}. ii) For q1 ∈ Q1, q2 ∈ Q2, b ∈ {1, 2}, and a ∈ Σ: δ((q1, q2, b), a) =  (δ1(q1, a), q2, 2) b = 1 (q1, δ1(q2, a), 1) b = 2. iii) s0 = (s1, s2, 1). iv) F = {(q1, q2, 1)| q1 ∈ F1 and q2 ∈ F2}. 1.32 We construct an NFA which simulates the DFAs for A and B, nondeterministically switching back and forth from one to the other. Let M1 = (Q1,Σ, δ1, s1, F1) and M2 = (Q2,Σ, δ2, s2, F2) be DFAs for A and B. We construct the following NFA N = (Q,Σ, δ, s0, F) for the shuffle of A and B. i) Q = Q1 × Q2. ii) For q1 ∈ Q1, q2 ∈ Q2, and a ∈ Σ: δ((q1, q2), a) = {(δ1(q1, a), q2), (q1, δ2(q2, a))}. iii) s0 = (s1, s2). iv) F = {(q1, q2)| q1 ∈ F1 and q2 ∈ F2}. 1.33 Let M = (Q,Σ, δ, q0, F) be a DFA that recognizes A. Then we construct NFA N = (Q,Σ, δ, q 0, F) recognizing DROP-OUT(A). The idea behind the construction is that N simulates M on its input, nondeterministically guessing the point at which the c 2013 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part. 6 Theory of Computation, third edition dropped out symbol occurs. At that point N guesses the symbol to insert in that place, without reading any actual input symbol at that step. Afterwards, it continues to simulate M. We implement this idea in N by keeping two copies ofM, called the top and bottom copies. The start state is the start state of the top copy. The accept states of N are the accept states of the bottom copy. Each copy contains the edges that would occur in M. Additionally, include ε edges from each state q in the top copy to every state in the bottom copy that q can reach. We describe N formally. The states in the top copy are written with a T and the bottom with a B, thus: (T, q) and (B, q). i) Q = {T,B} × Q, ii) q 0 = (T, q0), iii) F = {B} × F, iv) δ((T, q), a) =  {(T, δ(q, a))} a ∈ Σ {(B, δ(q, b))| b ∈ Σ} a = ε δ((B, q), a) =  {(B, δ(q, a))} a ∈ Σ ∅ a = ε 1.35 Let M = (Q,Σ, δ, q0, F) be a DFA that recognizes A. We construct a new DFA M = (Q,Σ, δ, q0, F) that recognizes A/B. Automata M and M differ only in the sets of accept states. Let F = {r| starting at r and reading a string in B we get to an accept state of M}. Thus M accepts a string w iff there is a string x ∈ B where M accepts wx. Hence M recognizes A/B. 1.36 For any regular language A, let M1 be the DFA recognizing it. We need to find a DFA that recognizes AR. Since any NFA can be converted to an equivalent DFA, it suffices to find an NFA M2 that recognizes AR. We keep all the states in M1 and reverse the direction of all the arrows in M1. We set the accept state of M2 to be the start state in M1. Also, we introduce a new state q0 as the start state for M2 which goes to every accept state in M1 by an -transition. 1.39 The idea is that we start by comparing the most significant bit of the two rows. If the bit in the top row is bigger, we know that the string is in the language. The string does not belong to the language if the bit in the top row is smaller. If the bits on both rows are the same, we move on to the next most significant bit until a difference is found. We implement this idea with a DFA having states q0, q1, and q2. State q0 indicates the result is not yet determined. States q1 and q2 indicate the top row is known to be larger, or smaller, respectively. We start with q0. If the top bit in the input string is bigger, it goes to q1, the only accept state, and stays there till the end of the input string. If the top bit in the input string is smaller, it goes to q2 and stays there till the end of the input string. Otherwise, it stays in state q0. 1.40 Assume language E is regular. Use the pumping lemma to a get a pumping length p satisfying the conditions of the pumping lemma. Set s = [01 ]p [ 10 ]p. Obviously, s ∈ E and |s| ≥ p. Thus, the pumping lemma implies that the string s can be written as xyz with x = [01 ]a , y = [01 ]b , z = [01 ]c [ 10 ]p, where b ≥ 1 and a + b + c = p. However, the string s = xy0z = [01 ]a+c [ 10 ]p ∈ E, since a + c < p. That contradicts the pumping lemma. Thus E is not regular. c 2013 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part. Instructor’s Manual 7 1.41 For each n ≥ 1, we build a DFA with the n states q0, q1, . . . , qn−1 to count the number of consecutive a’s modulo n read so far. For each character a that is input, the counter increments by 1 and jumps to the next state in M. It accepts the string if and only if the machine stops at q0. That means the length of the string consists of all a’s and its length is a multiple of n. More formally, the set of states of M is Q = {q0, q1, . . . , qn−1}. The state q0 is the start state and the only accept state. Define the transition function as: δ(qi, a) = qj where j = i + 1 mod n. 1.42 By simulating binary division, we create a DFA M with n states that recognizes Cn. M has n states which keep track of the n possible remainders of the division process. The start state is the only accept state and corresponds to remainder 0. The input string is fed into M starting from the most significant bit. For each input bit, M doubles the remainder that its current state records, and then adds the input bit. Its new state is the sum modulo n. We double the remainder because that corresponds to the left shift of the computed remainder

Meer zien Lees minder
Instelling
Vak











Oeps! We kunnen je document nu niet laden. Probeer het nog eens of neem contact op met support.

Gekoppeld boek

Geschreven voor

Instelling
Vak

Documentinformatie

Geüpload op
15 november 2021
Aantal pagina's
90
Geschreven in
2021/2022
Type
Tentamen (uitwerkingen)
Bevat
Vragen en antwoorden

Onderwerpen

Voorbeeld van de inhoud

, Instructor’s Solutions Manual for
Introduction to the Theory of Computation
third edition



Michael Sipser
Mathematics Department
MIT




c 2013 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be
different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

, Chapter 0


0.1 a. The odd positive integers.
b. The even integers.
c. The even positive integers.
d. The positive integers which are a multiple of 6.
e. The palindromes over {0,1}.
f. The empty set.

0.2 a. {1, 10, 100}.
b. {n| n > 5}.
c. {1, 2, 3, 4}.
d. {aba}.
e. {ε}.
f. ∅.

0.3 a. No.
b. Yes.
c. A.
d. B.
e. {(x, x), (x, y), (y, x), (y, y), (z, x), (z, y)}.
f. {∅, {x}, {y}, {x, y}}.

0.4 A × B has ab elements, because each element of A is paired with each element of B, so
A × B contains b elements for each of the a elements of A.

0.5 P(C) contains 2c elements because each element of C may either be in P(C) or not in
P(C), and so each element of C doubles the number of subsets of C. Alternatively, we
can view each subset S of C as corresponding to a binary string b of length c, where S
contains the ith element of C iff the ith place of b is 1. There are 2c strings of length c
and hence that many subsets of C.

0.6 a. f (2) = 7.
b. The range = {6, 7} and the domain = {1, 2, 3, 4, 5}.
c. g(2, 10) = 6.
d. The range = {1, 2, 3, 4, 5} × {6, 7, 8, 9, 10} and the domain = {6, 7, 8, 9, 10}.
e. f (4) = 7 so g(4, f (4)) = g(4, 7) = 8.


1
c 2013 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be
different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

, 2 Theory of Computation, third edition

0.7 The underlying set is N in these examples.
a. Let R be the “within 1” relation, that is, R = {(a, b)| |a − b| ≤ 1}.
b. Let R be the “less than or equal to” relation, that is, R = {(a, b)| a ≤ b}.
c. Finding a R that is symmetric and transitive but not reflexive is tricky because of the
following “near proof” that R cannot exist! Assume that R is symmetric and transitive
and chose any member x in the underlying set. Pick any other member y in the underlying
set for which (x, y) ∈ R. Then (y, x) ∈ R because R is symmetric and so (x, x) ∈ R
because R is transitive, hence R is reflexive. This argument fails to be an actual proof
because y may fail to exist for x.
Let R be the “neither side is 1” relation, R = {(a, b)| a = 1 and b = 1}.

0.10 Let G be any graph with n nodes where n ≥ 2. The degree of every node in G is one
of the n possible values from 0 to n − 1. We would like to use the pigeon hole principle
to show that two of these values must be the same, but number of possible values is too
great. However, not all of the values can occur in the same graph because a node of
degree 0 cannot coexist with a node of degree n − 1. Hence G can exhibit at most n − 1
degree values among its n nodes, so two of the values must be the same.

0.11 The error occurs in the last sentence. If H contains at least 3 horses, H1 and H2 contain
a horse in common, so the argument works properly. But, if H contains exactly 2 horses,
then H1 and H2 each have exactly 1 horse, but do not have a horse in common. Hence
we cannot conclude that the horse in H1 has the same color as the horse in H2 . So the 2
horses in H may not be colored the same.

0.12 a. Basis: Let n = 0. Then, S(n) = 0 by definition. Furthermore, 12 n(n + 1) = 0. So
S(n) = 12 n(n + 1) when n = 0.
Induction: Assume true for n = k where k ≥ 0 and prove true for n = k + 1. We
can use this series of equalities:

S(k + 1) = 1 + 2 + · · · + k + (k + 1) by definition
= S(k) + (k + 1) because S(k) = 1 + 2 + · · · + k
= 12 k(k + 1) + (k + 1) by the induction hypothesis
= 12 (k + 1)(k + 2) by algebra

b. Basis: Let n = 0. Then, C(n) = 0 by definition, and 14 (n4 + 2n3 + n2 ) = 0. So
C(n) = 14 (n4 + 2n3 + n2 ) when n = 0.
Induction: Assume true for n = k where k ≥ 0 and prove true for n = k + 1. We
can use this series of equalities:

C(k + 1) = 13 + 23 + · · · + k 3 + (k + 1)3 by definition
= C(k) + (k + 1) 3
C(k) = 13 + · · · + k 3
= 14 (n4 + 2n3 + n2 ) + (k + 1)3 induction hypothesis
1 4 3 2
= 4 ((n + 1) + 2(n + 1) + (n + 1) ) by algebra

0.13 Dividing by (a − b) is illegal, because a = b hence a − b = 0 and division by 0 is
undefined.




c 2013 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be
different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Beoordelingen van geverifieerde kopers

Alle reviews worden weergegeven
11 maanden geleden

2,0

1 beoordelingen

5
0
4
0
3
0
2
1
1
0
Betrouwbare reviews op Stuvia

Alle beoordelingen zijn geschreven door echte Stuvia-gebruikers na geverifieerde aankopen.

Maak kennis met de verkoper

Seller avatar
De reputatie van een verkoper is gebaseerd op het aantal documenten dat iemand tegen betaling verkocht heeft en de beoordelingen die voor die items ontvangen zijn. Er zijn drie niveau’s te onderscheiden: brons, zilver en goud. Hoe beter de reputatie, hoe meer de kwaliteit van zijn of haar werk te vertrouwen is.
Expert001 Chamberlain School Of Nursing
Volgen Je moet ingelogd zijn om studenten of vakken te kunnen volgen
Verkocht
797
Lid sinds
4 jaar
Aantal volgers
566
Documenten
1190
Laatst verkocht
6 dagen geleden
Expert001

High quality, well written Test Banks, Guides, Solution Manuals and Exams to enhance your learning potential and take your grades to new heights. Kindly leave a review and suggestions. We do take pride in our high-quality services and we are always ready to support all clients.

4,2

159 beoordelingen

5
104
4
18
3
14
2
7
1
16

Recent door jou bekeken

Waarom studenten kiezen voor Stuvia

Gemaakt door medestudenten, geverifieerd door reviews

Kwaliteit die je kunt vertrouwen: geschreven door studenten die slaagden en beoordeeld door anderen die dit document gebruikten.

Niet tevreden? Kies een ander document

Geen zorgen! Je kunt voor hetzelfde geld direct een ander document kiezen dat beter past bij wat je zoekt.

Betaal zoals je wilt, start meteen met leren

Geen abonnement, geen verplichtingen. Betaal zoals je gewend bent via iDeal of creditcard en download je PDF-document meteen.

Student with book image

“Gekocht, gedownload en geslaagd. Zo makkelijk kan het dus zijn.”

Alisha Student

Veelgestelde vragen