{"id":628,"date":"2014-12-31T21:27:26","date_gmt":"2014-12-31T20:27:26","guid":{"rendered":"http:\/\/www.valcon.it\/pascal\/?p=628"},"modified":"2015-07-03T13:30:02","modified_gmt":"2015-07-03T11:30:02","slug":"unita-logici","status":"publish","type":"post","link":"https:\/\/www.valcon.it\/pascal\/unita-logici\/","title":{"rendered":"Unit\u00e0 Logici"},"content":{"rendered":"<h3 id=\"hn_59ca4f8bbb_1\">Analisi<\/h3>\n<ul>\n<li>Elementi:\u00a0VERO, FALSO<\/li>\n<li>Struttura:\u00a0semplice<\/li>\n<li>Dominio:\u00a0VERO, FALSO<\/li>\n<li>Operazioni:\u00a0Leggi(), Scrivi(), MyAnd(), MyOr(), MyNot(), MyXor()<\/li>\n<\/ul>\n<h3 class=\"indent\">Specifica delle operazioni<\/h3>\n<h5 id=\"hn_59ca4f8bbb_7\">LEGGI()<\/h5>\n<ul>\n<li>Interfaccia: Procedure LEGGI(A: LOGICO);<\/li>\n<li>Effetti: inserimento del valore logico VERO(1) o FALSO (0) in A<\/li>\n<li>Prerequisiti: input controllato di una stringa di tipo &#8216;Vero&#8217;\/&#8217;Falso&#8217;<\/li>\n<li>Esempio: Leggi(A);<\/li>\n<\/ul>\n<h5 id=\"hn_59ca4f8bbb_8\">SCRIVI()<\/h5>\n<ul>\n<li>Interfaccia: Procedure SCRIVI(A: LOGICO);<\/li>\n<li>Effetti: stampa il valore logico associato alla variabile A<\/li>\n<li>Prerequisiti: &#8211; &#8211; &#8211;<\/li>\n<li>Esempio: Scrivi(A);<\/li>\n<\/ul>\n<h5 id=\"hn_59ca4f8bbb_9\">MYAND()<\/h5>\n<ul>\n<li>Interfaccia: Function MYAND(A, B: LOGICO): LOGICO;<\/li>\n<li>Effetti: Simula la funzione AND<\/li>\n<li>Prerequisiti: &#8211; &#8211; &#8211;<\/li>\n<li>Esempio: C:=MYAND(A,B);<\/li>\n<\/ul>\n<h5 id=\"hn_59ca4f8bbb_10\">MYOR()<\/h5>\n<ul>\n<li>Interfaccia: Function MYOR(A, B: LOGICO): LOGICO;<\/li>\n<li>Effetti: Simula la funzione OR<\/li>\n<li>Prerequisiti: &#8211; &#8211; &#8211;<\/li>\n<li>Esempio: C:=MYOR(A,B);<\/li>\n<\/ul>\n<h5 id=\"hn_59ca4f8bbb_11\">MYNOT()<\/h5>\n<ul>\n<li>Interfaccia: Function MYNOT(A: LOGICO): LOGICO;<\/li>\n<li>Effetti: Simula la funzione NOT<\/li>\n<li>Prerequisiti: &#8211; &#8211; &#8211;<\/li>\n<li>Esempio: A:=MYNOT(A);<\/li>\n<\/ul>\n<h5 id=\"hn_59ca4f8bbb_12\">MYXOR()<\/h5>\n<ul>\n<li>Interfaccia: Function MYXOR(A, B: LOGICO): LOGICO;<\/li>\n<li>Effetti: Simula la funzione XOR<\/li>\n<li>Prerequisiti: &#8211; &#8211; &#8211;<\/li>\n<li>Esempio: C:=MYXOR(A,B);<\/li>\n<\/ul>\n<h3 id=\"hn_59ca4f8bbb_13\">Unit\u00e0<\/h3>\n<pre class=\"\">Unit LOGICI;\r\n\r\nInterface\r\n\r\nConst VERO   = 1;\r\n\u00a0 \u00a0   FALSO  = 0;\r\nType  LOGICO = byte;\r\n\r\nProcedure LEGGI (Var A: LOGICO);\r\nProcedure SCRIVI( A: LOGICO);\r\nFunction  MYAND (A,B: LOGICO): LOGICO;\r\nFunction  MYOR  (A,B: LOGICO): LOGICO;\r\nFunction  MYNOT (A \u00a0: LOGICO): LOGICO;\r\nFunction  MYXOR (A,B: LOGICO): LOGICO;\r\n\r\nImplementation\r\n\r\nConst StrVERO \u00a0= 'VERO';\r\n\u00a0 \u00a0   StrFALSO = 'FALSO';\r\n\r\nProcedure LEGGI(Var A: LOGICO);\r\nVar\r\n\u00a0 \u00a0S: String;\r\n\u00a0 \u00a0I: Integer;\r\nBegin\r\n\u00a0 \u00a0Repeat\r\n\u00a0 \u00a0 \u00a0 write('Inserisci VERO o FALSO ---&gt; ');\r\n\u00a0 \u00a0 \u00a0 readln(S);\r\n\u00a0 \u00a0 \u00a0 For I:=1 To Length(S) do\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0S[I]:=upcase(S[I]);\r\n\u00a0 \u00a0Until(S = StrVERO) or (S = StrFALSO);\r\n\u00a0 \u00a0If(S = StrVERO) Then\r\n\u00a0 \u00a0 \u00a0 A:=VERO\r\n\u00a0 \u00a0Else\r\n\u00a0 \u00a0 \u00a0 A:=FALSO;\r\nEnd;\r\n\r\nProcedure SCRIVI(A: LOGICO);\r\nBegin\r\n\u00a0 \u00a0If(A = VERO) Then\r\n\u00a0 \u00a0 \u00a0 write(StrVERO)\r\n\u00a0 \u00a0Else\r\n\u00a0 \u00a0 \u00a0 write(StrFALSO);\r\nEnd;\r\n\r\nFunction MYAND(A, B: LOGICO): LOGICO;\r\nBegin\r\n\u00a0 \u00a0If(A = VERO) and (B = VERO) Then\r\n\u00a0 \u00a0 \u00a0 MYAND:=VERO\r\n\u00a0 \u00a0Else\r\n\u00a0 \u00a0 \u00a0 MYAND:=FALSO;\r\nEnd;\r\n\r\nFunction MYOR(A, B: LOGICO): LOGICO;\r\nBegin\r\n\u00a0 \u00a0If(A = FALSO) and (B = FALSO) then\r\n\u00a0 \u00a0 \u00a0 MYOR:=FALSO\r\n\u00a0 \u00a0Else\r\n\u00a0 \u00a0 \u00a0 MYOR:=VERO;\r\nEnd;\r\n\r\nFunction MYNOT(A: LOGICO): LOGICO;\r\nBegin\r\n\u00a0 \u00a0If(A = FALSO) Then\r\n\u00a0 \u00a0 \u00a0 MYNOT:=VERO\r\n\u00a0 \u00a0Else\r\n\u00a0 \u00a0 \u00a0 MYNOT:=FALSO;\r\nEnd;\r\n\r\nFunction MYXOR(A, B: LOGICO): LOGICO;\r\nBegin\r\n\u00a0 \u00a0If(A = B) Then\r\n\u00a0 \u00a0 \u00a0 MYXOR:=FALSO\r\n\u00a0 \u00a0Else\r\n\u00a0 \u00a0 \u00a0 MYXOR:=VERO;\r\nEnd;\r\n\r\nBegin\r\n \u00a0 \u00a0Writeln(\"Unit Logici.\");\r\nEnd.<\/pre>\n<h3 id=\"hn_59ca4f8bbb_14\">Test<\/h3>\n<pre class=\"\">Program TESTLOGICI;\r\n\r\nUses Crt,\r\n\u00a0 \u00a0  LOGICI;\r\n\r\nFunction MYNAND(A, B: LOGICO): LOGICO;\r\nBegin\r\n\u00a0 \u00a0MYNAND:=MYNOT(MYAND(A, B));\r\nEnd;\r\n\r\nFunction MYNOR(A, B: LOGICO): LOGICO;\r\nBegin\r\n\u00a0 \u00a0MYNOR:=MYNOT(MYOR(A, B));\r\nEnd;\r\n\r\nVar A, B, C, R: LOGICO;\r\n\u00a0 \u00a0 SCELTA: \u00a0 \u00a0 Byte;\r\nBegin\r\n\u00a0 \u00a0A:=VERO;\r\n   B:=VERO;\r\n   C:=VERO;\r\n   R:=FALSO;\r\n\u00a0 \u00a0Repeat\r\n\u00a0 \u00a0 \u00a0 ClrScr;\r\n\u00a0 \u00a0 \u00a0 Write('A = '); SCRIVI(A); Writeln;\r\n\u00a0 \u00a0 \u00a0 Write('B = '); SCRIVI(B); Writeln;\r\n\u00a0 \u00a0 \u00a0 Write('C = '); SCRIVI(C); Writeln;\r\n\u00a0 \u00a0 \u00a0 Write('R = '); SCRIVI(R); Writeln;\r\n\r\n\u00a0 \u00a0 \u00a0 Writeln('       0. USCITA');\r\n\u00a0 \u00a0 \u00a0 Writeln('11.12.13. Inserimento');\r\n\u00a0 \u00a0 \u00a0 Writeln('21.22.23. MyAnd');\r\n\u00a0 \u00a0 \u00a0 Writeln('31.32.33. MyOr');\r\n\u00a0 \u00a0 \u00a0 Writeln('41.42.43. MyXor');\r\n\u00a0 \u00a0 \u00a0 Writeln('51.52.53. MyNot');\r\n\u00a0 \u00a0 \u00a0 Writeln('61.62.63. MyNand');\r\n\u00a0 \u00a0 \u00a0 Writeln('71.72.73. MyNor');\r\n\u00a0 \u00a0 \u00a0 Writeln;\r\n      Write  ('SCEGLI: ');\r\n\u00a0 \u00a0 \u00a0 Readln(SCELTA);\r\n\u00a0 \u00a0 \u00a0 Case SCELTA Of\r\n\u00a0 \u00a0 \u00a0   \u00a0 11: LEGGI(A); \u00a0 \u00a0 \u00a0 12: LEGGI(B); \u00a0 \u00a0 \u00a0 13: LEGGI(C);\r\n  \u00a0 \u00a0 \u00a0 \u00a0 21: R:=MYAND(A,B); \u00a022: R:=MYAND(B,C); \u00a023: R:=MYAND(A,C);\r\n  \u00a0 \u00a0 \u00a0 \u00a0 31: R:=MYOR(A,B); \u00a0 32: R:=MYOR(B,C); \u00a0 33: R:=MYOR(B,C);\r\n  \u00a0 \u00a0 \u00a0 \u00a0 41: R:=MYXOR(B,C); \u00a042: R:=MYXOR(B,C); \u00a043: R:=MYXOR(B,C);\r\n  \u00a0 \u00a0 \u00a0 \u00a0 51: R:=MYNOT(A); \u00a0 \u00a052: R:=MYNOT(B); \u00a0 \u00a053: R:=MYNOT(C);\r\n  \u00a0 \u00a0 \u00a0 \u00a0 61: R:=MYNAND(A,B); 62: R:=MYNAND(B,C); 63: R:=MYNAND(A,C);\r\n  \u00a0 \u00a0 \u00a0 \u00a0 71: R:=MYNOR(A,B); \u00a072: R:=MYNOR(B,C); \u00a073: R:=MYNOR(A,C);\r\n\u00a0 \u00a0   End;\r\n   Until(SCELTA = 0);\r\nEnd.<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Analisi Elementi:\u00a0VERO, FALSO Struttura:\u00a0semplice Dominio:\u00a0VERO, FALSO Operazioni:\u00a0Leggi(), Scrivi(), MyAnd(), MyOr(), MyNot(), MyXor() Specifica delle operazioni LEGGI() Interfaccia: Procedure LEGGI(A: LOGICO); Effetti: inserimento del valore logico VERO(1) o FALSO (0) in A Prerequisiti: input controllato di una stringa di tipo &#8216;Vero&#8217;\/&#8217;Falso&#8217; Esempio: Leggi(A); SCRIVI() Interfaccia: Procedure SCRIVI(A: LOGICO); Effetti: stampa il valore logico associato alla variabile &#8230; <a title=\"Unit\u00e0 Logici\" class=\"read-more\" href=\"https:\/\/www.valcon.it\/pascal\/unita-logici\/\" aria-label=\"Leggi di pi\u00f9 su Unit\u00e0 Logici\">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\/628"}],"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=628"}],"version-history":[{"count":4,"href":"https:\/\/www.valcon.it\/pascal\/wp-json\/wp\/v2\/posts\/628\/revisions"}],"predecessor-version":[{"id":633,"href":"https:\/\/www.valcon.it\/pascal\/wp-json\/wp\/v2\/posts\/628\/revisions\/633"}],"wp:attachment":[{"href":"https:\/\/www.valcon.it\/pascal\/wp-json\/wp\/v2\/media?parent=628"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.valcon.it\/pascal\/wp-json\/wp\/v2\/categories?post=628"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.valcon.it\/pascal\/wp-json\/wp\/v2\/tags?post=628"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}