מבוא למדעי המחשב לתעשייה וניהול הרצאה 4. Select Case

Preview:

Citation preview

המחשב למדעי מבואוניהול לתעשייה

4הרצאה

Select Case

Select Case – ערכים מספר בין לבחירה

Dim letter As Char Console.WriteLine("Please enter a letter:") letter = Console.ReadLine()

Select Case letter Case "a" Console.WriteLine("you selected the first letter") Case "b" Console.WriteLine("you selected the second letter") Case "c" Console.WriteLine("you selected the third letter") Case "z" Console.WriteLine("you selected the last letter") Case Else Console.WriteLine("you selected a regular letter") End Select

Select Case – נוספת דוגמא

Dim letter As Integer Console.WriteLine("Please enter a letter:") letter = Console.ReadLine() Select Case letter Case 1 Console.WriteLine("you selected the first letter") Case 2 Console.WriteLine("you selected the second letter") Case 3 Console.WriteLine("you selected the third letter") Case 4 Console.WriteLine("you selected the last letter") Case Else Console.WriteLine("you selected a regular letter")End Select

Select Case – אפשרויות ריבוי

Dim number As Integer = 8 Select Case number Case 1 To 5 Console.WriteLine("Between 1 and 5, inclusive")

Case 6, 7, 8 Console.WriteLine("Between 6 and 8, inclusive")

Case 9 To 10 Console.WriteLine("Equal to 9 or 10")

Case Else Console.WriteLine("Not between 1 and 10,

inclusive") End Select

בין ערכים משתנים 2החלפת

ערכים החלפת " מספר " אחר עוקבת טאקי קלפים למשחק מחשב תוכנית

. יש לשחקן כאשר שחקן לכל שיש התוכנית 0הקלפים קלפים. כמנצח עליו תכריז

:בעיה יש שלאלי יש 8נניח לבניה ואילו . 2קלפים מניח אלי קלפים

," הקלפים " מספר את להחליף ועלינו קלפים החלף מסוג קלף. שחקן לכל שיש

? הבעיה לפתרון המתאים האלגוריתם מהו

של ערכיהם משתנים 2החלפת'program to swap a and z

Dim a, b As Integer

a = 8

b = 2

Console.WriteLine("a is {0} and b is {1} ", a, b)

Dim temp As Integer

temp = a

a = b

b = temp

Console.WriteLine("a is {0} and b is {1} ", a, b)

עוקבים ערכים) בוליאני) + בערך שימוש

בוליאני – פלט עוקבים ערכים בדיקת:בעיה

ערכים שני אם, x1, x2בהינתן לבדוק עוקב x2יש מספר הוא(consecutive ) שלx1 ,להיפך או

) שקר ) או אמת בוליאני יהיה הפלט

( ? בהינתן הבעיה לפתרון המתאים האלגוריתם x1מהוx2)

אםx2 ל ל x1או x1עוקב x2עוקב הצגtrue

אחרת הצגfalse

פתרון – עוקבים ערכים ב ) 1בדיקת (ifשימוש

Dim x1, x2 As Integer

Console.WriteLine("please enter two numbers")

x1 = Console.ReadLine()

x2 = Console.ReadLine()

If x2 = x1 + 1 Or x1 = x2 + 1 Then

Console.WriteLine("true")

Else

Console.WriteLine("false")

End If

פתרון – עוקבים ערכים משתנה ) 2בדיקת עםבוליאני(

Dim x1, x2 As Integer

Console.WriteLine("please enter two numbers")

x1 = Console.ReadLine()

x2 = Console.ReadLine()

Dim consec As Boolean

consec = (x2 = x1 + 1 Or x1 = x2 + 1)

Console.WriteLine(consec)

אקראיים מספרים

אקראי מספר של ייצור " ב שימוש י ע מתבצע אקראי מספר Rndייצור

Dim a As Single = Rnd()Rnd בין ערך כולל ) 1ל 0מחזיר (1לא בין שלם אקראי מספר לקבל רוצים 100ל 1אם

Dim a As Single a = Int((100 * Rnd()) + 1)

אקראיים באמת אינם במחשב המספרים אקראיים פסיאודו הם

ל קודם נקרא מספר אותו תמיד נקבל שלא כדיRandomize

אקראי מספר לייצור דוגמא

Dim randNum As Integer

Randomize()

randNum = Int((10 * Rnd()) + 1)

Console.WriteLine("My random number is " & randNum)

מספר זוגיות

מספר של זוגיות בדיקת:בעיה

מספר -Xבהינתן זוגי אי או זוגי הוא האם בדוק

( ? בהינתן הבעיה לפתרון המתאים האלגוריתם (xמהו

אםx ב שארית 2מתחלק ללא זוגי המספר

אחרת - זוגי אי המספר

מספר של זוגיות בדיקת

Dim x As Integer

Console.WriteLine("please enter number")

x = Console.ReadLine()

If x Mod 2 = 0 Then

Console.WriteLine("zugi")

Else

Console.WriteLine("izugi")

End If

כיתה תרגיל ניחוש משחק נכתוב

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

בודד תו עם עבודה

דיגיטלי באופן טקסט ייצוג כמספר נשמר תו כל

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

H i , H e a t h e r .

72 105 44 32 72 101 97 116 104 101 114 46

char הטיפוסchar בודד תו מכיל

, אחר , סימן ספרה אות להיות יכול תו במחשב משלו מספרי ערך יש תו לכל

תו של הגדרהDim c As Char

להמיר " charל Stringניתן י )(CCharע! מומר במחרוזת הראשון התו רק

תו של מספרי ערך לקבל מנת על Dim i As Integer

i = AscW(c) לסימן מספרי מערך להמיר מנת על

ChrW(i) תו של קריאה

Console.Read()

לדוגמא תווים של ערכים

תו ערך

A 65

B 66

Z 90

a 97

b 98

z 122

0 48

1 49

9 57

= 61

! 33

? 63

(ASCIIטבלת חלקית )

תווים למשחקי דוגמאDim st As Char, i As Integer

Console.WriteLine("Enter a number with one digit")

'convert first character of string to char

st = CChar(Console.ReadLine())

'convert char to integer according to ASCII table

i = AscW(st)

Console.WriteLine(i)

i = i + 10

Console.WriteLine(i)

Console.WriteLine(st)

'convert integer to char according to ASCII table

st = ChrW(i)

Console.WriteLine(st)

תווים 1משחקי 

Dim delta As Integer, cap As Integer, ch As Char

delta = Asc("a") - Asc("A")

Console.WriteLine("Enter a capital")

cap = Console.Read()

If Not (cap < Asc("A") Or cap > Asc("Z")) Then

cap = cap + delta

ch = ChrW(cap)

Console.WriteLine((ch))

Else

Console.WriteLine("You didn’t enter a capital")

End If

תווים 2משחקי Dim delta As Integer, aLetter As Integer, ch As Char

delta = Asc("a") - Asc("A")

Console.WriteLine("Please enter a word with 3 non-capital letters")

aLetter = Console.Read()

If (aLetter >= Asc("a") And aLetter <= Asc("z")) Then

aLetter = aLetter - delta

ch = ChrW(aLetter)

Console.Write((ch))

aLetter = Console.Read()

ch = ChrW(aLetter)

Console.Write((ch))

aLetter = Console.Read()

ch = ChrW(aLetter)

Console.WriteLine((ch))

Else

Console.WriteLine(“First letter is non capital")

End If

תווים א – 3משחקי חלקDim delta As Integer, aLetter As Integer, ch As Char

delta = Asc("a") - Asc("A")

Console.WriteLine("Please enter 2 letters")

aLetter = Console.Read()

If (aLetter >= Asc("a") And aLetter <= Asc("z")) Then

aLetter = aLetter - delta

ch = ChrW(aLetter)

Console.Write((ch))

ElseIf (aLetter >= Asc("A") And aLetter <= Asc("Z")) Then

aLetter = aLetter + delta

ch = ChrW(aLetter)

Console.Write((ch))

End If

: הבא בשקף המשך

תווים ב – 3משחקי חלק: קודם משקף המשך

aLetter = Console.Read()

If (aLetter >= Asc("a") And aLetter <= Asc("z")) Then

aLetter = aLetter - delta

ch = ChrW(aLetter)

Console.Write((ch))

ElseIf (aLetter >= Asc("A") And aLetter <= Asc("Z")) Then

aLetter = aLetter + delta

ch = ChrW(aLetter)

Console.Write((ch))

End If

תווים ג – 3משחקי חלק

רק לנו היו הקודמת אותיות 2בדוגמא

יהיו ?3ואם אותיות ?100או

... הבא בשיעור פתרונות

Recommended