פורסם 2008 במאי 1417 שנים זה היה בבגרות של שנה שעברה וכבר שכחתי את זה.. אבל אולי אני יצטרך את זה גם לבגרות של השנה..אם מביאים לי מספר ולא אומרים לי מה האורך שלו.. איך אני מוצא את המאות שלו איך אני מוצא את העשרות שלו ואיך את היחידות?כדרך אגב מה עוד יכולים להכניס div וMod חוץ מלמצוא יחידות עשרות ומאות.. אני זוכר שהיה שאלות שהיה צריך נגיד למצוא זוגי/אי זוגי והיו גם משתמשים בזה.. יש עוד דברים שבדרך כלל שואלים על זה?
פורסם 2008 במאי 1417 שנים יהי n מספר שלם רב ספרתי בבסיס ספירה zהספרה ה-i של n היא (בפסאודוקוד)digit[i]=(n/(z^(i-1))) % zהערה, אם מחפשים את הספרה ה-i במספר שיש פה פחות מ-i ספרות התוצאה תהיה 0.אפרופו בסיסי ספירה, הנה תרגיל בתכנות שעושה שימוש ב-div וב-mod.התוכנה תקלוט מהמשתמש 3 ערכים, בסיס ספירה ראשון, מספר ובסיס ספירה שני. בסיסי המניה יהיו מספרים שלמים בין 2 ל-10, המספר חייב להיות חוקי לפי הבסיס הראשון (לדוגמא - המספר 4523 לא חוקי בבסיס 5 או פחות). אם אחד מערכי הקלט שגויים - התוכנה תדפיס error ותצא. באם ערכי הקלט תקינים התוכנה תמיר את המספר מבסיס הספירה הראשון לבסיס השני ותדפיס אותו.
פורסם 2008 במאי 1417 שנים מחבר חח לא הבנתי כלום..קודם כל שכחתי לרשום שאני עושה פסקל.. ולא Cזה אמור להיות על כל אחד משהו פשוט.. כמו div 10 mod 10 או משהו כזה.. ואז אתה רושם את זה וזה מביא לך את היחידות במספר..
פורסם 2008 במאי 1417 שנים אם יש A/B אז MOD זה השארית ו DIV זה השלםאם המידע הזה לא מספיק לך זה מזה לא המקצוע בשבילך.
פורסם 2008 במאי 1417 שנים מחבר מה לא מקצוע בשבילי.. יש לי כבר 99 ו97 ב3 יחידות ראשונות..פשוט עבר שנה ושכחתי את הmod..נגיד Mod 10 למספר 58.. כמה זה? 2?
פורסם 2008 במאי 1417 שנים נראה לי זה משהו כזה:div זה כמה פעמים מספר מסוים נכנס במספר אחר... נגיד:6 div 4שווה 1, כי 4 נכנס פעם אחת ב6...אז נגיד יש את המספר 30, עושים לו30 div 10ונקבל ש10 נכנס 3 פעמים ב30... אז העשרות זה 3....יש את הפקודה Mod שהיא נותנת לנו את השארית... אם מספר מסוים יכנס X פעמים במספר אחר, מה תיהיה השארית?נגיד יש שוב את הקוד:6 mod 4השארית יהיה 2... 4 נכנס פעם אחת ב6, ונשאר 2 שארית...אז נגיד יש לנו את המספר 270... ספרת העשרות זה 7 כמובן...270 div 10יתן לנו 27...ואז אם נעשה:27 mod 10יהיה 7, כי 10 נכנס פעמיים ב27, ויש שארית של 7...אז בעקרון נראה לי שלאחדות צריך לעשות:X mod 10[X הוא המספר שאנו מחפשים למצוא לו את הספרות]לעשרות צריך לעשות :X div 10את התוצאה להכניס למשתנה אחר נגיד I [נראה לי הפקודה זה := ואז:I mod 10למאות צריך למצוא:X div 10 := II div 10 := ZZ mod 10לאלפים צריך להמשיך ככה... או מקסימום לעשות לולאה של DIV ובסוף לשים פקודת MOD אחת....גם אני לא זוכר פסקל כל כך אבל נראה לי שזה הסגנון...
פורסם 2008 במאי 1417 שנים מחבר מעולה אחי.. זה בדיוק מה שהתכוונתי!עכשיו יש קטעים שרושמים div 10 ואחכך mod 10..אני חייב להכניס כמו שאמרת לI? או שאני יכול לרשום את זה רצוף? div 10 mod 10
פורסם 2008 במאי 1417 שנים מעולה אחי.. זה בדיוק מה שהתכוונתי! עכשיו יש קטעים שרושמים div 10 ואחכך mod 10.. אני חייב להכניס כמו שאמרת לI? או שאני יכול לרשום את זה רצוף? div 10 mod 10 ממממ אני לא ממש יודע... לא עשיתי בכלל בגרות בזה סתם דחפו לנו עוד שעות במערכת ואפילו לא הגברתי מחשבים.... אבל ממה שאני כן זוכר צריך איזה משהו כזה... וגם צריך להכניס את התוצאה לאיזהו משתנה, אם מגיד תעשה: X div 10X mod 10 ונגיד X זה 23, התוצאה הסופית תיהיה 3 ולא 2, כי אמנם X דיב 10 יתן 2, אבל X עדיין נשאר 23 ולא השתנה ל2... אבל נראה לי אפשר לעשות: X div 10 :=X ואז הX הקודם [23] ימחק מהזכרון ויהפוך ל2... מקסימום תנסה ותבדוק... עוד חצי דקה של עבודה לא תעשה כלום לאף אחד....
פורסם 2008 במאי 1417 שנים מחבר סבבה נזכרתי.. צודק..אממ יש לי עוד כמה שאלות.. למי שעשה את ה2 יחידות האחרונות..בטיפוס נתונים מופשט.. צריך לעשות פעולות ממשק..דברים כמו אתחל ........ עדכן ........ אחזר ........ אבל כל פעם רושמים משהו שונה..אבל איך אני יודע איזה רשימה של פעולות לרשום? כאילו נגיד ואתם עושים תרגיל ומבקשים פעולות ממשק.. איך אתם יודעים איזה פעולות דווקא לרשום?בנוסף בפעולות ממשק האלה שמתי לב תמיד יש נגיד עדכן ......... ואז יש סוגריים ורשום ( .... , ....) או דברים כאלה? איך אני ידוע מה לרשום בתוך הסוגריים? (כל מה שדיברתי זה לא בתוכנית עצמה.. אותה אני ידוע לעשות.. רק את הטבלה שלפני, שתמיד מבקשים להכין עם פעולות שיעזרו לך אחרכך, אני לא מבין..)
פורסם 2008 במאי 1517 שנים עידן, אתה נתת לבחור דגים במקום לתת לו חכה...אחת הבעיות עם לימודי מחשב שלא כוללים הבנה מתמטית ואלגוריתמית מאחוריהם היא שהמתכנת לומד רק לפתור מקרים פרטיים ולא עובר לחשיבה של פתרונות כלליים וחישובים פרמטריים.להלן הפתרון הכללי שהצעתי מיושם בשפת c כי הפעם האחרונה שנגעתי בפסקל היה לפני יותר מ-10 שנים ואני לא רוצה לעשות בושות (לא הידרתי את התוכנית ואין שום ערובה שהיא עובדת)// utility function - raises an integer base to an integer powerlong intPow (long base, long exp) { int result = 1; for (int i=0; i<exp;i++) result = result * base; return result; // function will also return 1 if given a negative exponent}void main () { long n = GIVENNUMBER; // the number needed to be deconstructed into digits, we assume it is in base z int z = GIVENBASE; // the counting base of that number int digits[MAXDIGITS]; // an array to store the digits - position 0 is the least significant digit and so on for (int i=0;i<MAXDIGITS;i++) digits[i] = (n/intPow(z,i)) % z; // deconstruction function digit after digit}
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.