HP15C

409 views
Skip to first unread message

Ati Valinth

unread,
Jan 24, 2014, 1:40:16 PM1/24/14
to szamo...@googlegroups.com


Tolosa

unread,
Jan 24, 2014, 1:45:01 PM1/24/14
to szamo...@googlegroups.com
Gratulálok a szerzeményhez, Attila!
Na és mi lesz a sorsa a képen látható másik 'kicsikének'?
Ha esetleg most már felesleges, akkor gondolj rám.:-)

2014. január 24., péntek 19:40:16 UTC+1 időpontban Ati Valinth a következőt írta:


Pipás

unread,
Jan 24, 2014, 2:54:24 PM1/24/14
to szamo...@googlegroups.com
Én is gratulálok. Hol szerezted?

Ati Valinth

unread,
Jan 24, 2014, 4:15:29 PM1/24/14
to szamo...@googlegroups.com
Az az igazi szerelem...
De köszönöm!

Ati Valinth

unread,
Jan 24, 2014, 4:45:09 PM1/24/14
to szamo...@googlegroups.com
Ebay

On Friday, January 24, 2014 8:54:24 PM UTC+1, Pipás wrote:
Én is gratulálok. Hol szerezted?

ZilogR

unread,
Jan 25, 2014, 4:47:57 AM1/25/14
to szamo...@googlegroups.com
Nyomkodd sokat és postolj sokat!
Még ma legalább 3 postot kérek! :D
Akinek ennyi gépe van, annak folyamatosan kellene ontania az ötleteket/kérdéseket/ válaszokat!!! :D
;)

Ati Valinth

unread,
Jan 25, 2014, 8:09:22 AM1/25/14
to szamo...@googlegroups.com
Megbeszéltük, emléxel.
Volt kérdésem, mondtad megírod :)

Ati Valinth

unread,
Jan 26, 2014, 8:45:10 AM1/26/14
to szamo...@googlegroups.com
ZiloghR.
Sikerült valamit összehozni? ;)


On Saturday, January 25, 2014 10:47:57 AM UTC+1, ZilogR wrote:

ZilogR

unread,
Jan 26, 2014, 10:40:53 AM1/26/14
to szamo...@googlegroups.com
Egy nap alatt nem lehet csodákat tenni, talán csak keveseknek sikerült, de nekik nem volt családjuk ;) talán Húsvétra összejön vmi :)

Ati Valinth

unread,
Jan 26, 2014, 4:13:21 PM1/26/14
to szamo...@googlegroups.com
:(

ZilogR

unread,
Jan 26, 2014, 7:20:05 PM1/26/14
to szamo...@googlegroups.com
Azért annyira nem érdemes elkenődni - csak h mindenki értse: ext megkért arra, h állítsak össze egy rövidke összefoglalót a 15C rejtelmeiről, kimondottan  a programozásáról. Mit, miért úgy és mikor mit érdemes - ez annyira nem is gázos, de míg szép kerek egésszé áll össze, az több idő.
Persze itt most lehet az lesz a jó, ha majd szépen beiterálódik a mondandó, azaz postolok vmit, ti pedig mondtok véleményt...

Pipás

unread,
Jan 27, 2014, 1:25:21 AM1/27/14
to szamo...@googlegroups.com
Nekem sokat segített a 15c quick reference, ami pl. a thimet.de oldalról is letölthető. Ez egyfajta összefoglaló, afféle vázlat, áttekintő. Ennek alapján bogarászhatsz a kézikönyvben.

Hogy mikor érdemes használni? Ha érdekel akkor minél többször, mert így tudod legjobban megismerni, megtanulni. Szerintem az ember akkor tanul meg valamit igazán ha maga jön rá, kipróbálja.

Ati Valinth

unread,
Jan 27, 2014, 5:12:20 AM1/27/14
to szamo...@googlegroups.com
Pont a személyes okosságok, tapasztalatok miatt szerettem volna.
A mai idő szegény világunkban szerettem volna a csontból a velőt... :)
és tényleg nem a lustaság az oka:)

Pipás

unread,
Jan 27, 2014, 8:45:09 AM1/27/14
to szamo...@googlegroups.com
Ó hát mikor itthon vannak a fiúk nálunk is nagy a marakodás a velőscsonton. :-D

Pipás

unread,
Jan 27, 2014, 9:36:34 AM1/27/14
to szamo...@googlegroups.com
Ok, bocs.
Kiptóbáltam a Tolosa által postolt Binet formulát 15C-re leprogramozni, sikerült.

LBL A
STO 1
5

STO 2
1
RCL+ 2
RCL 1
Y^X
1
RCL- 2
RCL 1
Y^X
-
2
RCL 1
Y^X
RCL* 2
/
RET

A stack 1-be beírod a kívánt fokszámot, aztán f A és már kapod is a kívánt Fibonacci számot.
Jobb, elegánsabb megoldást szívesen fogadok. :-)

Pipás

unread,
Jan 27, 2014, 9:40:12 AM1/27/14
to szamo...@googlegroups.com
A RET az igazából RTN akart lenni... :-(

Ati Valinth

unread,
Jan 28, 2014, 7:29:05 AM1/28/14
to szamo...@googlegroups.com
Na ugye, már itt jön a mit miért írok be a programba... :)

Pipás

unread,
Jan 28, 2014, 8:16:13 AM1/28/14
to szamo...@googlegroups.com
És? Kipróbáltad? :-)

ZilogR

unread,
Jan 28, 2014, 10:32:25 AM1/28/14
to szamo...@googlegroups.com
Az a javaslatom, látva, mi itt a valódi probléma, hogy az eredeti 15C-t használd, annál nem lesz semmiféle probléma a billentyűzettel, majd keress háztartási példákat (összeadod vele a számlákat, kiszámolod, mennyit eszik a kocsi 100-on, stb...) majd keresel munkához kapcsolódó dolgokat, azokat számolod át kézzel, majd elő a kézikönyvet és néhány példát abból is kötelezően megcsinálsz, utána a kézikönyvet felhasználva mehet a programozás, majd azután a saját dolgok programozása. Sajnos, a szamárlétrát végig kell járni minden eszközzel, ez a tapasztalat... :)

Ati Valinth

unread,
Jan 28, 2014, 11:24:47 AM1/28/14
to szamo...@googlegroups.com
A billentyűzettel semmi gond! :)
Használom a gépet minden nap, egyszerű dolgokra.
A kézikönyvből az egyszerű programokat kipróbáltam...

De:
STO ? - programban memória hely
RCL ? annak előhívása

Stb... :)
Ez a valós probléma :D

Pipás

unread,
Jan 28, 2014, 11:37:46 AM1/28/14
to szamo...@googlegroups.com
Így igaz, ahogy mondod. Memóriahelyek=regiszterek.
0-9 .0-.9 vagyis 20 darab.
16.2 STO 1 = berakja az. 1. regiszterbe.
Sőt:
2 STO+ 1 Az egyes regiszterben 18.2 lesz.
RCL 1 = 18.2
Sőt: STO- STO* STO/

Quick reference!!!

Ati Valinth

unread,
Jan 28, 2014, 11:54:34 AM1/28/14
to szamo...@googlegroups.com
Ugye-ugye... Jönnek az okosságok 

ZilogR

unread,
Jan 28, 2014, 12:10:05 PM1/28/14
to szamo...@googlegroups.com
STO: az éppen aktuális értéket a kijelzőről (stack x-et) eltárolja a STO után írt számú rekeszbe, pl.: STO 4 a 4-es rekeszbe (R4) teszi el a kijelzőn levő számot. Az RCL kiolvassa az adott rekeszből a benne levő értéket és a stack-be teszi úgy, hogy a stack eredeti tartalma "felfelé" vándorol (x az y-ba, y a z-be, z a t-be és t tartalma elvész). A STO/RCL utasításokat ki lehet egészíteni a +-/* műveletekkel, ekkor a STO úgy működik, h a kijelzőn levő számot hozzáadja, kivonja a rekesz tartalmából és az eredményt teszi a rekeszbe, illetve osztja, szorozza a kijelzőn levő számmal a rekesz tartalmát és az eredményt teszi a rekeszbe. Pl.: legyen az R4-ben 15, a kijelzőn 3, ekkor egy STO+4 után R4-ben 18 lesz. Az RCL ugyanígy működik, csak amin a műveletet végzik, az van a kijelzőn, amivel a műveletet végzik, az a rekesz tartalma és az eredmény a kijelzőn keletkezik. Ha folytatod az iménti műveleteket (a kijelzőn a 3-nak kell lennie, R4-ben pedig a 18 van), egy RCL/4 után a kijelzőn 3/18-nak (0.1666666) kell lennie. Ennyi az egész tudomány mögötte. :)

Pipás

unread,
Jan 28, 2014, 12:19:57 PM1/28/14
to szamo...@googlegroups.com
2014. január 28., kedd 18:10:05 UTC+1 időpontban ZilogR a következőt írta:
> STO: az éppen aktuális értéket a kijelzőről (stack x-et) eltárolja a STO után írt számú rekeszbe, pl.: STO 4 a 4-es rekeszbe (R4) teszi el a kijelzőn levő számot. Az RCL kiolvassa az adott rekeszből a benne levő értéket és a stack-be teszi úgy, hogy a stack eredeti tartalma "felfelé" vándorol (x az y-ba, y a z-be, z a t-be és t tartalma elvész). A STO/RCL utasításokat ki lehet egészíteni a +-/* műveletekkel, ekkor a STO úgy működik, h a kijelzőn levő számot hozzáadja, kivonja a rekesz tartalmából és az eredményt teszi a rekeszbe, illetve osztja, szorozza a kijelzőn levő számmal a rekesz tartalmát és az eredményt teszi a rekeszbe. Pl.: legyen az R4-ben 15, a kijelzőn 3, ekkor egy STO+4 után R4-ben 18 lesz. Az RCL ugyanígy működik, csak amin a műveletet végzik, az van a kijelzőn, amivel a műveletet végzik, az a rekesz tartalma és az eredmény a kijelzőn keletkezik. Ha folytatod az iménti műveleteket (a kijelzőn a 3-nak kell lennie, R4-ben pedig a 18 van), egy RCL/4 után a kijelzőn 3/18-nak (0.1666666) kell lennie. Ennyi az egész tudomány mögötte. :)

Hát ha valami konkrét dolgot kérdezel, arra lehet válaszolni. :-)

ZilogR

unread,
Jan 28, 2014, 12:49:27 PM1/28/14
to szamo...@googlegroups.com
…és ezek után egy részletes elemzést kérünk a Fibonacci programról. Aztán jöhetnek az ötletek, h hogyan lehet más módon megírni és az miért lenne jobb vagy rosszabb.

Pipás

unread,
Jan 28, 2014, 1:11:21 PM1/28/14
to szamo...@googlegroups.com
Ja. :-)

ZilogR

unread,
Jan 28, 2014, 2:51:58 PM1/28/14
to szamo...@googlegroups.com
Na, hogy alakul a te megoldásod a Fibonacci programra?

Ati Valinth

unread,
Jan 28, 2014, 2:58:56 PM1/28/14
to szamo...@googlegroups.com
Még rágom a leírtakat és a pipás képletét.
Hogy mit miért.... :)

Tolosa

unread,
Jan 29, 2014, 3:38:17 AM1/29/14
to szamo...@googlegroups.com
Rábukkantam egy oldalra, ahol ugyan alapvetően online kalkulátorok találhatók, de egy csomó /Fibonnacci-hoz hasonló/ speciális számolás is lehetséges.
De ami a lényeg: minden kalkulátornál megtalálhatö az algoritmus, ami alapján dolgozik. Ez talán további ötletekkel szolgálhat a HP-15 programozásához.

A link.

ZilogR

unread,
Jan 29, 2014, 1:25:04 PM1/29/14
to szamo...@googlegroups.com
:) sokáig tart... Eredmény?

ZilogR

unread,
Jan 29, 2014, 4:14:44 PM1/29/14
to szamo...@googlegroups.com

Pl.: Érdemes azt átgondolni, hogy mikor éri meg változót használni a konstansok tárolásához és mikor jobb döntés kiszámoltatni a programmal. Ennek két oldala van: ha sokszor kell lefutnia egy számításnak egy programon belül, akkor nem éri meg a számításhoz szükséges konstans előállítását betenni a programba, hanem azt be kell pakolni egy változóba és RCL-lel előszedegetni, amikor kell. Ez akkor is jó lehet, ha sok lépés a konstans előállítását leprogramozni.
Pl.: (GYÖK(5)+1)÷2 előállítása 15C-n: 5 SQRT 1 + 2 ÷, ami testvérek közt is 6 lépés (6 byte), míg egy RCL csak 1. Így ezt a konstanst bele kell rakni egy változóba.
Vagy: Ha van egy programban valami+1 és valami-1, utána pedig van egy osztás 2×valami-vel, akkor már érdemes azon is gondolkodni, nem lehet-e rövidebbet csinálni, ha elteszem mindkettőt és utána összeadom őket és úgy osztok (mert 2×valami = (valami+1) + (valami-1) ), persze itt van n-edik hatvány is, ez csak egy kis ötlet volt.
Mellesleg ez a végképlet nem is olyan jó a leprogramozásra, sokkal több fantáziát látok az az előtti lépésben, amit ide linkeltem!


2014. január 29., szerda 19:25:04 UTC+1 időpontban ZilogR a következőt írta:
:) sokáig tart... Eredmény?

Ati Valinth

unread,
Jan 30, 2014, 1:21:08 AM1/30/14
to szamo...@googlegroups.com
A Mérnök egyik legjobb barátja a színes ceruza... Ugye ZiloghR? :)
Scan 2014_01_12_ 16_30-page2...jpg

ZilogR

unread,
Jan 30, 2014, 2:04:50 AM1/30/14
to szamo...@googlegroups.com
:) na, igen... Sajnos még nem az igazi, a keretezésedből arra következtetek! :( az első STO az nem a GYÖK(5)-öt teszi el, hanem a program futtatás előtt a stack-ben levő n-t. A második STO csinálja ezt, amit viszont javaslok, hogy nem kell belerakni a programba, hanem előtte, a programfuttatás előkészítéskor kell eltárolni.

Pipás

unread,
Jan 30, 2014, 3:09:20 AM1/30/14
to szamo...@googlegroups.com
Vagyis per pillanat
1. Beírod a kívánt fokszámot pl. 3
2. Meghívod a programot f A = LBL A
3. A 3-at berakja az. 1. reg. be. 3 STO 1
4. GYök 5-öt a 2. reg.be. 5 √ STO 2
5. Beírja az 1- et. 1
6. Hozzáadja √5-öt. RCL+ 2
7. Előhívja a fokszámot. RCL 1 = 3
8. Hatványozza az 1+√5-öt. Y^X
Stb.

Szerintem: Lehet h. kevesebb memóriát használ a pr. ha előre számoljuk ki a √5-öt és ezt tároljuk le, de kevésbé fapados úgy használni a programot hogy csak a fokszámot kérje be futás előtt. (Hamáregyszer programozható... :-) )

ZilogR

unread,
Jan 30, 2014, 4:02:20 AM1/30/14
to szamo...@googlegroups.com
Ezt én értem, de a memória véges, amit a programozásra lehet használni.
Igazából neked van igazad, amiatt, hogy a regiszterek darabszáma változtatható és "átalakítható" programterületté, DE a user-ek többsége úgy használja a kis kalkulátort, hogy marad az eredeti R0~R9 és R.0~R.9 felállás. EKKOR igaz az, hogy ha úgyis van 20 memóriarekesz és ebből elhasználva egyet-egyet tudok tárterületet spórolni, AKKOR azt meg kell tenni. A pénznél csak memóriából szokott kevesebb lenni :)
Azt is értem, h a mai "tegyük-a-user-szájába-a-felhasználói-felületet-és-csak-OK-t-kell-nyomni" világban nem annyira felhasználóbarát egy olyan kérés, hogy a program futtatása előtt tárold el a gyök(5)-öt az R2-be.

Ext! Te pedig érted-e már, h az első STO az az n-t tárolja-e?!?!?!? :D

Ati Valinth

unread,
Jan 30, 2014, 5:28:30 AM1/30/14
to szamo...@googlegroups.com
Frankón bele zavartatok most... Azt hittem kiokoskodtam.
Látod? nem vagyok én való, programozónak :D

Ati Valinth

unread,
Jan 30, 2014, 5:29:06 AM1/30/14
to szamo...@googlegroups.com
Most keretezhetsz te, ez lett a vége :D


On Thursday, January 30, 2014 10:02:20 AM UTC+1, ZilogR wrote:

ZilogR

unread,
Jan 30, 2014, 5:36:06 AM1/30/14
to szamo...@googlegroups.com
:D ugyan, csináld meg kézzel először, hogy hogyan számolnád ki, aztán a program is világosabb lesz.

Azt kell megérteni, mi kell ahhoz, hogy el tudd indítani a programot. Az kell hozzá, hogy n-t a kijelzőre (stack x helyére) írd be és úgy indítod el a programot. Mivel n-re többször is van szükség, ezért Pipás úgy döntött, hogy rögtön el is tárolja, ezért indul azzal a program, hogy STO 1.

Nézd, próbáld és fogod érteni.

Pipás

unread,
Jan 30, 2014, 6:09:28 AM1/30/14
to szamo...@googlegroups.com
Figyelj Ext!
A 15C-ben az a jó és egyszerű, hogy simán billentyűlenyomásokat (is) lehet programként tárolni.

Vagyis:
A fenti program lépéseit Te is végre tudod hajtani a géppel ha simán bepötyögöd, és akkor látod is hogy mi történik. Ekkor persze nem kell az LBL A és az RTN utasítás.

Leprogramozni egyébként csak a lusta disznók szokták, hogy ne kelljen nekik minden egyes alkalommal az egészet bepötyögni ha éppen nem tudnak parancsolni a kíváncsiságuknak és megint ki akarnak számolni egy Fibonacci számot.

Uff, én beszéltem! :-)

ZilogR

unread,
Jan 30, 2014, 6:31:11 AM1/30/14
to szamo...@googlegroups.com
De azért sokat javít a helyzeteden, hogy tökéletesen tudsz fordított lengyel logika szerint beszélni: "...nem vagyok én való, programozónak..." ;)

Ati Valinth

unread,
Jan 30, 2014, 6:46:57 AM1/30/14
to szamo...@googlegroups.com
igen az RPN része a véremnek.
nem is tudnék elképzelni más menyecskét :)
keresek minnyá saját képleteket... :D

Ati Valinth

unread,
Jan 30, 2014, 9:27:59 AM1/30/14
to szamo...@googlegroups.com
Scan 2014_01_12_ 16_30-page3.jpg

Ati Valinth

unread,
Jan 30, 2014, 9:29:14 AM1/30/14
to szamo...@googlegroups.com

Részekre bontás...
Most már kicsit jobb az értelmezés? :)

Pipás

unread,
Jan 30, 2014, 11:12:47 AM1/30/14
to szamo...@googlegroups.com
Alakul. :-D Már csak annyi a bibi hogy az RCL-2 -nél is + jelet írtál ha jól látom, de ez biztos csak elírás, mert a színjelölés jónak tűnik. Írd be oszt futtasd meg.

Ati Valinth

unread,
Jan 30, 2014, 12:04:37 PM1/30/14
to szamo...@googlegroups.com
Nem. Jó az, a tiédet másoltam ki... :)

Pipás

unread,
Jan 30, 2014, 12:58:46 PM1/30/14
to szamo...@googlegroups.com
Addig nem is írtam le, az a stb. utáni rész. :-)
Erre gondolok:
1 RCL+ 2 RCL 1 Y^X = (1+√5)^n , ez ok.
1 RCL- 2 RCL 1 Y^X = (1-√5)^n , ide írtál pluszt - helyett.

Ati Valinth

unread,
Jan 30, 2014, 2:34:18 PM1/30/14
to szamo...@googlegroups.com
Ctrl c - Ctrl v-vel másoltam innen egy az egyben Word-be. Hozzá sem nyúltam ahhoz amit leírtál.
Vagy a kézírásomban van a hiba? :)

Pipás

unread,
Jan 30, 2014, 2:50:07 PM1/30/14
to szamo...@googlegroups.com
Igen, én a beszkennelt, kiszínezett kézírásodról beszélek. Ott írtál az RCL- 2 -höz 1+√5 -öt. De így akkor érted h. mit csinál a program?

Ati Valinth

unread,
Jan 30, 2014, 2:56:37 PM1/30/14
to szamo...@googlegroups.com
Bakke pipás, igazad van!
Persze, hogy értem :)
Ez a 2 munkahely átka... :D

Pipás

unread,
Jan 30, 2014, 3:06:26 PM1/30/14
to szamo...@googlegroups.com
Ha beírtad, lépésenként is végigfuttathatod a programot. Ehhez normál és NEM programmódban
1. Beírod a fokszámot,
2. Majd GTO A

Ezután az SST nyomogatásával lépésenként végigmehetsz a programon. Amíg lenyomva tartod az SST-t az utasítást látod, ha felengeded, a pillanatnyi eredményt a stack 1. szintjén. Ez afféle "fapados" debugger, de nekem nagyon szimpi. :-)

Ati Valinth

unread,
Jan 31, 2014, 3:00:36 AM1/31/14
to szamo...@googlegroups.com
Köszi!
Pont ezek az apró okosságok érdekeltek :)

Ati Valinth

unread,
Jan 31, 2014, 6:09:48 AM1/31/14
to szamo...@googlegroups.com

Ötletetek van?
Megkapom értékben az e-t. (köztes érték rendszerint, nem a beosztás)
megkapom az Ic-t. (ua)
Keresem a szigmát...
Jelenlég "hasra ütve", nem pontos érték.

Van egy hasonló táblázatom a súrlódási szögre is.
Szóval? Valakinek ötlete Pr? :)
Szigma.jpg

Tolosa

unread,
Jan 31, 2014, 6:25:30 AM1/31/14
to szamo...@googlegroups.com
Egy másik módszer a Fibonacci szám meghatározására /habár ennek folyománya a már tárgyalt módszer is/.
A képlet:


F_n = {\phi^n \over \sqrt{5}} - {(1-\phi)^n \over \sqrt{5}}



ahol fi /nincs görög betűm:-(/ az aranymetszés arányszáma.
A ** hatványozást jelent.

A futtatás előtt a regisztereket feltöltjük:

1.618033989 /fi/ STO 1
2.236067977 /gyök 5/ STO 2

Kijelzőre beírjuk n értékét, majd R/S

Én HP-12C-re csináltam meg, így talán nem teljesen azonosak a jelölések.
Nem jobb, mint Pipás megoldása, csak kicsit más.

***************************



STO 0
RCL 1
x<>y
y**x
RCL 2
/
1
RCL 1
-
RCL 0
y**X
RCL2
/
-
R/S


******************

Az én gépemen működik, remélem, jól írtam le a programot.

ZilogR

unread,
Jan 31, 2014, 6:28:46 AM1/31/14
to szamo...@googlegroups.com
Ezen én már agyaltam anno.
Excelben megvan esetleg?

Ati Valinth

unread,
Jan 31, 2014, 6:46:55 AM1/31/14
to szamo...@googlegroups.com
Nincs...
De tudom, hogy ott lehetne számoltatni.
De mi most a '80 évek mérnökei vagyunk :)

ZilogR

unread,
Jan 31, 2014, 6:51:17 AM1/31/14
to szamo...@googlegroups.com
Igen, ezt tartom jobb kifejezésnek én is.
A programod is OK, annyi megjegyzésem lenne, hogy én nem tenném el az R0-ba n-t, hanem LSTx-et használnék (-1byte és -1regiszter): A 15C változat, ami kihasználja a regiszter aritmetikát:

LBLA
RCL1
x<>y
y^x
LSTx
1
RCL-1
x<>y
y^x
-
RCL÷2
RTN


A 12C-n csak tároláskor lehet műveletet végezni a regisztereken és akkor is csak az R0~R4-en, így lehet agyalni egy olyan változaton, ami ezt használja ki.

ZilogR

unread,
Jan 31, 2014, 6:52:11 AM1/31/14
to szamo...@googlegroups.com
Nem azért, hanem h mindenki ugyanazt lássa ki belőle :)

Ati Valinth

unread,
Jan 31, 2014, 7:05:42 AM1/31/14
to szamo...@googlegroups.com
Írtok/magyaráztok egy kicsit érthetőbben is?
Fel kellene zárkóznom.
Addig is:
x<>y jelentősége?
LSTx detto





Tolosa

unread,
Jan 31, 2014, 7:13:16 AM1/31/14
to szamo...@googlegroups.com
Az első kérdésedre: x és y tároló /stack1 és stack2/ felcserélése.
Másodikra: 'lst x' azt jelenti, hogy 'last x', vagyis utolsó adat, ami a kijelzőn /stack 1-en/ megjelent.

ZilogR

unread,
Jan 31, 2014, 7:27:11 AM1/31/14
to szamo...@googlegroups.com
1.) A program futtatásakor a kijelzőn n értéke van, az R1-ben pedig fi értéke. A program indításakor a stack úgy néz ki az RCL1 után, hogy a stack-x-ben fi van és az y-ban n. Ha ekkor kiadjuk az y^x utasítást, akkor n^fi -t számítjuk ki, nem pedig a fi^n -t, ezért fel kell őket cserélni. Erre való az x<>y.

2.) LSTx az utolsó műveletkor a stack-x -ben levő értéket veszi elő. Ezzel megspórolunk a fenti programban 1 tárhelyet (nem kell R0), mert n értékét nem regiszterben tároljuk el, hanem kihasználjuk, hogy "eltárolódik".









2014. január 31., péntek 13:05:42 UTC+1 időpontban Ati Valinth a következőt írta:

Pipás

unread,
Jan 31, 2014, 9:12:12 AM1/31/14
to szamo...@googlegroups.com
Azt is ki lehet használni hogy a T regiszter mindig lefelé lépteti a tartalmát, ez is egy tárolási mód.

Vagyis futtatás előtt:
1. fi STO 1
2. 5 √ ENTER ENTER ENTER (X,Y,Z,T √5-el feltöltve.)
3. Fokszámot (n) az X regiszterbe.

LBL A
√5
√5
√5
n

RCL 1
√5
√5
n
fi

X<>Y
√5
√5
fi
n

Y^X
√5
√5
√5
fi^n

LSTX
√5
√5
fi^n
n

1
√5
fi^n
n
1

RCL- 1
√5
fi^n
n
1-fi

X<>Y
√5
fi^n
1-fi
n

Y^X
√5
√5
fi^n
(1-fi)^n

-
√5
√5
√5
fi^n-(1-fi)^n

X<>Y
√5
√5
fi^n-(1-fi)^n
√5

/
√5
√5
√5
(fi^n-(1-fi)^n)/√5

RTN

Na ezt akkurátusan bepötyögtem. Ez végül is ZR módszere megvariálva, nem tudom h. hosszabb vagy rövidebb. Egyébként meg csípem mikor ilyen nyüzsi van a fórumon. :-)

Tolosa

unread,
Jan 31, 2014, 12:13:56 PM1/31/14
to szamo...@googlegroups.com
Kicsit átrendeztem az eredeti egyenletet.


Fn=(gyök5*(fi^n-(-fi+1)^n))÷5

A továbbiakban fi értékét kell csak betárazni (STO 1) és az 'n' értékével indítani.

Viszont kipróbálni nem tudtam. Megtenné valaki?
Ha működik, akkor ZilogR szisztémájával bizonyára még egyszerűbbé tehető.



sto 0
5
gyök
rcl 1
rcl 0
y**x
1
rcl 1
-
rcl 0
y**x
-
5
/
R/S






2014. január 31., péntek 12:25:30 UTC+1 időpontban Tolosa a következőt írta:

Pipás

unread,
Jan 31, 2014, 1:36:02 PM1/31/14
to szamo...@googlegroups.com
Elmondanám Tolosa, hogy a programod szépen fut a 15C-n.
Annyi hiba van a listában hogy a végén kimaradt belőle a szorzásjel és így nem szorozza be a számlálót gyök 5-el, mielőtt elosztja 5-el. De ez valószínű csak gépelési hiba.

Innen:
Y^X
-
* <<<< Ez maradt ki
5
/
R/S (Vagyis 15C-n RTN)

Tolosa

unread,
Jan 31, 2014, 2:00:21 PM1/31/14
to szamo...@googlegroups.com
Ja, bocsi, tényleg, köszi. Hirtelen írtam le és nem tudtam gépen kipróbálni, mert délután kölcsön adtam a HP-12C-t.
Vajon rövidebb így az eredeti proginál? Esetleg optimalizálva?

ZilogR

unread,
Jan 31, 2014, 2:56:12 PM1/31/14
to szamo...@googlegroups.com
Kölcsönadtad??? Kevesebbért is mentek már máglyára... :DDD

BTW: ext:
Ip a Plasticity index, Ic a Consistency index, az 'e' micsoda?
Hogy hívják ezeket magyarul?
Mekkora eltérés engedhető meg az eltérésre a táblázat adataitól? (+/-...% ?)

Tolosa

unread,
Jan 31, 2014, 3:10:46 PM1/31/14
to szamo...@googlegroups.com
'...és mégis mozog a föld.':-)

Nem először fordul elő és most csak egy napra. Eddig még mindig vissza adták. Ismerőseim 99%-a nem tudja vele kiszámolni, hogy 1+1 mennyi. Ő az 1%, aki igen.:-)

Pipás

unread,
Jan 31, 2014, 3:14:34 PM1/31/14
to szamo...@googlegroups.com
Tolosa, majd holnap átbogarászom. Korán szoktam kelni és ilyenkor már nem fog annyira az agyam. (Ok amúgy se, de most meg pláne nem :-D )

Pipás

unread,
Feb 1, 2014, 3:55:45 AM2/1/14
to szamo...@googlegroups.com
Nézegettem a programokat, képleteket.
A kiinduló képlet:
Fn=fi^n/√5-(1-fi^n)√5 = (fi^n-(1-fi)^n)/√5

A Te átrendezett képleted:
Fn= (√5*(fi^n-(1-fi)^n))/5

Az eredeti változatban 1 művelettel kevesebb van, ezért a ZR által (és általam) átvariált eredeti programod szerintem jobb.

Azzal a módosítással hogy:
1. Az n-t nem tárolom sehova hanem LSTX-et használok.
2. Használom a 15C regiszter aritmetikát.
3. A √5-öt sem tárolom sehova de nem is töltöm fel vele a regisztereket. Mert felmászik az a T-be magától mikor RCL- 1-el másodszor hívom be a fi-t. Ekkor a regiszterek tartalma XYZT sorrendben: 1-fi, n, fi^n, √5 .

Vagyis futtatás előtt:
1. fi STO 1
2. 5 √
3. n

Tehát utóljára beírom a fokszámot, majd f A -val meghívom a következő progit:

LBL A
RCL 1
X<>Y
Y^X
LSTX
1
RCL- 1 <<< Itt mászik fel a √5.
X<>Y
Y^X
-
X<>Y
/
RTN

Ez igy fut, én azért szívem szerint még a √5-öt is belredrótoznám a programba.

Pipás

unread,
Feb 1, 2014, 4:04:38 AM2/1/14
to szamo...@googlegroups.com
És a 3. pont (Vagyis h. √5 felmegy a T-be)) az utsó progidnál esett le nekem, Tolosa. :-)

Tolosa

unread,
Feb 1, 2014, 4:17:54 AM2/1/14
to szamo...@googlegroups.com
Igen, mindenképpen hosszabb, hiszen az eredeti programban gyök(5) értékét nem a programmal számoltatom, hanem előre betárolom egy regiszterbe.
Én is inkább kényelmesebbé tenném a programot azzal, hogy ne kelljen előzetesen betárazni adatokat. Igazából az lenne egy elegáns megoldás, ha a bonyolultabb számot, vagyis 'fi' értékét se kelljen előzetesen beírni, hanem a program számolná ki. Mondjuk ez az alábbi másodfokú egyenlet gyökeinek meghatározását jelentené:

x^2 = x + 1\,

...viszont ennek egyik gyöke már közvetlenül a zárójelben szereplő '(1-fi)' értéket adja.
Jó, belátom, ez jelentősen hosszabbá tenné a progit, no de ez milyen elegáns lenne és főleg milyen nagy kihívást jelentene!:-)

Tolosa

unread,
Feb 1, 2014, 4:25:29 AM2/1/14
to szamo...@googlegroups.com
Egyébként meg Pipás, marhára díjazom a frappáns megoldásaidat, úgy, hogy esténként elhaló idegsejtekről szó ne essék!:-)

Ati Valinth

unread,
Feb 1, 2014, 7:59:22 AM2/1/14
to szamo...@googlegroups.com
Konzisztencia index, azaz a talaj keménysége: Ic: 0 - ...  (csak plasztikus talajoknál alkalmazható, egy agyag talaj 1,2 már nagyon kemény állapotú)
Plasztikus index, talaj plasztikussága, ez dönti el, hogy mi: iszap, sovány-közepes-kövéragyag: Ip: 1-...
e: hézagtényező: a talajszemcsék  :  0-1-ig terjedhet.

Inkább úgy fogalmaznék, hogy nekem a táblázat adataiból kell kikeresnem manuálisan az e és Ic értékeihez megfelelő szigma értéket...

ZilogR

unread,
Feb 1, 2014, 8:31:16 AM2/1/14
to szamo...@googlegroups.com
A következő ajánlatom van:

Most kapsz egy pofátlanul rövid megoldást az Ip=1...10 tartományra és neked kell megcsinálni a többire :P

Amit ide postolok fog működni az e=0.6 ... 1.0 tartományon ha Ic=0.4 ... 1.0, kivéve az e=1 és Ic=0.4 (ott -20kN/m2-t fog adni), illetve ha Ic>1.0, akkor kisebbet fog adni a táblázatban szereplő értékeknél. Viszont PONTOS ha Ic=0.4 ... 1.0:

LBL A
2
×
7
-
×
6
+
EEX
2
×
RTN

Használata:

e [ENTER] Ic [f][A]

Pl.: e=0.7 és Ic=0.8 -hoz a szigma= 222kN/m2:

0.7 [ENTER] 0.8 [f][A], kijelzőn megjelenik a 222

Ennyi az egész :DDD, innentől te jössz, ext!

Pipás

unread,
Feb 1, 2014, 8:49:24 AM2/1/14
to szamo...@googlegroups.com
Nézegettem h. a "Fontos kiszámolnivalók világvégéig" topikban van egy 32sii->15C általános polinom gyökkereső prg., de ide elég lenne a sima másodfokú egyenlet megoldóképlet is. Mondjuk meg lehetne külön is írni pl. LBL B néven és szubritinként meghívni. (GSB utasítás, legalábbis a 15C-n.)

Így mondjuk még több helyet foglal, de ha lúd, legyen kövér...

ZilogR

unread,
Feb 1, 2014, 9:20:41 AM2/1/14
to szamo...@googlegroups.com
Ext házi feladata összerakni a program alapján a szigma=f(e,Ic) függvényt. Pont jó kis feladat a fentiek után, ebben még RCL sincs. Mellesleg van benne egy EEX 2 ×, ezt egy kicsit nézegetni kell, de hamar rá lehet jönni, mire jó.

Ati Valinth

unread,
Feb 1, 2014, 9:28:43 AM2/1/14
to szamo...@googlegroups.com
Köszi.
Nekem nem fut a program... :)

Ati Valinth

unread,
Feb 1, 2014, 9:33:14 AM2/1/14
to szamo...@googlegroups.com
Valami nem stimmel 

ZilogR

unread,
Feb 1, 2014, 9:35:53 AM2/1/14
to szamo...@googlegroups.com
Akkor gépeld be figyelmesen és a használathoz írt példát csináld meg elsőnek.
Működik.

Hibalehetőségek:
Már VAN egy LBLA a tárban. A HP15C nem ellenőrzi, így ha már volt, akkor válassz más címkét ennek a programnak. Ez LEHET egy hiba.
Mivel csak a te kedvedért újra lecsekkoltam, így mondhatom nyugodt szívvel, hogy tudja, ami a feladata :)

Ati Valinth

unread,
Feb 1, 2014, 9:46:36 AM2/1/14
to szamo...@googlegroups.com
Reset után sem...
Se Hp, se Dm15...
Mit nem viszek be jól a programba?

Ati Valinth

unread,
Feb 1, 2014, 9:47:15 AM2/1/14
to szamo...@googlegroups.com
ok

ZilogR

unread,
Feb 1, 2014, 9:51:43 AM2/1/14
to szamo...@googlegroups.com
"Mit nem viszek be jól a programba?"
:D ezt már neked kell lejátszanod...
10 programlépés+LBL+RTN, ráadásul csak egyjegyű számok, szorzás, összeadás, kivonás.
Ne viccelj, h nem sikerül beírni egy ilyen programot!!! :)

A kipróbálás ahogy le van írva (0.7 [ENTER] 0.8 [f][A]) és megy.

ZilogR

unread,
Feb 1, 2014, 10:01:41 AM2/1/14
to szamo...@googlegroups.com
Na, megvolt a siker?
Csak hogy rátérhessünk a lényegi részre:
1.) hogyan is néz ki a szigma-függvény?
2.) mi az a EEX 2 × ? És mi ennek a haszna? Miért ÍGY van a programban?
3.) hogyan lehet megcsinálni a másik két táblázatra is a szigma-függvényt??

A 2.) ponton mindenki agyalhat, ez is egy apró trükk. :)

Tolosa

unread,
Feb 1, 2014, 10:48:08 AM2/1/14
to szamo...@googlegroups.com
Végül is valóban, miért ne? Hiszen úgy néz ki ez az egész dolog -talán maga a hely is ezt szolgálja-, hogy kipróbáljunk programozási eljárásokat, számológépes gyakorlatokat végezzünk, beszélgessünk ezzel kapcsolatos tapasztalatokról. Ennek értelmében a helyes sorrend talán mégis az, hogy megfogalmazunk egy feladatot, megalkotunk rá egy praktikus és kényelmes programot, aztán ezt sok-sok lépésben optimalizáljuk.
Szóval nem biztos, hogy elsőre a legrövidebb megoldásban kell gondolkodnunk.:-)
Hiszen a DOS-tól a Windows XXX-ig is a kényelmes kezelés mentén jutottunk el, nem igaz?

Ati Valinth

unread,
Feb 1, 2014, 10:51:22 AM2/1/14
to szamo...@googlegroups.com
Nyomtam és elsőre nem futtatta...

Amúgy ma eltörött a főtengely az autómba Zalaegerszeg és Nagykanizsa között, bevontattak Egerszegre, alaphangon 200eFt...
Ennyit az agyalásról :(

ZilogR

unread,
Feb 1, 2014, 11:38:45 AM2/1/14
to szamo...@googlegroups.com
Akkor majd visszaveszek a nagy arcomból... Nekem az autóm nem került ennyibe és jogsim sincs... :)
Hagyd a csudába a 15C-t bár lehet épp ez fog egy kicsit helyrerakni...

Pipás

unread,
Feb 1, 2014, 2:46:39 PM2/1/14
to szamo...@googlegroups.com
Tolosa, te igen huncut vagy! :-)
Mert ha az ember átrendezi, meg behelyettesíti...

X^2= X+1
X^2-X-1=0
Vagyis: a=1, b=-1,c=-1

X(1,2)= (-b+- √(b^2-4ac))/2a
X(1,2)= (-(-1)+-√((-1)^2-4*1*(-1)))/(2*1)

X1=(1+√5)/2 = fi
X2=(1-√5)/2 = 1-fi

Így ha csak a fi-t akarjuk letárolni akkor nem kell szubrutin, elég ennyit hozzáírni a programhoz:

1
5

+
2
/
STO 1

Vagy ha nem tároljuk le hanem mindig kiszámoltatjuk a géppel, akkor mégiscsak..

LBL B
1
5

+
2
/
RTN

És akkor az eredeti programban az RCL 1 helyett GSB B -t kell írni. Valamint az RCL- 1 helyett GSB B - kell.(2 utasítás.) Valamint így a progi kicsit lassul mert 2* fut le a szubrutin, de ez nem jelentős.

Ext, neked meg szorítok. Egy gépjárműoktató ismerősömnek egy Fiat Pinokkión (Punto?) elment a szervója. A gyári cucc 450E HUF lett volna, nem ér annyit az egész verda. Végül bontottat rakatott bele negyvenért.

Tolosa

unread,
Feb 1, 2014, 3:24:02 PM2/1/14
to szamo...@googlegroups.com
Kiváló megoldás! És alig valamivel hosszabb a program. Gratula!:-)
Kár, hogy a HP-15C géppel nem lehet közvetlenül mátrix sajátértéket számítani, mert akkor még egyszerűbb lenne.
Ugyanis az általad már említett mátrix /  [[1,1][1,0]] / sajátértékei éppen a két gyököt - /fi és 1-fi/ - jelentik.
Ez is felhasználható lenne.
De valóban: ezt a csontot most már elég alaposan lerágtuk!:-)

ZilogR

unread,
Feb 1, 2014, 3:47:27 PM2/1/14
to szamo...@googlegroups.com
Ehhez csak annyit fűzök hozzá, h az

1
5

SQRT
+
2
÷


nem fog működni, mert a 15C számjegyenként értelmezi a számokat a programban, nem olyan, mint pl. a 32SII, aminél egy szám az összes jegyével együtt tárolódik egy helyre. Azaz a 15C-n a fenti kód 15 négyzetgyökét fogja kiszámolni, nem pedig a stack-be teszi az 1-et, majd kiszámolja 5 gyökét. A helyes kód:

5
SQRT
1
+

2
÷

Pipás

unread,
Feb 1, 2014, 4:03:05 PM2/1/14
to szamo...@googlegroups.com
Ó, hogy rohaggyon meg... Kösz, ZR! :-D

ZilogR

unread,
Feb 1, 2014, 5:27:17 PM2/1/14
to szamo...@googlegroups.com
:) Nincs mit.

Ext: nem megbántani akartalak, feltételezem, nem gondoltál effélét, egyszerűen türelmetlen voltam már, hogy mikor magasztalsz az egekbe, hogy milyen fasza kis függvényt gyúrtam neked egybe :DDD Mindenkinek megvan a maga keresztje, sry... :'-(

szigma(e,Ic)=200×e×Ic-700×e+600 = (200×Ic-700)×e+600, amiből érdemes a 100-at kiemelni: szigma(e,Ic)=100×((2×Ic-7)×e+6)

Az [EEX][2][×] arra jó, hogy 100-zal szoroz, de egy byte-tal rövidebb, mint a [1][0][0][×] (ugyanis ez utóbbi 4 byte, az előbbi pedig csak 3).

Ati Valinth

unread,
Feb 2, 2014, 8:53:15 AM2/2/14
to szamo...@googlegroups.com
Köszönöm szépen! 
Lerendezem az autómat, majd aktiválom magam.
Bocs, csak ez padlóra tett most.
 
Egyébként nekem sem lenne autóm, ha nem kellene a munkámhoz.
Amikor jó idő van, fixi kerékpárral és futártáskával járok dolgozni.
Imádom a "minimál" életet én is!
Ne haragudj, ha nem dicsértelek az egekbe. Tudjuk, hogy te vagy a legjobb. :)

Tolosa

unread,
Feb 3, 2014, 3:42:45 AM2/3/14
to szamo...@googlegroups.com
Na most ez már a lerágott csont csócsálása, de van egy másik megoldás is,
/a Fibonacci-számok a \phi^n / \sqrt5 sorozathoz tartanak,/
 ami az általam tesztelt tartományban elég jó pontosságot ad.
A kiinduló képlet:
Fn=fi**n/gyök5
Ha lenne a gépemen közvetlen utasítás a szabályos kerekítésre, akkor ennyi elég lenne:
kerut(fi**n/gyök5)
De nincs, ezért módosítanom kellett:

INT((fi**n/gyök5)+0.5)

Egészen jó eredményeket ad.:-)

ZilogR

unread,
Feb 3, 2014, 4:32:16 AM2/3/14
to szamo...@googlegroups.com
Háát, az induló hozzászólásomat tudom erre csak kopiznie:

"Ugye az a kézenfekvő kérdés, vajon lehet-e ennél rövidebb programot írni, amire ha jól emlékszem, egy zsebszámológépekkel foglalkozó könyvben meg is található a válasz: ez a változat igényel egy 4 szintes stack-et, azaz pl. valamilyen HP számológépet: a stack-ben elhelyezzük a (SQRT(5)+1)÷2 értéket, FIX0 kijelzést állítunk be és csak a szorzás gombot kell nyomkodnunk, máris kapjuk sorban a Fibonacci-számokat - egy ideig, ugyanis a kerekítési hibák, nameg a miatt, hogy az egymás után következő Fibonacci-számok aránya csak tart az aranymetszéshez, egy idő után pontatlan eredményt kapunk. Ez orvosolható, ha eleve egy nagyobb Fibonacci-számmal kezdjük a szorozgatást."

:)

Tolosa

unread,
Feb 3, 2014, 7:04:34 AM2/3/14
to szamo...@googlegroups.com
Oké. tudom én, hogy amit beírtam, nem a legpontosabb, nem a legrövidebb, meg nem is a legfrappánsabb -ezért is írtam, hogy a lerágott csont csócsálása részemről-, csak, mint érdekesség jutott eszembe.
Vagy még az sem.
Bocsi.

ZilogR

unread,
Feb 3, 2014, 7:22:55 AM2/3/14
to szamo...@googlegroups.com
Ne csináljatok belőlem rosszfiút, mert nem olyan vagyok, ellenben a kerekítés dologról eszembe jutott egy régóta napirenden levő probléma:

Egy vizsgadolgozat osztályzatai a következőképpen alakulnak:
elégtelen (1) 40% alatt,
elégséges (2) 40% és a fölött, de 55% alatt,
közepes (3) 55% és a fölött, de 70% alatt,
jó (4) 70% és a fölött, de 85% alatt,
jeles (5) 85% és a fölött.

Kérdés az, hány pont legyen a dolgozat összpontszáma, hogy ne álljon elő olyan helyzet, hogy nem dönthető el egyértelműen, melyik osztályzatot érdemli a hallgató (pl.: 96 összpontszámnál az 55%-os határ 52.8 pont. Akkor hol legyen a ponthatár? 52 pont nem éri el az 55%-ot, de az 53 pont túl sok, jogosan követelhetik a hallgatók, hogy ehhez többet kell teljesíteni, mint a kiírt 55%). Csak egészek lehetnek a pontok és egyesével változnak.

Van-e más összpontszám a 100 alatt, ami teljesíti a fenti feltételeket és nem okoz ilyen problémát?
Igazából hogyan lehet magát a problémát jól megfogalmazni?

Elő a 12C-t, 15C-t vagy bármit, ami a kezetekbe kerül és agyaljatok rajta! :)

Pipás

unread,
Feb 3, 2014, 7:52:58 AM2/3/14
to szamo...@googlegroups.com
Igen, végül is ez már majdnem ugyanaz. Azzal a különbséggel (szerintem) hogy a sorozat tetszőleges eleme egyből kiszámolható, nem kell addig végignyomkodni az Entert.

Mert ha mondjuk a fi már el van tárolva az 1. regiszterbe, az n meg a stack 1. szintjén lapul, akkor csak:

RCL 1
X<>X
Y^X
5

/
.
5
+
INT

Csak 10 lépés, és minden feltételt teljesít. Szerintem nem rossz megoldás. :-)

Pipás

unread,
Feb 3, 2014, 8:01:07 AM2/3/14
to szamo...@googlegroups.com
A zelőző hozzászólásom még a zelőző témához ment csak bele volt szorulva a tabletbe még én lótifutiztam. Aztán meg engedtem hadd menjen, anélkül h. tájékozódtam volna a kialakult új harci helyzetről. :-D Azért fenntartom.

Az új témát meg rágom...

Pipás

unread,
Feb 3, 2014, 8:16:45 AM2/3/14
to szamo...@googlegroups.com
Off
Vettem egy Maxell Stylus Pen-t 999.99999 Ft-ért a "Majdnem teljesen hülye azért..." üzletben. Hát még nekem is megérte.
EndOff, és bocsi...

Pipás

unread,
Feb 3, 2014, 10:07:46 AM2/3/14
to szamo...@googlegroups.com
ZR,
Az a feltétel hogy 40, 55, 70 és 85℅-nál legyen egész a pontszám? Mert erre 4 megoldás is van 100 alatt.

ZilogR

unread,
Feb 3, 2014, 10:57:40 AM2/3/14
to szamo...@googlegroups.com
Háát, az is lehet feladat, nekem valami olyannak tűnt ez a probléma, h ha csonkoljuk az összpontszám×százalék-ot vagy szabályosan kerekítjük, akkor ugyanazt kapjuk.
Ezt még átgondolom, hogy ez kell-e ahhoz, hogy a fenti eset ne álljon elő vagy az, hogy az összpontszám×százalék egész legyen. Ez utóbbi biztosan elégséges.
It is loading more messages.
0 new messages