זו היתה טעות שלי, בסוף שיניתי את הקוד והוא פועל מצוין.
בכל מקרה, רציתי לומר שזה בפער התרגיל הכי כיף שעשיתי עד עכשיו. תודה רבה לך ולכל הצוות !!
שתי שאלות:
-
מבחינת התרגיל, לא משנה באיזה נקודה באלגוריתם אני נמצא, הפריט האחרון בקלט הוא מה שייקבע אם סיימנו במצב מקבל או לא (שקובע אם המצב תקין או לא). ככה שמבקרה זה אני לא רואה סיבה לעקוב אחרי התהליך, אלא לקבוע אם הקלט תקין או לא אך ורק לפי פיסת הקלט האחרונה. האם זה בסדר מכיוון שלתרגיל הספיציפי הזה זה יכול לעבוד? או שעלי בכל מקרה לרשום את הקוד כאילו שזה לא כך בהכרח?
-
רשום שאני אמור לקבל קובץ, אבל אני לא רואה שום קובץ מתאים. האם בהקשר לתרגיל זה מצופה שהקובץ יהיה בסהכ קלט שנקבל? אם לא אז אשמח שמישהו יעזור לי להבין מאיפה אני מביא קובץ לעיבוד.
תודה
- זה לא תמיד ככה, צריך לעשות את המקרה הכללי.
- אכן אין קובץ מצורף, אתה יכול ליצור אחד לפי הדוגמאות שנמצאות במחברת.
- אתה צריך לבנות תוכנית שמתאימה לכל מערכת מצבים אפשרית שנותנים לך בקובץ לפי הפורמט שהוצג. לכן, למשל, בדוגמה השניה לא תוכל לבדוק רק את הקלט האחרון, וברור שצריך לכל הקלטים.
- לצורך התרגיל יצרתי קובץ עם הדוגמאות שהם נתנו, זה מאוד עזור להבנה.
לא מצאתי בפורום:
אשמח להשוות את התשובה של הדוגמא (השנייה) של התרגיל כביקורת כדי שאדע שהקוד שלי עובד על כל תרחיש.
קח דוגמה לאוטומט שאולי יותר יאתגר לך את הקוד:
Definitions:
States: q0, q1, q2
Start: q0
Accepting: q0
Transitions:
q0: 0, 3, 6, 9 -> q0
q0: 2, 5, 8 -> q1
q0: 1, 4, 7 -> q2
q1: 1, 4, 7 -> q0
q1: 0, 3, 6, 9 -> q1
q1: 2, 5, 8 -> q2
q2: 2, 5, 8 -> q0
q2: 1, 4, 7 -> q1
q2: 0, 3, 6, 9 -> q2
Inputs:
1
1, 2
1, 2, 3
1, 3, 5
1, 3, 8
1, 2, 4, 1
9, 9, 9, 9, 9, 9
9, 9, 9, 9, 9, 1
התשובות:
False
True
True
True
True
False
True
False
יש טעות בתשובות או שלא הבנתי את הנושא עד הסוף? (בדר"כ מדובר באופציה השנייה)
נראה לי שאמור לצאת:
False (מסיימים ב-q2 שהוא לא מצב מקבל)
False (מסיימים ב-q1)
False (מסיימים ב-q1)
False (מסיימים ב-q1)
False (מסיימים ב-q1)
False (מסיימים ב-q2)
True (מסיימים ב-q0 שהוא המצב המקבל היחיד)
False (מסיימים ב-q2)
אין טעות בתשובות, תעקוב באופן “ידני”, ואם זה קשה אז תשרטט על דף וזה יפשט את העניין!
הכוונה היא לדוגמה שמופיעה בהודעה של ים מעליי. קח את האינפוט השני לדוגמה:
מתחילים ב-q0, מקבלים 1 ועוברים ל-q2, ואז מקבלים 2 ועוברים ל-q1 שהוא לא מצב מקבל.
הכל מסתדר אם מוסיפים גם את q1 כמצב מקבל.
אתה צודק, נראה לי (אם זו הדוגמא מהאתגר) שיש טעות בשתי השורות הראשונות של q2…
ים, האם זה באמת בלבול בין השורות?
@Yam
לדעתי יש טעות בקובץ. צריך להיות:
q2: 1, 4, 7 -> q1
q2: 2, 5, 8 -> q0
בדקתי ואת צודקת… - 20 -
אפשר עזרה בכיוון חשיבה לאופן שבו הקובץ צריך להיות מפורק?
יאפ, טעות שלי תודה
אפשר להעלות את הקובץ המתוקן, כדי שנוכל לבדוק אותו מול מה שכתבנו?
תיקנתי בפוסט המקורי…
תודה! קיבלתי בדיוק את התוצאות שלך!!!
פצצה אפשר לחזור לישון בשקט
גם הקוד שלי החזיר את את התוצאו תהנ"ל עבור
האוטומט החדש
חחח.
עובד אחרי התיקון! ואפילו מצאתי באג בעקבות זה.
צודק, עדיף לא לשלם להודי