בי מאסטר (Bmaster)מאגר שאלות בגרותשאלות נפוצותמדריכיםארכיון בגרויות
תפריט

חומרי לימוד

מאגר שאלות בגרותשאלות נפוצותמדריכיםארכיון בגרויות
חזרה למאגר2016 קיץ מועד א

מכונת טיורינג לחישוב שארית

שאלה קודמתשאלה הבאה
שאלה 12מבני נתונים2016 קיץ מועד א

מכונת טיורינג לחישוב שארית

נתונה פעולה הכתובה ב-Java וב-C# המקבלת שלושה מספרים שלמים גדולים מ-0.

java
1public static int foo(int x, int y, int z) {
2    if ((x%3)==0) return x;
3    if ((x%3)==1) return y;
4    return z;
5}

כתוב מכונת טיורינג שתממש את הפעולה הנתונה. הקלט של המכונה הוא שלושת המספרים x, y, z שהפעולה מקבלת והוא כתוב על הסרט מתחילתו. כל מספר כתוב בצורה אונרית. בין מספר למספר מפריד הסימן #. למשל אם הפעולה מקבלת 2 ל-x, 3 ל-y, 1 ל-z, הסרט יראה כך: 11#111#1 (משולש בראשית). הפלט הוא הערך שהפעולה מחזירה והוא ייכתב על הסרט במקום כלשהו כערך אונרי בין שני סימני $.

משימות

אמשימה אtext
שאלה 12מבני נתונים2016 קיץ מועד א

מכונת טיורינג לחישוב שארית

נתונה פעולה הכתובה ב-Java וב-C# המקבלת שלושה מספרים שלמים גדולים מ-0.

java
1public static int foo(int x, int y, int z) {
2    if ((x%3)==0) return x;
3    if ((x%3)==1) return y;
4    return z;
5}

כתוב מכונת טיורינג שתממש את הפעולה הנתונה. הקלט של המכונה הוא שלושת המספרים x, y, z שהפעולה מקבלת והוא כתוב על הסרט מתחילתו. כל מספר כתוב בצורה אונרית. בין מספר למספר מפריד הסימן #. למשל אם הפעולה מקבלת 2 ל-x, 3 ל-y, 1 ל-z, הסרט יראה כך: 11#111#1 (משולש בראשית). הפלט הוא הערך שהפעולה מחזירה והוא ייכתב על הסרט במקום כלשהו כערך אונרי בין שני סימני $.

משימות

אמשימה אtext