# Ćwiczenia 3, grupa cz. 14-16, 16 marca 2023
###### tags: `SYK23` `ćwiczenia` `pwit`
## Deklaracje
Gotowość rozwiązania zadania należy wyrazić poprzez postawienie X w odpowiedniej kolumnie! Jeśli pożądasz zreferować dane zadanie (co najwyżej jedno!) w trakcie dyskusji oznacz je znakiem ==X== na żółtym tle.
**UWAGA: Tabelkę wolno edytować tylko wtedy, gdy jest na zielonym tle!**
:::danger
| | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| ----------------------:| ----- | --- | --- | --- | --- | --- | --- | --- |
Mikołaj Balwicki | | | | | | | | |
Wojciech Bogucki | X | X | | | | | | |
Mateusz Cerulewicz | X | X | ==X== | X | X | | X | |
Mateusz Garncarczyk | X | ==X== | X | | X | | | |
Mateusz Golisz | X | X | X | X | X | | X | |
Mateusz Kitzol | X | X | X | X | X | | X | |
Piotr Mańkowski | | | | | | | | |
Michał Mękarski |==x== | x | x | | x | | x | |
Aleksandra Nicpoń | X | X | X | | X | | X | |
Ksawery Plis | X | X | X | | X | | | |
Patryk Rybak | X | X | X | X | X | | X | |
Rafał Spyra | X | X | X | X | | | | |
Dominik Szczepaniak | X | X | X | | X | | ==X== | |
Taras Tsehenko | | | | | | | | |
Maksymilian Wiśniewski | X | X | | | | | | |
Martyna Wybraniec | X | X | X | | X | X | X | |
Natalia Zychowicz | X | X | | X | | | X | |
Patryk Maciąg | X | X | X | | X | | | |
:::
W tym miejscu można zadeklarować zad. **6** i **9** z **listy 2**:
|Imię i nazwisko | zad. 6 | zad. 9 |
| -------------- | --- | --- |
| ... | | |
| | | |
:::info
**Uwaga:** Po rozwiązaniu zadania należy zmienić kolor nagłówka na zielony.
:::
## Zadanie 1
:::success
Autor: Michał Mękarski
:::

Przepływ sterowania

| nr etykiety | $RD_\circ$ | $RD_\bullet$ |
| -------- | -------- | -------- |
| 1 | {(x,?), (y,?), (z,?), (i,?), (t,?)} | {**(x,1)**, (y,?), (z,?), (i,?), (t,?)} |
| 2 | {(x,1), (y,?), (z,?), (i,?), (t,?)} | {(x,1), **(y,2)**, (z,?), (i,?), (t,?)} |
| 3 | {(x,1), (y,2), (z,?), (i,?), (t,?)} | {(x,1), (y,2), (z,?), **(i,3)**, (t,?)} |
| 4 | {(x,1), (x,6), (y,2), (y,7), (z,?), (i,3), (i,8), (t,5)} | {(x,1), (x,6), (y,2), (y,7), (z,?), (i,3), (i,8), (t,5)} |
| 5 | {(x,1), (x,6), (y,2), (y,7), (z,?), (i,3), (i,8), (t,5)} | {(x,1), (x,6), (y,2), (y,7), (z,?), (i,3), (i,8), (t,5)} |
| 6 | {(x,1), (x,6), (y,2), (y,7), (z,?), (i,3), (i,8), (t,5)} | {(x,6), (y,2), (y,7), (z,?), (i,3), (i,8), (t,5)} |
| 7 | {(x,6), (y,2), (y,7), (z,?), (i,3), (i,8), (t,5)} | {(x,6), (y,7), (z,?), (i,3), (i,8), (t,5)} |
| 8 | {(x,6), (y,7), (z,?), (i,3), (i,8), (t,5)} | {(x,6), (y,7), (z,?), (i,8), (t,5)}|
| 9 | {(x,1), (x,6), (y,2), (y,7), (z,?), (i,3), (i,8), (t,5)} | {(x,1), (x,6), (y,9), (z,?), (i,3), (i,8), (t,5)} |
## Zadanie 2
:::success
Autor: Mateusz Garncarczyk
:::




$RD_{\circ} (1) = \{(x,\ ?),\ (y,\ ?),\ (t,\ ?),\ (i,\ ?),\ (z,\ ?)\}$
$RD_{\bullet} (1) = RD_{\circ} (1) \setminus\{(x,\ ?)\} \cup\{(x,\ 1)\} = \{(x,\ 1),\ (y,\ ?),\ (t,\ ?),\ (i,\ ?),\ (z,\ ?)\}$
$RD_{\bullet} (1) = RD_{\circ} (2)$
$RD_{\bullet} (2) = RD_{\circ} (2) \setminus\{(y,\ ?)\} \cup\{(y,\ 2)\} = \{(x,\ 1),\ (y,\ 2),\ (t,\ ?),\ (i,\ ?),\ (z,\ ?)\}$
$RD_{\bullet} (2) = RD_{\circ} (3)$
$RD_{\bullet} (3) = RD_{\circ} (3) \setminus\{(i,\ ?)\}\cup\{(i,\ 3)\} = \{(x,\ 1),\ (y,\ 2),\ (t,\ ?),\ (i,\ 3),\ (z,\ ?)\}$
$RD_{\bullet} (3) \cup\ RD_{\bullet} (8) = RD_{\circ} (4)$
$RD_{\circ} (4) = RD_{\bullet} (4) = \{(x,\ 1),\ (x,\ 6),\ (y,\ 2),\ (y,\ 7),\ (t,\ ?),\ (t,\ 5),\ (i,\ 3),\ (i,\ 8),\ (z,\ ?)\}$
$RD_{\bullet} (4) = RD_{\circ} (5)$
$RD_{\bullet} (5) = RD_{\circ} (5) \setminus\{(t,\ ?)\} \cup\{(t,\ 5)\} = \{(x,\ 1),\ (x,\ 6),\ (y,\ 2),\ (y,\ 7),\ (t,\ 5),\ (i,\ 3), (i,\ 8),\ (z,\ ?)\}$
$RD_{\bullet} (5) = RD_{\circ} (6)$
$RD_{\bullet} (6) = RD_{\circ} (6) \setminus\{(x,\ 1),\ (x,\ 6)\} \cup\{(x,\ 6)\} = \{(x,\ 6),\ (y,\ 2),\ (y,\ 7),\ (t,\ 5),\ (i,\ 3), (i,\ 8),\ (z,\ ?)\}$
$RD_{\bullet} (6) = RD_{\circ} (7)$
$RD_{\bullet} (7) = RD_{\circ} (7) \setminus\{(y,\ 7),\ (y,\ 2)\} \cup\{(y,\ 7)\} = \{(x,\ 6),\ (y,\ 7),\ (t,\ 5),\ (i,\ 3), (i,\ 8),\ (z,\ ?)\}$
$RD_{\bullet} (7) = RD_{\circ} (8)$
$RD_{\bullet} (8) = RD_{\circ} (8) \setminus\{(i,\ 3),\ (i, \ 8)\} \cup\{(i,\ 8)\} = \{(x, 6),\ (y, 7),\ (t, 5),\ (i, 8),\ (z, ?)\}$
$RD_{\bullet} (4) = RD_{\circ} (9)$
$RD_{\bullet} (9) = RD_{\circ} (9) \setminus\{(y,\ 2),\ (y,\ 7)\}\cup\{(y,\ 9)\} = \{(x,\ 1),\ (x,\ 6),\ (y,\ 9),\ (t,\ ?),\ (t,\ 5),\ (i,\ 3),\ (i,\ 8),\ (z,\ ?)\}$
## Zadanie 3
:::success
Autor: Mateusz Cerulewicz
:::



## Zadanie 4
:::success
Autor: Patryk Rybak
:::




## Zadanie 5
:::success
Autor: Mateusz Golisz
:::



W faktycznym wykonaniu programu w RD(5) będzie (y,3), bo zaraz przed if'em do x zostało przypisane 1.
Otrzymujemy rozwiązanie bezpieczne; aby otrzymać rozwiązanie dokładne, potrzebne jest wcześniej wykonanie m.in. analizy martwego kodu.
## Zadanie 6
:::success
Autor: Martyna Wybraniec
:::


## Zadanie 7
:::success
Autor: Dominik Szczepaniak
:::

Definicja: analiza łańcuchów use-definition ma na zadaniu pokazać nam, że jeżeli w danym polu używamy danej zmiennej to skąd bierzemy jej wartość (definicję). Analize wykonuje się w sposób: robimy przekrój zbioru definicji zmiennych które do danego kroku mogą przejść z rozpatrywaną zmienną.

## Zadanie 8
:::danger
Autor:
:::