עשיתי את חלק א'שעה ו45 דקות סיימתי
עשיתי את ה5 הראשונות (חובה) ושאלות 6,8,9
אלוהים ישמור 9 לקח לי 3 וחצי דפים ><" בעע
עשיתי את חלק א'שעה ו45 דקות סיימתי
עשיתי את ה5 הראשונות (חובה) ושאלות 6,8,9
אלוהים ישמור 9 לקח לי 3 וחצי דפים ><" בעע
Bring the Violence-
|
|
התוכנית לא נכונה, מצטער להגיד לך, נאמר לך במפורש שהמערך בגודל 11 ומסוג DB ולא מסוג DW, מה שעשית פה הוא לא נכון בכלל, קיבלת את הערך הראשון מהמערך לתוך BX ואז חיברת את BL ו- BH מה הטעם? עוד דבר, בוא נגיד שבכל הפעם שעשית CMP , בדקת אם הוא קטן הוא שווה , קפוץ לתווית NO ומתי בידיוק AL יקבל את הערך של BL? נגיד שכל הזמן BL גדול מ AL (סתם מקרה..) וAL אף פעם לא יקבל את הסכום הגדול במערך, כל התוכנית שעשית מההתחלה ועד הסוף לא נכונה, מצטער, אני מושפע מהבגרות :\
היית צריך לעבוד ככה
משווים, וממשיכים הלאה, שומרים את הערך במשתנה MAX או באוגר אחר בכל פעם ובודקים גדול קטן מול האוגרים, ואפשר להשתמש בפעולת XCHG שממש מפשטת את העניין של ההחלפה.. כמובן עובדים בתוך לולאה, עם LOOP של CX ובגלל שעובדים זוג זוג CX הוא 5 זה מייעל את הזמן ריצה של התוכנית גם כי אתה עובר פחות פעמים בלולאה.קוד:mov al,a[si] add al,a[si+1] ככה בעצם קיבלת את הסכום בתוך AL של האיבר הראשון במערך והאיבר הבא אחריו, inc si mov dl,a[si] add dl,a[si+1] inc si cmp al,dl
תאכלס יש לי עוד 3-4 דרכים לפתור את התרגיל הזה, אפשר גם ליצור מערך שיכיל את הסכום של כל זוג איברים ולעבור עליו ועוד ועוד :\ ולחשוב שנתקעתי בתרגיל הזה חח..
יצאתי מפגר שלא התחלתי עם תרגיל 1, תרגיל מטומטם, עשיתי את 4 שהיה הרבה יותר מציג, ומשום מה לא שמתי לב לתרגיל שלא היה צריך לממש בסביבת עבודה יימח שימם..
תאכלס לא הלך לי טוב, נתקעתי על דברים מפגרים, ואני לא מאמין שיצאתי כזה מפגר, שנה הבאה אני אשפר..
נערך לאחרונה על ידי אור; 10-05-2007 בשעה 15:59.
בשאלה 3 לא צריך שום פונקציה ושום כלום.
רקורסיה פשוטה של כל ענף בנפרד וזהו
שכחתי עכשיו שורה של MOV, אבל זה נמצא שם.
והמערך הוא בגודל 11, אבל אתה תמיד פונה לכתובת+1, ולכן לעשות לולאה 11 פעמים זה לא הגיוני, כי תקבל ערך זבל.
רשום שגודל כל ערך במערך הוא בית אחד. האוגר BX הוא בגודל שני בתים.
אני מביא ל-BX כל פעם שני ערכים במערך - במקום SI, ו-SI+1.
מחבר את שניהם, ומשווה ל-AL.
אחרי השורה של ה JLE שכחתי להוסיף (רק פה, בבגרות הוספתי), פקודה של MOV AL, BL...
אור נראלי שהתוכנית שלו טובה 100%
חכה תן לי להסתכל בטופס אם הוא עדיין בתיק שלי
חחח אני עשיתי מדעי א' וב'
עכשיו אהבתי משהו שהם עשו במדעי המחשב א'
שמי שתלמיד אסמבלי יכול לשים לב לזה.
הם רצו שנכתוב פונקציה שמזיזה את איברי המערך שמאלה , K פעמים...
ובמקרה הם רצו שנקרא לפונקציה SHIFT![]()
עשיתי 1+1 כפול 2 (מה אני רוצה? ) וגיליתי שזה SHIFT LEFT שלנו מאסמבלי! חחח לא שזה עזר במשהו
עוד משהו נחמד
אה שאלה 2 בעיצוב-
מי שהגדיר מערך במקרה במקרה בטיפוס יצא שרשום array....OF COURSE חחח כאילו האיברים מטיפוס COURSE
וגם יוצא of course - כמובן באנגלית
נראה לי שזה בכוונה וזה רמז כזה
איך שראיתי את זה ידעתי שהם עשו את זה בכוונה...חחח הם לא פרייארים אה
נערך לאחרונה על ידי Xanax; 10-05-2007 בשעה 16:08.
אתה טועה אחי, כשעובדים עם מערך חד מימדי בגודל בית, אתה לא יכול לאחזר לתוך BX 2 כתובות בזיכרון, אני עובד עם אסמבלר כבר שנתיים, אם עבדת במעבדה עם קומפיילר היית רואה שזה לא משנה פשוט מאוד איחזרת לBX ערך אחד בגודל בית גם עם האוגר יראה ככה
0000000010101010
חצי ממנו יהיה ריק, אני לא זוכר אם זה החצי העליון או התחתון, אבל אתה מקבל פה רק ערך אחד של SI בכתובת אחת, אם זה היה מערך מסוג DW זה היה סיפור אחר, ובגלל זה גם חזרו ואמרו שכל מספר הוא לא גדול מ64 כדי שלא יחרוג מהטווח..
הלולאה שאני הרצתי רצה 5 פעמים, יש כאלו שעשו 10 פעמים וגם זה נכון.
ואחי תחזור על מה שרשמת, כי הוספת את השורה של MOV AL,BL הטעות היא שנגיד וBL תמיד יותר גדול מAL, AL פשוט לא יקבל אותו, והערך המקסימלי לא ישמר לך..
יש לך עוד טעות, אם אתה עובד על המערך ב DW אתה צריך להגדיל את SI ב2 ולא ב1, וזה מערך מסוג בית ולא מסוג מילה..
נערך לאחרונה על ידי אור; 10-05-2007 בשעה 16:11.
לאדע, אותנו לימדו שכשעושים MOV BX, SI, זה תמיד יכניס לאוגר 2 ערכים, כדי להשלים את זה...
ו-BL לא תמיד יהיה גדול יותר ע"פ טענה כזו, כי כל פעם יש חיבור חדש, והתאפסות חדשה...
אם כל פעם איפסת את BL, אז בכל פעם שAL לא היה גדול מBL, איבדת את המקס' ולא שמרת עליו, והמערך היה מסוג בית אחי אני בטוח בעצמי ב300% שזה ככה,
אני בכל מקרה ניגש שוב שנה הבאה אחרי הפאדיחה של השנה..
עריכה, הסתכלתי שוב, אני מקווה שבבגרות באמת איפסת כל פעם את הסכום של האיברים הצמודים, כי אם לא יצרת סכום של כל המערך..לא איפסת את המונה הזה.. שהוא גם לא סוחב באמת כי אי אפשר לעשות מה שעשית עם BX ו SI..
לא נורא..
נערך לאחרונה על ידי אור; 10-05-2007 בשעה 16:19.
בדקתי... הקטע של ה MOV BX עובד בסדר...
כנראה שיש לי טעות בתנאי... אבל הרעיון ברור, אז אולי לא יקחו את כל הנקודות...
בחרתי את 6-7 ו10
10 פשוט שאלה בדיחה!!! 10 דקות וסיימתי אותה!!
אבל שאלה קטנה לי אליכם... חלק אומרים לי שהיה צריך לרשום של טענת כניסה ויציאה לפונקציות.. זה נכון :\?
בטח שזה נכון...
בשאלה 9 היה צריך לרשום אלגוריתם מלא של כל התוכנית??
אם מישהו מוצא תשובות תשימו פה....
אני מת לדעת כמה בערך יש לי