יום רביעי, 29 במאי 2013

הצעה פתרון בגרות מדעי המחשב א קיץ 2013. פתרונות מלאים ותשובות סופיות לבחינת הבגרות במדעי המחשב 2013 מדעי המחשב בגרות תשובות מדעי המחשב א תשובות 2013 תשובות למבחן במחשבים 2013 א

הצעה פתרון בגרות מדעי המחשב א קיץ 2013.

פתרונות מלאים ותשובות סופיות לבחינת הבגרות במדעי המחשב

2013 מדעי המחשב בגרות תשובות
מדעי המחשב א תשובות 2013
תשובות למבחן במחשבים 2013 א


הצעה לפתרון הבגרות מדעי המחשב, קיץ תשע"ג 899222



פרק ראשון
שאלה 1
int c = 0;
int f = 4;
for (int i = 1; i <= f; i++)
{
Console.Write("Enter F : ");
int d = int.Parse(Console.ReadLine());
if (d == i || d < 3)
c = c + d;
else
Console.WriteLine("no");
}
Console.WriteLine(c);
פלט
If(d == i || d< 3)
Ii
d
f
c





0




4



1






2



True









2


2






5



False




"no"







3






7



False




"no"







4






4



True









6
"6"





שאלה 2
// טענת כניסה : שני מספרים ותו
// טענת יציאה : אם התו '+' יחזיר את סכום המספרים ואם התו '*' יחזיר את מכפלת שני המפרים
public static int GetSum(int a, int b, char ch)
{
if (ch == '+')
return a + b;
if (ch == '*')
return a * b;
return -1;
}
שאלה 3
int cnt = 0; // משתנה מונה
for (int i = 0; i < arr.Length; i++) // לולאה שעוברת על המערך
if (arr[i] >= 10 && arr[i] < 100) // אם גדול שווה ל 10 וקטן מ 100
cnt++; // מוסיף 1 ל cnt
Console.WriteLine(cnt); // מדפיס את cnt
שאלה 4
פלט
If (last == 8)
last
m3
m2
m1
n5
n4
n3
n2
n1






7
1
3
5
8





8









5









7









8









True









"***"











שאלה 5
א.
פלט
if ((number < num1) && (number > num2))
number
i
num2
num1





30




20




0




9




False




"*"








1




40




False




"*"








2




25




True




"$"








3




12




True




"$"








4




0




False




"*"






תוצאה סופית (משמאל לימין) **$$*
ב. (משמאל לימין) 5 9 40 50 0






פרק שני
שאלה 6
static public int A(int a, int b, int c)
{
int cnt = 0; // משתנה מונה
if (a > 90) cnt++; // אם הציון הראשון גבוהה מ 90 מוסיף אחד ל cnt
if (b > 90) cnt++; // אם הציון השני גבוהה מ 90 מוסיף אחד ל cnt
if (c > 90) cnt++; // אם הציון השלישי גבוהה מ 90 מוסיף אחד ל cnt
return cnt; // מחזיר את cnt
}

static void Main(string[] args)
{
int cnt = 0; // משתנה מונה
Console.Write("How much students ? : ");
int students = int.Parse(Console.ReadLine()); // קולט את מספר התלמידים וממיר אותו למספר
for (int i = 0; i < students; i++) // מ 0 ועד מספר התלמידים
{
Console.Write("Enter name : ");
string name = Console.ReadLine(); // קולט את השם
Console.Write("Enter grade #1 : ");
int a = int.Parse(Console.ReadLine()); // קולט ציון ראשון וממיר אותו למספר
Console.Write("Enter grade #2 : ");
int b = int.Parse(Console.ReadLine()); // קולט ציון שני וממיר אותו למספר
Console.Write("Enter grade #3 : ");
int c = int.Parse(Console.ReadLine()); // קולט ציון שלישי וממחיר אותו למספר
if (A(a, b, c) == 3) // אם שלושת הציונים גבוהים מ 90
{
Console.WriteLine(name); // מדפיס את השם
cnt++; // מוסיף 1 ל cnt
}
}
Console.WriteLine(cnt);
}












שאלה 7
א.
b[count]
A[I + 1]
A[i]
If (a[i] == a[i+1])
i
count





0




0


8
2






False






1


8
8






True


8









2


8
8






True


8









3


12
8






False






4


24
12






False






5


7
24






False






6


7
7






True


7









7


6
7






False



מערך b - 8,8,7,0,0,0,0,0
ב. a [1,2,3,4,5,6,7,8,9]







שאלה 8
static void Main(string[] args)
{
Console.Write("How much spots : ");
int spots = int.Parse(Console.ReadLine()); // קולט את מספר המקומות וממיר למספר
int k = 0; // משתנה מונה
while (k < spots) // כל עוד k קטן מ spots
{
Console.Write("Family name : ");
string name = Console.ReadLine(); // קולט שם משפחה
Console.Write("How much people : ");
int people = int.Parse(Console.ReadLine()); // קולט כמה בני משפחה וממיר למספר
if ((k + people) > spots) // אם k + בני המשפחה גדול מ spots
Console.WriteLine("no"); // מדפיס no
else // אחרת
{
Console.WriteLine("Family name : {0}, How much to pay : {1}", name, people * 100); // מדפיס את שם המשפחה ואת סכום הכסף לשתלום
k += people; // מוסיף את מספר בני המשפחה ל k
}
}
}


פרק שלישי
שאלה 9
// טענת כניסה : מערך דו ממדי ומספר
// מחזיר 1 אם זה שורה חיובת אחרת 0
static public int A(int[,] arr, int k)
{
for (int i = 0; i < arr.GetLength(1); i++)
if (arr[k, i] <= 0)
return 0;
return 1;
}

// טענת כניסה : מערך דו ממדי ומספר
// מחזיר 1 אם זה עמודה חיובת אחרת 0
static public int B(int[,] arr, int j)
{
for (int i = 0; i < arr.GetLength(0); i++)
if (arr[i, j] <= 0)
return 0;
return 1;
}

static void Main(string[] args)
{
int cntA = 0; // משתנה מונה
int cntB = 0; // משתנה מונה
for (int i = 0; i < 45; i++) // מ 0 עד 45
if (A(arr, i) == 1) // אם השורה חיובית
cntA++; // מוסיף 1 ל cntA
for (int i = 0; i < 42; i++) // מ 0 עד 42
if (B(arr, i) == 1) // אם העמודה חיובית
cntB++; // מוסיף 1 ל cntB
if (cntA > cntB) // אם cntA גדול מ cntB
Console.WriteLine("yes"); // מדפיס yes
else // אחרת
Console.WriteLine("no"); // מדפיס no
}


שאלה 10
// טענת כניסה : שני מספרים ממשים שמהווים את מחירי הספרים
// טענת יציאה : מחיר הספרים לפי המבצע של 2 הספרים
static public double A(double a, double b)
{
if (a < b)
return b + (a / 2);
return a + (b / 2);
}

// טענת כניסה : מספר ספרים שלקוח קנה
// טענת יציאה : מחיר הספרים על פי המבצע
static public double B(int books)
{
Console.Write("Enter price book #1 : ");
double a = double.Parse(Console.ReadLine());
Console.Write("Enter price book #2 : ");
double b = double.Parse(Console.ReadLine());
if (books == 3)
{
Console.Write("Enter price book #3 : ");
double c = double.Parse(Console.ReadLine());
return sum2max(a, b, c);
}
return A(a, b);
}

static void Main(string[] args)
{
for (int i = 0; i < 142; i++) // מ 0 ועד 142
{
Console.Write("How much books : ");
int books = int.Parse(Console.ReadLine()); // קולט את מספר הספרים וממיר אותם למספר
Console.WriteLine("How much to pay {0}", B(books)); // מדפיס את הסכום הכולל שעל הלקוח לשלם בעבור הספרים
}
}