String2int

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

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).

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