11/12/2008
יסודות מדעי המחשב
י גמיש/צירוף
מבחן
- משך המבחן : שני שיעורים
- יש לענות על 4 שאלות בניקוד שווה.
- חומר עזר:כל חומר עזר אישי בלבד.
שאלה 1.
מספר שניתן לקרוא אותו מימין לשמאל ומשמאל לימין נקרא פלינדרום.למשל 7887 הוא פלינדרום.פתח ויישם אלגוריתם שהקלט שלו הוא שלם 4 ספרתי והפלט הוא הודעה האם המספר פלינדרום.
אלגוריתם
קלוט שלם 4 ספרתי à num
num % 10 à ahadot
num /10 % 10 à asarot
num / 100 % 10 à meoot
num / 1000 à alafim
אם ahadot == alafim וגם
Asarot == meot
הדפס זה פלינדרום
אחרת
הדפס לא פלינדרום
static void Main(string[] args)
{
Console.WriteLine("Enter 4 digits number");
int num = int.Parse(Console.ReadLine());
int ahadot = num % 10;
int asarot = num / 10 % 10;
int meot = num / 100 % 10;
int alafim = num / 1000;
if (ahadot == alafim && asarot == meot)
Console.WriteLine("It Is A Palindrom");
else
Console.WriteLine("NOT palindrom");
}
שאלה 2 .
א . פתח ויישם אלגוריתם שהקלט שלו סיפרה והפלט הוא :"קידום מעגלי" של הסיפרה.
לדוגמא :אם הקלט 5 , הפלט 6 .ואם הקלט 9 ,הפלט 0.
אלגוריתם
à digitקלוט סיפרה
אם digit== 9
אז הדפס 0
אחרת
digit++ הדפס
// שאלה 2 א
Console.WriteLine("Enter digit");
int digit = int.Parse(Console.ReadLine());
if(digit == 9)
Console.WriteLine(0);
else
Console.WriteLine(digit+1);
ב . הרחב את הפתרון שלעיל עבור כל סיפרה של מספר תלת סיפרתי שנקלט.
לדוגמא:אם נקלט 123 ,הפלט הוא 234 ואם נקלט 190 הפלט 201.
אלגוריתם
חיזרו על האלגוריתם שלעיל עבור כל אחת מספרות המספר התלת סיפרתי שנקלט
//שאלה 2 ב
//נמשיך עם המשתנים שלעיל
Console.WriteLine("Enter 3 digits number");
num = int.Parse(Console.ReadLine());
ahadot = num % 10;
asarot = num / 10 % 10;
meot = num / 100 % 10;
if (meot == 9)
Console.Write(0);
else
Console.Write(meot + 1);
if (asarot == 9)
Console.Write(0);
else
Console.Write(asarot + 1);
if (ahadot == 9)
Console.Write(0);
else
Console.Write(ahadot + 1);
הערה:אין צורך לייצר מספר חדש אלא לשנות ולהדפיס את ספרות המספר שנקלט.
שאלה 3.
מה יהיה ערכם של X Y בסוף קטע התוכנית:
Int a=3,b=4,c=5;
if (a > b || a+b>c) // X = 6 Y = 8
{
X = 2*a;
Y = 2*b;
}
Else
If(b+1 >= c)
Y = 2* b;
Else
{
X = 5;
Y= 6;
}
שאלה 4 .
עבור כל אחד מהביטויים הבוליאניים הבאים תנו דוגמא לערך של המשתנה num עבורו הביטוי יהיה true ודוגמא עבורו הביטוי יהיה false .
num != 0 //num = 0 à false; num = 1 à true
num < 2 || num > 2 // num = 2 à false ; num = 3 à true
num > 0 || num = = -5 //num = -1 à false ; num = -5 à true
num % 2 = = 0 || num < 0 // num = 5 à false ;num = 4 à true
שאלה 5 .
ניתנה תשובה בכיתה
כתבו עבור כל זוג ממשפטי if הנתונים משפט if אחד שקול:
If(x<10) x = x-1;
If(x>9) x = x+1;
If(x>=5) x = x*4;
If(x>=20) x = x / 2;
If(x = = -1) x = -2;
If(x > 0) x = 2*x;
If(x< -1) x = -x;
If( x> 1) x = -x;