טוען...
טוען...
נתונה פעולה הכתובה ב-Java.
הפעולה מקבלת שלושה מספרים שלמים גדולים מ-0.
java1public static int foo(int x , int y , int z)
2{
3 if ((x % 3) == 0) return x;
4 if ((x % 3) == 1) return y;
5 return z;
6}
כתוב מכונת טיורינג שתממש את הפעולה הנתונה.
הקלט של המכונה הוא שלושת המספרים x, y, z שהפעולה מקבלת והוא כתוב על הסרט מתחילתו. כל מספר כתוב בצורה אונרית. בין מספר למספר מפריד הסימן #.
למשל אם הפעולה מקבלת 2 ל-x, 3 ל-y, ו-1 ל-z, הסרט יראה כך:
⊢ | 1 | 1 | # | 1 | 1 | 1 | # | 1 | △ | △ | △ | .......
↑
ראש קורא כותב
הפלט הוא הערך שהפעולה מחזירה והוא ייכתב על הסרט במקום כלשהו כערך אונרי בין שני סימני $.
נתונה פעולה הכתובה ב-Java.
הפעולה מקבלת שלושה מספרים שלמים גדולים מ-0.
java1public static int foo(int x , int y , int z)
2{
3 if ((x % 3) == 0) return x;
4 if ((x % 3) == 1) return y;
5 return z;
6}
כתוב מכונת טיורינג שתממש את הפעולה הנתונה.
הקלט של המכונה הוא שלושת המספרים x, y, z שהפעולה מקבלת והוא כתוב על הסרט מתחילתו. כל מספר כתוב בצורה אונרית. בין מספר למספר מפריד הסימן #.
למשל אם הפעולה מקבלת 2 ל-x, 3 ל-y, ו-1 ל-z, הסרט יראה כך:
⊢ | 1 | 1 | # | 1 | 1 | 1 | # | 1 | △ | △ | △ | .......
↑
ראש קורא כותב
הפלט הוא הערך שהפעולה מחזירה והוא ייכתב על הסרט במקום כלשהו כערך אונרי בין שני סימני $.