{"id":548,"date":"2014-12-31T11:12:08","date_gmt":"2014-12-31T10:12:08","guid":{"rendered":"http:\/\/www.valcon.it\/pascal\/?p=548"},"modified":"2015-07-02T21:53:42","modified_gmt":"2015-07-02T19:53:42","slug":"problemino-di-carla","status":"publish","type":"post","link":"https:\/\/www.valcon.it\/pascal\/problemino-di-carla\/","title":{"rendered":"Problemino di Carla"},"content":{"rendered":"<p>Quando \u00e8 necessario scegliere chi <em>interrogare<\/em> oppure chi <em>spostare<\/em> in classe potrebbe essere utili avere un \u00a0<em>generatore automatico di sequenze casuali di vittime predestinate del sistema scolastico nazionale&#8230;<\/em><\/p>\n<h3 id=\"hn_59ca4f8bbb_1\">Algoritmo<\/h3>\n<ol type=\"1\">\n<li>Quanti allievi in classe?<\/li>\n<li>Acquisisci tutti nomi<\/li>\n<li>Mescola i nomi in modo <em>imparziale<\/em><\/li>\n<li>Comunica la sequenza di nomi<\/li>\n<\/ol>\n<h3>Esempio<\/h3>\n<ul>\n<li class=\"indent\">Elenco prima = { &#8216;Antoniol&#8217;, &#8216;Canzio&#8217;, &#8216;Cappellaro&#8217;, &#8216;Casanova De Marco&#8217;, &#8216;Chiovaro&#8217;, &#8230;, &#8216;Zucco&#8217; }<\/li>\n<li class=\"indent\">Elenco dopo = { &#8216;Chiovaro&#8217;, &#8216;Antoniol&#8217;, &#8216;Peratoner&#8217;, &#8216;Cappellaro&#8217;, &#8216;Casanova De Marco&#8217;, &#8230;, &#8216;Canzio&#8217; }<\/li>\n<\/ul>\n<h3>Approfondimenti<\/h3>\n<ol>\n<li>I nomi degli allievi sono <tt>stringhe<\/tt><\/li>\n<li>La sequenza di nomi diventa un <tt>array<\/tt><\/li>\n<li>Per mescolare in modo imparziale si usa <tt>Random()<\/tt> e <em>SCAMBIA()<\/em><\/li>\n<li>Le permutazioni possibili per n nomi sono <tt>n!<\/tt>=<tt>n*(n-1)*(n-2)*...*2*1<\/tt>.<\/li>\n<\/ol>\n<pre class=\"\">Program Problemino_di_Carla;\r\nUses\r\n\u00a0 \u00a0 Crt;\r\nConst\r\n\u00a0 \u00a0 TANTO=50; \/\/ numero scambi\r\n\u00a0 \u00a0 N \u00a0 \u00a0=26; \/\/ numero studenti 3AA...\r\nVar\r\n\u00a0 \u00a0 NOMI: Array[1..N] of String;\r\n\u00a0 \u00a0 i, \u00a0 \u00a0\r\n\u00a0 \u00a0 primo,\r\n\u00a0 \u00a0 secondo: Integer;\r\n\u00a0 \u00a0 TEMP: String;\r\nBegin\r\n\u00a0 \u00a0 \/\/ INIZIALIZZA L'ARRAY CON I NOMI DELLA 3AA - 2013-14\r\n\u00a0 \u00a0 NOMI[ 1]:='Antoniol';\r\n\u00a0 \u00a0 NOMI[ 2]:='Canzio';\r\n\u00a0 \u00a0 NOMI[ 3]:='Cappellaro';\r\n\u00a0 \u00a0 NOMI[ 4]:='Casanova De Marco';\r\n\u00a0 \u00a0 NOMI[ 5]:='Chiovaro';\r\n\u00a0 \u00a0 NOMI[ 6]:='Chistruga';\r\n\u00a0 \u00a0 NOMI[ 7]:='De Bortoli';\r\n\u00a0 \u00a0 NOMI[ 8]:='De Salvador';\r\n\u00a0 \u00a0 NOMI[ 9]:='Della Chiesa';\r\n\u00a0 \u00a0 NOMI[10]:='Fontan';\r\n\u00a0 \u00a0 NOMI[11]:='Fontana';\r\n\u00a0 \u00a0 NOMI[12]:='Guzzo';\r\n\u00a0 \u00a0 NOMI[13]:='Iseo';\r\n\u00a0 \u00a0 NOMI[14]:='Maoret';\r\n\u00a0 \u00a0 NOMI[15]:='Mione';\r\n\u00a0 \u00a0 NOMI[16]:='Moretta';\r\n\u00a0 \u00a0 NOMI[17]:='Pannilunghi A';\r\n\u00a0 \u00a0 NOMI[18]:='Pannilunghi E';\r\n\u00a0 \u00a0 NOMI[19]:='Peratoner';\r\n\u00a0 \u00a0 NOMI[20]:='Polesana';\r\n\u00a0 \u00a0 NOMI[21]:='Riviello';\r\n\u00a0 \u00a0 NOMI[22]:='Rossi';\r\n\u00a0 \u00a0 NOMI[23]:='Saadaoui';\r\n\u00a0 \u00a0 NOMI[24]:='Secco';\r\n\u00a0 \u00a0 NOMI[25]:='Vaccari';\r\n\u00a0 \u00a0 NOMI[26]:='Zucco';\r\n\r\n\u00a0 \u00a0 \/\/ MESCOLA I NOMI IN MODO CASUALE\r\n\u00a0 \u00a0 Randomize;\r\n\u00a0 \u00a0 For i:=1 to TANTO Do\r\n\u00a0 \u00a0 \u00a0 \u00a0 Begin\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 primo:=Random(N)+1;\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 secondo:=Random(N)+1;\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 TEMP:=NOMI[primo];\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ SCAMBIA(NOMI[primo], NOMI[secondo])\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 NOMI[primo]:=NOMI[secondo];\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 NOMI[secondo]:=TEMP;\r\n\u00a0 \u00a0 \u00a0 \u00a0 End;\r\n\r\n\u00a0 \u00a0 \/\/ VISUALIZZA L'ELENCO APPENA GENERATO\r\n\u00a0 \u00a0 ClrScr;\r\n\u00a0 \u00a0 For i:=1 to N Do\r\n\u00a0 \u00a0 \u00a0 \u00a0 Write(NOMI[i]:20);\r\n\u00a0 \u00a0 Readln;\r\nEnd.<\/pre>\n<p>Meglio strutturare&#8230;<\/p>\n<pre>...\r\nBegin\r\n \u00a0 Inizializza;\r\n \u00a0 Mescola;\r\n \u00a0 Visualizza;\r\nEnd.<\/pre>\n<h3 id=\"hn_59ca4f8bbb_3\">Continua<\/h3>\n<ol type=\"1\">\n<li>Fai in modo che il programma possa essere utilizzato per qualsiasi classe<br \/>\n<em>Numero studenti? Nomi?<\/em><\/li>\n<li>Se la sequenza risultante non \u00e8 soddisfacente?<br \/>\n<em>Aggiungi un menu con le opzioni<\/em> <tt>input-mescola-output...<\/tt><\/li>\n<\/ol>\n<h3 id=\"hn_59ca4f8bbb_4\">Attenzione!<\/h3>\n<p>Se si aggiungono delle condizioni, come<\/p>\n<ul>\n<li>Tizio non pu\u00f2 sedersi con Caio<\/li>\n<li>Sempronio \u00e8 miope&#8230;<\/li>\n<li>le coppie (1\u00b0-2\u00b0, 3\u00b0-4\u00b0, &#8230;) devono essere sempre diverse<\/li>\n<li>chi oggi occupa la prima fila la prossima volta deve passare in seconda..<\/li>\n<li>&#8230;<\/li>\n<\/ul>\n<p>allora ogni permutazione generata deve<\/p>\n<ul>\n<li>superare tutte le condizioni stabilite,<\/li>\n<li>&#8230; anche quelle rispetto alle permutazioni utilizzate precedentemente<\/li>\n<li>&#8230; che quindi devono essere salvate su memoria di massa (file).<\/li>\n<\/ul>\n<p>Il problema diventa pi\u00f9 complesso&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quando \u00e8 necessario scegliere chi interrogare oppure chi spostare in classe potrebbe essere utili avere un \u00a0generatore automatico di sequenze casuali di vittime predestinate del sistema scolastico nazionale&#8230; Algoritmo Quanti allievi in classe? Acquisisci tutti nomi Mescola i nomi in modo imparziale Comunica la sequenza di nomi Esempio Elenco prima = { &#8216;Antoniol&#8217;, &#8216;Canzio&#8217;, &#8216;Cappellaro&#8217;, &#8230; <a title=\"Problemino di Carla\" class=\"read-more\" href=\"https:\/\/www.valcon.it\/pascal\/problemino-di-carla\/\" aria-label=\"Leggi di pi\u00f9 su Problemino di Carla\">Leggi tutto<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"_links":{"self":[{"href":"https:\/\/www.valcon.it\/pascal\/wp-json\/wp\/v2\/posts\/548"}],"collection":[{"href":"https:\/\/www.valcon.it\/pascal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.valcon.it\/pascal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.valcon.it\/pascal\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.valcon.it\/pascal\/wp-json\/wp\/v2\/comments?post=548"}],"version-history":[{"count":4,"href":"https:\/\/www.valcon.it\/pascal\/wp-json\/wp\/v2\/posts\/548\/revisions"}],"predecessor-version":[{"id":5549,"href":"https:\/\/www.valcon.it\/pascal\/wp-json\/wp\/v2\/posts\/548\/revisions\/5549"}],"wp:attachment":[{"href":"https:\/\/www.valcon.it\/pascal\/wp-json\/wp\/v2\/media?parent=548"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.valcon.it\/pascal\/wp-json\/wp\/v2\/categories?post=548"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.valcon.it\/pascal\/wp-json\/wp\/v2\/tags?post=548"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}