Þ Á Ð Ö Ò ÙÒ È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ»

Podobne dokumenty
ÔÖÓ Ù ÔÖÓ Ù Þ Ø ÑÒ Ñ Ø Ö ÞÔÓð Ö Ò Ø ÞÔÓð Ö Ò Ý Ò Û Ó Þ ÝÛ Ò Å ÔÓ ÞÙ Û Ò Ø ÔÓð Ö Ò Ý Ò Û Ó Þ ÝÛ Ò Ò Ð µ ÔÓ ÞÙ Û Ò ÑÒ Ñ Ø Ö ÈÓ ÞÙ Û Ò Ó ÑÓ ÐÙ ÑÓ Þ ÑÝ ÔÓ

ØÖ Ò ÔÓÖØ Û ÖØÓ ÔÖÞ ÛÓ Ò ÐÙ ÔÖÞ ÒÓ Þ Ò Û ÖØÓ Ô Ò ÒÝ ÔÓÞ Ó Ö Ñ Ô Þ ÐÒ ºÓ ÒÓ Ø Ó Ð Þ Ò ÓÛ ÔÖÞÝ Ø Ó Ó Ö Ð Ò Ð Ñ ØÙ ÔÖÞ ÓÛÝÛ ¹ ÒÝ ÐÙ ØÖ Ò ÔÓÖØÓÛ ÒÝ Û ÖØÓ

ÈÖÞ ØÛ ÖÞ Ò Ø ØÙ Û ÈÓÛØ ÖÞ Ò áö Ò Óµ Þ Û Ò ÓÛ Ò Èʵ ÏÝ ¹ ÔÖÞ ØÛ ÖÞ Ò Ø ØÙ ÊÓ ÖØ ÆÓÛ ¾¼¼ áö Ò Óµ Þ Û Ò ÓÛ Ò Èʵ ½»


Ð ÓÖÝØÑÝ ØÖÙ ØÙÖÝ ÒÝ Ñ Ø Ö Ý ÛÝ ÓÛ ËØÙ Þ ÓÞÒ ÈÂÏËÌÃ Á ËÌÊÍÃÌÍÊ Æ À Ä ÇÊ ÌÅ ÁÁ Ñ Ø Ö Ý ÔÓÑÓÒ Þ µ Ï Ã ÈÖÓ Ð Ñ ÛÝ ÞÙ Ò ÈÓÐ Ó Â ÔÓ ÏÝ Þ ËÞ Ó Ì Ò ÃÓÑÔÙØ ÖÓ

Ï ØÔ ÈÖÞÝ Ý Ç ÐÒ Û ÒÓ Ó Þ Ò À Ð ¹ÈÓ Ø ÓÒ Ð Ø ÖÑ Ò Ý Ó ÁÒ Ò Ø Ñ ÖÝ ÃÓÔÞÝ Ï Ö Û ÍÒ Ú Ö ØÝ Û ØÒ ¾¼¼ ÖÝ ÃÓÔÞÝ À Ð ¹ÈÓ Ø ÓÒ Ð Ø ÖÑ Ò Ý Ó ÁÒ Ò Ø Ñ ½» ¼

Ð ÓÖÝØÑÝ ØÖÙ ØÙÖÝ ÒÝ Ñ Ø Ö Ý ÛÝ ÓÛ ËØÙ Þ ÓÞÒ ÈÂÏËÌÃ Á ËÌÊÍÃÌÍÊ Æ À Ä ÇÊ ÌÅ ÁÁÁ Ñ Ø Ö Ý ÔÓÑÓÒ Þ µ Ï Ã ÈÖÓ Ð Ñ ÓÖØÓÛ Ò ÈÓÐ Ó Â ÔÓ ÏÝ Þ ËÞ Ó Ì Ò ÃÓÑÔÙØ Ö


ÈÓÔÖ ÛÒ ÛÝ ÓÖÞÝ Ø Ò ÏÞÓÖ ÔÖÓ ØÓÛ áö Ò ÓµÞ Û Ò ÓÛ Ò ÔÖÓ Ö ÑÓÛ Ò Û ÏÝ ¾ ¹ Ø Ó ÛÞÓÖ ÔÖÓ ØÓÛ ÊÓ ÖØ ÆÓÛ ¾¼¼ áö Ò ÓµÞ Û Ò ÓÛ Ò ÔÖÓ Ö ÑÓÛ Ò Û ½»

ÔÖÓ Ù ÔÖÓ Ù Þ Ø ÑÒ Ñ Ø Ö ÞÔÓð Ö Ò Ø ÞÔÓð Ö Ò Ý Ò Û Ó Þ ÝÛ Ò Å ÔÓ ÞÙ Û Ò Ø ÔÓð Ö Ò Ý Ò Û Ó Þ ÝÛ Ò Ò Ð µ ÔÓ ÞÙ Û Ò ÑÒ Ñ Ø Ö ÈÓ ÞÙ Û Ò Ó ÑÓ ÐÙ ÑÓ Þ ÑÝ ÔÓ

ÈÐ Ò ÛÝ Ø Ô Ò ½ ¾ ÃÐ ÝÞÒ Ó Ð Þ Ò ÓÛ ÞØÙÞÒ ÒØ Ð Ò ÅÓ Ð Ó Ð Þ Ò ÓÛ ÞØÙÞÒ ÒØ Ð Ò Ë Ò ÙÖÓÒÓÛ ÏÒ Ó ÓÛ Ò Þ ÐÓ ÖÓÞÑÝØ Ð ÓÖÝØÑÝ ÛÓÐÙÝ Ò ÊÓÞÛ Þ Ò Ý ÖÝ ÓÛ ÝÒ Ñ

½ ÏÝ Ï Þ ð Û Ø ÛÓÐÙ Þ Ø Ð Ñ ÒØ ÖÒÝ Ï Þ ð Û Ø ÔÖÓ º º º ÖÒ Þ Ø Ç Þ ÝÛ ðò ÙÒ Ñ ÒØ ÐÒÝ ÞÝ Óð Û Þ ÐÒ ÁÒ ØÝØÙØ Þ Ø Ð Ñ ÒØ ÖÒÝ ÏÝ ½ ÛÓÐÙ Ï Þ ð Û Ø ¾ Ñ ¾¼½ æ

ËÞ ÐÓÒÝ ¹ ÔÓÛØ ÖÞ Ò ÈÖÓ Ð ÑÝ ÔÖÞÝ ØÓ ÓÛ Ò Ù Þ ÐÓÒ Û áö Ò Ó Þ Û Ò ÓÛ Ò ÔÖÓ Ö ÑÓÛ Ò Û Èʵ ÏÝ ½¼ ¹ Þ ÐÓÒÝ ÊÓ ÖØ ÆÓÛ ¾¼¼ áö Ò Ó Þ Û Ò ÓÛ Ò ÔÖÓ Ö ÑÓÛ Ò Û È

ÛÙÛÝÑ ÖÓÛÝ ÔÖ Ò ÂÓ ÒÒ ÀÓÖ ÂÓ ÒÒ ÀÓÖ ÛÙÛÝÑ ÖÓÛÝ ÔÖ Ò


ÈÖÓÑ Ò ÓÛ Ò Ó Ñ ÞÒ Ï Ð Ô ØÑÓ ÖÝÞÒ º º ÖÒ ÏÝ ½


f (n) lim n g (n) = a, f g

ÃÓÒØ Ò ÖÝ Þ ÓÓ Ø ÓÓ Ø Ö Ô Ä Ö ÖÝ ÈÓÛØ ÖÞ Ò áö Ò Ó Þ Û Ò ÓÛ Ò ÔÖÓ Ö ÑÓÛ Ò Û Èʵ ÏÝ ½¾ ¹ ÓÒØ Ò ÖÝ Þ ÓÓ Ø ÊÓ ÖØ ÆÓÛ ¾¼¼ áö Ò Ó Þ Û Ò ÓÛ Ò ÔÖÓ Ö ÑÓÛ Ò Û È

Ð Ö Û Ø Ý Ò Û Ö ÞÓ Ò Û Ð Ñ ØÓÔÒ Ù ÔÓ Ð ÓÖ Û Ñ Ø Ö Â Ò Ð Ø Ó ÛÝ ÖÝ Ø Ø ØÖÙ Ò µ Ð Ö Û Ø Ý Ò Ï ÒÓð Ð Ö Û Ø Ý Ò Þ ÓÛÙ ÔÓ Ó Ò Ð Ð ØÖÓÑ Ò ØÝÞÒ ÔÓÖÙ Þ Þ Ø Ñ

ÏÝ Ö Ò ÖÙÒ Û ÛÓÐÙ Ö Ò ÓÛ Â ÖÓ Û Ö ÈÓÐ Ø Ò Ï Ö Þ Û ÁÒ ØÝØÙØ ËÝ Ø Ñ Û Ð ØÖÓÒ ÞÒÝ ¹Ñ Ð Ö Ð ºÔÛº ÙºÔÐ Ñ Ò Ö ÙÑ Ù ÁÒØ Ð ÒØÒÝ ËÝ Ø Ñ Û Ï ÔÓÑ Ò ÝÞ ÈÓÐ Ø Ò ÈÓ

ËÔ ØÖ ½ Ð Þ Ö ÔÖ Ý ¾ ËÝ Ø ÑÝ ÔÐ Û Ý Ø ÑÝ ÓÔ Ö Ý Ò ¾º½ ÊÓÐ Ý Ø Ñ Û ÔÐ Û º º º º º º º º º º º º º º º º º º º º º º ¾º¾ Ê ÒÓÖÓ ÒÓ Ý Ø Ñ Û ÔÐ Û º º º º

Þ ÈÖ ÛÓ ÀÙ Ð ÈÖÞ ÙÒ Ù Þ ÖÛ Ò Â ð Ð ðþö Ó ð Û Ø Ó Ð Ó Ä Ò Û Ð Û Û Ñ Û Þ Ö ÈÃË ½¾ ¾ ¼ ½ Ó ÖÛ ØÓÖ Ò Ø ÔÙ ÛÝ Ù Þ Ò Ð ½ ½ ¼ ½ Þµ ÔÖÞ ÙÒ Ù Þ ÖÛ Ò Ò º ãö Øäµ

Ð ÓÖÝØÑÝ ØÖÙ ØÙÖÝ ÒÝ Ñ Ø Ö Ý ÛÝ ÓÛ ËØÙ Þ ÓÞÒ ÈÂÏËÌÃ Á ËÌÊÍÃÌÍÊ Æ À Ä ÇÊ ÌÅ ÁÎ Ñ Ø Ö Ý ÔÓÑÓÒ Þ µ Ï Ã ÒÝ ËØÖÙ ØÙÖÝ ÓÛÒ Ð ØÝ ÈÓÐ Ó Â ÔÓ ÏÝ Þ ËÞ Ó Ì Ò ÃÓÑ

Þ ÑÒ ÑÒ Ñ Ø Ö Ö Å ØØ Ö ¹ ŵ ÓÐ À Å Ñ Å Þ Å Ñ Å Å Å ÛÓÐÙ Ï Þ ð Û Ø Ç Ò ÔÓÛ Þ Ò ÙÞÒ ÒÝÑ ÑÓ Ð Ñ ÛÓÐÙ Ï Þ ð Û Ø Ø ØÞÛº ÑÓ Ð Åº ÓÒ Ï Þ ð Û Ø ÛÝÔ Ò ãþûý ä Ñ

Reguly. Wind = Weak Temp > 20 Outlook Rain PlayTennis = Y es

Co to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom).

System ALVINN. 30 Output. Units. 4 Hidden. Units. 30x32 Sensor Input Retina. Straight Ahead. Sharp Right. Sharp Left

Fizyka I (mechanika), rok akad. 2012/2013 Zadania kolokwialne 1

ÈÖ ÔÖÞ Ð Ñ Ó Ó ÒÝ Ø ÈÓ Ô ÙØÓÖ ÔÖ Ý ÈÖ Ø ÓØÓÛ Ó Ó ÒÝ ÔÖÞ Þ Ö ÒÞ ÒØ Ø ÈÓ Ô ÖÙ Ó ÔÖ

pomiary teoria #pomiarow N

Ñ ÒÒ Û È ÖÐÙ Ñ ÒÒ ÌÝÔ Ò ÈÖÞÝ Ò Þ Ò Ë Ð Ö Ð ÈÓ ÝÒÞ Û ÖØÓ Ð Þ ÐÙ Ò Ô µ Ì Ð Ø Ð Ä Ø Û ÖØÓ Ò ÓÛ Ò Ð Þ Ñ À Þ ± ±Þ ÓÖ ÖÙÔ Û ÖØÓ Ò ÓÛ Ò Ò Ô Ñ ÈÖÓ ÙÖ ² ²ÞÖÓ Ö

LVI Olimpiada Fizyczna zawody III stopnia

ð Ö ½¼¼ Å Î ¹ Ì Î ½¼ ½ ØÑÓ ÖÝÞÒ Ñ ¾ Ð Ö ØÓÖÓÛ ÖÞ Ù Î ½¼ ¾¼ Æ ÙØÖ Ò ÌÝÔ Ô Ò Ö ËØÖÙÑ ðò ½ Å Î ½¼ ½¼ ½ Ë ÓÒ ÞÒ Ñ ¾ Ò Ñ µ ÔÓÛÝ Þ ½¼ Šε ÖÞ Ù Å Î ½¼ ½ Ê Ø

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

ÈÐ Ò ÔÖ Þ ÒØ ½ ¾ Ò ÔÖÞÝ Þ µº ÇÔ Ó ÔÐÙ Û Ò Û ÔÐ Ó ØÓÛ ÔÖÞÝ ÓØÓÛ Ò Ó Ó ÔÐÙ Û Ò Ø Ï Ê µº Æ ÖÞ Þ Ó ÛÝ ÖÝÛ Ò ÛÝ Û Ô Ñ Û ÔÖÓ Ö Ñ Ó ÔÖÓ ÐÓÛ Ò Ó Ùº ÝÑÓÓÔ ÍÅĺ

ØÓ ÔÖ Ù Ð ØÖÝÞÒ Ó ÈÖ Ó ÙÒÓ Þ Ò Ó Ò ÓÖ ØÓ ÔÖ Ù Ø Û ØÓÖ Ñ Ø Ö Ó ÖÙÒ ÛÝÞÒ Þ ØÝÞÒ Ó ØÓÖÙ ÔÓÖÙ Þ Ó ÙÒ Ù Ó ØÒ Óº ÛÖÓØ Û ØÓÖ Ó Ö Ð ÙÑÓÛÒ Ó ÖÙÒ ÖÙ Ù ÙÒ Ù Ó ØÒ

Þ Ø Ð Ñ ÒØ ÖÒÝ ÏÝ Ï Ô Þ Ò Ô ÖÝÑ ÒØÝ ¾ Ñ Ö ¾¼½ Ï Þ ð Û Ø µæ Ôº¾»

DYNAMICZNE PRZYDZIELANIE PAMIECI

Þ ð ãû Þ ÑÝä Ó Þ ÝÛ Ò Þ Ø Â Þ Ø Ð Ñ ÒØ ÖÒÝ ÏÝ Ï Ô Þ Ò Ô ÖÝÑ ÒØÝ ½ Ð ØÓÔ ¾¼½ Ï Þ ð Û Ø µæ Ôº¾»

ÏÝ Ô ÖÝÑ ÒØÝ Ï Ô Þ Ò Þ Ø Ð Ñ ÒØ ÖÒÝ Ï Þ ð Û Ø ÔÖÓ º º º ÖÒ Þ Ø Ç Þ ÝÛ ðò ÙÒ Ñ ÒØ ÐÒÝ ÁÒ ØÝØÙØ ÞÝ Óð Û Þ ÐÒ Þ Ø Ð Ñ ÒØ ÖÒÝ ÏÝ Ï Ô Þ Ò Ô ÖÝÑ ÒØÝ ¾ Ñ Ö ¾


Survival Probability /E. (km/mev)

Ç ÐÒ ÒÖ ½ DoCelu Ä ØÓÔ ¾¼¼¾ º º º Ó Þ ÑÝ Û ÞÝ Ý Ó ÒÓ Û ÖÝ ÔÓÞÒ Ò ËÝÒ Ó Ó Ó Ñ Ó ÓÒ Ó ÓÖÓ Ò ÑÝ Ó ÛÝÑ Ö Û Ô Ò ÖÝ ØÙ ÓÛ º º º Â ÞÙ ÞÛÝ Ý ÂÓ ÒÒ Ö ØÓÔ ÐÙÑ Ö

ÍÒ Û Ö ÝØ Ø Ï Ö Þ Û ÏÝ Þ Å Ø Ñ ØÝ ÁÒ ÓÖÑ ØÝ Å Ò ËÔ Ý Û õò ÓÛÝ ØÖÙ ØÙÖ ÒÝ ÈÖ Ó ØÓÖ µ Å Ö Ò ÃÙ ÈÖÓÑÓØÓÖ ÔÖÓ º Ö º Â Ò Å Ý ½ ØÝÞÒ ¾¼¼¼

Strategie heurystyczne

Janusz Przewocki. Zeroth Milnor-Thurston homology for the Warsaw Circle. Instytut Matematyczny PAN. Praca semestralna nr 3 (semestr zimowy 2010/11)

1. Waciki do czyszczenia optyki 2. Isopropanol 3. SLED 4. Laser diodowy 1550nm 5. Mikroskop 6. Urządzenie do czyszczenia końcówek światłowodów

Sieci neuronowe: pomysl

ÈÖ ÔÖÞ Ñ Ó Ó ÒÝ Ø ÈÓ Ô ÙØÓÖ ÔÖ Ý ÈÖ Ø ÓØÓÛ Ó Ó ÒÝ ÔÖÞ Þ Ö ÒÞ ÒØ Ø ÈÓ Ô ÖÙ Ó ÔÖ

e 2 = 8, 3 e 1 = 5, 1, e 2 = i 3 + i

¾ Å ÑÞ ÈÖ Þ Ó ÓÒÓ Û Ý Ø Ñ Ä Ì º

A(T)= A(0)=D(0)+E(0).

ÊÇ ÆÁÃ ÄÍ ÍËÃÁ ÌÓÑ ¾ Þº ¾ ¾¼½ ÒÒ ÙÞ ÅÍ Ã Â ÃÇ Æ Ê Á ÃË Ì ÌÇÏ ÆÁ Å áä ÆÁ Å Ì Å Ì Æ Ç Ï ÍÃ ÂÁ Á Ã Ï Û ØÐ Û Ô Þ ÒÝ ÓÒ Ô Ô Ó ÞÒÝ ÛÝ ÓÛ Ò Ø ØÝÞÒ Ñ Ò ÐÙ Û Þ

ÑÒ Ñ Ø Ö Ò Ð Å ÈÓ ÞÙ Û Ò Ý Ò Û Ò Ð Å Û Û ÞÝ Ø ÑÓ ÞÐ ÛÝ Ò ÔÖÓÑ Ò ÓÛ Ò ÑÑ ÔÓÞÝØÓÒÝ ÒØÝÔÖÓØÓÒÝ ººº µ ÑÓ Þ ÑÝ Ø Þ ÞÙ ð Ò ÙØÖ Ò º º ÖÒ ÏÝ ÁÁ ½

Lech Banachowski. Rola Uczelni oraz metod i technik e-edukacji w uczeniu się przez całe życie

ÏÔÖÓÛ Þ Ò ÇÔ ÑÓ ÐÙ ÏÝÒ ÝÑÙÐ ÈÓ ÙÑÓÛ Ò Ä Ø Ö ØÙÖ Ë ÙØ ÔÖÞÝ Ø Ô Ò ÈÓÐ Ó ËØÖ Ý ÙÖÓ ÏÝÒ ÝÑÙÐ Ò ÔÓ Ø Û ÝÒ Ñ ÞÒ Ó ÑÓ ÐÙ ÌÓÑ Þ Ö Â Ò À Ñ Ö Æ ÖÓ ÓÛÝ Ò ÈÓÐ Ö À

ËÔ ØÖ ½ ÏÔÖÓÛ Þ Ò ½º½ Ù ÓÛ ÓÑÔÙØ Ö º º º º º º º º º º º º º º º º º º º º º º º º º º º ½º¾ ÈÖÓ Ö Ñ ÓÑÔÙØ ÖÓÛÝ º º º º º º º º º º º º º º º º º º º

ÃÓ Ý ÀÙ Ñ Ð ÓÖÝØÑÝ Þ Ò Ð ÓÖÝØÑÝ Þ Ò º º Ð ÓÖÝØÑ Ñ ¹Ñ Ü ÖÝ ØÝÔÙ ÛÝ Ö»ÔÖÞ Ö ÖÞ Û Æ ¹ÇÊ ÏÝ ÞÙ Û ÛÞÓÖ Û Ð ÓÖÝØÑ ÃÒÙØ ¹ÅÓÖÖ ¹ÈÖ ØØ ÈÖÞ ÞÙ Û Ö Û ÈÖÓ ÙÖÝ Ù Ó

ÈÓÞÝØÝÛÒ ÔÖÝÑÓÛ Ò Ñ ÒØÝÞÒ Ó Ò ÖÞ Þ ÓÔØÝÑ Ð Þ ÙØÓÑ ØÝÞÒÝ Ý Ø Ñ Û ÙØÓÖÝÞ Ù ÝØ ÓÛÒ Ê ÈÇÊÌ Ö Å Ö Ù Þ ÍÖ ÄÓ ÃÓ Ò ØÝÛ ØÝ ÁÒ ØÝØÙØ È Ý ÓÐÓ ÍÒ Û Ö ÝØ Ø Ñº º Å

arxiv: v1 [hep-th] 13 Dec 2007

Ç ÐÒ ÒÖ ¾½ DoCelu Ä ØÓÔ ¾¼¼ º º º Ó Þ ÑÝ Û ÞÝ Ý Ó ÒÓ Û ÖÝ ÔÓÞÒ Ò ËÝÒ Ó Ó Ó Ñ Ó ÓÒ Ó ÓÖÓ Ò ÑÝ Ó ÛÝÑ Ö Û Ô Ò ÖÝ ØÙ ÓÛ º º º ÅÓ Ð ØÛÝ Û Ø Û ÒÒ Þ Þ ÈÓÐ Ç


Wskaźniki. Przemysław Gawroński D-10, p marca Wykład 2. (Wykład 2) Wskaźniki 8 marca / 17

ÈÖÓÑ Ò ÓØÛ ÖÞÓð ð ÔÖÞ Þ Àº ÕÙ Ö Ð Û ÖÓ Ù ½ º Ç ÖÝØ Æ ÙØÖ Ò ÙÖ ÒÙ Ñ ØÓÛ Ý ÔÖÓÑ Ò ÓÛ Ò Ø Ö Þ ÑÒ Ó Ô ÝØ ÓØÓ Ö ÞÒ º ËÓÐ ¹ Ò ÖÓ ÆÓ Ð ÛÖ Þ Þ ÅºË Ó ÓÛ Èº ÙÖ

Talk to Parrot. Buy a Dog. Go To Class. Buy Tuna Fish. Buy Arugula. Buy Milk. Sit Some More. Read A Book

Ö Þ Þ Û ØÔÙ Ó Ñ Ø Ñ ØÝ Â Ò ÃÖ Þ Û ÏÖÓ Û ¾¼¼ ½

ÊÇ ÆÁÃ ÄÍ ÍËÃÁ ÌÓÑ ¾ Þº ¾ ¾¼½ ÒÒ ÑÖ ÈÊ ÃÊÇ Ê ÆÁ ÅÇÆËÌÊÍÅ Ê ÆÃ ÆËÌ ÁÆ ÈÇÏÁ á Á Å Ê ÏÇÄÄËÌÇÆ Ê Ì ËÀ ÄÄ ÊÙ Þ º... ÌÓ Ý ½ ÙÒØ ÔÖÞ Û Ó Æ ØÙÖÞ Â ÒÝÑ Þ Ó Û Þ

Agnieszka Pr egowska

ÈÓ Þ ÓÛ Ò ÈÖ Ò Ö ÞÒ ÔÓ Þ ÓÛ È ÒÙ Ö º Ò ÛÓÛ ÃÓÞ Þ ÒÒ ÙÛ ÞÖÓÞÙÑ Ò ÝÞÐ ÛÓ Û ØÖ Ô Ò ÔÖ Ý È ÒÙ Ñ Ö Å ÓÛ Å ØÝ Þ Ð ÞÒ Û Þ Û ÓÑ ÒØ ÖÞ Ø ÖÝÑ Ò Ò Þ ÔÖ Þ Û Þ Þ Ø

ρ h (x 0 ) = M h h 3 ρ(x 0 ) = lim ρ h (x 0 )

ROCZNIK LUBUSKI Tom 30, część 2

Ã Ø ÖÞÝÒ Â ÑÖÓÞ ÊÇ ÆÁà ÄÍ ÍËÃÁ ÌÓÑ ¾ Þº ¾ ¾¼½ ÏÈÁË ÆÁ Ï ÃÊ ÂÇ Ê Æ ÍÃÇÏ Á ÄÇÆÇ ÊËÃÁ ËÌÍ Á Á ÄÁÇÌ ÃÇ Æ Ï À ØÓÖ ÏÓ Û Þ Å Ð ÓØ ÈÙ Ð ÞÒ Ï Å Èµ Ѻ ݹ ÔÖ Ò Æ

Spis treści. 1 Wstęp 3

ÈÓ Þ ÓÛ Ò Æ Ò Þ Ñ Ø Ö Ý ÔÓÛ Ø Ý Ò ÔÓ Ø Û ÒÓØ Ø Ó ÔÖÓÛ ÞÓÒÝ ÔÖÞ Þ ÑÒ Ò ÔÖÞ ØÖÞ Ò Ð Ù Ð Ø ÛÝ Û Þ Ø ÓÖ ÞÝ Û ÙØÓÑ Ø Û ÓÖ Þ Ù ÓÛÝ ÓÑÔ Ð ØÓÖ Ûº ÝÑ ÓÖ Ó ÔÓ Þ

Podstawy programowania komputerów

LVI OLIMPIADA FIZYCZNA ZADANIA ZAWODÓW I STOPNIA

ÍÆÁÏ ÊË Ì Ì Ï ÊË ÏËÃÁ Ï Á Á ÃÁ  ËÞÞÝØ Ó È ÈÊ ÏÇ ÆÁÃÁ È Å Æ Ì Æ ÁÁÁ¹Î Å Æ Æ Å ÈÖ Ó ØÓÖ ÛÝ ÓÒ Ò Û ÁÒ ØÝØÙ ÞÝ Óð Û Þ ÐÒ Ò ÏÝ Þ Ð ÞÝ ÍÒ Û Ö ÝØ ØÙ Ï Ö Þ Û

Notki biograficzne Streszczenie

Fizyka I (mechanika), rok akad. 2011/2012 Zadania z kolokwium I

¾


Notka biograficzna Streszczenie

ËÔ ØÖ ½ Ò Ó Ó ÓÛ ½º½ ÁÑ Ò ÞÛ Ó º º º º º º º º º º º º º º º º º º º º º º º º º º ½º¾ ÈÓ Ò ÝÔÐÓÑÝ ØÓÔÒ Ò Ù ÓÛ º º º º º º º º º º º º º º ½º ÁÒ ÓÖÑ Ó

ÊÓÞÔÓÞÒ Û Ò Ð ØÖÓÒ Û Ñ ÞÓÒ Û π 0 ÔÖÞÝ Ò Ù Ó Þ ÝÛ Ò ÙØÖ Ò Û Þ ØÓ ÓÛ Ò Ù Ó Ø ØÓÖ Û Ó¹ Ö ÓÒÓÛÝ ÓÖ Þ Ð Ó Ø ØÓÖ Ô ÖÝÑ ÒØÙ Ì¾Ã ÌÓÑ Þ Ï ÁÒ ØÝØÙØ ÞÝ Â ÖÓÛ Ñº


// Liczy srednie w wierszach i kolumnach tablicy "dwuwymiarowej" // Elementy tablicy są generowane losowo #include <stdio.h> #include <stdlib.

ÈÓ Þ ÓÛ Ò ÈÖ Ò Þ Ó Ý Ö ÞÒ ÔÓ Þ ÓÛ Ò Û ÞÝ Ø Ñ Ó Ó ÓÑ Ø Ö ÛÓ Ñ ÒÒÝÑ ÙÛ Ñ ÔÖÞÝÞÝÒ Ý Ó Ö Ð Þ Ò Ò Þ ÖÓÞÔÖ Ûݺ ËÞÞ ÐÒ ÔÖ Ò ÔÓ¹ Þ ÓÛ ÔÖÓÑÓØÓÖÓÛ ÔÖÓ º Ï ØÓÐ Ó

ÉÙ ÕÙ ÔÖÙ ÒØ Ö Ø Ö Ô Ò Ñ ÇÛ Ù Þ ½ ½ Ó ÓÐÛ ÖÓ Þ Ö ÖÓÞØÖÓÔÒ Ô ØÖÞ Ó

Ç Û Þ Ò ÙØÓÖ ÖÓÞÔÖ ÛÝ Ç Û Þ Ñ Ò Ò Þ ÖÓÞÔÖ Û ÞÓ Ø Ò Ô Ò ÔÖÞ Þ ÑÒ ÑÓ Þ ÐÒ º Ø ÈÓ Ô ÙØÓÖ ÖÓÞÔÖ ÛÝ Ç Û Þ Ò ÔÖÓÑÓØÓÖ ÖÓÞÔÖ ÛÝ Æ Ò ÞÝÑ Ó Û Þ Ñ ÖÓÞÔÖ Û Ø ÓØÓ

ÁÒ ØÝØÙØ Æ Ì ÑÔ Ö ØÙÖ ËØÖÙ ØÙÖ ÐÒÝ È Æ ÏÖÓ Û ¾¼½ º½½ ¼ ÄÁËÌ ËÌÇÈÆÁ ÇÃÌÇÊ Æ Æ À ÈÊ Ê Æ ÍÃÇÏ ÁÆËÌ ÌÍÌÍ ÄÁËÌ Ó Ç ÌÇÊ Ê Ë ÇÆ ÊÊ Ý Ø Ë Á ÆÌÁ Á ÇÍÆ ÁÄ Ó Ø Á

Ç ÐÒ ÒÖ ½ DoCelu Ä ØÓÔ ¾¼¼½ º º º Ó Þ ÑÝ Û ÞÝ Ý Ó ÒÓ Û ÖÝ ÔÓÞÒ Ò ËÝÒ Ó Ó Ó Ñ Ó ÓÒ Ó ÓÖÓ Ò ÑÝ Ó ÛÝÑ Ö Û Ô Ò ÖÝ ØÙ ÓÛ º º º ÓÖ Þ Ð ÐÙ Á ÞÒ Ò Ó Ù ÝÙ Ò Û

Ë Ñ Ö ÞÒ ÔÓ Þ ÓÛ Ò È ÒÙ ÈÖÓ ÓÖÓÛ ÊÝ Þ Ö ÓÛ È ÖÞÝ ÑÙ Þ Ó Þ Ò ÝÞÐ ÛÓ ÓÖ Þ Û Þ Û Ù Þ ÐÓÒ Ñ ÔÓ Þ Ô Ò ÔÖ Ý

Ë Ñ Ö ÞÒ ÔÓ Þ ÓÛ Ò Ð ÈÖÓÑÓØÓÖ ÔÖ Ý ÔÖÓ º Öº º Ò º ÊÝ Þ Ö ÓÖ Þ ÔÓÑÓ ÑÓØÝÛ Ó Ô Ò Ò Ò Þ ÖÓÞÔÖ ÛÝ ¾

ÒØÝ ÖÝ Ø ÖÝ ÖÝ Æ ØÞ

Rysunek 1: Informacja kontaktowa

Stałe, tablice dynamiczne i wielowymiarowe

Notka biograficzna Streszczenie

N + R C. A T A 1 A 2 I I n. [a;b] (a;b] [a;b) m,n m,n = {m,m + 1,...,n 1,n}

Notka biograficzna Streszczenie

Transkrypt:

ÏÝ º ÙÒ Ð Ö Ò ÙÒ ËÔÓ Ó Ý ÔÖÞ ÞÝÛ Ò Ö ÙÑ ÒØ Û ÞÛÖ Ò Û ÖØÓ ÈÖÞ ÞÝÛ Ò Ö ÙÑ ÒØ Û ÔÖÞ Þ Û ÖØÓ ÔÖÞ Þ Ö ÈÖÞÝ Ý ÔÖÓ Ö Ñ Û È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ ¾»

Þ Á Ð Ö Ò ÙÒ È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ»

Ð Ö Ò ÙÒ ÙÒ Û ÞÝ Ù Ù Ý Ó Ó Ð Þ Ò Ô ÛÒÝ Û ÖØÓ ÐÙ ÛÝ ÓÒÝÛ Ò Ô ÛÒÝ ÞÝÒÒÓ º Í ÝØ ÓÛÒ Ò ÑÙ Ò ÞÒ ÞÞ Û ÑÔÐ Ñ ÒØ º ÙÒ Û ÞÝ Ù Ø Ö ÛÒÓÛ Ò ÔÖÓ ÙÖÞ ÐÙ ÙÒ Û È ÐÙº ÈÓ Ø Ò ÙÒ ØÝÔ Û ÖØÓ Ò ÞÛ ÙÒ Ð Ø Ô Ö Ñ ØÖ Ûµ ß Ð Ö Ò ØÖÙ Ð È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ»

ÈÖÞÝ Ð Ö Ò ÙÒ ÈÖÞÝ ÓÙ Ð ÖÑ ÒØµ ÃÄ Ê Â ÈÊÇÌÇÌ Èµ ÓÙ Ð ÖÑ ÒØ Òµ ÁÆÁ Â ß ÓÙ Ð ½º¼ ÒØ ÓÖ ¾ < Ò µ ½º¼» Ö ØÙÖÒ Ð È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ»

ËÔÓ Ó Ý ÔÖÞ ÞÝÛ Ò Ö ÙÑ ÒØ Û ÞÛÖ Ò Û ÖØÓ Ñ ÒÒ ÛÝ ØÔÙ Ò Ð Ô Ö Ñ ØÖ Û Ò ÙÒ Ò ÞÝÛ Ò Ø Ô Ö Ñ ØÖ Ñ ÐÙ Ö ÙÑ ÒØ Ñ ÓÖÑ ÐÒÝÑ ÔÓ Þ Ý Ó ÔÓÛ Ò Ù ÝÛ ÒÝ ÔÖÞÝ ÛÝÛÓ Ò Ù ÙÒ ÒÓ Ò ÞÛ Ö ÙÑ ÒØÙ ØÙ ÐÒ Óµº Ö ÙÑ ÒØÝ ÙÒ ÔÖÞ ÞÝÛ Ò ÔÖÞ Þ Û ÖØÓ Ó ÓÞÒ Þ ÛÝÛÓ Ò ÙÒ ÓØÖÞÝÑÙ ÝÒ Û ÖØÓ ÔÖÞ ÓÛÙ Ò ÞÑ ÒÒÝ ØÝÑÞ ÓÛÝ Ò ÓØÖÞÝÑÙ Ò ÑÝ Ö ÙÑ ÒØ Ûº Ø Ñ ÙÒ Ò ÑÓ ÞÔÓ Ö Ò Ó ÞÑ Ò Û ÖØÓ Ö ÙÑ ÒØÙ ÙÒ º ÅÓ Ý Ö ÙÑ ÒØÙ ÑÓ ÑÝ Ò ÙÞÝ ÔÓÔÖÞ Þ Û õò Ö Ý ÔÖÞ ÞÝÛ Ò Ô Ö Ñ ØÖÙ ÔÖÞ Þ Ö µº Ê ÓÖ ÛÝÛÓ Ò ÙÒ Ò º Ø Ú Ø ÓÒ Ö ÓÖ Ø Ö Ñ µ Ó Ö Ð Ý Ø Ò ÔÓ Þ Þ Ò Þ Û Ö ¹ Û ÖØÓ Ö ÙÑ ÒØ Û ¹ ÞÑ ÒÒ ÐÓ ÐÒ ¹ Ö ÔÓÛÖÓØÙ ¹ ÝÒ Ñ ÞÒ ÓÛ Þ Ò Û õò Ó Ö ÓÖ Ù ÛÝÛÓ Ò ÔÖÓ Ù ÛÝÛÓ Ò ÙÒ ¹ ÞÛÖ Ò Û ÖØÓ Ð ÙÒ Ò Ø ØÝÔÙ ÚÓ µº È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ»

ÈÖÞÝ Þ Ñ Ò Û ÖØÓ ÞÑ ÒÒÝ ÒÐÙ < Ø Óº > ÚÓ Û Ô½ ÒØ ÒØµ» ÈÖÞ ÞÝÛ Ò Ô Ö Ñ ØÖ Û ÔÖÞ Þ Û ÖØÓ º» ÚÓ Û Ô¾ ÒØ ÒØ µ» ÈÖÞ ÞÝÛ Ò Ô Ö Ñ ØÖ Û ÔÖÞ Þ Ö º» ÒØ Ñ Ò ÚÓ µ ß ÒØ Ü Ý ½¼ ÔÖ ÒØ Ü ± Ý ± \Ò Ü Ýµ Û Ô½ Ü Ýµ ÔÖ ÒØ ÈÓ ÛÝ ÓÒ Ò Ù Û Ô½ Ü Ýµ \Ò µ ÔÖ ÒØ Ü ± Ý ± \Ò Ü Ýµ ÔÖ ÒØ ÈÓ ÛÝ ÓÒ Ò Ù Û Ô¾ ²Ü ²Ýµ \Ò µ Û Ô¾ ²Ü ²Ýµ ÔÖ ÒØ Ü ± Ý ± \Ò Ü Ýµ Ù Ø Òµ ÔÖ ÒØ Ý Þ ÓÒÞÝ Ò Ò ÆÌ ʺ µ Ø Ö µ Ö ØÙÖÒ ¼ Ð È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ»

ÈÖÞÝ Þ Ñ Ò Û ÖØÓ ÞÑ ÒÒÝ º º ÚÓ Û Ô½ ÒØ ÒØ µß ÒØ ÔÓÑ ÔÓÑ Ð ÚÓ Û Ô¾ ÒØ ÒØ µß ÒØ ÔÓÑ ÔÓÑ Ð È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ»

ÈÖÞÝ Þ Ñ Ò Û ÖØÓ ÞÑ ÒÒÝ º º» ÏÝÒ Ü Ý ½¼ ÈÓ ÛÝ ÓÒ Ò Ù Û Ô½ Ü Ýµ Ü Ý ½¼ ÈÓ ÛÝ ÓÒ Ò Ù Û Ô¾ ²Ü ²Ýµ Ü ½¼ Ý Ý Þ ÓÒÞÝ Ò Ò ÆÌ ʺ» È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ»

ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ È ÓØÖ ÆÓÛ ½ ÁÒ ØÝØÙØ ËÝ Ø ÑÓÛÝ È Æ ½ ¹Ñ Ð ÔÒÓÛ Ô ÒºÛ ÛºÔÐ È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ ½» ½

ÏÝ º Ò ÓÛ Û»ÛÝ Ù Ý ÞÒ ÓÛ ÙÒ Ó Ù Ù ÞÒ ÓÛ Û»ÛÝ ÈÓ Ù ÞÒ ÓÛ Ó ËØ ÞÑ ÒÒ Ù ÓÛ ÇÔ Ö Ò Ù ÞÒ ÓÛÝ È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ ¾» ½

Þ Á ÙÒ Ó Ù Ù ÞÒ ÓÛ Û»ÛÝ È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ» ½

ØÓ ÓÛ Ò ÙÒ ÔÙØ Ö µ Ø Ö µ ÙÒ ÒØ Ø Ö ÚÓ µ ÞÛÖ Ó ÞÒ Ù Þ Ø Ò Ö ÓÛ Ó Û ØÖ ØÓÛ ÒÝ Ó ÙÒ Ò Ö ÔÖÞ ÞØ ÓÒÝ Ó ØÝÔÙ ÒØº Ï ÔÖÞÝÔ Ù Ó ÔÐ Ù ÐÙ Ù ÙÒ ÞÛÖ Û ÖØÓ Ç º ÙÒ ÒØ ÔÙØ Ö ÒØ µ ÛÝ Ý ÞÒ Ó Ø Ò Ö ÓÛ Ó ÛÝ ÞÛÖ Ó ÞÒ Ù ØÖ ØÓÛ ÒÝ Ó ÙÒ Ò Ö ÔÖÞ ÞØ ÓÒÝ Ó ØÝÔÙ ÒØº ÏÝÛÓ Ò ÔÙØ Ö µ Ø Ö ÛÒÓÛ Ò ÛÝÛÓ Ò Ù ÔÙØ Ø ÓÙØµº Ï ÔÖÞÝÔ Ù Ù ÙÒ ÞÛÖ Û ÖØÓ Ç º È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ» ½

ÈÖÞÝ ÔÖÞ Ô ÝÛ Ò Û Ò ÛÝ º ÈÖÞÝ Ç Ò Ó Ð µ ÒÐÙ Ø Óº ÒØ Ñ Ò ÚÓ µ ß Ö Þ Þ Ø Ö µ Û Ð Þ Ç µ ß ÔÙØ Ö Þµ Þ Ø Ö µ Ð Ö ØÙÖÒ ¼ Ð È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ» ½

ÈÖÞÝ ¹ ÞÐ Þ Ò Û Û Ø ÈÖÞÝ ÒÐÙ < Ø Óº > ÒØ Ñ Ò ÚÓ µ ß ÒØ Ð ¼ Û ÐÓÛ ¼ Ö ÞÒ Û Ð ÞÒ Ø Ö µµ ³\Ò³µ ÞÒ ³ ³µ Û ÐÓÛ ¼ Ð Û ÐÓÛ µ ß Û ÐÓÛ ½ Ð Ð ÔÖ ÒØ \Ò± Ð µ Ö ØÙÖÒ ¼ Ð È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ» ½

ÈÖÞÝ ¹ Ù ÙÛ Ò Ò Ñ ÖÓÛÝ Ô ÈÖÞÝ ÒÐÙ < Ø Óº > ÒØ Ñ Ò ÚÓ µ ß ÒØ ½»» Ô Ñ»» Ó Ø ØÒ Ó ÞÝØ Ò Ý Ð Ø Ö ººº Ö ÞÒ Û Ð ÞÒ Ø Ö µµ ³\Ò³µ ß ½ ²² ÞÒ ³ ³µß ¼ ÔÙØ Ö ÞÒµ Ð ÞÒ ³ ³µµ ß ½ ÔÙØ Ö ÞÒµ Ð Ð Ö ØÙÖÒ ¼ Ð È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ» ½

ÈÖÞÝ ¹ ÛÝ ÞÙ Û Ò ÓÛ Û Ø ÈÖÞÝ ÒÐÙ < Ø Óº > ÒØ Ñ Ò ÚÓ µ ß ÒØ ¼ Ø Ò ½ ÒÖ ¼ Ö Û Ð ²² Ø Ö µµ Ç µ ß Û Ø µ ß ³ ³ Ø Ò ½µ Ø Ò ¾ Ð Ø Ò µ Ø Ò ¾ Ð Ø Ò µ ½ Ö ³ ³ Ø Ò ¾µ Ø Ò Ð Ø Ò µ Ø Ò Ð Ø Ò µ Ø Ò ½ Ö ÙÐØ Ø Ò ½ Ð È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ» ½

ÈÖÞÝ ¹ ÛÝ ÞÙ Û Ò ÓÛ Û Ø ÈÖÞÝ Ð ÒÖ Ð µ ÔÖ ÒØ \ÒÛ Ø Ø ÐÓÛÓ Ò ÔÓÞÝ ± ÒÖ¹ µ Ð ÔÖ ÒØ \ÒÛ Ø Ò Ñ ÐÓÛ µ Ö ØÙÖÒ ¼ Ð È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ» ½

Þ ÁÁ ÈÓ Ù ÞÒ ÓÛ Ó È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ ½¼» ½

Ù ÞÒ ÓÛÝ Ù Ñ ÞÒ ÓÛÝÑ Ò ÞÝÛ ÑÝ ÞÒ Ûº Ï ÞÝ Ù Ò ØÒ Ô ÐÒÝ ØÝÔ Ù ÓÛݺ Ó Ö ÔÖ Þ ÒØ Ù Û ÞÒ ÓÛÝ Û ÞÝ Ù Ù Ø Ð ØÝÔÙ Öº Ç Ø ØÒ Ñ ÞÒ Ñ Û Ø Ø Ð Ø ÞÒ ³\¼³º Á ØÒ ÔÙ ØÝ Ù ÞÒ ÓÛÝ Û ÛÞ Ø Ð Þ Û Ö ØÝÐ Ó ³\¼³µº Ù Ñ ÞÒ ÓÛÝÑ ÑÓ Ò ÔÓ Ù Û ÔÓ Ó Ò Ø Ð º È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ ½½» ½

Þ ÁÁÁ ËØ ÞÑ ÒÒ Ù ÓÛ È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ ½¾» ½

ËØ ÞÑ ÒÒ Ù ÓÛ Å ØÓ Ý Ð Ö ÞÑ ÒÒÝ Ù ÓÛÝ Ö Ò Ô ¾ Ö Ò Ô ¾ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò Ö Ò Ô ¾ ß ³È³ ³Ó³ ³ ³ ³ ³ ³Ø³ ³ ³ ³Û³ ³Ý³ ³ ³ ³Ô³ ³Ö³ ³Ó³ ³ ³ ³Ö³ ³ ³ ³Ñ³ ³Ó³ ³Û³ ³ ³ ³Ò³ ³ ³ ³ ³ ³\¼³Ð Ö Ò Ô ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ËØ Ò Ù Ø Ð Ø ÝÑ Ù ÓÛÝÑ Ø ÝÑ Ø Ð Ñ ÞÒ Û Þ Ó ÞÓÒÝÑ ÞÒ Ñ ³\¼³ µº  РÞÑ ÒÒ Ù ÓÛ Ò ÓÛ Ò Ù Ñ Ö Ø ÞÝÑ Ó Ù Ó ÔÓÞÓ Ø ÔÓÞÝ Û Ø Ð Ý ÛÝÔ Ò Ò ÞÒ Ñ Þ ÖÓÛÝÑ º È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ ½» ½

Þ ÁÎ ÇÔ Ö Ò Ù ÞÒ ÓÛÝ È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ ½» ½

ÈÐ Ò Û ÓÛÝ ØÖ Ò º ÛÝ Ö Ò ÙÒ Þ Ø ØÖÐ Ò ÓÒ Ø Ö µ Ù Ó Ù Þ ÞÒ Ù \¼³µ ÒØ ØÖÑÔ Ö Ø½ Ö Ø¾ µ ÙÒ ÔÓÖ ÛÒÙ Ù Ý Û ÔÓÖÞ Ù Ð Ý Ó Ö ÞÒÝÑ ÞÛÖ Û ÖØÓ <¼ Ý Ø½<ؾ ¼ Ý Ø½ ؾ >¼ Ý Ø½>ؾ Ö ØÖÔÝ Ö Ø ÓÒ Ø Ö Öµ ÓÔ ÓÛ Ò Ù Ö Ó Ø Ð Ý Ø Ö ØÖ Ø Ö Ø ÓÒ Ø Ö Ö µ Ó Ò Ù Ö Ó Ù Ø ÞÛÖ Ò Ö Ù ÔÓ ÞÓÒ Ó Ù Øµ Ö ØÖ Ö ÓÒ Ø Ö ÒØ µ Ö Ô ÖÛ Þ Ó ÛÝ Ø Ô Ò ÞÒ Ù Û Ù Ù ÐÙ Ö ÆÍÄÄ Û ÔÖÞÝÔ Ù Ý Ò ÛÝ ØÔÙ Ö ØÖ ØÖ Ö ÓÒ Ø Ö Ù µ Ö Ô ÖÛ Þ Ó ÛÝ Ø Ô Ò Ù Ù Û Ù Ù ÐÙ Ö ÆÍÄÄ Û ÔÖÞÝÔ Ù Ý Ù Ò ÛÝ ØÔÙ È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ ½» ½

Ç ÞÝØÝÛ Ò ÛÝÔ ÝÛ Ò Ù Û ÞÒ ÓÛÝ ÒØ ÔÖ ÒØ ÓÒ Ø Ö ÓÖÑ Ø ºººµ ÛÝÔ ÝÛ Ò Ù ÞÒ ÓÛ Ó Þ Ô Ý ØÓÖ Ñ ± ÒØ Ò ÓÒ Ø Ö ÓÖÑ Ø ºººµ ÛÞÝØ Ò Ù ÞÒ ÓÛ Ó Þ Ô Ý ØÓÖ Ñ ± Ó ÞÝ Û ÑÓÑ Ò Ò ÔÓØ Ò ÞÒ Ù Ò ÖÙ ÓÛ Ò Ó ÒØ ÔÙØ ÓÒ Ø Ö µ ÛÝÔ Ù Þ Û ÖØÓ Ù ÞÒ ÓÛ Ó ÔÓÛÓ Ù ÔÖÞ Ó ÒÓÛ Ð Ò Ö Ø Ö µ ÛÞÝØÙ Û Ö Þ ÞÒ Û Þ Ó ÞÓÒÝ ³\Ò³µ ÙÑ ÞÞ Û Ù Ù Þ ØÔÙ ³\Ò³ ÞÒ Ñ ³\¼³µ ÞÛÖ Ö ÔÓÞ Ø Ù È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ ½» ½

Ò ÛÝ Ö ÒÝ ÙÒ Ð ÓØ ÞÒÝ Ö ØÖÔÝ Ö ½ ÓÒ Ø Ö ¾µ ß ÒØ ÓÖ ¼ ½ ¾ µ ³\¼³ µ Ö ØÙÖÒ ½ Ð Ö ØÖ Ø Ö ½ ÓÒ Ø Ö ¾µ ß ÒØ ÓÖ ¼ ½ ³\¼³ µ ÓÖ ¼ ½ ¾ µ ³\¼³ µ Ö ØÙÖÒ ½ Ð ÒØ ØÖÑÔ ÓÒ Ø Ö ½ ÓÒ Ø Ö ¾µ ß Û Ð ½ ¾µ ²² ½ ²² ¾µ ß ½ ¾ Ð Ö ØÙÖÒ ½ ¹ ¾µ Ð È ÓØÖ ÆÓÛ Á Ë È Æµ ÈÓ Ø ÛÝ ÔÖÓ Ö ÑÓÛ Ò ÛÝ ½» ½

Podstawy programowania wykład Piotr Nowak 1 Instytut Badań Systemowych PAN 1 e-mail: pnowak@ibspan.waw.pl Piotr Nowak (IBS PAN) Podstawy programowania wykład 1 / 14

Wykład 6. Dynamiczna alokacja pamięci Pojęcie zmiennych i tablic dynamicznych Przydzielanie pamięci, funkcje: malloc(), calloc() i realloc() Zwalnianie pamięci za pomocą funkcji free() Piotr Nowak (IBS PAN) Podstawy programowania wykład 2 / 14

Część I Pojęcie zmiennych i tablic dynamicznych Piotr Nowak (IBS PAN) Podstawy programowania wykład 3 / 14

Obszary pamięci i zmienne dynamiczne Wyróżniamy cztery obszary pamięci komputera, dostępne dla programu : kod programu; dane statyczne ( np. stałe i zmienne globalne programu); zmienne automatyczne (lokalne zmienne funkcji przechowywane na stosie, ang. stack); zmienne dynamiczne przechowywane na stercie, ang. heap, czyli pamięci wolnej komputera (zmienne tworzone i usuwane podczas działania programu). Dostęp do zmiennych dynamicznych uzyskujemy poprzez ich adres w pamięci (przechowywany przez zmienną wskaźnikową). Piotr Nowak (IBS PAN) Podstawy programowania wykład 4 / 14

Część II Przydzielanie pamięci, funkcje: malloc(), calloc() i realloc() Piotr Nowak (IBS PAN) Podstawy programowania wykład 5 / 14

Funkcje: malloc() i calloc() Przydział pamięci o zadanej wielkości: void *malloc( size_t rozmiar ); W szczególności, aby utworzyć tablicę o liczbie elementów liczba_elementow, z których każdy zajmuje rozm bajtów, wywołujemy funkcję malloc z argumentem równym liczba_elementow*rozm. Przydział tablicy o zadanej wielkości: void *calloc( size_t liczba_elementow, size_t rozm); Funkcja calloc zeruje przydzieloną tablicę. Jeżeli operacja przydzielania pamięci zakończy się niepowodzeniem, obie funkcje zwracają NULL. Piotr Nowak (IBS PAN) Podstawy programowania wykład 6 / 14

Przykład operacji na zmiennej dynamicznej typu int Przykład #include<stdio.h> #include<stdlib.h> int main( void ){ int *ptr; /* zmienna wskaźnikowa do zapamiętania adresu zmiennej dynamicznej */ ptr = (int*) malloc( sizeof(int) ); /* przydzielenie pamięci dla zmiennej*/ if( ptr == NULL ){ printf( "Błąd przydziału pamięci" ); exit(-1); } *ptr = 111; printf( "*ptr==%d\n", *ptr ); Piotr Nowak (IBS PAN) Podstawy programowania wykład 7 / 14

Przykład operacji na zmiennej dynamicznej typu int Przykład } /* **************KONTYNUACJA***************** */ printf("podaj nowa wartosc: "); scanf( "%d", ptr ); printf( "*ptr==%d\n", *ptr ); free( ptr ); /* zwolnienie pamięci */ puts("aby zakonczyc nacisnij ENTER!"); fflush(stdin); getchar(); return 0; Piotr Nowak (IBS PAN) Podstawy programowania wykład 8 / 14

Przykład operacji na dynamicznej tablicy typu double Przykład #include<stdio.h> #include<stdlib.h> int main( void ){ int n,i; double *tab; printf( "Podaj liczbe elementow: " ); scanf( "%d", &n); if( tab = (double*) calloc( n, sizeof(double) ) ){ for(i = 0; i<n; i++ ) *( tab+i ) = 1.0/(i+1.0); /* tab[ i ] = 1.0/(i+1.0);*/ for(i = 0; i<n; i++ ) printf("%.2lf, ",tab[i ]); } free( tab ); puts("\naby zakonczyc nacisnij ENTER!"); fflush(stdin); getchar(); return 0; } Piotr Nowak (IBS PAN) Podstawy programowania wykład 9 / 14

Funkcja realloc() Funkcja realloc ma nastepującą postać: void *realloc(void *wsk, size_t rozm); Funkcja realloc zmienia rozmiar przydzielonego wcześniej obszaru pamięci o adresie wsk do rozm bajtów. Pierwsze n bajtów obszaru nie ulegnie zmianie, gdzie n jest równe minimum z rozmiaru poprzedniego obszaru i wartości rozm. Jeżeli wsk jest równy NULL, funkcja realloc odpowiada funkcji malloc. Piotr Nowak (IBS PAN) Podstawy programowania wykład 10 / 14

Część III Zwalnianie pamięci za pomocą funkcji free() Piotr Nowak (IBS PAN) Podstawy programowania wykład 11 / 14

Zwalnianie pamięci i funkcja free() Pamięć przydzielona podczas wykonywania programu, powinna być zwolniona przed jego zakończeniem. W tym celu używamy funkcji: void free( void *wskaznik); Wskaźnik, który jest argumentem funkcji powinien zawierać adres wcześniej zaalokowanego obszaru pamięci. Dealokacja pamięci musi być poprzedzona jej wcześniejszym przydzieleniem. Piotr Nowak (IBS PAN) Podstawy programowania wykład 12 / 14

Przykład programu z wykorzystaniem dynamicznej tablicy dwuwymiarowej Przykład #include<stdio.h> #include<stdlib.h> int main(void) { int n=5,m=10,i,j,**tab; if((tab=(int**)malloc(n*sizeof(int*)))==null) { printf("blad alokacji."); exit(-1); } for(i=0;i<n;i++) if((tab[i]=(int*)malloc(m*sizeof(int)))==null) { printf("blad alokacji."); exit(-1); } Piotr Nowak (IBS PAN) Podstawy programowania wykład 13 / 14

Przykład programu z wykorzystaniem dynamicznej tablicy dwuwymiarowej Przykład /* **************KONTYNUACJA***************** */ for(i=0;i<n;i++){ for(j=0;j<m;j++) { tab[i][j]=(i+1)*(j+1); printf("%3d",tab[i][j]); } printf("\n"); } for(i=0;i<n;i++) free(tab[i]); free(tab); system("pause"); return 0; } Piotr Nowak (IBS PAN) Podstawy programowania wykład 14 / 14

Podstawy programowania wykład Piotr Nowak 1 Instytut Badań Systemowych PAN 1 e-mail: pnowak@ibspan.waw.pl Piotr Nowak (IBS PAN) Podstawy programowania wykład 1 / 26

Wykład 7. Wprowadzenie do rekurencji Zalety i wady używania rekurencji Funkcje rekurencyjne w języku C proste przykłady Piotr Nowak (IBS PAN) Podstawy programowania wykład 2 / 26

Część I Zalety i wady używania rekurencji Piotr Nowak (IBS PAN) Podstawy programowania wykład 3 / 26

Funkcja rekurencyjna Funkcja rekurencyjna w języku C umożliwia implementację algorytmu rekurencyjnego. Wewnątrz funkcji rekurencyjnej występuje wywołanie jej samej. Wywołanie jest wykonywane w celu rozwiązania prostszego problemu (np. dla mniejszej wartości argumentu.) Funkcja rekurencyjna zawiera warunek zatrzymania. Warunek ten pozwala zakończyć funkcję bez wywoływania jej samej. Poprawność funkcji rekurencyjnej dowodzi się za pomocą indukcji matematycznej. Piotr Nowak (IBS PAN) Podstawy programowania wykład 4 / 26

Niebezpieczeństwa rekurencji Możliwość wystąpienia rekurencji nieskończonej. Nadmierne obciążenie stosu. Nieuzasadniona (nieefektywna) rekurencja. Jeżeli rekurencja nie gwarantuje dobrej wydajności, należy zastąpić ją iteracją. Piotr Nowak (IBS PAN) Podstawy programowania wykład 5 / 26

Część II Funkcje rekurencyjne w języku C proste przykłady Piotr Nowak (IBS PAN) Podstawy programowania wykład 6 / 26

Silnia Przykład int silniarek(int n) { if(n==1) return 1; else return silniarek(n-1)*n; } Piotr Nowak (IBS PAN) Podstawy programowania wykład 7 / 26

Konwersja z układu dziesiętnego do układu dwójkowego Przykład void konw(int a){ if(a<2) cout<< a; else { konw(a / 2); cout<< a % 2; } } Piotr Nowak (IBS PAN) Podstawy programowania wykład 8 / 26

Przykład nieprawidłowego zastosowania rekurencji (rekurencji nieefektywnej) Obliczanie wyrazów ciągu Fibonacciego Przykład int fibrek(int n) { if(n<3) return 1; else return fibrek(n-1)+fibrek(n-2); } Piotr Nowak (IBS PAN) Podstawy programowania wykład 9 / 26

Największy wspólny dzielnik Przykład int nwd(int a,int b) { if(b==0) return a; else return nwd(b,a%b); } Piotr Nowak (IBS PAN) Podstawy programowania wykład 10 / 26

Szybkie mnożenie Przykład int szm (int a, int b) { if(b==0) return 0; return a*(b%2)+szm(2*a, b/2); } Piotr Nowak (IBS PAN) Podstawy programowania wykład 11 / 26

Szybkie potęgowanie Przykład int szp (int a, int b) { if(b==0) return 1; if(b%2) return a*szp(a*a, b/2); return szp(a*a, b/2); } Piotr Nowak (IBS PAN) Podstawy programowania wykład 12 / 26

Wieże Hanoi Mamy do dyspozycji trzy wieże: A, B i C i n krążków różnej wielkości, ułożonych na wieży A w porządku malejącym (licząc od dołu). Należy przełożyć n krążków z wieży A na wieżę C, korzystając z wieży B, przestrzegając następujących zasad: Krążki przenosimy pojedynczo. Nigdy nie kładziemy większego krążka na mniejszy. Piotr Nowak (IBS PAN) Podstawy programowania wykład 13 / 26

Wieże Hanoi Przykład #include<stdio.h> #include<stdlib.h> void hanoi(int, char, char, char); int main(void) { int n; hanoi(3, A, B, C ); system("pause"); return 0; } Piotr Nowak (IBS PAN) Podstawy programowania wykład 14 / 26

Wieże Hanoi Przykład void hanoi(int n, char A, char B, char C) { if (n>0) { hanoi(n-1,a,c,b); printf("krazek %d: %c > %c\n",n,a,c); hanoi(n-1,b,a,c); } } Piotr Nowak (IBS PAN) Podstawy programowania wykład 15 / 26

Rozkład liczby naturalnej Problem: znajdź liczbę przedstawień danej liczby naturalnej n w postaci sumy liczb naturalnych. Wprowadzamy następujące ograniczenie: składniki nie mogą przekraczać pewnej liczby naturalnej m. Wspomnianą liczbę przedstawień oznaczamy f (n, m). Przykład f (5,3) = 5; f (5,4) = 6; f (5,5) = 7. Istotnie, w porządku odwrotnym do leksykograficznego, przedstawienia liczby 5 są następujące: 5 4 + 1 3 + 2 3 + 1 + 1 2 + 2 + 1 2 + 1 + 1 + 1 1 + 1 + 1 + 1 + 1 Piotr Nowak (IBS PAN) Podstawy programowania wykład 16 / 26

Rozkład liczby naturalnej Przykład int f(int n, int m) { if(n==1 m==1) return 1; else if(m>n) return f(n,n); else if(m==n) return 1+f(n,n-1); else return f(n,m-1)+f(n-m,m); } Piotr Nowak (IBS PAN) Podstawy programowania wykład 17 / 26

Wyszukiwanie binarne Przykład #include<stdio.h> #define n 7 int BinSearch(int[], int, int, int); int main(void) { int t[n]={1,3,4,5,6,8,9},i; for(i=0;i<15;i++) printf("%d? : %d\n",i,binsearch(t,0,n-1,i)); getchar(); return 0; } Piotr Nowak (IBS PAN) Podstawy programowania wykład 18 / 26

Wyszukiwanie binarne Przykład int BinSearch(int tab[], int lewy, int prawy, int x) { int srodek; if (lewy>prawy) return -1; else { srodek = (lewy+prawy)/2; if (tab[srodek] == x) return srodek; if (tab[srodek]<x) return BinSearch(tab, srodek+1, prawy, x); else return BinSearch(tab, lewy, srodek-1,x); } } Piotr Nowak (IBS PAN) Podstawy programowania wykład 19 / 26

Wyszukiwanie binarne Wynik działania programu: 0? : -1 1? : 0 2? : -1 3? : 1 4? : 2 5? : 3 6? : 4 7? : -1 8? : 5 9? : 6 10? : -1 11? : -1 12? : -1 13? : -1 14? : -1 Piotr Nowak (IBS PAN) Podstawy programowania wykład 20 / 26

Szybkie sortowanie Przykład #include<stdio.h> #define n 15 void swap(int*,int*) ; void qsort(int [],int,int); int main(void) { int i; int tab[n]={6,5,4,4,3,3,7,2,4,4,1,3,8,0,9}; /* max na a[n-1]!*/ for(i=0;i<n;i++) printf("%d,",tab[i]); qsort(tab,0,n-2); printf("\n"); for(i=0;i<n;i++) printf("%d,",tab[i]); getchar(); return 0; } Piotr Nowak (IBS PAN) Podstawy programowania wykład 21 / 26

Szybkie sortowanie Przykład void qsort(int data[],int l,int p) { int v=data[l],i=l,j=p+1; /* poczatek partition*/ do{ do{i++;}while(data[i]<v); do{j ;}while(data[j]>v); if(i<j) swap(&data[i],&data[j]); } while(j>i); data[l]=data[j];data[j]=v; /* koniec partition*/ if((j-1)>l) qsort(data,l,j-1); if((j+1)<p) qsort(data,j+1,p); } void swap(int* px, int* py) /* x:=:y */ { int temp=*px; *px=*py; *py=temp; } Piotr Nowak (IBS PAN) Podstawy programowania wykład 22 / 26

Szybkie sortowanie Wynik działania programu: Tablica poczatkowa: 6,5,4,4,3,3,7,2,4,4,1,3,8,0,9, partition 0 do 13, i=6, j=13: 6,5,4,4,3,3,0,2,4,4,1,3,8,7,9, partition 0 do 13, i=12, j=11: 6,5,4,4,3,3,0,2,4,4,1,3,8,7,9, koniec partition 0 do 13, i=12, j=11: 3,5,4,4,3,3,0,2,4,4,1,6,8,7,9, partition 0 do 10, i=1, j=10: 3,1,4,4,3,3,0,2,4,4,5,6,8,7,9, partition 0 do 10, i=2, j=7: 3,1,2,4,3,3,0,4,4,4,5,6,8,7,9, partition 0 do 10, i=3, j=6: 3,1,2,0,3,3,4,4,4,4,5,6,8,7,9, partition 0 do 10, i=4, j=5: 3,1,2,0,3,3,4,4,4,4,5,6,8,7,9, Piotr Nowak (IBS PAN) Podstawy programowania wykład 23 / 26

Szybkie sortowanie partition 0 do 10, i=5, j=4: 3,1,2,0,3,3,4,4,4,4,5,6,8,7,9, koniec partition 0 do 10, i=5, j=4: 3,1,2,0,3,3,4,4,4,4,5,6,8,7,9, partition 0 do 3, i=4, j=3: 3,1,2,0,3,3,4,4,4,4,5,6,8,7,9, koniec partition 0 do 3, i=4, j=3: 0,1,2,3,3,3,4,4,4,4,5,6,8,7,9, partition 0 do 2, i=1, j=0: 0,1,2,3,3,3,4,4,4,4,5,6,8,7,9, koniec partition 0 do 2, i=1, j=0: 0,1,2,3,3,3,4,4,4,4,5,6,8,7,9, partition 1 do 2, i=2, j=1: 0,1,2,3,3,3,4,4,4,4,5,6,8,7,9, koniec partition 1 do 2, i=2, j=1: 0,1,2,3,3,3,4,4,4,4,5,6,8,7,9, Piotr Nowak (IBS PAN) Podstawy programowania wykład 24 / 26

Szybkie sortowanie partition 5 do 10, i=6, j=5: 0,1,2,3,3,3,4,4,4,4,5,6,8,7,9, koniec partition 5 do 10, i=6, j=5: 0,1,2,3,3,3,4,4,4,4,5,6,8,7,9, partition 6 do 10, i=7, j=9: 0,1,2,3,3,3,4,4,4,4,5,6,8,7,9, partition 6 do 10, i=8, j=8: 0,1,2,3,3,3,4,4,4,4,5,6,8,7,9, koniec partition 6 do 10, i=8, j=8: 0,1,2,3,3,3,4,4,4,4,5,6,8,7,9, partition 6 do 7, i=7, j=7: 0,1,2,3,3,3,4,4,4,4,5,6,8,7,9, koniec partition 6 do 7, i=7, j=7: 0,1,2,3,3,3,4,4,4,4,5,6,8,7,9, Piotr Nowak (IBS PAN) Podstawy programowania wykład 25 / 26

Szybkie sortowanie partition 9 do 10, i=10, j=9: 0,1,2,3,3,3,4,4,4,4,5,6,8,7,9, koniec partition 9 do 10, i=10, j=9: 0,1,2,3,3,3,4,4,4,4,5,6,8,7,9, partition 12 do 13, i=14, j=13: 0,1,2,3,3,3,4,4,4,4,5,6,8,7,9, koniec partition 12 do 13, i=14, j=13: 0,1,2,3,3,3,4,4,4,4,5,6,7,8,9, Wynik koncowy: 0,1,2,3,3,3,4,4,4,4,5,6,7,8,9, Piotr Nowak (IBS PAN) Podstawy programowania wykład 26 / 26

Podstawy programowania wykład Piotr Nowak 1 Instytut Badań Systemowych PAN 1 e-mail: pnowak@ibspan.waw.pl Piotr Nowak (IBS PAN) Podstawy programowania wykład 1 / 23

Wykład 8. Rekurencja, iteracja i programowanie dynamiczne Analiza i porównanie wybranych programów w wersji rekurencyjnej oraz iteracyjnej Algorytmy z powrotami Metody programowania dynamicznego, prezentacja przykładów Piotr Nowak (IBS PAN) Podstawy programowania wykład 2 / 23

Część I Analiza i porównanie wybranych programów... Piotr Nowak (IBS PAN) Podstawy programowania wykład 3 / 23

Rekurencja versus iteracja Silnia Szybkie mnożenie i potęgowanie Ciągi Fibonacciego Wyszukiwanie binarne Piotr Nowak (IBS PAN) Podstawy programowania wykład 4 / 23

Część II Algorytmy z powrotami Piotr Nowak (IBS PAN) Podstawy programowania wykład 5 / 23

Problem ośmiu hetmanów Opis problemu Na szachownicy należy tak ustawić osiem hetmanów, aby nie mogły się "bić" wzajemnie. Szukamy rozwiązań w postaci ciągów liczb, przy czym kolejny wyraz ciągu, odpowiadający kolejnej kolumnie, oznacza numer wiersza, w którym należy postawić hetmana. Stan szachownicy reprezentowany jest ponadto za pomocą trzech tablic: a,b,c. Piotr Nowak (IBS PAN) Podstawy programowania wykład 6 / 23

Program znajdujący jedno rozwiązanie Przykład #include<stdio.h> #define w 8 int a[w],b[2*w-1],c[2*w-1]; int x[w]; void jedynki(); int probuj(int); void drukuj(); int main(void) { jedynki(); if(probuj(0)) {printf("jakies rozwiazanie:\n"); drukuj();} getchar(); return 0; } Piotr Nowak (IBS PAN) Podstawy programowania wykład 7 / 23

Program znajdujący jedno rozwiązanie Przykład \ *ciąg dalszy*\ void jedynki() { int i; for(i=0;i<w;i++) a[i]=1; for(i=0;i<2*w-1;i++) b[i]=c[i]=1; } Piotr Nowak (IBS PAN) Podstawy programowania wykład 8 / 23

Program znajdujący jedno rozwiązanie Przykład \ *ciąg dalszy*\ int probuj(int i){ int j; for(j=0;j<w;j++) if(a[j]&&b[i-j+w-1]&&c[i+j]) { a[j]=b[i-j+w-1]=c[i+j]=0; x[i]=j; if(i<w-1) if(!probuj(i+1)) a[j]=b[i-j+w-1]=c[i+j]=1; else return 1; else return 1; } return 0; } Piotr Nowak (IBS PAN) Podstawy programowania wykład 9 / 23

Program znajdujący jedno rozwiązanie Przykład \ *ciąg dalszy*\ void drukuj() { int i; for(i=0;i<w;i++) printf("%d, ",x[i]); printf("\n"); } Piotr Nowak (IBS PAN) Podstawy programowania wykład 10 / 23

Funkcja znajdująca wszystkie rozwiązania Przykład void wszystkie(int i) { int j; for(j=0;j<w;j++) if(a[j]&&b[i-j+w-1]&&c[i+j]) { a[j]=b[i-j+w-1]=c[i+j]=0; x[i]=j; if(i<w-1) wszystkie(i+1); else drukuj(); a[j]=b[i-j+w-1]=c[i+j]=1; } } Piotr Nowak (IBS PAN) Podstawy programowania wykład 11 / 23

Część III Metody programowania dynamicznego, prezentacja... Piotr Nowak (IBS PAN) Podstawy programowania wykład 12 / 23

Programowanie dynamiczne wstępujące Programowanie dynamiczne wstępujące jest techniką programowania polegającą na obliczaniu wszystkich wartości pewnej funkcji, począwszy od najmniejszej wartości argumentu. Przy wyznaczaniu (w każdym kroku) bieżącej wartości funkcji korzysta się z wartości wcześniej obliczonych. Jako przykłady zastosowania programowania dynamicznego wstępującego przedstawione zostaną przykłady: Droga żuka po kwadracie Kwadraty Najdłuższy wspólny podciąg Najdłuższy podciąg rosnący Piotr Nowak (IBS PAN) Podstawy programowania wykład 13 / 23

Droga żuka po kwadracie Przykład #include<stdio.h> #define n 4 int main() { int a[n][n]; int i, j, min; for( i = 0; i<n;i++ ) for( j = 0; j<n;j++) { printf(" a[%d,%d]= ", i, j); scanf(" %d ", &a[i][j]); }; printf("\n"); Piotr Nowak (IBS PAN) Podstawy programowania wykład 14 / 23

Droga żuka po kwadracie Przykład \ *ciąg dalszy*\ for( i = 0; i<n;i++ ) { for( j = 0; j<n;j++) printf(" %d, ", a[i][j]); printf("\n "); }; printf("\n "); Piotr Nowak (IBS PAN) Podstawy programowania wykład 15 / 23

Droga żuka po kwadracie Przykład \ *ciąg dalszy*\ for( i = 1; i<n; i++ ) a[0][i] += a[0][i-1]; for( j = 1; j<n; j++ ) a[j][0] += a[j-1][0]; for( i = 1; i<n;i++ ) for( j = 1; j<n;j++ ) { if( a[i-1][j]>a[i][j-1]) min = a[i][j-1]; else min = a[i-1][j]; a[i][j] += min; } printf(" %d ", a[n-1][n-1]); fflush(stdin); getchar(); return 0; } Piotr Nowak (IBS PAN) Podstawy programowania wykład 16 / 23

Droga żuka po kwadracie - przykładowe rozwiązanie Tablica początkowa: Tablica podczas obliczeń: Tablica końcowa: Najmniejsza suma wynosi 5. 1, 2, 0, 3, 2, 1, 0, 1, 2, 0, 1, 1, 2, 3, 0, 1, 1, 3, 3, 6, 3, 4, 5, 7, 1, 3, 3, 6, 3, 4, 3, 4, 5, 4, 4, 5, 7, 5, 4, 5, Piotr Nowak (IBS PAN) Podstawy programowania wykład 17 / 23

Kwadraty Problem: W tablicy binarnej (o wartościach 0, 1) znajdź największy kwadrat składający się z samych jedynek. Przykład #include<stdio.h> #include<stdlib.h> #include<time.h> #define lw 5 #define lk 7 int main(void) { int tab[lw][lk]; int w = 0, k = 0, min; srand(time(0)); Piotr Nowak (IBS PAN) Podstawy programowania wykład 18 / 23

Kwadraty Przykład \ *ciąg dalszy*\ for(w = 0; w<lw; w++) { for(k = 0; k<lk; k++) { tab[w][k]=(rand()%11>0)?1:0; printf("%d", tab[w][k]); } printf("\n"); } Piotr Nowak (IBS PAN) Podstawy programowania wykład 19 / 23

Kwadraty Przykład \ *ciąg dalszy*\ printf("\n"); for(w = 1; w<lw; w++) for(k = 1; k<lk; k++) { if(tab[w][k] == 1) { if(tab[w-1][k-1] < tab[w-1][k]) min = tab[w-1][k-1]; else min = tab[w-1][k]; if(min>tab[w][k-1]) min = tab[w][k-1]; tab[w][k]= min + 1; } } Piotr Nowak (IBS PAN) Podstawy programowania wykład 20 / 23

Kwadraty Przykład \ *ciąg dalszy*\ for(w = 0; w<lw; w++) { for(k = 0; k<lk; k++) printf("%d", tab[w][k]); printf("\n"); } getchar(); return 0; } Piotr Nowak (IBS PAN) Podstawy programowania wykład 21 / 23

Kwadraty Tablica początkowa: Wynik działania programu: 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 2 2 2 1 2 2 2 3 3 1 2 3 3 3 4 1 2 3 0 1 0 1 2 3 1 1 1 Piotr Nowak (IBS PAN) Podstawy programowania wykład 22 / 23

Programowanie dynamiczne zstępujące Programowanie dynamiczne zstępujące polega na tym, że funkcja rekurencyjna zapisuje obliczoną przez siebie wartość na końcowym miejscu struktury danych (np. tablicy) i sprawdza zapisane wartości w jej części początkowej, tak aby nie obliczać jeszcze raz tych samych wartości. Przykład int Fib(int n) /*Ciągi Fibonacciego metodą dynamiczną zstępującą*/ { int k=n; static int znanefib[n]; if(znanefib[n]!=0) return znanefib[n]; if(n<0) return 0; if(n>=2) k=fib(n-2)+fib(n-1); return znanefib[n]=k; } Piotr Nowak (IBS PAN) Podstawy programowania wykład 23 / 23