עבר עריכה לאחרונה בתאריך 30.04.03 בשעה 12:49
בס"דזה בהנחנה שה-N של דני יהיה מספר בעל 1041 ספרות(וזה במצב של 26 של 40 שורות/עמודות), אם נעבוד ברזולוציה של 1200X1600 אפשר להכניס הרבה יותר...
בוא ננסה שוב...
במצב אני הצעתי לוקח להדפיס כל מספר(עד גבול מסויים) הזןמ שלוקח לדחוץ rx*ry*k בתים לבאפר.
אם ניקח מספר בסכאלה הבאה זה יקח rx*ry*k*2, אם ניקח מספר בסכאלה הבאה זה יקח rx*ry*k*3.
אז בעצם הנוסחה לחשב בזמן הדפסה של מספר אצלי היא rx*ry*k*n, כאשר rx ו-ry מציינים את הרזולוציה(rxXry), המספר שמציין את גודל הבלוק שמגדיר צבע הוא k, ו-n הוא הסכאלה.
עבור אותו מספר הסכאלה יכולה להיות שונה, תלוי ברזולוציה.
בוא נניח שאני עובד ברזולוציה של 800X600, צריך 3 בתים כדי להגדיר צבע של פיקסל מסויים(בית אחד עבור כל צבע ב-RGB, מ-0 על 255).
סתם, בלי לבדוק, בוא נניח שאפשר להספיד מספר בעל 3000 ספרות במצב הזה על מסך אחד(באפר אחד), כדי להדפיס מספר בעל 3001-6000 ספרות יהיה צורך ב-שני מסכים, וכו'.
בוא נבדוק כמה זמן יקח להדפיס את המספר 1.23456 * 10^43:
המספר בעל 39 ספרות, אם אני לא טועה, כלומר הוא נכנס למסף אחד, כלומר מדיפיסם אותו באותו הזמן שמדפיסים את המספר 1.23 * 10^10, ובאותו הזמן שלוקח להדפיס את המספר 10^2999, נכון?
יופי.
אם מדובא על לוג עשרוני(חזקות עשר), אז התוצאות הן:
LOG(1.23456 * 10^43) = 43.091
LOG(1.23 * 10^10) = 10.089
LOG(10^2999) = 2999
אבל הרי חישבנו למעלה שהזמן שלוקח להדפסי את המסרים הללו שווה!!!
אז אתה צודק, אם המסרפ מספיק גדול יקח יותר זמן להדפיס אותו...
אבל!
1. דני עושה בגרות של 5 יחידות.
אין לו מספרים בסדר גודל כזה, כי פסקל(שאני מניח שהוא עובד בה) טיפשה מלהתמודד עם מספרים כמו 10^2999...
2. יותר זמן, אבל לא LOG(N) - את זה הוכחתי כרגע.
אנא הסר את טענתך המטועה(לדעתי, כמובן, כמו שציינתי למעלה).
3. מדובר על יישום לכשהוא ב-PC כי דני(שעושה בגרות של 5 יחידות במחשבים) עובד על PC(או שאני לא מכיר מספיק בתי-ספר בארץ...).
4. עדיין אני צודק ואתה טועה בעניין ה"סיבוכיות של תוכנה" - אין דבר כזה.
5. עבור מספרים בסדר גודל "נורמלי", יספיק אפילו המוד הסטנדרטי של דוס כי יש שם 25 שורות X 80 עמודות(25*80=2000, 2000 ספרות מספיקות, לא?)
תיקון טעות:
ק עכשיו שמתי לב, ה-26 על 40 שכתבתי בהתחלה לא נכון, מדובר על 25 על 80 כמו שמצויין בסוף.
כמו כן, זה אומר שההערכה של 3000 ספרות שנתתי לרזולוציה של 800X600 אינה נכונה, ההערבה שלי היא כעת יותר בכיוון ה-10000 ספרות, כך שהסכאלה הראשונה עצומה וכל מספר "נורמלי", והרבה מספרים "לא נורמליים" יכנסו לבאפר הראשון
מה גם שאם המספר הוא 1.23456 * 10^43 אפשר(ואכן עושים כך) להדפיס 1.23456e+43, ולכן מספרים עצומים יכנסו לסכאלה הראושנה(אלא אם כן הם בחזקה שהיא עצמה ארוכה מ-1000 ומשהוא ספרות..., ואפילו אז אפשר לכתבו את המעריך שוב כחזקה...מספרים עצומים!!!
לסיכום:
ככל שאטני מתווכח עם יותר אנשים יורת פעמים של העניין הזה אני נהיה משוכני יותר ויותר שאני צודק ואילו אתה ו-liranr טועיפ טעויות רבות ומרובות(שביניהם להתעלם ממה שאמרתי למרות שזה נכון).
עריכה:
היה רשום "אודםם" במקום "".