טוען...
טוען...
נתונה פעולה הכתובה בשפת Java. הפעולה מקבלת שני מספרים שלמים הגדולים מ־0.
java1public static int foo (int x, int y)
2{
3 return (x+y)/3;
4}
כתוב מכונת טיורינג שתממש את הפעולה הנתונה.
הנח ש־x + y מתחלק ב־3 ללא שארית.
הקלט של המכונה הוא שני המספרים x , y שהפעולה מקבלת, והוא כתוב על הסרט מתחילתו. כל מספר כתוב בצורה אונרית. הסימן # מפריד בין מספר למספר.
✎ לדוגמה
אם הפעולה מקבלת 3 ל־
xו־3 ל־y, הסרט ייראה כך:⊢ 1 1 1 # 1 1 1 △ ....
הפלט הוא הערך שהפעולה מחזירה והוא ייכתב על הסרט במקום כלשהו כערך אונרי בין שני סימני $.
פלט אפשרי לַדוגמה שלעיל:
נתונה פעולה הכתובה בשפת Java. הפעולה מקבלת שני מספרים שלמים הגדולים מ־0.
java1public static int foo (int x, int y)
2{
3 return (x+y)/3;
4}
כתוב מכונת טיורינג שתממש את הפעולה הנתונה.
הנח ש־x + y מתחלק ב־3 ללא שארית.
הקלט של המכונה הוא שני המספרים x , y שהפעולה מקבלת, והוא כתוב על הסרט מתחילתו. כל מספר כתוב בצורה אונרית. הסימן # מפריד בין מספר למספר.
✎ לדוגמה
אם הפעולה מקבלת 3 ל־
xו־3 ל־y, הסרט ייראה כך:⊢ 1 1 1 # 1 1 1 △ ....
הפלט הוא הערך שהפעולה מחזירה והוא ייכתב על הסרט במקום כלשהו כערך אונרי בין שני סימני $.
פלט אפשרי לַדוגמה שלעיל: