Solution
1) Basic blocks
- B1: 100–102
- B2: 103
- B3: 104
- B4: 105
- B5: 106
- B6: 107–110
- B7: 111–112
2) Control-flow edges (CFG)
- B1 → B2
- B2 → B3 (103 false), B2 → B4 (103 true)
- B3 → B7
- B4 → B5 (105 false), B4 → B6 (105 true)
- B5 → B7
- B6 → B2 (loop back)
- B7 → exit
3) Adjacency matrix (rows = from, columns = to, blocks ordered B1..B7)
| |
B1 |
B2 |
B3 |
B4 |
B5 |
B6 |
B7 |
| B1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
| B2 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
| B3 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
| B4 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
| B5 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
| B6 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
| B7 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Matrix (compact rows):
B1: 0 1 0 0 0 0 0
B2: 0 0 1 1 0 0 0
B3: 0 0 0 0 0 0 1
B4: 0 0 0 0 1 1 0
B5: 0 0 0 0 0 0 1
B6: 0 1 0 0 0 0 0
B7: 0 0 0 0 0 0 0
Correct option: Option 1
(It matches the adjacency matrix above exactly.)