Wynik zapytania API MediaWiki

This is the HTML representation of the JSON format. HTML is good for debugging, but is unsuitable for application use.

Specify the format parameter to change the output format. To see the non-HTML representation of the JSON format, set format=json.

See the complete documentation, or the API help for more information.

{
    "batchcomplete": "",
    "continue": {
        "gapcontinue": "Uczymy_si\u0119_my\u015ble\u0107_abstrakcyjnie",
        "continue": "gapcontinue||"
    },
    "warnings": {
        "main": {
            "*": "Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/postorius/lists/mediawiki-api-announce.lists.wikimedia.org/> for notice of API deprecations and breaking changes."
        },
        "revisions": {
            "*": "Because \"rvslots\" was not specified, a legacy format has been used for the output. This format is deprecated, and in the future the new format will always be used."
        }
    },
    "query": {
        "pages": {
            "39": {
                "pageid": 39,
                "ns": 0,
                "title": "R\u00f3\u017cnorodno\u015b\u0107 struktur program\u00f3w",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "== Wszystko p\u0142ynie \u2026.  ==\n\nDwa i p\u00f3\u0142 tysi\u0105ca lat temu grecki filozof [https://pl.wikipedia.org/wiki/Heraklit Heraklit] opisywa\u0142 przy pomocy metafory rzeki ci\u0105gle zmieniaj\u0105cy si\u0119 \u015bwiat. Wszystko p\u0142ynie i \u201enie mo\u017cna wej\u015b\u0107 dwa razy do tej samej wody\u201d. Tak\u017ce czas odmierzany zegarem komputera p\u0142ynie nieustannie. Czy jednak metafora rzeki pasuje do opisu dzia\u0142ania komputera? Pr\u00f3ba odpowiedzi na to pytanie pozwala lepiej zrozumie\u0107 struktur\u0119 program\u00f3w komputerowych. \n\n== Przep\u0142ywy w komputerze  ==\n\nDzia\u0142anie programu jest nap\u0119dzane zegarem komputera, kt\u00f3ry nigdy si\u0119 nie zatrzymuje (chyba, \u017ce wskutek awarii lub wy\u0142\u0105czenia zasilania). Nie mamy mo\u017cliwo\u015bci wp\u0142ywania na ten proces. Raz uruchomiony program dzia\u0142a bez naszej ingerencji a czasem nawet wiedzy \u2013 deterministycznie i automatycznie.\n\nW rytm zegara nast\u0119puj\u0105 w programach dwa rodzaje przep\u0142yw\u00f3w: '''przep\u0142yw danych''' i '''przep\u0142yw sterowania'''. \n\nUpraszczaj\u0105c nieco problem mo\u017cna rzec, \u017ce przep\u0142yw sterowania wi\u0105\u017ce si\u0119 z wykonywaniem przez komputer kolejnych instrukcji programu, a przep\u0142yw danych z wykonywanymi przez ten program dzia\u0142aniami:\n\n<div style=\"text-align:center;\">komputer \u2192 sterowanie \u2192 dane</div>\n\nCzyli komputer wykonuje instrukcje, a te instrukcje powoduj\u0105 zmiany stanu (pami\u0119ci) komputera. Nic nie stoi na przeszkodzie, aby taki sam stan m\u00f3g\u0142 pojawia\u0107 si\u0119 wielokrotnie. '''W odniesieniu do \u015bwiata maszyn Heraklit nie mia\u0142 wi\u0119c racji'''. Jednokierunkowo\u015b\u0107 zmian w czasie jest jedn\u0105 z r\u00f3\u017cnic mi\u0119dzy cz\u0142owiekiem a maszyn\u0105.\n\nDrug\u0105 istotn\u0105 r\u00f3\u017cnic\u0105 jest determinizm. Przep\u0142yw danych i sterowania odbywa si\u0119 w spos\u00f3b automatyczny. Po uruchomieniu programu komputer samodzielnie (automatycznie) wykonuje kolejne jego instrukcje. Mo\u017cna z g\u00f3ry przewidzie\u0107 kolejno\u015b\u0107 wykonywania dzia\u0142a\u0144 (na tym przecie\u017c polega programowanie maszyn). Cz\u0142owiek tymczasem przed ka\u017cdym dzia\u0142aniem podejmuje \u015bwiadom\u0105 decyzj\u0119.\n\nTe dwa zagadnienia wygl\u0105daj\u0105 paradoksalnie:\n\n1. Istnieje pozorna sprzeczno\u015b\u0107 mi\u0119dzy trwa\u0142o\u015bci\u0105 a przemijaniem. Komputer mo\u017ce bez ko\u0144ca wraca\u0107 do stanu pocz\u0105tkowego (trwa\u0142o\u015b\u0107), a jednak ka\u017cdy program zaczyna si\u0119 i ko\u0144czy (przemijanie).\n\n2. W przypadku wi\u0119kszo\u015bci program\u00f3w nast\u0119puje '''interakcja z otoczeniem'''. Je\u015bli program wydrukowa\u0142 raport na drukarce, to nie mo\u017ce ju\u017c tego cofn\u0105\u0107. Nie ma powrotu do stanu w kt\u00f3rym kartka by\u0142a czysta! Jak to pogodzi\u0107 z tez\u0105 o mo\u017cliwo\u015bci powrotu do stanu pocz\u0105tkowego?\n\n3. Z kolei interakcja mi\u0119dzy komputerami i lud\u017ami (lub lud\u017ami za po\u015brednictwem komputer\u00f3w) wi\u0105\u017ce si\u0119 z brakiem determinizmu, gdy tymczasem komputery dzia\u0142aj\u0105 deterministycznie (automatycznie).\n\nAby wyja\u015bni\u0107 te paradoksy, musimy dobrze rozumie\u0107 na czym polega przep\u0142yw sterowania, co to jest stan komputera oraz jak wygl\u0105da automatyzm dzia\u0142ania w przypadku interakcji z otoczeniem.\n\n'''1. Przep\u0142yw sterowania'''. Co to jest sterowanie w komputerze? Cz\u0142owiek my\u015bli sekwencyjnie (po kolei) i tak tworzy programy. Ka\u017ce komputerowi wykonywa\u0107 kolejne instrukcje programu. Wskazanie na aktualnie wykonywan\u0105 instrukcj\u0119 nazywa si\u0119 potocznie sterowaniem. Ka\u017cdy program kiedy\u015b si\u0119 zaczyna i zazwyczaj kiedy\u015b si\u0119 ko\u0144czy. Pocz\u0105tek to przej\u015bcie sterowania do pierwszej instrukcji. Koniec \u2013 to przej\u015bcie do instrukcji zako\u0144czenia (stop). Je\u015bli w programie pojawi si\u0119 instrukcja warunkowa ('''if''') \u2013 sterowanie mo\u017ce zmienia\u0107 si\u0119 zale\u017cnie od sprawdzanego warunku. W programie mog\u0105 te\u017c wyst\u0119powa\u0107 p\u0119tle \u2013 a wi\u0119c powr\u00f3t do wcze\u015bniej wykonywanych instrukcji. W p\u0119tli nast\u0119puje powtarzanie bloku tych samych instrukcji dop\u00f3ki nie wyst\u0105pi\u0105 warunki zako\u0144czenia p\u0119tli. Programy, kt\u00f3re nigdy si\u0119 nie zatrzymuj\u0105 (jaka\u015b p\u0119tla nigdy si\u0119 nie ko\u0144czy) zazwyczaj uwa\u017ca si\u0119 za b\u0142\u0119dne. \n\n2. '''Poj\u0119cie stanu'''. Programy dzia\u0142aj\u0105 na zmiennych \u2013 czyli odczytuj\u0105 i zmieniaj\u0105 stan pami\u0119ci komputera. Stan komputera \u2013 rozumiany jako zawarto\u015b\u0107 pami\u0119ci (\u0142\u0105cznie z zapami\u0119tanym sterowaniem) mo\u017ce by\u0107 identyczny w r\u00f3\u017cnych momentach (przynajmniej w zakresie istotnym dla programu). Skutkiem dzia\u0142ania programu jest przej\u015bcie systemu komputerowego od jednego stanu (pocz\u0105tkowego dla programu) do drugiego (ko\u0144cowego dla tego programu). Kolejne kroki tego \u201eprzechodzenia\u201d wi\u0105\u017c\u0105 si\u0119 z wykonywaniem kolejnych instrukcji (przep\u0142yw sterowania). Ten sam program lub jego fragment mo\u017ce by\u0107 uruchamiany wielokrotnie i zawsze b\u0119dzie dzia\u0142a\u0142 tak samo o ile uzyska takie same dane. \n\n3. '''Interakcja z otoczeniem'''. Nie da si\u0119 cofn\u0105\u0107 operacji drukowania kartki. Tak \u2013 ale stan kartki nie wyznacza stanu komputera, tylko otoczenia w kt\u00f3rym on funkcjonuje. Powy\u017cszy opis sterowania i stanu (pami\u0119ci) dotyczy\u0142 \u015bwiata komputer\u00f3w, a nie \u015bwiata w kt\u00f3rym komputer dzia\u0142a!\n\n4. '''Automatyzm i determinizm'''. Gdy dane do komputera wprowadza cz\u0142owiek, komputer nie ma wp\u0142ywu na to co odczytuje. Jednak programista musia\u0142 przewidzie\u0107 r\u00f3\u017cne mo\u017cliwo\u015bci i komputer nie mo\u017ce znale\u017a\u0107 si\u0119 wskutek odczytania danych w innym stanie, ni\u017c to wynika z jego konstrukcji (dzia\u0142ania programu). Indeterminizm dotyczy wy\u0142\u0105cznie \u015bwiata zewn\u0119trznego. Interakcja z programem nie mo\u017ce zmienia\u0107 zasad dzia\u0142ania ustalonych przez programist\u0119! To odr\u00f3\u017cnienie jest wa\u017cne i obowi\u0105zuje zawsze \u2013 nawet w przypadku system\u00f3w steruj\u0105cych r\u00f3\u017cnymi urz\u0105dzeniami \u2013 gdy komputer odczytuje informacje na temat zewn\u0119trznych skutk\u00f3w generowanych sygna\u0142\u00f3w. \n\n\n{| style=\"border:1px solid;border-spacing:0;margin:auto;\"\n|-\n| align=center | \n| align=center | '''Sterowanie'''\n| align=center | '''Stan (dane)'''\n|-\n| style=\"border:1px solid;\" | Maszyna\n| style=\"border:1px solid;\" | Automatyzm / determinizm\n| style=\"border:1px solid;\" | Trwa\u0142o\u015b\u0107 \u2013 mo\u017cliwo\u015b\u0107 powrotu do stanu pocz\u0105tkowego\n|-\n| style=\"border:1px solid;\" | Cz\u0142owiek\n| style=\"border:1px solid;\" | Wolna wola / indeterminizm\n| style=\"border:1px solid;\" | Jednokierunkowe zmiany w czasie\n|-\n| style=\"border:1px solid;\" | Interakcja\n| style=\"border:1px solid;\" | Spos\u00f3b reakcji na dowolne zmiany otoczenia nie jest swobodny ale zdeterminowany struktur\u0105 programu (zdefiniowany przez programist\u0119).\n| style=\"border:1px solid;\" | Trwa\u0142e zmiany dotycz\u0105 otoczenia, a nie wn\u0119trza komputera.\n|-\n|}\n\n== Przep\u0142yw danych i sterowania w r\u00f3\u017cnych rodzajach program\u00f3w  ==\n\nPowy\u017csze aspekty (sterowanie, dane, interakcja) wyczerpuj\u0105 w ca\u0142o\u015bci zagadnienie przep\u0142yw\u00f3w w programach. Wiele idei, jakie powsta\u0142y w dziedzinie tworzenia oprogramowania to realizacja r\u00f3\u017cnych pomys\u0142\u00f3w na to jak sobie radzi\u0107 z przep\u0142ywami w tych trzech aspektach.\n\nA oto przegl\u0105d r\u00f3\u017cnego rodzaju interakcji dla r\u00f3\u017cnych typ\u00f3w program\u00f3w.\n\n\n{| style=\"margin:auto;\"\n|-\n| align=center | \n| align=center | '''Sterowanie'''\n| align=center | '''Stan (dane)'''\n|-\n| style=\"border:1px solid;\" | Konsola\n| style=\"border:1px solid;\" | Program interpretera wykonuje instrukcje pojedynczo (podawane przez operatora)\n| style=\"border:1px solid;\" | \n|-\n| style=\"border:1px solid;\" | Program wsadowy\n| style=\"border:1px solid;\" | Program uruchamiany dla przetworzenia danych \u2013 zazwyczaj bez dodatkowych interakcji.\n| style=\"border:1px solid;\" | Program wczytuje dane, przetwarza je i zapisuje wyniki.\n|-\n| style=\"border:1px solid;\" | Potoki i gniazda\n| style=\"border:1px solid;\" | Program obecny w pami\u0119ci (na przyk\u0142ad fragment systemu operacyjnego) \u2013 komunikuje si\u0119 najcz\u0119\u015bciej przez tak zwane \u201egniazda\u201d.\n| style=\"border:1px solid;\" | Podobny do program\u00f3w wsadowych, ale przetwarza dane przes\u0142ane przez inne programy i przekazuje im wyniki.\n|-\n| style=\"border:1px solid;\" | Obiekty\n| style=\"border:1px solid;\" | Funkcje (metody) obiekt\u00f3w wywo\u0142ywane przez inne obiekty/programy.\n| style=\"border:1px solid;\" | Dzia\u0142anie funkcji zazwyczaj ogranicza si\u0119 do zmian w obr\u0119bie obiektu (zmian w\u0142asno\u015bci obiektu).\n|-\n| style=\"border:1px solid;\" | Zdarzenia\n| style=\"border:1px solid;\" | Program uruchamiany w reakcji na sygna\u0142y \u015bwiadcz\u0105ce o zaj\u015bciu jakiego\u015b zdarzenia. Mo\u017ce to by\u0107 interakcja z u\u017cytkownikiem, lub inne zdarzenie.\n| style=\"border:1px solid;\" | \n|-\n| style=\"border:1px solid;\" | Wyj\u0105tki\n| style=\"border:1px solid;\" | Przerwanie bie\u017c\u0105cego w\u0105tku (sekwencji sterowania) wskutek nadzwyczajnych okoliczno\u015bci. Przej\u015bcie do miejsca w kt\u00f3rym przewidziano obs\u0142ug\u0119 wyj\u0105tku. Je\u015bli nie przewidziano \u2013 wyj\u0105tek przekazywany wy\u017cej \u2013 do programu/procedury w kt\u00f3rej aaninisjowano w\u0105tek (na przyk\u0142ad uruchomiono procedur\u0119).\n| style=\"border:1px solid;\" | \n|-\n| style=\"border:1px solid;\" | Obiekty rozproszone, programy wielowarstwowe i interfejsy\n| style=\"border:1px solid;\" | Obiekty lub programy uruchamiane na tym samym lub innym komputerze mog\u0105 komunikowa\u0107 si\u0119 ze sob\u0105 poprzez interfejsy.\n| style=\"border:1px solid;\" | Ka\u017cdy program dzia\u0142a autonomicznie w swoim \u015brodowisku, zmiany na zewn\u0105trz tego \u015brodowiska zleca innym programom.\n|-\n|}\n\n\nNajlepszym obja\u015bnieniem do powy\u017cszej tabelki jest rozdzia\u0142 przygotowywanego podr\u0119cznika programowania w Pythonie zatytu\u0142owany \u201ePrzep\u0142yw danych i sterowania[https://leanpub.com/pyprog]\""
                    }
                ]
            },
            "57": {
                "pageid": 57,
                "ns": 0,
                "title": "Strona g\u0142\u00f3wna",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "'''INFORMATYKA'''\n\n1. [[Podstawy informatyki]].\n\n\n\n-----\n\nDo tworzenia stron wykorzystano projekt MediaWiki - kt\u00f3ry na pewno jest wszystkim znany z Wikipedii (zob. [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ/pl MediaWiki FAQ])."
                    }
                ]
            }
        }
    }
}