Download presentation
1
מבוא למדעי המחשב לתעשייה וניהול
הרצאה 4
2
Select Case
3
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
4
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
5
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
6
החלפת ערכים בין 2 משתנים
7
החלפת ערכים תוכנית מחשב למשחק קלפים "טאקי" עוקבת אחר מספר הקלפים שיש לכל שחקן. כאשר לשחקן יש 0 קלפים התוכנית תכריז עליו כמנצח. בעיה: נניח שלאלי יש 8 קלפים ואילו לבניה יש 2 קלפים. אלי מניח קלף מסוג "החלף קלפים", ועלינו להחליף את מספר הקלפים שיש לכל שחקן. מהו האלגוריתם המתאים לפתרון הבעיה?
8
החלפת ערכיהם של 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
9
ערכים עוקבים ( + שימוש בערך בוליאני)
ערכים עוקבים ( + שימוש בערך בוליאני)
10
בדיקת ערכים עוקבים – פלט בוליאני
בעיה: בהינתן שני ערכים x1, x2, יש לבדוק אם x2 הוא מספר עוקב (consecutive ) של x1, או להיפך הפלט יהיה בוליאני (אמת או שקר) מהו האלגוריתם המתאים לפתרון הבעיה? (בהינתן x1 x2) אם x2 עוקב לx1 או x1 עוקב לx2 הצג true אחרת הצג false
11
בדיקת ערכים עוקבים – פתרון 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
12
בדיקת ערכים עוקבים – פתרון 2 (עם משתנה בוליאני)
בדיקת ערכים עוקבים – פתרון 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)
13
מספרים אקראיים
14
ייצור של מספר אקראי ייצור מספר אקראי מתבצע ע"י שימוש ב Rnd
Dim a As Single = Rnd() Rnd מחזיר ערך בין 0 ל1 (לא כולל 1) אם רוצים לקבל מספר אקראי שלם בין 1 ל 100 Dim a As Single a = Int((100 * Rnd()) + 1) המספרים במחשב אינם באמת אקראיים הם פסיאודו אקראיים כדי שלא נקבל תמיד אותו מספר נקרא קודם ל Randomize
15
דוגמא לייצור מספר אקראי
Dim randNum As Integer Randomize() randNum = Int((10 * Rnd()) + 1) Console.WriteLine("My random number is " & randNum)
16
זוגיות מספר
17
בדיקת זוגיות של מספר בעיה:
בהינתן מספר X בדוק האם הוא זוגי או אי-זוגי מהו האלגוריתם המתאים לפתרון הבעיה? (בהינתן x) אם x מתחלק ב 2 ללא שארית המספר זוגי אחרת המספר אי-זוגי
18
בדיקת זוגיות של מספר 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
19
תרגיל כיתה נכתוב משחק ניחוש
התוכנית תבחר מספר אקראי בין 1 ל 3 והמשתמש יצטרך לנחש, נודיע לו אם ניחש נכון.
20
עבודה עם תו בודד
21
ייצוג טקסט באופן דיגיטלי
כל תו נשמר כמספר כולל רווחים, פיסוק וספרות. אותיות גדולות וקטנות הן בעלות ערכים שונים. H i , H e a t h e r .
22
char הטיפוס char מכיל תו בודד על מנת לקבל ערך מספרי של תו i = AscW(c)
ערכים של תווים לדוגמא תו ערך A 65 B 66 Z 90 a 97 b 98 z 122 48 1 49 9 57 = 61 ! 33 ? 63 הטיפוס char מכיל תו בודד תו יכול להיות אות ,ספרה, סימן אחר לכל תו יש ערך מספרי משלו במחשב הגדרה של תו Dim c As Char ניתן להמיר String ל char ע"י CChar() רק התו הראשון במחרוזת מומר! על מנת לקבל ערך מספרי של תו Dim i As Integer i = AscW(c) על מנת להמיר מערך מספרי לסימן ChrW(i) קריאה של תו Console.Read()
23
טבלת ASCII (חלקית)
24
דוגמא למשחקי תווים 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(st) 'convert integer to char according to ASCII table st = ChrW(i)
25
משחקי תווים 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
26
משחקי תווים 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)) Console.WriteLine((ch)) Else Console.WriteLine(“First letter is non capital") End If
27
משחקי תווים 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 End If המשך בשקף הבא:
28
משחקי תווים 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 End If
29
משחקי תווים 3 – חלק ג בדוגמא הקודמת היו לנו רק 2 אותיות ואם יהיו 3 אותיות? או 100? פתרונות בשיעור הבא...
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.