Paul Hartrick dot com بول Hartrick دوت كوم






The First Program I Ever Wrote أول برنامج أنا كتبتها

Feb 7th 2008 Feb 7th 2008
4 Comments 4 تعليقات
261 views 261 وجهات النظر
respond الرد
trackback المرجع

Todays post is in response to a good friend of mine always asking about the “Mumbo Jumbo” that I talk about or create during the course of my job. بعد انتهاء اليوم هو استجابة لصديق عزيز دائما يسأل عن "Mumbo جامبو" أن أتحدث عن إنشاء أو أثناء عملي. “Mumbo Jumbo” is actually “Japanese English” for technical talk according to some. "Mumbo جمبو" هو في الواقع "الانجليزية اليابانية" للحديث التقنية وفقا لبعض. I have to take you all back to when I was about 14 years old, this is when I purchased my first computer. ولا بد لي من اتخاذ لكم جميعا مرة أخرى إلى حين كان عمري 14 عاما ، وهذا هو عندما اشتريت جهاز الكمبيوتر أولا. My first computer wasn't an IBM 486 or 386, or even a 286, my first computer was a Casio PB-100. أول حاسوب لي لم يكن اي بي ام 486 أو 386 أو حتى 286 ، وجهاز الكمبيوتر الخاص بي كان أول الجريدة الرسمية كاسيو - 100.

Here are the details of my first PC. وهنا تفاصيل أول جهاز كمبيوتر بلدي.

كاسيو الجريدة الرسمية 100

The PB-100 represents Casio's step towards “real” pocket computers. الجريدة الرسمية - 100 كاسيو الذي يمثل خطوة في اتجاه "الحقيقي" أجهزة كمبيوتر الجيب. While its ancestor, the في حين أن الجد ، و FX-702P الفوركس - 702P , was still called “Programmable Calculator”, the PB-100 proudly bears the title “Personal Computer”. ، كان لا يزال يسمى ب "برمجة آلة حاسبة" ، الجريدة الرسمية - 100 بفخر يحمل عنوان "كمبيوتر شخصي".

In its standard version, it is equipped with 1 KB of RAM which results in only 544 bytes for BASIC, which is really limiting. في النسخة القياسية ، وأنها مجهزة 1 كيلوبايت من ذاكرة الوصول العشوائي والذي ينتج 544 بايت فقط للتعليم الاساسي ، الذي هو في الحقيقة الحد. At least, with the memory module OR-1, it can be upgraded to 1568 bytes of user memory, so it begins to make sense that BASIC memory can be subdivided into 10 independent program areas. على الأقل ، مع وحدة الذاكرة أو - 1 ، فإنه يمكن أن تتم ترقية إلى 1568 بايت من الذاكرة للمستخدم ، بحيث يبدأ في معنى الذاكرة الاساسية التي يمكن تقسيمها إلى 10 مناطق برنامج مستقل.

The main circuits of the PB-100 are basically made up of two chips. الدوائر الرئيسية في الجريدة الرسمية - 100 هي أساسا يتكون من اثنين من رقائق البطاطس. Processor logics, ROM, display driver, and keyboard controller are integrated in a single CMOS VLSI chip HD61913, which has an external 4-bit bus. المنطق المعالج ، المضغوطة ، برنامج تشغيل العرض ، وتحكم لوحة مفاتيح مدمجة في واحد HD61913 رقاقة سيموس اندماج بين أطراف متعددة ، والتي لديها 4 الخارجية باص بت. The second main component is a HD61914, which is a 8192-bit static RAM organized as 2048 words by 4 bits. العنصر الرئيسي الثاني هو HD61914 ، وهي 8192 بت ذاكرة الوصول العشوائي الساكنة نظمت كصورة 2048 عبارة عن 4 بت.

I had the lot, 1k ram upgrade for a total of 1.5k of ram, thermal printer and tape drive, needless to say it want a very powerful PC, but you would be surprised what could be done with such an underpowered PC, keep reading…. وكان لي الكثير ، 1k رام الترقية ليصبح المجموع 1.5k من ذاكرة الوصول العشوائي ، وطابعة حرارية ومحرك الأشرطة ، وغني عن القول انها تريد جهاز كمبيوتر قوية جدا ، ولكنك لن يفاجأ ما يمكن فعله مع مثل هذا الكمبيوتر الشخصي أضعفت ، والحفاظ على القراءة ....

My first program was written in BASIC, and could calculate the Factorial of any number you like. بلدي أول برنامج هو مكتوب في الأساسية ، ويمكن أن يحسب مضروب أي عدد تريد. What is Factorial ? ما هو مضروب؟ In mathematics, the factorial of a non-negative integer n, denoted by n!, is the product of all positive integers less than or equal to n. في الرياضيات ، ومضروب غير صحيح السلبية ن ، ن راشي! ، هو نتاج لجميع الأعداد الصحيحة الموجبة أقل من أو تساوي n. For example, 5! على سبيل المثال ، 5! = 1 x 2 x 3 x 4 x 5 = 120 and 6! = 1 × 2 × 3 × 4 × 5 = 120 و 6! = 1 x 2 x 3 x 4 x 5 x 6 = 720. = 1 × 2 × 3 × 4 × 5 × 6 = 720. As you can imagine the numbers get very large very quickly. كما يمكنك أن تتخيل الحصول على الأرقام بسرعة كبيرة جدا جدا. Most calculators, even today, can only manage 69!, this is the point where the exponent exceeds 99. معظم الآلات الحاسبة ، وحتى اليوم ، لا يمكن إلا أن إدارة 69! ، وهذه هي النقطة التي الأس يتجاوز 99.

So I had a problem I want to solve, what is the factorial of 1 million, 1,000,000! لذا كان لدي مشكلة أريد أن تحل ، ما هو 1،000،000 مضروب 1 مليون ،! logarithms to the rescue. اللوغاريتمات إلى الإنقاذ. What is a 14 year old boy doing researching logarithms you ask? ما هو صبي (14 عاما) القيام بالبحث اللوغاريتمات تسأل؟ I guess thats a story for another post. اعتقد thats قصة عن وظيفة أخرى. After a few hours of reading a book, yes a book!( no internet in those days) I was able to establish that product of integers is the sum of their logs. بعد بضع ساعات من قراءة كتاب ، نعم كتاب! (أي الإنترنت في تلك الأيام) وكنت قادرا على إثبات أن المنتج من الأعداد الصحيحة هي مجموع من السجلات.

so 1 * 2 * 3 * 4 * 5 … is equal to exp( log(1) + log(2) + log(3)+ log(4) + log(5) ) حتى 1 * 2 * 3 * 4 * 5... تساوي إكسب (سجل (1) + سجل (2) + سجل (3) + سجل (4) + سجل (5))

Easy right… yeah right! الحق الحق سهلة... نعم!

So I embarked on my first programming task. لذا شرعت في مهمتي الأولى البرمجة. I was able to come up with a simple routine that broke the calculation down into small chunks easily handled by any programmable calculator or PC. وكنت قادرا على الخروج مع الروتينية البسيطة التي قصمت ظهر حساب أسفل إلى قطع صغيرة يسهل التعامل معها من قبل أي آلة حاسبة أو برمجة الكمبيوتر.

10 input x س 10 المدخلات
20 for a = 1 to x 20 ل= 1 إلى س
30 b = b + log10(a) 30 ب = ب + log10 (أ)
40 next a 40 المقبل
50 c = b – frac(b) 50 ج = ب -- فارك (ب)
60 d = b – c 60 د = ب -- ج
70 e = 10 ^ d 70 ه = 10 ^ د
80 print e , “E+” , c طباعة 80 ه ، و "هاء +" ، ج

Certainly not the best way to achieve the result by todays standards, and faced with many command restrictions,  still not to bad for a 14 year old boy. بالتأكيد ليست أفضل طريقة لتحقيق النتيجة وفقا للمعايير اليوم ، وتواجه العديد من القيود المفروضة على القيادة ، لا يزال سيئا للصبي يبلغ من العمر 14 سنة.

You can still use this program today, go and download يمكنك الاستمرار في استخدام هذا البرنامج اليوم ، ويذهب تنزيل small basic صغيرة الأساسية and copy/paste the code and give it a try. ونسخ / لصق رمز ومحاولة إعطائها. It took more than 12 hours on my PB-100 to calculate 1,000,000!, now it takes about 1 second, I can now appreciate how much performance my laptop has, however my little program still beats the WindowXP calculator at Factorial.. استغرق الأمر أكثر من 12 ساعة على بلدي الجريدة الرسمية - 100 لحساب 1،000،000! ، يستغرق الآن نحو 1 في الثانية ، ويمكنني الآن تقدير مدى أداء جهاز الكمبيوتر المحمول ولكن برنامجي قليلا ما زال ينبض آلة حاسبة WindowXP في مضروب.. try it and see. انها محاولة وانظر.

So what is 1 million Factorial? فما هو 1 مليون مضروب؟ 1,000,000! 1،000،000! = 8.263930499EXP5565708, that 5.5 million zeros, give or take a few. = 8.263930499EXP5565708 ، أن 5.5 مليون من الأصفار ، يعطي أو يأخذ بضعة.

Now for all the other math heads who read this, I know it is an approximation as I am only using 16 significant digits, and there are more accurate ways to do this, blah blah blah, please remember I was only 14 at the time. الآن بالنسبة لجميع الرياضيات غيره من الرؤساء الذين قرأوا هذا ، وأنا أعلم أنه هو تقريبي وأنا الوحيد الذي يستخدم 16 رقما كبيرا ، وهناك أكثر دقة طرق للقيام بذلك ، بلاه بلاه بلاه ، يرجى اتذكر انني كنت فقط 14 في ذلك الوقت.

If you have managed to maintain interest and get to the end of this post, maybe your the type who can impress their friends with some geeky code. إذا كنت قد تمكنت من المحافظة على المصالح ونصل الى نهاية لهذا المنصب ، وربما لديك من النوع الذي يمكن إقناع أصدقائهم مع بعض الرموز العبقري غريب الأطوار.

To get new stuff automatically subscribe to my للحصول على أشياء جديدة تلقائيا الاشتراك في بلادي RSS feed آر إس إس . .
For a more personal insight Follow me on لمزيد من التبصر الشخصية اتبعني على Twitter تغريد . .


This post is tagged هذه وظيفة المعلمة , ، , ، , ،

4 Comments 4 تعليقات

  1. Gil Hartrick جيل Hartrick

    Pauly, do you remember where you got the workings from ?…… It was me who brought the Swinburne Uni PC's to a grinding hault in the early eighties with this Factorial Formulae on PUNCH CARDS… YES! بولي ، هل تذكرين حيث حصلت على أساليب العمل من؟...... وكان لي الذي أحضر سوينبرن يوني جهاز كمبيوتر إلى hault طحن في بداية الثمانينات مع هذه الصيغ مضروب على بطاقات لكمة... نعم! punch card programming LOL لكمة بطاقة البرمجة لول

    Reply To This Comment الرد على هذا التعليق

  2. Gil Hartrick جيل Hartrick

    Remember my Casio Calculator the FX-602P?? أتذكر كاسيو حاسبة الفوركس - 602P؟ It computed 1,000,000 factorial in 4 minutes flat, not bad for a meek calculator انه محسوب 1،000،000 مضروب في 4 دقائق مسطحة ، ليست سيئة لأنها آلة حاسبة وديع

    Reply To This Comment الرد على هذا التعليق

  3. CA Pappas كاليفورنيا باباس

    Thanks! شكرا! Believe it or not, I was actually trying to solve 1000000! صدق أو لا تصدق ، كنت في الواقع محاولة حل 1000000! , but, yes, my sci calculator was only good for 69! ولكن ، في اعتقادي نعم.. الخيال ما هو إلا آلة حاسبة جيدة ل69! . . My windows sci calculator was much better. نافذتي الخيال حاسبة كان أفضل بكثير. It took me up to (10^5)! استغرق مني ما يصل الى (10 ^ 5)! , but it wouldn't give me (10^6)! ، ولكنها لن تقدم لي (10 ^ 6)! . .
    I tried some online calculators , but they couldn't even come close to the windows sci calculator. حاولت بعض الآلات الحاسبة على الانترنت ، لكنها لم تتمكن حتى من الاقتراب من النوافذ الخيال آلة حاسبة. For now, and for my purposes, all I needed was that answer. الآن ، ولأغراض بلدي ، كل ما يلزم هو أن الإجابة. I'll search for a calculator later. انا ابحث عن آلة حاسبة في وقت لاحق. Thank you, again, you have saved me a lot of search time. أشكركم ، مرة أخرى ، قمت بحفظها لي الكثير من الوقت في البحث. As I am rural, I only have dial-up. وأنا في المناطق الريفية ، وليس لدي سوى الاتصال الهاتفي. Yes, it only feels like it would be faster to just 1 x 2 x 3 x 4 x 5 x ………….with pencil and paper (how many life-times????). نعم ، إلا أنها تشعر أنها ستكون أسرع للتو 1 × 2 × 3 × 4 × 5 ×............. مع قلم وورقة (كم الحياة مرات؟؟؟؟). than to search for the answer. بدلا من البحث عن الجواب. and wait for the snail-speed downloads!!!! وانتظر بالقواقع سرعة التحميل!!

    Appreciatively, بتقدير ،
    Chris Aristides Pappas كريس أريستيدس باباس

    Reply To This Comment الرد على هذا التعليق

    -Paul بول Reply: الرد :

    I'm glad you found it useful. انا مسرورة لانك وجدت أنه من المفيد. I'm also glad I'm not the only geek who has an interest in factorial of large numbers. أنا أيضا سعيد لاني لست الوحيد المهوس الذي له مصلحة في مضروب بأعداد كبيرة.

    Reply To This Comment الرد على هذا التعليق

Incoming Links وصلات واردة

    Leave a Reply ترك الرد