כותב |
|
Raigki משתמש מתחיל
הצטרף / הצטרפה: 08 December 2010
משתמש: מנותק/ת הודעות: 7
|
נשלח בתאריך: 08 December 2010 בשעה 20:22 | | IP רשוּם
|
|
|
|
קצת הסתבכתי עם התרגיל הזה:
בנה א.ס.ד שמקבל קוד של מכונית,להלן התנאים: -יהיה מורכב מ4 ספרות -יכיל 2 ספרות זוגיות ו2 ספרות אי זוגיות -לא יכיל 0
השפה מורכבת מן המספרים 1-9 וכמובן שכל פעם שאני אקבל 0 אני צריך לעבור למצב מלכודת.
הסתבכתי בקטע של ספירת המספרים הזוגיים והאי זוגיים ומתי הגיעו 4 ספרות.
מה הדרך הנכונה לפיתרון?
תודה.
|
חזרה לתחילת העמוד |
|
|
shoshan מנהל האתר
הצטרף / הצטרפה: 16 July 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 4637
|
נשלח בתאריך: 09 December 2010 בשעה 10:40 | | IP רשוּם
|
|
|
|
יש לך כמה מצבים:
התחלה (0 זוגיים 0 אי-זוגיים) מצב 1 (1 זוגיים 0 אי-זוגיים)
מצב 2 (2 זוגיים 0 אי-זוגיים)
מצב 3 (0 זוגיים 1 אי-זוגיים)
מצב 4 (1 זוגיים 1 אי-זוגיים)
מצב 5 (2 זוגיים 1 אי-זוגיים) מצב 6 (0 זוגיים 2 אי-זוגיים)
מצב 7 (1 זוגיים 2 אי-זוגיים)
מצב 8 (2 זוגיים 2 אי-זוגיים)
וכמובן, מצב 9 - כשלון שבו כל קלט מוביל לעצמו. כל המצבים מובילים עם 0 לכשלון.
כל שאר המצבים עם קלט של 2,4,6,8 מובילים למצב שבו הזוגיים גדולים ב-1, עם קלט של 1,3,5,7,9 מובילים למצב שבו האי-זוגיים גדולים ב-1.
במצבים עם שני זוגיים - עם קלט זוגי עוברים למצב כשלון. במצבים עם שני אי-זוגיים - עם קלט אי-זוגי עוברים למצב כשלון.
המצב של 4 ספרות עם 2 ו-2 הוא כמובן מצב 8.
__________________ עד מתי רשעים יעלוזו?
עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
|
חזרה לתחילת העמוד |
|
|
Raigki משתמש מתחיל
הצטרף / הצטרפה: 08 December 2010
משתמש: מנותק/ת הודעות: 7
|
נשלח בתאריך: 10 December 2010 בשעה 01:29 | | IP רשוּם
|
|
|
|
תודה על העזרה,הבנתי את הרעיון.
נתקלתי בסוג אחר של בעיה שלא הצלחתי לפתור: בנה אוטומט לשפה הבאה L={a^nbc^(n mod2 +1)|n>=0{
איך אני אבנה אוטומט אם אני לא יודע מה N?
תודה.
|
חזרה לתחילת העמוד |
|
|
shoshan מנהל האתר
הצטרף / הצטרפה: 16 July 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 4637
|
נשלח בתאריך: 10 December 2010 בשעה 02:53 | | IP רשוּם
|
|
|
|
שים לב שאתה לא באמת צריך לבדוק את N, רק אם הוא מתחלק ב-2 עם שארית 0 או אחד, אלו שני מצבים.
בנוסף שים לב לסדר של האותיות, קודם aים, אח"כ b, אח"כ cים.
__________________ עד מתי רשעים יעלוזו?
עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
|
חזרה לתחילת העמוד |
|
|
Raigki משתמש מתחיל
הצטרף / הצטרפה: 08 December 2010
משתמש: מנותק/ת הודעות: 7
|
נשלח בתאריך: 10 December 2010 בשעה 07:07 | | IP רשוּם
|
|
|
|
אוקיי,אז זה הולך להיראות ככה(האוטומט לא מלא)?
מצב התחלתי:שום אות לא התקבלה מצב ראשון:התקבל a ואני שם לולאה עצמית של a מצב שני:התקבל b מצב שלישי התקבל c, מצב מקבל,במידה ואני מקבל b אני מחזיר למצב השני.
נממ,איך אני אדע איפה יהיה המצב המקבל?
|
חזרה לתחילת העמוד |
|
|
shoshan מנהל האתר
הצטרף / הצטרפה: 16 July 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 4637
|
נשלח בתאריך: 10 December 2010 בשעה 16:18 | | IP רשוּם
|
|
|
|
לא, זה לא נכון, אתה מבין מה המשמעות של n mod 2 + 1 ?
זה אומר השארית מ-2 ועוד אחד.
כלומר אם N זוגי, השארית 0, וזה יוצא אחד אם N אי זוגי, השארית 1, וזה יוצא 2.
כלומר בהתחלה הלולאה של A צריכה לקפוץ בין מצבים של זוגי לאי זוגי, אחר כך קופץ למצב של B (יש שניים כאלו, אחד עבור A זוגי, ואחד לאי זוגי) ואז מה-B של N זוגי יוצא ל-C אחד ומה-B של N אי-זוגי יוצא ל-2 C
__________________ עד מתי רשעים יעלוזו?
עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
|
חזרה לתחילת העמוד |
|
|