{"id":237,"date":"2017-08-21T00:02:17","date_gmt":"2017-08-20T22:02:17","guid":{"rendered":"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/?p=237"},"modified":"2022-10-23T10:33:44","modified_gmt":"2022-10-23T08:33:44","slug":"237","status":"publish","type":"post","link":"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/index.php\/2017\/08\/21\/237\/","title":{"rendered":"3. Listy &#8211; podzia\u0142 na g\u0142ow\u0119 i ogon"},"content":{"rendered":"<div id=\"pl-237\" class=\"panel-layout\">\n<div id=\"pg-237-0\" class=\"panel-grid panel-no-style\" data-style=\"{&quot;background_display&quot;:&quot;tile&quot;,&quot;cell_alignment&quot;:&quot;flex-start&quot;}\">\n<div id=\"pgc-237-0-0\" class=\"panel-grid-cell\" data-weight=\"0.51503006012024\">\n<div id=\"panel-237-0-0-0\" class=\"so-panel widget widget_sow-editor panel-first-child panel-last-child\" data-index=\"0\" data-style=\"{&quot;background_image_attachment&quot;:false,&quot;background_display&quot;:&quot;tile&quot;}\">\n<div class=\"so-widget-sow-editor so-widget-sow-editor-base\">\n<div class=\"siteorigin-widget-tinymce textwidget\">\n<style type=\"text\/css\">\n\t<!--\n\t\t@page { size: 21cm 29.7cm; margin: 2cm }\n\t\tP { margin-bottom: 0.21cm }\n\t--><br \/>\n\t<\/style>\n<p align=\"JUSTIFY\"><span style=\"font-family: 'Times New Roman', serif;\">Lista to uporz\u0105dkowany ci\u0105g element\u00f3w, rozdzielonych przecinkami i umieszczonych pomi\u0119dzy kwadratowymi nawiasami, o dowolnej d\u0142ugo\u015bci. Elementem listy mo\u017ce by\u0107 ka\u017cdy term &#8211; sta\u0142a, zmienna, liczba, inna lista, itp. <\/span><\/p>\n<p><span style=\"font-family: 'Times New Roman', serif;\">[a,b,c].<\/span><\/p>\n<p><span style=\"font-family: 'Times New Roman', serif;\">[a,123,[],[1,b],B].<\/span><\/p>\n<p><span style=\"font-family: 'Times New Roman', serif;\">Lista mo\u017ce by\u0107 pusta [].<\/span><\/p>\n<p><span style=\"font-family: 'Times New Roman', serif;\">Prolog przetwarzaj\u0105c listy dzieli je na dwie cz\u0119\u015bci &#8211; g\u0142ow\u0119 i ogon. G\u0142ow\u0105 jest zawsze pierwszy element listy, a ogonem pozosta\u0142a reszta. Gdy chcemy, by Prolog podzieli\u0142 nam list\u0119, u\u017cywamy symbolu pionowej kreski | i wpisujemy nasze zapytanie po znaku zach\u0119ty (?-) w oknie g\u0142\u00f3wnym zgodnie z og\u00f3lnym wzorem: <\/span><\/p>\n<p><span style=\"font-family: 'Times New Roman', serif;\">[LISTA]=[G|O].<\/span><\/p>\n<p><span style=\"font-family: 'Times New Roman', serif;\">gdzie G to g\u0142owa, a O to ogon.<\/span><\/p>\n<p align=\"JUSTIFY\">Zadania:<\/p>\n<p align=\"JUSTIFY\">a) zobacz, czy w pustej li\u015bcie mo\u017cna wyodr\u0119bni\u0107 g\u0142ow\u0119 i ogon;<\/p>\n<p align=\"JUSTIFY\"><div class=\"su-spoiler su-spoiler-style-default su-spoiler-icon-plus su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>Rozwi\u0105zanie zadania<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<p><span style=\"font-family: 'Times New Roman', serif;\">Lista: [].<\/span><\/p>\n<p><img loading=\"lazy\" class=\"aligncenter size-full wp-image-240\" src=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/1-1.png\" alt=\"\" width=\"673\" height=\"190\" srcset=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/1-1.png 673w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/1-1-300x85.png 300w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/1-1-150x42.png 150w\" sizes=\"(max-width: 673px) 100vw, 673px\"><\/p>\n<p><span style=\"font-family: 'Times New Roman', serif;\">Po znaku zach\u0119ty zgodnie z og\u00f3lnym wzorem wpisali\u015bmy pust\u0105 list\u0119, a nast\u0119pnie podzia\u0142 na g\u0142ow\u0119 i ogon &#8211; program wy\u015bwietli\u0142 nam komunikat &#8222;false&#8221;, co oznacza, \u017ce program nie znalaz\u0142 ani g\u0142owy ani ogona listy.<\/span><\/p>\n<p align=\"JUSTIFY\"><\/div><\/div>\n<p align=\"JUSTIFY\">b) stw\u00f3rz zapytanie, kt\u00f3re poka\u017ce g\u0142ow\u0119 i ogon w jednoelementowej li\u015bcie;<\/p>\n<p align=\"JUSTIFY\"><div class=\"su-spoiler su-spoiler-style-default su-spoiler-icon-plus su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>Rozwi\u0105zanie zadania<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<p><span style=\"font-family: 'Times New Roman', serif;\">Przyk\u0142adowa lista: [1].<\/span><\/p>\n<p><img loading=\"lazy\" class=\"aligncenter size-full wp-image-241\" src=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/2-1.png\" alt=\"\" width=\"673\" height=\"194\" srcset=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/2-1.png 673w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/2-1-300x86.png 300w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/2-1-150x43.png 150w\" sizes=\"(max-width: 673px) 100vw, 673px\"><\/p>\n<p><span style=\"font-family: 'Times New Roman', serif;\">Do og\u00f3lnego wzoru podstawiamy nasz\u0105 przyk\u0142adow\u0105 list\u0119 i ca\u0142o\u015b\u0107 wpisujemy po znaku zach\u0119ty. Program wy\u015bwietla nam, \u017ce g\u0142ow\u0105 naszej listy jest 1, a ogonem lista pusta. Oznacza to, \u017ce ka\u017cda jednoelementowa lista posiada g\u0142ow\u0119, kt\u00f3r\u0105 jest ten jeden jedyny element listy, ogonem za\u015b zawsze b\u0119dzie w takim przypadku lista pusta.<\/span><\/p>\n<p align=\"JUSTIFY\"><\/div><\/div>\n<p align=\"JUSTIFY\">c) sprawd\u017a, co jest g\u0142ow\u0105, a co ogonem w dwuelementowej li\u015bcie;<\/p>\n<p align=\"JUSTIFY\"><div class=\"su-spoiler su-spoiler-style-default su-spoiler-icon-plus su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>Rozwi\u0105zanie zadania<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<p><span style=\"font-family: 'Times New Roman', serif;\">Przyk\u0142adowa lista: [2,3].<\/span><\/p>\n<p><img loading=\"lazy\" class=\"aligncenter size-full wp-image-242\" src=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/3-1.png\" alt=\"\" width=\"673\" height=\"207\" srcset=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/3-1.png 673w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/3-1-300x92.png 300w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/3-1-150x46.png 150w\" sizes=\"(max-width: 673px) 100vw, 673px\"><\/p>\n<p><span style=\"font-family: 'Times New Roman', serif;\">Zaczynamy od tego samego, co w poprzednich podpunktach, czyli od postawienia przyk\u0142adowej listy do og\u00f3lnego wzoru. W odpowiedzi na nasze zapytanie pojawia si\u0119, \u017ce g\u0142ow\u0105 jest element 2, a ogonem jednoelementowa lista [3]. <\/span><\/p>\n<p align=\"JUSTIFY\"><\/div><\/div>\n<p><span style=\"font-family: 'Times New Roman', serif;\">d)utw\u00f3rz dwie listy &#8211; w pierwszej li\u015bcie pierwszym elementem ma by\u0107 inna lista, w drugiej li\u015bcie inna lista ma by\u0107 kolejnym elementem &#8211; sprawd\u017a w obu przypadkach, co jest g\u0142ow\u0105, a co ogonem;<\/span><\/p>\n<div class=\"su-spoiler su-spoiler-style-default su-spoiler-icon-plus su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>Rozwi\u0105zanie zadania<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<p><span style=\"font-family: 'Times New Roman', serif;\">Przyk\u0142adowa lista: [[1,2,3],4,5].<\/span><\/p>\n<p><img loading=\"lazy\" class=\"aligncenter size-full wp-image-243\" src=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/4a.png\" alt=\"\" width=\"672\" height=\"208\" srcset=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/4a.png 672w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/4a-300x93.png 300w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/4a-150x46.png 150w\" sizes=\"(max-width: 672px) 100vw, 672px\"><\/p>\n<p><span style=\"font-family: 'Times New Roman', serif;\">Jako pierwsz\u0105 sprawdzimy list\u0119, w kt\u00f3rej pierwszym elementem jest lista. Przyk\u0142adow\u0105 list\u0119 podstawiamy do wzoru. G\u0142ow\u0105 okazuje si\u0119 lista, kt\u00f3ra jest pierwszym elementem przyk\u0142adowej listy, a ogonem lista powsta\u0142a z pozosta\u0142ych element\u00f3w.<\/span><\/p>\n<p><span style=\"font-family: 'Times New Roman', serif;\">Przyk\u0142adowa lista: [1,[2,3,4]].<br \/>\n<\/span><\/p>\n<p><img loading=\"lazy\" class=\"aligncenter size-full wp-image-244\" src=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/4b.png\" alt=\"\" width=\"672\" height=\"209\" srcset=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/4b.png 672w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/4b-300x93.png 300w, https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/wp-content\/uploads\/2017\/08\/4b-150x47.png 150w\" sizes=\"(max-width: 672px) 100vw, 672px\"><\/p>\n<p><span style=\"font-family: 'Times New Roman', serif;\">W drugiej kolejno\u015bci sprawdzamy list\u0119, w kt\u00f3rej pierwszy element nie jest list\u0105, jednak kolejny ju\u017c tak. Po podstawieniu do wzoru dostajemy odpowied\u017a od programu, \u017ce g\u0142ow\u0105 naszej listy jest 1, czyli pierwszy element naszej przyk\u0142adowej listy, za\u015b ogonem jednoelementowa lista, kt\u00f3rej elementem jest kolejna lista. <\/span><\/p>\n<\/div><\/div>\n<p><span style=\"font-family: 'Times New Roman', serif;\">Przygl\u0105daj\u0105c si\u0119 zrobionym przez nas przyk\u0142adom, mo\u017cna zauwa\u017cy\u0107, \u017ce g\u0142ow\u0105 listy zawsze jest jej pierwszy element, bez wzgl\u0119du na to, czy jest to zwyk\u0142y term, czy inna lista. Ogonem za\u015b zawsze jest lista, nawet je\u017celi jest pusta, czy zawiera element w postaci innej listy. <\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"pgc-237-0-1\" class=\"panel-grid-cell\" data-weight=\"0.48496993987976\">\n<div id=\"panel-237-0-1-0\" class=\"so-panel widget widget_text panel-first-child panel-last-child\" data-index=\"1\" data-style=\"{&quot;background_display&quot;:&quot;tile&quot;}\">\n<div class=\"textwidget\"><embed src=\"http:\/\/swish.swi-prolog.org\/p\/SEHwIifl.pl\" style=\"width: 580px; height: 580px;\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Lista to uporz\u0105dkowany ci\u0105g element\u00f3w, rozdzielonych przecinkami i umieszczonych pomi\u0119dzy kwadratowymi nawiasami, o dowolnej d\u0142ugo\u015bci. Elementem listy mo\u017ce by\u0107 ka\u017cdy term &#8211; sta\u0142a, zmienna, liczba, inna lista, itp. [a,b,c]. [a,123,[],[1,b],B]. Lista mo\u017ce by\u0107 pusta []. Prolog przetwarzaj\u0105c listy dzieli je na dwie cz\u0119\u015bci &#8211; g\u0142ow\u0119 i ogon. G\u0142ow\u0105 jest zawsze&#8230;<\/p>\n<p class=\"continue-reading-button\"> <a class=\"continue-reading-link\" href=\"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/index.php\/2017\/08\/21\/237\/\">Czytaj dalej<i class=\"crycon-right-dir\"><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/index.php\/wp-json\/wp\/v2\/posts\/237"}],"collection":[{"href":"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/index.php\/wp-json\/wp\/v2\/comments?post=237"}],"version-history":[{"count":1,"href":"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/index.php\/wp-json\/wp\/v2\/posts\/237\/revisions"}],"predecessor-version":[{"id":449,"href":"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/index.php\/wp-json\/wp\/v2\/posts\/237\/revisions\/449"}],"wp:attachment":[{"href":"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/index.php\/wp-json\/wp\/v2\/media?parent=237"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/index.php\/wp-json\/wp\/v2\/categories?post=237"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lewandowskit.eduweb.pwste.edu.pl\/prolog\/index.php\/wp-json\/wp\/v2\/tags?post=237"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}