Leveraging Simple Dictionaries - מצב התחלתי ומקבל

  1. אתה צריך לבנות תוכנית שמתאימה לכל מערכת מצבים אפשרית שנותנים לך בקובץ לפי הפורמט שהוצג. לכן, למשל, בדוגמה השניה לא תוכל לבדוק רק את הקלט האחרון, וברור שצריך לכל הקלטים.
  2. לצורך התרגיל יצרתי קובץ עם הדוגמאות שהם נתנו, זה מאוד עזור להבנה.
לייק 1

לא מצאתי בפורום:
אשמח להשוות את התשובה של הדוגמא (השנייה) של התרגיל כביקורת כדי שאדע שהקוד שלי עובד על כל תרחיש.

קח דוגמה לאוטומט שאולי יותר יאתגר לך את הקוד:

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
6 לייקים

יש טעות בתשובות או שלא הבנתי את הנושא עד הסוף? (בדר"כ מדובר באופציה השנייה)

נראה לי שאמור לצאת:
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

2 לייקים

בדקתי ואת צודקת… - 20 -

אפשר עזרה בכיוון חשיבה לאופן שבו הקובץ צריך להיות מפורק?

יאפ, טעות שלי :slightly_smiling_face: תודה

2 לייקים

אפשר להעלות את הקובץ המתוקן, כדי שנוכל לבדוק אותו מול מה שכתבנו?

תיקנתי בפוסט המקורי…

2 לייקים

תודה! קיבלתי בדיוק את התוצאות שלך!!!
פצצה אפשר לחזור לישון בשקט :grin:

לייק 1

גם הקוד שלי החזיר את את התוצאו תהנ"ל עבור
האוטומט החדש :slight_smile:

לייק 1

חחח.
עובד אחרי התיקון! ואפילו מצאתי באג בעקבות זה.

צודק, עדיף לא לשלם להודי :slight_smile: :stuck_out_tongue_winking_eye:

לייק 1

רוכב על הפוסט הזה כדי לא לפתוח אחד חדש, יצא שבמימוש שלי לא התייחסתי בכלל לשורה שמפרטת את המצבים האפשריים. בעצם בהנחה שהקובץ תקין ו"שלם" המצבים האפשריים משתמעים מה"מעברים".

פספסתי משהו או שזה סתם עניין של מימושים שונים?

אין שום בעיה עם זה :slight_smile:

אחלה, אז אפשר לישון בשקט :slight_smile:
תודה!