{"id":18,"date":"2007-12-13T01:01:33","date_gmt":"2007-12-13T00:01:33","guid":{"rendered":"http:\/\/www.oscene.net\/site\/pascal\/imparare-il-pascal-hello-world"},"modified":"2007-12-13T01:01:33","modified_gmt":"2007-12-13T00:01:33","slug":"imparare-il-pascal-hello-world","status":"publish","type":"post","link":"https:\/\/www.oscene.net\/it\/programmazione\/pascal\/imparare-il-pascal-hello-world","title":{"rendered":"Imparare il Pascal: Hello World"},"content":{"rendered":"<p>Oggi scriveremo il nostro primo programma in Pascal. Come ogni guida che si rispetti, iniziamo con un semplice &#8220;Hello World&#8221; per poi scendere nel dettaglio delle varie istruzioni e comandi del Pascal.<\/p>\n<p>Presumo che abbiate gi\u00c3\u00a0 installato un compilatore Pascal e che abbiate dato uno sguardo al suo manuale, per avere idea di come compilare ed eseguire un programma sulla vostra piattaforma. Negli esempi che far\u00c3\u00b2 non mi occuper\u00c3\u00b2 del compilatore, ma soltanto del linguaggio in modo da essere pi\u00c3\u00b9 neutrale possibile.<\/p>\n<p><strong>Un piccolo cenno riguardo la mia configurazione<\/strong><\/p>\n<p>Se usate <strong>Ubuntu<\/strong> come sistema operativo potete installare e usare <strong>Free Pascal<\/strong>, che \u00c3\u00a8 il compilatore che user\u00c3\u00b2 io per scrivere le guide, con pochi e semplici comandi:<\/p>\n<p><em>Installazione: <\/em>sudo apt-get install fp-compiler fp-units-rtl<br \/>\n<em>Compilazione di un sorgente:<\/em> fpc nomefile.pas<br \/>\n<em>Esecuzione di un programma:<\/em> .\/nomefile<\/p>\n<p>Per scrivere il codice sorgente user\u00c3\u00b2 Gedit (Applicazioni -&gt; Accessori -&gt; Editor di testo) perch\u00c3\u00a8 mi consente di evidenziare la sintassi, ma potete usare un editor qualunque. Vi consiglio Scite, Bluefish, Gedit, Kate, nano o altri simili.<\/p>\n<p><!--more--><br \/>\n<strong>Iniziamo<\/strong><\/p>\n<p>Scriviamo con il nostro editor preferito il seguente listato:<\/p>\n<blockquote>\n<pre lang=\"Pascal\">program helloworld;\n\nbegin\n\n   writeln('Hello World!');\n\n   readln;\n\nend.<\/pre>\n<\/blockquote>\n<p>salviamolo come <strong>hello.pas<\/strong> compiliamolo ed eseguiamolo, otterremo questo output:<\/p>\n<blockquote>\n<pre>Hello World!<\/pre>\n<\/blockquote>\n<p>Per terminare il programma bisogna premere il tasto <strong>Invio<\/strong>.<\/p>\n<p><strong>Spiegazione<\/strong><\/p>\n<p><strong>program<\/strong> \u00c3\u00a8 la parola chiave che identifica l&#8217;inizio di un sorgente, serve a stabilire il nome del programma, ma non influisce sul nome del file una volta compilato;<\/p>\n<p><strong>helloworld<\/strong> \u00c3\u00a8 il nome del programma, pu\u00c3\u00b2 contenere lettere, numeri e underscore (il carattere &#8221; _ &#8220;), ma deve iniziare con una lettera o un underscore. In termini tecnici un &#8220;nome&#8221; viene detto <em>identificatore<\/em> e tutti gli identificatori in Pascal devono seguire queste regole;<\/p>\n<p><strong>;<\/strong> il punto e virgola indica la fine di un&#8217;istruzione, va inserito sempre al termine delle istruzioni tranne in alcuni casi particolari che esamineremo di volta in volta;<\/p>\n<p><strong>begin<\/strong> indica l&#8217;inizio di un blocco di programma, in questo caso il programma \u00c3\u00a8 costituito da un unico blocco, quindi va posto all&#8217;inizio, subito dopo <strong>program<\/strong>;<\/p>\n<p><strong>writeln(&#8216;Hello World!&#8217;);<\/strong> come facilmente intuibile, questo comando serve per stampare a schermo delle informazioni, in questo caso stampa il contenuto della stringa tra singoli apici, come &#8216;Hello World!&#8217;, e riporta il cursore a capo. Esiste la variante <strong>write<\/strong> che \u00c3\u00a8 identica a questa ma non va a capo;<\/p>\n<p><strong>readln;<\/strong> serve per leggere l&#8217;input, in questo caso particolare attende il tasto Invio, uno stratagemma per impedire che la finestra dell&#8217;output scompaia ancora prima di riuscire a leggere il risultato del programma (se eseguite il programma da un terminale, invece di cliccare sulla sua icona, l&#8217;uso di questo comando \u00c3\u00a8 superfluo, in quanto l&#8217;output rimane sul terminale e pu\u00c3\u00b2 essere comodamente letto senza difficolt\u00c3\u00a0);<\/p>\n<p><strong>end. <\/strong>chiude un blocco di programma, in questo caso delimita la fine dell&#8217;intero programma, quindi si scrive il punto &#8220;.&#8221; al posto del punto e virgola &#8220;;&#8221; per indicare al compilatore che il sorgente termina in quel punto.<\/p>\n<p><strong>Esercizi<\/strong><\/p>\n<ol>\n<li>Compila ed esegui il sorgente proposto;<\/li>\n<li>prova ad inserire degli errori (ad esempio omettendo il punto e virgola) per prendere confidenza con i messaggi di errore del compilatore;<\/li>\n<li>scrivi un programma che faccia un conto alla rovescia, dove bisogna premere il tasto Invio ad ogni numero successivo, ad esempio<br \/>\n3.. &lt;Invio&gt;<br \/>\n2.. &lt;Invio&gt;<br \/>\n1.. &lt;Invio&gt;<br \/>\nGo!<\/li>\n<li>riscrivi il sorgente del programma dell&#8217;esempio senza mai andare a capo, una istruzione dietro l&#8217;altra. Il sorgente compila ugualmente? perch\u00c3\u00a8?<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Oggi scriveremo il nostro primo programma in Pascal. Come ogni guida che si rispetti, iniziamo con un semplice &#8220;Hello World&#8221; per poi scendere nel dettaglio delle varie istruzioni e comandi del Pascal. Presumo che abbiate gi\u00c3\u00a0 installato un compilatore Pascal e che abbiate dato uno sguardo al suo manuale, per avere idea di come compilare [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[30,42,52,163,90],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Imparare il Pascal: Hello World - OScene.net<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.oscene.net\/it\/programmazione\/pascal\/imparare-il-pascal-hello-world\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Imparare il Pascal: Hello World - OScene.net\" \/>\n<meta property=\"og:description\" content=\"Oggi scriveremo il nostro primo programma in Pascal. Come ogni guida che si rispetti, iniziamo con un semplice &#8220;Hello World&#8221; per poi scendere nel dettaglio delle varie istruzioni e comandi del Pascal. Presumo che abbiate gi\u00c3\u00a0 installato un compilatore Pascal e che abbiate dato uno sguardo al suo manuale, per avere idea di come compilare [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.oscene.net\/it\/programmazione\/pascal\/imparare-il-pascal-hello-world\" \/>\n<meta property=\"og:site_name\" content=\"OScene.net\" \/>\n<meta property=\"article:published_time\" content=\"2007-12-13T00:01:33+00:00\" \/>\n<meta name=\"author\" content=\"Antonio Barba\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Antonio Barba\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.oscene.net\/it\/programmazione\/pascal\/imparare-il-pascal-hello-world\",\"url\":\"https:\/\/www.oscene.net\/it\/programmazione\/pascal\/imparare-il-pascal-hello-world\",\"name\":\"Imparare il Pascal: Hello World - OScene.net\",\"isPartOf\":{\"@id\":\"https:\/\/www.oscene.net\/it\/#website\"},\"datePublished\":\"2007-12-13T00:01:33+00:00\",\"dateModified\":\"2007-12-13T00:01:33+00:00\",\"author\":{\"@id\":\"https:\/\/www.oscene.net\/it\/#\/schema\/person\/df83abe3c21cb652c3ffc4aa525b96d1\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.oscene.net\/it\/programmazione\/pascal\/imparare-il-pascal-hello-world#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.oscene.net\/it\/programmazione\/pascal\/imparare-il-pascal-hello-world\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.oscene.net\/it\/programmazione\/pascal\/imparare-il-pascal-hello-world#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.oscene.net\/it\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Imparare il Pascal: Hello World\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.oscene.net\/it\/#website\",\"url\":\"https:\/\/www.oscene.net\/it\/\",\"name\":\"OScene.net\",\"description\":\"Ope(rating)n S(ystem)ource Scenario\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.oscene.net\/it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.oscene.net\/it\/#\/schema\/person\/df83abe3c21cb652c3ffc4aa525b96d1\",\"name\":\"Antonio Barba\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.oscene.net\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3cd4232e83d5d207d431e6fbafe5c3c2?s=96&d=retro&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3cd4232e83d5d207d431e6fbafe5c3c2?s=96&d=retro&r=g\",\"caption\":\"Antonio Barba\"},\"sameAs\":[\"http:\/\/www.oscene.net\"],\"url\":\"https:\/\/www.oscene.net\/it\/author\/thekaneb\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Imparare il Pascal: Hello World - OScene.net","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.oscene.net\/it\/programmazione\/pascal\/imparare-il-pascal-hello-world","og_locale":"it_IT","og_type":"article","og_title":"Imparare il Pascal: Hello World - OScene.net","og_description":"Oggi scriveremo il nostro primo programma in Pascal. Come ogni guida che si rispetti, iniziamo con un semplice &#8220;Hello World&#8221; per poi scendere nel dettaglio delle varie istruzioni e comandi del Pascal. Presumo che abbiate gi\u00c3\u00a0 installato un compilatore Pascal e che abbiate dato uno sguardo al suo manuale, per avere idea di come compilare [&hellip;]","og_url":"https:\/\/www.oscene.net\/it\/programmazione\/pascal\/imparare-il-pascal-hello-world","og_site_name":"OScene.net","article_published_time":"2007-12-13T00:01:33+00:00","author":"Antonio Barba","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"Antonio Barba","Tempo di lettura stimato":"3 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.oscene.net\/it\/programmazione\/pascal\/imparare-il-pascal-hello-world","url":"https:\/\/www.oscene.net\/it\/programmazione\/pascal\/imparare-il-pascal-hello-world","name":"Imparare il Pascal: Hello World - OScene.net","isPartOf":{"@id":"https:\/\/www.oscene.net\/it\/#website"},"datePublished":"2007-12-13T00:01:33+00:00","dateModified":"2007-12-13T00:01:33+00:00","author":{"@id":"https:\/\/www.oscene.net\/it\/#\/schema\/person\/df83abe3c21cb652c3ffc4aa525b96d1"},"breadcrumb":{"@id":"https:\/\/www.oscene.net\/it\/programmazione\/pascal\/imparare-il-pascal-hello-world#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.oscene.net\/it\/programmazione\/pascal\/imparare-il-pascal-hello-world"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.oscene.net\/it\/programmazione\/pascal\/imparare-il-pascal-hello-world#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.oscene.net\/it"},{"@type":"ListItem","position":2,"name":"Imparare il Pascal: Hello World"}]},{"@type":"WebSite","@id":"https:\/\/www.oscene.net\/it\/#website","url":"https:\/\/www.oscene.net\/it\/","name":"OScene.net","description":"Ope(rating)n S(ystem)ource Scenario","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.oscene.net\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Person","@id":"https:\/\/www.oscene.net\/it\/#\/schema\/person\/df83abe3c21cb652c3ffc4aa525b96d1","name":"Antonio Barba","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.oscene.net\/it\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/3cd4232e83d5d207d431e6fbafe5c3c2?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3cd4232e83d5d207d431e6fbafe5c3c2?s=96&d=retro&r=g","caption":"Antonio Barba"},"sameAs":["http:\/\/www.oscene.net"],"url":"https:\/\/www.oscene.net\/it\/author\/thekaneb"}]}},"_links":{"self":[{"href":"https:\/\/www.oscene.net\/it\/wp-json\/wp\/v2\/posts\/18"}],"collection":[{"href":"https:\/\/www.oscene.net\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.oscene.net\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.oscene.net\/it\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.oscene.net\/it\/wp-json\/wp\/v2\/comments?post=18"}],"version-history":[{"count":0,"href":"https:\/\/www.oscene.net\/it\/wp-json\/wp\/v2\/posts\/18\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.oscene.net\/it\/wp-json\/wp\/v2\/media?parent=18"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.oscene.net\/it\/wp-json\/wp\/v2\/categories?post=18"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.oscene.net\/it\/wp-json\/wp\/v2\/tags?post=18"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}