Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

pl:prolog:pllib:string2int [2019/06/27 15:50]
pl:prolog:pllib:string2int [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
 +====== String2int ======
 +{{tag>​numbers function}}
 +===== Description =====
 +Program interpret sign string and then save as a numbers
 +
 +**Source**: ​ PROLOG str. 48 Wydawnictwo PLJ Warszawa 1991 ISBN 83-85190-63-5
 +===== Download =====
 +Program source code: {{string2int.pl}}
 +===== Listing =====
 +<code prolog>
 +pob_licz(Liczba) :- put(58), getstring(S),​ ost(E,S), usun_p(E,​S,​S1), ​     nl, zaczynaj(S1,​Liczba).
 +
 +zaczynaj([32|Ogon],​Liczba) :- !, zaczynaj(Ogon,​Liczba) .
 +
 +zaczynaj([45|Ogon],​Liczba) :- !, dalej(Ogon,​n,​-1,​0,​Lic zba).
 +zaczynaj(String,​Liczba) :- dalej(String,​n,​1,​0,​Liczba).
 +
 +dalej([Cyfra|Ogon],​n,​Skala,​Czesc_licz,​Liczba) :​-kod(Cyfra,​Wartoœæ),​!, ​     Nowa_Czesc_licz is Czesc_licz*10 + Wartoœæ, dalej(Ogon,​n,​Skala,​Nowa_Czesc_licz,​Liczba).
 +
 +dalej([46|Ogon],​n,​Skala,​Czesc_licz,​Liczba) :- !,                           ​dalej(Ogon,​t,​Skala,​Czesc_licz,​Liczba).
 +
 +dalej([Cyfra|Ogon],​t,​Skala,​Czesc_licz,​Liczba) :​-kod(Cyfra,​Wartoœæ),​ !,     ​Nowa_Czesc_licz is Czesc_licz*10 + Wartoœæ, Nowa_Skala is Skala*10, ​
 +dalej(Ogon,​t,​Nowa_Skala,​Nowa_Czesc_licz,​Liczba).
 +
 +dalej([],​_,​1,​Liczba,​Liczba) :- !. 
 +
 +dalej([],​_,​-l,​Czesc_licz,​Liczba) :- !,  ​
 +Liczba is -(Czesc_licz).
 +
 +dalej([],​t,​Skala,​Czesc_licz,​Liczba) :- !,
 +Liczba is Czesc licz/Skala.
 +
 +dalej(_,​_,​_,​_,​Liczba) :-                                ​
 +write('​WprowadŸ liczbê :'), pob_licz(Liczba).
 +
 +kod(48,​0). ​
 +kod(49,​l). ​
 +kod(50,​2). ​
 +kod(51,​3). ​
 +kod(52,​4). ​
 +kod(53,​5). ​
 +kod(54,​6). ​
 +kod(55,​7). ​
 +kod(56,​8). ​
 +kod(57,9).
 +</​code>​
 +===== Comments =====
  
pl/prolog/pllib/string2int.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0