HP 35s
Typ | Programmerbar vetenskaplig |
---|---|
Tillverkare | Hewlett-Packard |
Introducerad | 2007 |
Designfirma | Kinpo Electronics , Inc. |
Kosta | 59,99 USD |
Kalkylator | |
Ingångsläge | RPN , Infix |
Precision | 15 siffror ±499 exponent (intern) |
Bildskärmstyp | LCD- punktmatris |
Skärmstorlek | 2×14 tecken |
CPU | |
Processor | Sunplus/Generalplus mikrokontroller 8502 (med CPU-kärna baserad på MOS 6502 ) |
Programmering | |
Programmeringsspråk) | Tangenttryckning (helt sammanslagen) |
Användarminne | 30 KB |
Minnesregister | över 800 |
Övrig | |
Strömförsörjning | 2× CR2032 batterier |
Vikt | 125 g (4,4 oz) |
Mått | 158 × 82 × 18,2 mm (6,22 × 3,23 × 0,72 tum) |
HP 35s (F2215A) är en Hewlett-Packard programmerbar vetenskaplig kalkylator utan grafer . Även om den är en efterföljare till HP 33s , introducerades den för att fira 35-årsdagen av HP-35 , Hewlett-Packards första fickräknare (och världens första vetenskapliga miniräknare ). HP släppte också en begränsad produktionsjubileumsutgåva med glänsande svart överlägg och gravyr "Firar 35 år".
Funktioner
HP 35s använder antingen Reverse Polish Notation (RPN) eller algebraisk infix-notation som indata.
Andra funktioner hos HP 35s inkluderar:
- Tvåradig alfanumerisk LCD
- Över 800 minnesregister (26 direkt märkta)
- Vetenskapliga och statistiska funktioner
- Operation i decimal, binär, oktal, hexadecimal
- Ekvationslösare med godtycklig variabel isolering (sågs först på HP-18C )
- Numerisk integration (sågs först på HP-34C )
- Stöd för inmatning och visning av bråk
- Komplexa tal och vektorberäkningar
- Enhetsomvandlingar och tabell över fysiska konstanter
- Knapptryckningsprogrammerbarhet med cirka 30 kilobyte minne för program och data
HP 35s har fått en retrolook som påminner om klassiska HP-räknare från 1970- till 1990-talet. Det ger dock mycket fler funktioner, processorkraft och minne än de flesta av de tidigare modellerna.
Det fysiska utseendet och tangentbordslayouten på HP 35s skiljer sig mycket från dess närmaste föregångare, HP 33s, men de två räknarna är funktionellt mycket lika. De primära skillnaderna är:
- HP 35s tillåter adressering av både etikett och radnummer i program. HP 33s hade bara etikettadressering. Med endast 26 etiketter var det svårt att skriva program som använde hela 30 KB minne.
- Minnet i HP 35s är även användbart för datalagring, i form av ytterligare 801 numrerade minnesregister.
- Stöd för vektoroperationer är nytt i HP 35s.
- Komplexa tal behandlas som ett enda värde istället för två separata värden.
- Indirekt förgrening, som gör att innehållet i ett minnesregister kan användas som mål för en förgreningsinstruktion (GTO eller XEQ) utelämnas från HP 35s.
- Ingen godtycklig gräns för längden på ekvationer (33:orna hade en gräns på 255 tecken).
- Algebraiskt läge använder typisk infixnotation (algebraiskt läge på 33-talet använde en hybrid av infix- och omedelbar exekveringsnotation, och 33:orna inkluderade inte möjligheten att ta bort tidigare inmatade delar av en ekvation medan den skrivs in).
HP har släppt en kostnadsfri 35s-emulator för Windows -operativsystemet (och Wine ). Detta var tidigare endast tillgängligt för lärare i klassrumsdemonstrationssyfte.
Konstruktion
HP 35s designades av Hewlett-Packard i samarbete med Kinpo Electronics från Taiwan, som tillverkar kalkylatorn för HP på det kinesiska fastlandet.
Enligt HP har räknaren konstruerats för tung professionell användning och har testats under extrema miljöförhållanden. Den är byggd med 25 skruvar för styvhet och enkelt underhåll.
Fodralet har många designelement från 1970-talets HP-kalkylatorer som den banbrytande HP-65 , inklusive ett svart fodral med silverrandiga böjda sidor, nycklar med lutande front och guld och blå skifttangenter. Frontplattan är av metall, bunden till plasthöljet. Nyckellegenderna är tryckta, snarare än den dubbla formningen som används i vintagemodellerna.
Kalkylatorn drivs av två parallellkopplade CR2032 -knappceller, som det rekommenderas att byta ut en i taget för att undvika minnesförlust.
Den levererades från början med ett hårt dragkedjor med dragkedjefodral med en ficka för anteckningar och en tryckt manual, men detta ändrades senare till ett slipfodral av vinylklädd kartong med elastiska sidor och sammetsfoder, och en CD-ROM med en PDF manuell.
Kalkylatorn är helt fristående; det finns ingen möjlighet att uppgradera den fasta programvaran, inte heller för att ladda/spara program och data.
Reception
Byggkvaliteten och den industriella designen hos 35:orna har välkomnats av recensenter som en återgång till de bästa professionella HP-kalkylatortraditionerna, i motsats till deras nyare avancerade miniräknare som sågs som funktionsspäckade och kraftigt utformade för studentmarknaden, men i vissa fall dåligt utformade och byggda. Särskilt har nämnts den traditionella HP-känslan på tangentbordet med en stor ↵ Enter- tangent tillbaka på sin traditionella plats. Brister som har identifierats inkluderar bristen på någon möjlighet för kommunikation med en dator (för att ladda och spara program och data) och trög prestanda.
Svaret på kalkylatorns logik har varit blandat. Ökningen av adresserbara register och införandet av programlinjenummeradressering har setts som en stor förbättring jämfört med 33-talet. Samtidigt som man välkomnar den förbättrade hanteringen av komplexa nummer jämfört med 33:orna, har det ofullständiga stödet för dem kritiserats. Att arbeta med hexadecimala och andra icke-decimala baser har kritiserats för att kräva överdrivna och ointuitiva tangenttryckningar. Flera firmware- buggar har också rapporterats, som ännu inte har åtgärdats.
35:ornas bristande kommunikationsförmåga gör det acceptabelt för användning i vissa yrkesprov där kraftfullare miniräknare inte skulle vara. Till exempel, i USA, är det den mest kraftfulla programmerbara räknaren som är godkänd för användning i Fundamentals of Engineering (FE) och Principles and Practice of Engineering (PE).
Funktionsdetaljer
Ingångslägen
35s stöder både RPN och algebraiska ingångslägen. Som de flesta HP-räknemaskiner har den som standard RPN. Ingångsläget kan enkelt ändras av användaren. En annunciator på displayen indikerar det aktuella ingångsläget.
stack med fyra nivåer , liksom alla HP:s icke-grafiska RPN-räknare sedan de tidigaste dagarna. I motsats till den vanliga datavetenskapliga terminologin hänvisar RPN-räknare som denna till den operativa änden av stacken som botten och bortre änden som toppen . Stacknivåerna heter X (botten), Y, Z och T (överst); de har inget samband med variablerna med samma namn. Nivå X visas på den nedre raden på displayen och nivå Y på den övre raden. Varje stacknivå kan innehålla vilken som helst av de datatyper som stöds av maskinen: reellt tal, komplext tal eller vektor. Olika funktioner tillhandahålls för att manipulera stacken, såsom R↑ och R↓ för att rulla, x<>y för att byta X och Y, LASTx för att återkalla det senast använda X-värdet och x<> för att byta X och en namngiven variabel .
Algebraiskt läge fungerar genom att användaren anger ett uttryck och sedan trycker på ↵ Enter för att få det utvärderat. Uttrycket visas på den övre raden av displayen, resultatet på den nedre raden. Uttrycket kan redigeras med hjälp av pil- och backstegstangenterna och omvärderas efter önskemål.
Enheter och bråk
I enlighet med kalkylatorns retrotema är omvandlingar mellan imperialistiska / amerikanska enheter och motsvarande standard metriska enheter framträdande på 35-talets knappsats. För att underlätta för dem som fortfarande använder traditionella enheter, och för andra ändamål, tillåter räknaren även inmatning av värden som blandade bråk och visning av värden som blandade bråk.
Inmatning av blandade bråk innebär att decimaler används för att separera delarna. Till exempel sekvensen 3 . 1 5 . 1 6 →cm konverterar 3 + 15 ⁄ 16 tum till 10,0 cm (ungefär).
Kalkylatorn kan ställas in för att automatiskt visa värden som blandade bråk genom att växla FDISP- tangenten. Den maximala nämnaren kan anges med /c -funktionen. Numrerade flaggor kan ställas in för att specificera vilket av tre nämnarsystem som ska användas: den mest exakta nämnaren, faktorer av maximum (till exempel 2, 4, 8, 16, när maximum är 16), eller en fast nämnare. Två små pilsymboler på displayen indikerar om det faktiska värdet är något över eller under det som visas. Det finns inga funktioner för att direkt extrahera delarna av den visade fraktionen.
Komplexa tal
Tidigare (och andra nuvarande) HP-räknare har hanterat komplexa tal på en mängd olika sätt. I HP 33s lagrades komplexa tal som två separata värden, och den "komplexa" modifieraren användes för att indikera att en operation var att behandla stacken som innehållande komplexa tal. Till exempel, att lägga till 12 + 34 i och 56 + 78 i innebar följande tangenttryckningar: 3 4 ↵ Enter 1 2 ↵ Enter 7 8 ↵ Enter 5 6 CMPLX + , som förbrukade alla fyra stacknivåerna.
35:orna lagrar komplexa tal som enskilda värden, som sedan kan opereras på vanliga sätt. Ovanstående exempel på att lägga till 12 + 34 i och 56 + 78 i blir då: 1 2 i 3 4 ↵ Ange 5 6 i 7 8 + .
På 35-talet är antalet funktioner som kan hantera komplexa tal begränsat och något godtyckligt. Om du till exempel tar kvadratroten av ett negativt reellt tal direkt resulterar i ett felmeddelande istället för ett komplext tal. Detta är strikt korrekt med tanke på att ett icke-negativt reellt tal a har en unik icke-negativ kvadratrot och detta kallas den huvudsakliga kvadratroten som betecknas med √ a . Symbolen √ kallas det radikala tecknet eller radixen . Till exempel är den huvudsakliga kvadratroten av 9 3, vilket betecknas med √ 9 = 3, eftersom 3 2 = 3 • 3 = 9 och 3 är icke-negativa. Men att höja x till potensen 0,5 med y x -tangenten fungerar dock om talet skrivs in som ett reellt tal med en komplex del lika med noll. Inversa och hyperboliska trigonometrifunktioner kan inte användas med komplexa tal. Bas- ( naturliga ) logaritmer och exponentiering kan användas, men inte bas -10 . Det finns dock lösningar för många av dessa begränsningar.
Komplexa tal kan anges i antingen rektangulär form (med i- tangenten) eller polär form (med Θ- tangenten), och visas i endera formen oavsett hur de skrevs in. De kan dekomponeras med hjälp av funktionerna ABS (radius r ) och ARG (vinkel Θ ). Det finns inga funktioner för att extrahera verkliga och imaginära delar, även om det kan lösas med formlerna Re = r cos Θ och Im = r sin Θ .
Vektorer
35s tillhandahåller faciliteter för att hantera vektorer med upp till tre reella element. En vektor kan lagras i stacken, eller i valfri variabel, som ett enda värde och bearbetas av olika funktioner. Det skrivs in av användaren som börjar med en hakparentes [ , sedan elementvärdena separerade med kommatecken , . Vektorer kan adderas, subtraheras, multipliceras och divideras med skalärer . Två vektorer med liknande dimensioner kan adderas och subtraheras och multipliceras för att ge deras punktprodukt . ABS - funktionen returnerar en vektors magnitud . En produktöverskridande funktion är inte tillgänglig, inte heller någon funktion för att extrahera enskilda element från en vektor, men dessa kan lätt beräknas av användaren.
Vektorer kan också användas för att enkelt lagra upp till tre reella tal tillsammans, och därigenom öka räknarens lagringskapacitet, dock med mer komplexitet och minskad hastighet. HP har publicerat programkod för 35:orna som möjliggör detta.
Talbaser
Kalkylatorn kan ställas in för att visa värden i binär, oktal eller hexadecimal form, såväl som standarddecimal. När en icke-decimal bas väljs trunkeras beräkningsresultaten till heltal.
Oavsett vilken visningsbas som är inställd måste icke-decimala tal anges med ett suffix som anger deras bas, vilket innebär tre eller fler extra tangenttryckningar.
När hexadecimal väljs, allokeras istället raden med sex nycklar som normalt används för flyttalsfunktioner (trigonometri, logaritmer, exponentiering, etc.) till hexadecimalsiffrorna A till F (även om de är fysiskt märkta H till M ) .
I icke-decimala baser är ordlängden fixerad till 36 bitar och använder tvås komplementnegation . Sex bitvisa operationer är tillgängliga: AND , OR , XOR , NOT , NAND , och NOR .
Statistik och sannolikhet
35:ornas statistikförmåga är ganska standard. Den kan bearbeta en uppsättning statistik med en variabel eller två variabler. Beräknade resultat inkluderar medelvärden , viktat medelvärde , standardavvikelse och linjär regression . Summeringsregistren är också tillgängliga för vidare beräkningar.
Sannolikhetsfunktioner ( kombinationer och permutationer ) är tillgängliga, såväl som slumptal .
Minne och variabler
35s ger 30k byte användarminne, som delas mellan data, lagrade ekvationer och program.
Eftersom komplexa tal och vektorer med upp till tre element kan lagras som ett enda värde, upptar varje datavariabel 37 byte, tillräckligt för en typindikator och tre flyttalstal.
De 26 alfamärkta variablerna och de sex statistikregistren är permanent allokerade; resten av minnesutrymmet kan upptas av upp till 801 fler variabler som endast kan nås indirekt. Indirekt åtkomst till valfri variabel uppnås genom att lagra dess sekvensnummer (0 uppåt) i I eller J som en pekare och sedan komma åt variabeln via (I) eller (J) . De indirekta variablerna allokeras automatiskt; lagring av ett värde som inte är noll i ett resulterar i allokering av alla variabler med sekvensnummer upp till och med den specificerade. Omvänt, lagring av ett nollvärde i den högst allokerade indirekta variabeln resulterar i automatisk avallokering av indirekta variabler nedåt tills ett värde som inte är noll påträffas. Ett försök att läsa en icke-allokerad variabel resulterar i ett fel. Det är därför vanligt att lagra ett dummy-värde som inte är noll i en variabel med högre numrering än vad som behövs, för att säkerställa att alla lägre numrerade variabler görs tillgängliga oavsett deras värden. De permanent tilldelade variablerna och statistikregistren kan också nås indirekt med negativa sekvensnummer på -1 till -32.
Kalkylatorn tillhandahåller en uppsättning av 41 matematiska och fysiska konstanter , som kan bläddras igenom och väljas med CONST -tangenten. En uppsättning av 12 binära flaggor är tillgängliga; varje flagga kan ställas in av användaren för att avgöra räknarens beteende, fem av dessa kan användas för alla ändamål.
Lagrade ekvationer upptar en byte för varje tecken och tre byte overhead.
Programsteg upptar tre byte. Steg som specificerar värden eller ekvationer upptar mer minne, som indikerat ovan.
Mängden använt och tillgängligt minne kan enkelt kontrolleras av användaren, men inte av program. Användaren kan rensa alla indirekta variabler över ett specificerat antal, med CLVARx -funktionen.
Ekvationer
Förutom variabler och program kan användaren lagra valfritt antal ekvationer i räknaren. "Ekvationer" betyder i detta sammanhang uttryck ( f(x,...) ), likheter ( f 1 (x,...) = f 2 (x,...) ), och tilldelningar ( y = f(x) ,...) ), som var och en hanteras på olika sätt. Ekvationer inkluderar vanligtvis namngivna variabler vars värden ska tillhandahållas av användaren vid körning, men kan också ta värden från stacken.
Ekvationer skrivs in i algebraisk notation, även när RPN-inmatningsläget är aktivt. De lagras i en lista som nås med EQN- tangenten, så att användaren kan bläddra igenom listan, lägga till, redigera och ta bort ekvationer och välja en ekvation som ska bearbetas.
En ekvation kan bearbetas på ett antal sätt.
- Det kan utvärderas med ↵ Enter- eller XEQ -tangenten, där användaren uppmanas att ange värden för de inkluderade variablerna. Vid ett uppdrag får målvariabeln resultatet.
- Det kan lösas för vilken som helst av de inkluderade variablerna med hjälp av SOLVE -funktionen. Kalkylatorn använder sin logik för att försöka isolera värdet på den önskade variabeln, efter att ha tillfrågat användaren om värdena för de andra variablerna. Eftersom denna process tar tid, och ekvationen kan ha mer än en lösning, styrs den av två "gissningar" som den antar har tillhandahållits av användaren, i stackens X-register och i variabelns befintliga värde.
- Den kan integreras med hjälp av ∫ -funktionen. Användaren placerar först de två intervallgränserna på stacken och väljer sedan ekvationen och funktionen ∫ , som frågar efter namnet på variabeln som ska integreras och värdena för de andra variablerna.
Det finns också två inbyggda poster i ekvationslistan, för att tillåta att lösa alla variabler i ett system av linjära ekvationer . System med två ekvationer med två variabler och tre ekvationer med tre variabler stöds.
Att lösa och (särskilt) integrera ekvationer tar både tid och minne. Effektivitet kan göras genom att minska skärmprecisionen och se till att tillräckligt med minne finns tillgängligt.
Eftersom innehållet i en ekvation inte valideras om inte och tills den har bearbetats, kan den innehålla vilken sekvens av tecken som helst, inklusive textsträngar. Detta kan utnyttjas för att inkludera notrader i ekvationslistan (som visas i huvudbilden överst på denna sida).
Programmering
HP 35s är tangenttryckningsprogrammerbar, vilket innebär att den kan komma ihåg och senare utföra sekvenser av tangenttryckningar för att lösa särskilda problem av intresse för användaren. Programtangenttryckningar är helt sammanfogade: funktioner som nås via skifttangenter eller menyer registreras som en knapptryckning, inte två eller fler. Dessa tangenttryckningsprogram kan, förutom att utföra alla operationer som normalt är tillgängliga på tangentbordet, också använda villkorliga och ovillkorliga instruktioner för förgrening och looping, vilket gör att program kan utföra repetitiva operationer och fatta beslut.
Alla program lagras i ett kontinuerligt programutrymme och kan skapas och redigeras genom att växla till programmeringsläge med PRGM- tangenten. Inom programutrymmet kan upp till tjugosex alfabetiska etiketter definieras i formen LBL A , och varje etikett kan följas av upp till 998 andra steg, så att varje steg kan riktas mot en GTO (" gå till ") eller XEQ (" exekvera ") instruktion i formen A 1 2 3 (eller bara A för själva etikettsteget, A001). Eventuella steg före den första etiketten numreras med fyra siffror, men dessa steg kan inte riktas mot. Efterföljande infogning eller radering av steg i programutrymmet resulterar i den automatiska korrigeringen av GTO/XEQ-instruktioner för att återspegla ändringar av målstegsnumren. Det är vanligt att använda varje etikett för att markera starten av ett separat program, så att vilket program som helst kan exekveras med ett kommando i formen XEQ A . Programexekveringen kan avbrytas eller återupptas genom att trycka på R/S ("run/stop")-tangenten, och programstegspekaren kan flyttas med ↑ och ↓ -knapparna. Det finns ingen koppling mellan programetiketter och variablerna med samma namn.
Som vid normal drift kan programmering göras i antingen RPN eller algebraiskt (infix) läge. RPN-lägesprogram är vanligtvis mindre och snabbare.
Här är ett exempelprogram som beräknar fakulteten för ett heltal från 2 till 69 (om man ignorerar räknarens inbyggda faktoriella/ gammafunktion ). Det finns två versioner av exemplet: en för algebraiskt läge och en för RPN-läge. RPN-versionen är betydligt kortare.
Algebraisk version :
Steg | Instruktion | Kommentar |
---|---|---|
A001 | LBL A | Start av program A |
A002 | LASTX STO N ↵ Ange | Lagra visat värde i N |
A003 | 1 STO F ↵ Enter | Butik 1 i F |
A004 | RCL N × RCL F STO F | Lagra N × F i F |
A005 | DSE N | Minska N och om inte noll ... |
A006 | 0 0 GTO A 4 | ... gå tillbaka till steg A004 |
A007 | RTN | Programslut - resultatet visas |
RPN version :
Steg | Instruktion | Kommentar |
---|---|---|
R001 | LBL R | Start av program R |
R002 | STO N | Lagra x (stack) i N (minne) |
R003 | 1 | Börja med siffran 1 placerad i stackregister X |
R004 | RCL N × | Återkalla N (minne), placerad i X flyttas stacken upp och multiplicera sedan två lägsta stapelregister |
R005 | DSE N | Minska N och om inte noll ... |
R006 | 0 0 GTO R 4 | ... gå tillbaka till steg R004 |
R007 | RTN | Slut på programmet - resultatet är i x (stack) och visas |
Ekvationer kan vara inbäddade i program, som ett enda programsteg. Kalkylatorns inställningar inkluderar en numrerad flagga som anger om ekvationer i program ska utvärderas eller visas under körning. Eftersom en ekvation kan innehålla vilken sekvens av tecken som helst, kan den vara sammansatt som ett meddelande som ska visas. Efter att ha visat ett meddelande, stannar programmet antingen tills R/S trycks in, eller om en PSE- instruktion (paus) följer meddelandet pausar det i en sekund innan det fortsätter.
Program kan lösas och integreras på ungefär samma sätt som ekvationer. Istället för att välja en ekvation från en lista trycker användaren på FN= , sedan programmets etikett, och antingen SOLVE eller ∫ , som frågar efter namnet på målvariabeln. De befintliga värdena för de andra variablerna används, om inte programmet innehåller INPUT- instruktioner för att få programmet att fråga efter ett värde. Vid lösning behandlas programmet som ett uttryck vars returvärde (det värde som finns kvar på stacken) ska vara noll. Program kan även innehålla instruktioner för att lösa och integrera andra ekvationer/program.
Se även
externa länkar
- HP 35s specifikationer
- HP 35s datablad (PDF)
- "HP 35s virtuell kalkylator" . Hewlett Packard . 2012-12-10. Arkiverad från originalet 2016-06-08 . Hämtad 2017-09-17 .