---
# System prepended metadata

title: 'Ćwiczenia 3, grupa cz. 14-16, 16 marca 2023'
tags: [pwit, ćwiczenia, SYK23]

---

# Ć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	
:::

![](https://i.imgur.com/91maYKM.png)


Przepływ sterowania

![](https://i.imgur.com/ItPfISN.png)

| 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
:::

![](https://i.imgur.com/ljguFge.png)

![](https://i.imgur.com/iLa90tU.png)

![](https://i.imgur.com/s9858Ch.png)

![](https://i.imgur.com/i1ft687.png)

$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	
:::
![](https://i.imgur.com/7juMfFu.png)
![](https://i.imgur.com/3CuVdJi.png)
![](https://i.imgur.com/QrRmvdf.jpg)

## Zadanie 4
:::success
Autor:	Patryk Rybak	
:::
![](https://i.imgur.com/p6b4hFI.png)
![](https://i.imgur.com/wYpGPE2.jpg)
![](https://i.imgur.com/aT0Axiv.jpg)
![](https://i.imgur.com/PxbUPXR.jpg)





## Zadanie 5
:::success
Autor:	Mateusz Golisz	
:::
![](https://i.imgur.com/F2OieTf.png)
![](https://i.imgur.com/t24eSG4.jpg)
![](https://i.imgur.com/fZnrkiF.jpg)
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	
:::
![](https://i.imgur.com/i2I5QAl.png)
![](https://i.imgur.com/44s56YX.png)



## Zadanie 7
:::success
Autor:	Dominik Szczepaniak	
:::
![](https://i.imgur.com/dioYgRF.png)


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ą.

![](https://i.imgur.com/oe3py0d.jpg)


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