מבוא למדעי המחשב
תרגיל 1
מגיש:
אמר יריב.
קבוצה:
א.
-
אלגוריתם
לפתרון משוואה לינארית בנעלם אחד (ax+b=0).
·
פעולות
בסיסיות: (גם
לתרגיל 2)
o
השמת
ערך למשתנה.
o
בדיקת
ערכי משתנה.
o
חישוב
ביטוי חשבוני והשמת ערך למשתנה; פעולות
מותרות: חיבור חיסור,כפל, חילוק שלמים,שארית.
o
ביצוע
לולאה כל עוד תנאי לוגי מתקיים.
קלטים
מייצגים:
x
|
פלט
|
b
|
a
|
-2
|
למשוואה
יש פתרון יחיד והוא
|
10
|
5
|
0
|
למשוואה
יש פתרון יחיד והוא
|
0
|
3
|
|
למשוואה
אין פתרון ממשי
|
2
|
0
|
|
למשוואה
יש אינסוף פתרונות
|
0
|
0
|
-
אלגוריתם
הבודק האם ספרותיו של מספר מהוות סדרה
עולה משמאל לימין.
א.
הגדר את המשתנים:
Number-מייצג
את המספר הנבדק.
Max-שומר
על הערך הגבוה האחרון.
Lsd-שומר
את הספרה האחרונה (Lees Significant
Digit)
Temp-שומר
את המנה לאחר החלוקה.
ב.
קלוט מספר לתוך Number.
ג.
בדוק האם Number
שלילי?
אם
כן – הדפס "הקלט שלילי ולכן התוכנית
הופסקה", וסיים התוכנית.
ד.
אם לא – המשך לשלב הבא
ה.
עדכן: Lsd=0.
הכנס
ל-Temp את המנה (מספר
שלם) מחלוקת Number
ב-10.
הכנס
ל-Max את השארית (מספר
שלם) מחלוקת Number
ב-10.
ו.
בדוק האם Temp=0?
אם
כן – הדפס "ספרות המספר שהוקלד מהוות
סידרה עולה", וסיים התוכנית.
אם
לא – בצע:
i.
Lsd מקבל את
השארית מחלוקת Temp
ב-10.
ii.
Temp מקבל את
המנה מחלוקת Temp
ב-10.
iii.
בדוק האם Lsd<Max?
אם
כן – הצב את ערך Lsd
לתוך Max וחזור
לשלב VI.
אם
לא – הדפס "ספרות המספר שהוקלד אינן
מהוות סידרה עולה", וסיים
התוכנית.
קלטים
מיצגים:
-
תרגום
ביסיסים
א.
לבסיס 10:
38A16=3*162+8*161+10*160=90610
4768=4*82+7*81+6*80=31810
100110112=27+24+23+21+20=15510
ב.
לבסיס 2:
6D1A16=0110
1101 0001 1010 =1101101000110102
17448=001
111 100 100 =11111001002
48510=485:2=242.5
®
1
242:2=121 ®
0
59810=598:16=37+6/16
37:16=2+5/16
5:16=5/16
5468=1
0110 01102=16616
-
המספר
הבינארי הגדול ביותר בעל K
ספרות הוא המספר שבו כל הספרות הם 1
וכדי לחשבו אפשר להשתמש בנוסחה של סכום
של סדרה הנדסית שבה q=2,a1=1
ו n=K.
ז"א
ערך המספר הוא: Sn=1*(2k-1)/1.
5.
קוד התוכנית tr1_q5.cpp:
(מצורף בדיסקט)
/*
Module:tr1_q5.cpp
<- tr=Targil , q=question
Author: Yariv Amar
What?
Prints in 2 lines my name, Id number and course name.
How?
using cout and "\n"
/*
#include
<iostream.h>
void
main()
}
cout<<"Yariv
Amar ID Nu. 2731300\nBasic C++ Programming course\n";
{
פלט
התוכנית:
Yariv
Amar ID Nu. 2731300
Basic
C++ Programming course
-
תוכן
הקובץ: header.txt
/*
Module:
Author: Yariv Amar
What?
How?
/*