{"id":42216,"date":"2019-03-18T00:00:00","date_gmt":"2019-03-17T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/kontseptsii-programmirovaniya-v-scratch"},"modified":"2020-02-18T13:45:03","modified_gmt":"2020-02-18T10:45:03","slug":"kontseptsii-programmirovaniya-v-scratch","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/kontseptsii-programmirovaniya-v-scratch","title":{"rendered":"Koncepty programowania w Scratch","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Koncepty programowania w Scratch\" src=\"\/wp-content\/uploads\/2019\/03\/81cf965c1277a08f385ef398b9aa3edf.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Wiele os\u00f3b zna Scratch \u2013 \u015brodowisko programowania dla dzieci, kt\u00f3rego nauka zazwyczaj sprowadza si\u0119 do tworzenia kreatywnych projekt\u00f3w wed\u0142ug zasady \u201eod prostego do z\u0142o\u017conego\u201d. Przy tym \u201eklasyczne podej\u015bcie\u201d do nauki programowania (zmienne \u2192 ga\u0142\u0119zie \u2192 p\u0119tle \u2192 funkcje \u2192 struktury \u2192 obiekty \u2192 \u2026) w Scratch jest trudne.<\/p>\n<p>Jednak zmiana kolejno\u015bci uczenia si\u0119 poj\u0119\u0107 (nazwijmy je koncepcjami) programowania strukturalnego, obiektowego i zdarzeniowego, ich ukrycie za kolorowymi sprite\u2019ami i interaktywn\u0105 animacj\u0105, nie oznacza, \u017ce na koncepcjach nie nale\u017cy k\u0142a\u015b\u0107 akcentu. Szczeg\u00f3lnie, je\u015bli celem jest nie tyle rozw\u00f3j zdolno\u015bci tw\u00f3rczych, co nauka programowania. <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex>T\u0119 ide\u0119 stara\u0142am si\u0119 odzwierciedli\u0107 w moim <noindex><a rel=\"nofollow\" href=\"https:\/\/younglinux.info\/scratch\">kursie<\/a><\/noindex>.<\/p>\n<p>Pierwszym, z czym staje tw\u00f3rca Scratcha, s\u0105 sprite\u2019y. Chocia\u017c w Scratch nie ma prawdziwego programowania obiektowego, sprite\u2019y mo\u017cna uzna\u0107 za obiekty. Na tym etapie ucz\u0105cy si\u0119 widzi, \u017ce w programie mo\u017ce by\u0107 wiele obiekt\u00f3w, kt\u00f3rych zachowaniem zarz\u0105dzaj\u0105 zewn\u0119trzne dla nich skrypty. Sprite\u2019y otrzymuj\u0105 polecenia lub na \u017c\u0105danie przekazuj\u0105 informacje o swoim stanie, czyli programowanie sprowadza si\u0119 do zarz\u0105dzania obiektami.<\/p>\n<p>Drugim, co natychmiast rzuca si\u0119 w oczy m\u0142odemu programi\u015bcie w Scratch, jest poj\u0119cie wielow\u0105tkowo\u015bci. Ka\u017cdy sprite mo\u017ce mie\u0107 kilka skrypt\u00f3w, kt\u00f3re s\u0105 wykonywane jednocze\u015bnie. Kilka sprite\u2019\u00f3w mo\u017ce tak\u017ce wykonywa\u0107 swoje programy jednocze\u015bnie. Co wi\u0119cej, organizowanie sekwencyjnego wykonania jest bardziej skomplikowane.<\/p>\n<p><img decoding=\"async\" alt=\"Koncepty programowania w Scratch\" src=\"\/wp-content\/uploads\/2019\/03\/63c3bf36068d8d98050da60107875c25.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><img decoding=\"async\" alt=\"Koncepty programowania w Scratch\" src=\"\/wp-content\/uploads\/2019\/03\/c5b3a03406e91c187c2672b0566e20ed.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Ju\u017c na pierwszej lekcji nie mo\u017cemy unikn\u0105\u0107 zapoznania si\u0119 z p\u0119tlami. W przeciwnym razie kot zbytnio si\u0119 nie rozbiegnie. Na tym etapie poznanie p\u0119tli musimy pozostawi\u0107 intuicyjnemu i powierzchownemu. Ograniczamy je do p\u0119tli \u201epowtarzaj zawsze\u201d i \u201epowt\u00f3rz \u2026 razy\u201d, kt\u00f3re s\u0105 prostsze do zrozumienia. P\u0119tla z warunkiem jest omawiana w lekcji, specjalnie po\u015bwi\u0119conej p\u0119tli. Ta lekcja wymaga znajomo\u015bci wyra\u017ce\u0144 logicznych i zmiennych.<\/p>\n<p>Poniewa\u017c Scratch jest \u015brodowiskiem zdarzeniowym, bloki operatora warunkowego lepiej jest poznawa\u0107 przed zmiennymi. Warunkiem mog\u0105 by\u0107 r\u00f3\u017cne zdarzenia.<\/p>\n<p><img decoding=\"async\" alt=\"Koncepty programowania w Scratch\" src=\"\/wp-content\/uploads\/2019\/03\/7b301b532e4c05909b1dda4ffe925c61.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Moim zdaniem taka kolejno\u015b\u0107 jest lepsza, poniewa\u017c w ka\u017cdym lekcji wprowadzamy minimum poj\u0119\u0107. I to nie s\u0105 poj\u0119cia abstrakcyjne, ale od razu widzimy ich praktyczne zastosowanie.<\/p>\n<p>Je\u015bli zaczynamy od zmiennych, trudno jest pokaza\u0107 ich przeznaczenie i przydatno\u015b\u0107, poniewa\u017c wcze\u015bniej nie zosta\u0142y om\u00f3wione instrukcje warunkowe, wprowadzanie danych i generowanie liczb losowych. <\/p>\n<p>W Scratch, z wyj\u0105tkiem list, programista napotyka trzy rodzaje danych: liczby, ci\u0105gi znak\u00f3w i typ logiczny. Typ jest zwi\u0105zany z warto\u015bci\u0105, a nie ze zmienn\u0105. Nie ma potrzeby przekszta\u0142cania ci\u0105g\u00f3w znak\u00f3w w liczby i odwrotnie. Ci\u0105gi znak\u00f3w nie s\u0105 umieszczane w cudzys\u0142owach.<\/p>\n<p>Blok zwracaj\u0105cy warto\u015b\u0107 logiczn\u0105 i maj\u0105cy charakterystyczny kszta\u0142t kanciasty, mo\u017cna umieszcza\u0107 w okr\u0105g\u0142ych polach. Przeciwnie: tam, gdzie oczekiwane jest wyra\u017cenie logiczne, nie mo\u017cna wstawi\u0107 zwyk\u0142ej zmiennej.<\/p>\n<p><img decoding=\"async\" alt=\"Koncepty programowania w Scratch\" src=\"\/wp-content\/uploads\/2019\/03\/27440b3d63bc50c038c3227a2c8a6e7d.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Scratch zosta\u0142 zaprojektowany w taki spos\u00f3b, aby podczas wykonywania nie wyst\u0119powa\u0142y krytyczne b\u0142\u0119dy. Dlatego gdy spr\u00f3bujesz u\u017cy\u0107 ci\u0105gu znak\u00f3w w operacji arytmetycznej, zostaje on zast\u0105piony zerem (patrz pierwszy zrzut ekranu).<\/p>\n<p>Programista powinien wiedzie\u0107, \u017ce mo\u017cliwo\u015bci j\u0119zyk\u00f3w programowania rozszerzaj\u0105 biblioteki. Pracuj\u0105c w Scratch, ucze\u0144 mo\u017ce dodawa\u0107 rozszerzenia, kt\u00f3re wprowadzaj\u0105 nowe komendy do \u015brodowiska.<\/p>\n<p><img decoding=\"async\" alt=\"Koncepty programowania w Scratch\" src=\"\/wp-content\/uploads\/2019\/03\/6989f37cea11b1d923116a31bd8e9258.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Funkcje w Scratch s\u0105 realizowane w sekcji \u201eInne bloki\u201d, gdzie z jednej strony tworzysz w\u0142asny blok, kt\u00f3ry mo\u017cna wstawia\u0107 do innych skrypt\u00f3w. Z drugiej strony musisz zebra\u0107 funkcjonalno\u015b\u0107 tego bloku, czyli to, co b\u0119dzie robi\u0142.<\/p>\n<p><img decoding=\"async\" alt=\"Koncepty programowania w Scratch\" src=\"\/wp-content\/uploads\/2019\/03\/09ea9fdb6db8cc312989f3028aa0ec28.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Nie ma zwracania warto\u015bci z funkcji w Scratch.<\/p>\n<p>Tak wi\u0119c nauka koncepcji programowania w \u015brodowisku z orientacj\u0105 na zdarzenia ma sw\u00f3j wp\u0142yw. W zasadzie najpierw uczymy si\u0119 bardziej skomplikowanych i abstrakcyjnych poj\u0119\u0107, a dopiero z biegiem procesu przechodzimy do element\u00f3w programowania strukturalnego. Czy to jest plus czy minus dla pierwszego kontaktu \u2013 to kontrowersyjna kwestia.<\/p>\n<p>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/443910\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u043d\u043e\u0433\u0438\u043c \u0437\u043d\u0430\u043a\u043e\u043c Scratch \u2013 \u0434\u0435\u0442\u0441\u043a\u0430\u044f \u0441\u0440\u0435\u0434\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u0431\u044b\u0447\u043d\u043e \u0441\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u0442\u0432\u043e\u0440\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043f\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0443 \u00ab\u043e\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u043a \u0441\u043b\u043e\u0436\u043d\u043e\u043c\u0443\u00bb. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u00ab\u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u043e\u0434\u0445\u043e\u0434\u00bb \u043a \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u2192 \u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u044f \u2192 \u0446\u0438\u043a\u043b\u044b \u2192 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u2192 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u2192 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u2192 \u2026) \u0432 Scratch \u0437\u0430\u0442\u0440\u0443\u0434\u043d\u0438\u0442\u0435\u043b\u0435\u043d. \u041e\u0434\u043d\u0430\u043a\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043d\u044f\u0442\u0438\u0439 (\u043d\u0430\u0437\u043e\u0432\u0435\u043c \u0438\u0445 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f\u043c\u0438) \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0433\u043e, \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e- [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-42216","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041c\u043d\u043e\u0433\u0438\u043c \u0437\u043d\u0430\u043a\u043e\u043c Scratch \u2013 \u0434\u0435\u0442\u0441\u043a\u0430\u044f \u0441\u0440\u0435\u0434\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/news\/kontseptsii-programmirovaniya-v-scratch\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 Scratch | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u043d\u043e\u0433\u0438\u043c \u0437\u043d\u0430\u043a\u043e\u043c Scratch \u2013 \u0434\u0435\u0442\u0441\u043a\u0430\u044f \u0441\u0440\u0435\u0434\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/kontseptsii-programmirovaniya-v-scratch\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-03-17T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T10:45:03+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Koncepcje programowania w Scratch | ProHoster","description":"Wielu zna Scratch \u2013 dzieci\u0119ce \u015brodowisko.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/kontseptsii-programmirovaniya-v-scratch","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 Scratch | ProHoster","og:description":"\u041c\u043d\u043e\u0433\u0438\u043c \u0437\u043d\u0430\u043a\u043e\u043c Scratch \u2013 \u0434\u0435\u0442\u0441\u043a\u0430\u044f \u0441\u0440\u0435\u0434\u0430.","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/kontseptsii-programmirovaniya-v-scratch","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-03-17T21:00:00+00:00","article:modified_time":"2020-02-18T10:45:03+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"42216","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 07:40:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 21:16:36","updated":"2026-01-22 07:40:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/42216","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=42216"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/42216\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=42216"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=42216"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=42216"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}