הכנה למדעי המחשב לסטודנטים ללא רקע בתיכנות - אונ׳ בר אילן


.בדף זה תוכלו למצוא כמה תרגילים שיכינו אתכם קצת בתיכנות. התרגילים הם לא חובה אך הם יעזרו מאוד למי שאין רקע בתיכנות

.אפשר לפתור את התרגילים בכל שפת תיכנות, אך באתר הנ״ל אפשר להריץ רק פיתון

.חוברת בעברית על פיתון נמצאת בלינק הזה
.אתר נחמד ללימוד פיתון נמצא בלינק הזה
נמצא בלינק הזה C++ ואתר נחמד ללימוד

תרגיל 1

.התוכנית הבאה מדפיסה את סכום ערכי המערך. שנה אותה כך שתדפיס את כפל ערכי המערך

A = [1,2,3,4,5,6,5,1,2,3,5] sum = 0 for x in A: sum += x print(sum) A = [1,2,3,4,5,6,5,1,2,3,5] product = 1 for x in A: product *= x print(product) test_output_contains("108000") success_msg('Great job!')
ֿ

תרגיל 2

.התוכנית הבאה מדפיסה את כל המערך, שנה אותה ככה שתדפיס רק את המקומות הזוגים

A = [1,2,3,4,5,6,5,1,2,3,5] for i in range(len(A)): print(A[i]) A = [1,2,3,4,5,6,5,1,2,3,5] for i in range(0,len(A),2): print(A[i]) test_output_contains("3") success_msg('Great job!')
ֿ

תרגיל 3

.התוכנית הבאה מקבל מערך של מערכים, ומדפיסה עבור כל מערך את המספר הגדול ביותר
.שנה אותה ככה שעבור כל מערך תדפיס את המספר הקטן ביותר

A = [[1,2,3],[4,5,6],[5,1,2,3,5]] for x in A: max_v = x[0] for y in x[1:]: if max_v < y: max_v = y print(max_v) A = [[1,2,3],[4,5,6],[5,1,2,3,5]] for x in A: min_v = x[0] for y in x[1:]: if min_v > y: min_v = y print(min_v) test_output_contains("4") success_msg('Great job!')
ֿ

תרגיל 4

.כתוב תוכנית שעוברת על המערך הנתון ומדפיסה את כל המיקומים שהמספר חמש מופיע

A = [1,2,3,4,5,6,5,1,2,3,5] #Write your code here. A = [1,2,3,4,5,6,5,1,2,3,5] for i in range(len(A)): if A[i] == 5: print(i) test_output_contains("6") success_msg('Great job!')
ֿ

תרגיל 5

.כתוב תוכנית שעוברת על המערך ומדפיסה את הערך של האיבר הגדול ביותרֿ

A = [1,2,3,4,5,6,5,7,2,3,5] #Write your code here. A = [1,2,3,4,5,6,5,7,2,3,5] m = A[0] for i in range(1,len(A)): if A[i] > m: m = A[i] print(m) test_output_contains("7") success_msg('Great job!')
ֿ

תרגיל 6

.כתוב תוכנית שעוברת על מערך ומוצאת את האיבר השני בגודלו

A = [1,2,3,4,5,6,5,7,2,3,5] #Write your code here. A = [1,2,3,4,5,6,5,7,2,3,5] if A[0] > A[1]: m = A[0] m2 = A[1] else: m = A[1] m2 = A[0] for i in range(2,len(A)): if A[i] > m2: if A[i] > m: m2 = m m = A[i] else: m2 = A[i] print(m2) test_output_contains("6") success_msg('Great job!')

תרגיל 7

.כתוב תוכנית שעוברת על מערך מוצאת את האיבר הכי גדול ומחליפה את האיבר האחרון במערך עם האיבר הכי גדול

A = [1,2,3,4,5,6,5,7,2,3,5] #Write your code here. A = [1,2,3,4,5,6,5,7,2,3,5] max_pos = 0 max_value = A[0] for i in range(1,len(A)): if A[i]>max_value: max_pos = i max_value = A[i] A[max_pos] = A[-1] A[-1] = max_value print(A) test_output_contains("[1, 2, 3, 4, 5, 6, 5, 5, 2, 3, 7]") success_msg('Great job!')

תרגיל 8

הרץ את התוכנית של תרגיל 7 פעמיים כך ששני האברים הכי גדולים יהיו בסוף

A = [1,2,3,4,5,6,5,7,2,3,5] #Write your code here. A = [1,2,3,4,5,6,5,7,2,3,5] max_pos = 0 max_value = A[0] for i in range(1,len(A)): if A[i]>max_value: max_pos = i max_value = A[i] A[max_pos] = A[-1] A[-1] = max_value max_pos = 0 max_value = A[0] for i in range(1,len(A)-1): if A[i]>max_value: max_pos = i max_value = A[i] A[max_pos] = A[-2] A[-2] = max_value print(A) test_output_contains("[1, 2, 3, 4, 5, 3, 5, 5, 2, 6, 7]") success_msg('Great job!')

תרגיל 9

.כתוב תוכנית שממינת את המערך מהקטן לגדול

A = [1,2,3,4,5,6,5,7,2,3,5] #Write your code here. A = [1,2,3,4,5,6,5,7,2,3,5] for j in range(len(A)): max_pos = 0 max_value = A[0] for i in range(1,len(A)-j): if A[i]>max_value: max_pos = i max_value = A[i] A[max_pos] = A[-(j+1)] A[-(j+1)] = max_value print(A) test_output_contains("[1, 2, 3, 4, 5, 3, 5, 5, 2, 6, 7]") success_msg('Great job!')