מבוא למדעי המחשב לתעשייה וניהול הרצאה 6. מפעל השעווה – לולאות  עד עכשיו  טיפלנו בייצור נרות מסוג אחד, במחיר אחיד  למדנו להתמודד עם טיפול במקרים שונים.

Slides:



Advertisements
Similar presentations
ממיבחניםC שאלות ++.
Advertisements

מבוא למדעי המחשב לתעשייה וניהול
מבוא למדעי המחשב לתעשייה וניהול דוגמאות ותרגול נוסף במערך חד ממדי הרצאה 12.
מחרוזות של תווים. מבוא לתכנות למנע"ס - שבוע מספר 5 - מאיר קומר - סמסטר ב' - תשס"ו מחרוזות - Strings Dim s As String s = “hello” s = s & “kita” או s =
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
תרגול 5 רקורסיות. רקורסיה קריאה של פונקציה לעצמה –באופן ישיר או באופן עקיף היתרון : תכנות של דברים מסובכים נעשה ברור ונוח יותר, מכיוון שזו למעשה צורת.
תכנות תרגול 4 שבוע : לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
תכנות תרגול 2 שבוע : שבוע שעבר כתבו תוכנית המגדירה שלושה משתנים מאתחלת אותם ל 1 2 ו 3 ומדפיסה את המכפלה שלהם את ההפרש שלהם ואת הסכום שלהם.
סוגי מידע / משתנים ד " ר אבי רוזנפלד. סוגאורךטווח Boolean1 Bit0,1 Byte1 byte0-255 Char 2 bytes תו Decimal16 bytes0 through +/-79,228,162,514,264,337,593,543,950,335.
מבוא לשפת C חידות ונקודות חשובות נכתב על-ידי יורי פקלני. © כל הזכויות שמורות לטכניון – מכון טכנולוגי לישראל.
מבוא למדעי המחשב תרגול 8 - מחרוזות שעת קבלה : יום שני 11:00-12:00 דוא " ל :
תרגילים. גדול, קטן, וממוצע מקובץ Imports System.IO Module Module1 Sub Main() Dim readnum As StreamReader readnum = _ My.Computer.FileSystem.OpenTextFileReader.
מבוא למדעי המחשב תרגול 4 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
מבוא למדעי המחשב © אריק פרידמן 1 מצביעים כמערכים דוגמה.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
מבני בקרה מבוא לתכנות למנע " ס - שבוע מספר 3 - מאיר קומר - סמסטר ב ' - תשס " ו הסתעפות “ אם השמאל ואימנה ואם הימין ואשמאילה ”
תכנות תרגול 2 שבוע : צור קשר מתרגל – שי גוטנר, ביה " ס למדעי המחשב. מתרגל – שי גוטנר, ביה " ס למדעי המחשב. דואר אלקטרוני : דואר.
תכנות תרגול 3 שבוע : לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
פתרון בוחן הכיתה. שאלה #1 Module Module1 Sub Main() Dim x, z As Integer x = Console.ReadLine() z = Console.ReadLine() If (x = 0) Then Console.WriteLine("Error")
תכנות תרגול 5 שבוע : לולאות for לולאות for for (counter=1 ;counter
פתרון תרגיל 11. שאלה #1 Module Module1 Sub Main() Dim x(10, 10) As Integer Dim i, j As Integer For i = 1 To 10 For j = 1 To 10 x(i, j) = i * j Console.Write("
מבוא כללי למדעי המחשב תרגול 3. לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
ערכים עצמיים בשיטות נומריות. משוואה אופינית X מציין וקטור עצמי מציינת ערך עצמי תואם לוקטור.
מבוא כללי למדעי המחשב שיעור רביעי: לולאות
מבני בקרה לולאות. שאלה #1 שאלה ב' – תכתוב תוכנה הכותבת את תפריט הבאה Type 1 to find the area of a circle Type 2 to find the circumference of a circle.
מבוא למדעי המחשב תרגול מספר.
מבני בקרה לולאות. פקודת CASE Module Module1 Sub Main() Dim input As Char input = Console.ReadLine() Select Case (input) Case "A" Console.WriteLine("A.
תכנות תרגול 5 שבוע : הגדרת פונקציות return-value-type function-name(parameter1, parameter2, …) הגדרת סוג הערכים שהפונקציה מחזירה שם הפונקציהרשימת.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
עקרון ההכלה וההדחה.
תכנות תרגול 4 שבוע : לולאות for לולאות for for (counter=1 ;counter
תכנות מונחה עצמים Object Oriented Programming (OOP) אתגר מחזור ב' Templates תבניות.
מבוא למדעי המחשב תרגול 3 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
מבוא למדעי המחשב, סמסטר א ', תשע " א תרגול מס ' 1 נושאים  הכרת הקורס  פסאודו - קוד / אלגוריתם 1.
פתרון תרגילים #9. דוגמה פשוטה #1 Module Module1 Sub Main() Dim x As String x = Console.ReadLine For i = 1 To x.Length() - 1 Step 2 Console.WriteLine(x(i))
מערכים דו ממדי ו STRUCTS פונקציות בוליאנית Module Module1 Function Flip(ByVal word1 As String) As Boolean Dim i As Integer For i = 0 To word1.Length()
מתמטיקה בדידה תרגול 2.
פונקציות. פונקציות מוכרות Imports System.Math Module Module1 Sub Main() Dim x As Decimal = Math.Abs(-10.4) Dim y As Decimal Console.WriteLine("I will.
Points on a perimeter (Convex Hull) קורס – מבוא לעבוד מקבילי מבצעים – אריאל פנדלר יאיר ברעם.
1 מבוא למדעי המחשב backtracking. 2 מוטיבציה בעיית n המלכות: נתון: לוח שחמט בגודל. המטרה: לסדר על הלוח n מלכות כך שאף אחת לא תאיים על השנייה. דוגמא: עבור.
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
- אמיר רובינשטיין מיונים - Sorting משפט : חסם תחתון על מיון ( המבוסס על השוואות בלבד ) של n מפתחות הינו Ω(nlogn) במקרה הגרוע ובממוצע. ניתן לפעמים.
Structure. מה לומדים היום ? דרך לבנות מבנה נתונים בסיסי – Structure מייצר " טיפוס " חדש מתאים כאשר רוצים לאגד כמה משתנים יחד דוגמאות : עובד : שם, טלפון,
Practice session 3 תחביר ממשי ( קונקרטי ) ותחביר מופשט ( אבסטרקטי ) שיטות חישוב : Applicative & Normal Evaluation Partial Evaluation.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 7. סברוטינות subroutines.
Practice session 3.  תחביר ממשי ( קונקרטי ) ותחביר מופשט ( אבסטרקטי )  שיטות חישוב : Applicative & Normal Evaluation.
הרצאה 3 מבוא למדעי המחשב לתעשייה וניהול הודעות : הודעות : או דרך moodle – ושם לפנות ל : אתר מכון טל החומר.
מבנה נתונים ואלגוריתמים ) לשעבר - עיבוד מידע( ד"ר אבי רוזנפלד ד"ר אריאלה ריכרדסון.
שיאון שחוריMilOSS-il מוטיבציה  python זה קל ו C זה מהיר. למה לא לשלב?  יש כבר קוד קיים ב C. אנחנו רוצים להשתמש בו, ולבסס מעליו קוד חדש ב python.
לולאות- Loops שני סוגי לולאות:
תכנות מכוון עצמים ושפת ++C וויסאם חלילי. TODAY TOPICS: 1. Function Overloading & Default Parameters 2. Arguments By Reference 3. Multiple #include’s 4.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 12. ספריות.
מבנה נתונים ואלגוריתמים ) לשעבר - עיבוד מידע( ד"ר אבי רוזנפלד ד"ר אריאלה ריכרדסון.
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 1 פרק 5 תרשימי מצבים Statecharts למחלקות תגובתיות Reactive Classes הקדמה ודוגמא.
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
מבוא למדעי המחשב לתעשייה וניהול
IF-ELSE כתוב תוכנית הקולטת שלושה מספרים ומדפיסה אותם בסדר עולה(ממיינת אותם)  קלט:7,2,4 ,פלט:2,4,7 .
מחלקות classes.
הרצאה 3: משפטים, תנאים ולולאות
קלט/פלט, משתנים.
לולאות קרן כליף.
حلقات التكرار.
הרצאה 3: משפטים, תנאים ולולאות
Marina Kogan Sadetsky –
מבוא לתכנות בWINDOWS ב#C
ניתוח מערכות מידע תכנות ב C#
מבוא כללי למדעי המחשב תרגול 4
מחסנית ותור Stacks and Queues.
Computer Programming תרגול 3 Summer 2016
Engineering Programming A
Presentation transcript:

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

מפעל השעווה – לולאות  עד עכשיו  טיפלנו בייצור נרות מסוג אחד, במחיר אחיד  למדנו להתמודד עם טיפול במקרים שונים ( הנחות, מחירים שונים לצבעים שונים וכד ')  למדנו לחשב כמה נרות צריך ( עבור קונה יחיד ) לכל החג.  נרצה לתת אפשרות לבצע מספר הזמנות ברצף  כאשר מספר ההזמנות ידוע מראש  כאשר המשתמש יחליט כמה הזמנות לבצע?

פתרון בעזרת for, כאשר מספר ההזמנות ידוע Const WaxPerCandle As Integer = 10 Dim storageWax As Integer = 1000 Dim totalWax, buyWax, numCandles As Integer totalWax = 0 For i As Integer = 1 To 3 Console.WriteLine("Enter number of candles for order " & i) numCandles = Console.ReadLine() totalWax += WaxPerCandle * numCandles Next buyWax = totalWax - storageWax Console.WriteLine("Amount of wax to buy: " & buyWax)

While

while  אם התנאי condition הוא 'אמת' אז ההצהרה statement מתבצעת  אח " כ התנאי נבדק שוב אם ערכו עדיין ' אמת ' ההצהרה מבוצעת שוב  ההצהרה מבוצעת שוב ושוב עד שהתנאי נהיה ' שקר '  ההצהרה יכולה להכיל מספר פקודות, ותקרא גוף הלולאה While condition statements End While

הלוגיקה של פקודת While condition evaluated הביטוי נבדק statement הצהרה מבוצעת true false

פתרון בעזרת while, כאשר מספר ההזמנות אינו ידוע Const WaxPerCandle As Integer = 10 Dim storageWax As Integer = 1000 Dim totalWax, buyWax, numCandles As Integer totalWax = 0 Console.WriteLine("Enter number of candles for order ") numCandles = Console.ReadLine() While numCandles <> 0 totalWax += WaxPerCandle * numCandles Console.WriteLine("Enter number of candles for order ") numCandles = Console.ReadLine() End While buyWax = totalWax - storageWax Console.WriteLine("Amount of wax to buy: " & buyWax)

דוגמא לשימוש בלולאה – חישוב ממוצע  הבעיה :  נקלוט מספרים ממשתמש, נחשב את ממוצע המספרים.  לא נקבע מראש כמה מספרים לקלוט  פתרון :  נקלוט מספר חדש  נוסיף אותו לסכום הביניים + נעדכן את המונה  כשנחליט לעצור  נחלק את סכום הביניים במונה  איך נדע לעצור ?  נבחר ערך שמייצג רצון לעצור

קוד לחישוב ממוצע – חלק 1 Dim sum As Integer = 0, count As Integer = 0 Dim value, average As Single Console.WriteLine("Enter an integer (0 to quit): ") value = Console.ReadLine While value <> 0 count += 1 sum += value Console.WriteLine("Enter an integer (0 to quit): ") value = Console.ReadLine End While המשך בשקף הבא

קוד לחישוב ממוצע – חלק 2 המשך משקף קודם... If count = 0 Then Console.WriteLine("No values were entered.") Else average = sum / count End If Console.WriteLine("The average is " & average)

דוגמא לשימוש בלולאה – בדיקת קלט  הבעיה :  רוצים לקלוט מספרים מהמשתמש  דרוש לקלוט מספרים מסוג מסוים  פתרון :  נשתמש בלולאה  כל עוד לא קיבלנו קלט מתאים  נבקש ונקלוט קלט נוסף

קוד - בדיקת קלט Dim value As Single Console.WriteLine("Enter a number between 1 to 10") value = Console.ReadLine While value 10 Console.WriteLine("Bad input. Enter number between 1 to 10") value = Console.ReadLine End While Console.WriteLine("You entered {0}. Thank you!", value)

יציאה מ while  יציאה מתבצעת כאשר התנאי כבר לא מתקיים  ניתן להתערב בהתנהלות של הלולאה ( כמו ב for) בצורות הבאות :  פקודת Continue גורמת ללולאה לדלג לסיבוב הבא  פקודת Exit גורמת ללולאה להסתיים לחלוטין Dim x As Integer = 0 While x < 10 If x = 3 Then Exit While End If Console.WriteLine("the number is: " & x) x += 1 End While

מה קורה? Dim x As Integer = 0 While x < 10 Console.WriteLine("the number is: " & x) If x = 5 Then Continue While End If x += 1 End While Dim x As Integer = 0 While x > 10 Console.WriteLine("the number is: " & x) x += 1 End While

מה עושה הקוד? Dim x As Integer x = Console.Read() While x <> AscW(vbCr) If x >= AscW(0) And x =< AscW(9) Then Console.Write(ChrW(x)) End If x = Console.Read() End While

Do … loop

Do Until … Loop Dim counter As Integer = 0 Do Until (counter = 10) Console.WriteLine("What is this " & counter) counter = counter + 1 Loop Console.ReadKey()

Do … loop Do While condition statements Loop Do Until condition statements Loop Do statements Loop While condition Do statements Loop Until condition Until – עד ש While – כל עוד

השוואה בין גרסאות do loop condition evaluated הביטוי נבדק statement הצהרה מבוצעת true false condition evaluated הביטוי נבדק statement הצהרה מבוצעת true false Do …. Loop While\Until Do While\Until …. Loop

השוואה בין do ל while Dim low As Integer = 0 Dim high As Integer = 10 Do Console.WriteLine(low) low += 1 Loop While (low < high) Dim low As Integer = 0 Dim high As Integer = 10 Do While (low < high) Console.WriteLine(low) low += 1 Loop Dim low As Integer = 0 Dim high As Integer = 10 Do Console.WriteLine(low) low += 1 Loop While (high < low) Dim low As Integer = 0 Dim high As Integer = 10 Do While (high < low) Console.WriteLine(low) low += 1 Loop

שימוש ב while – לולאה עד אירוע Dim x As Char Dim counter As Integer = 0 x = ChrW(Console.Read()) If (x <> ".") Then counter = counter + 1 End If While (x <> ".") x = ChrW(Console.Read()) If (x <> ".") Then counter = counter + 1 End If End While Console.WriteLine("The counter is " & counter)

שיפור ע"י Do while Dim x As Char Dim counter As Integer = 0 Do x = ChrW(Console.Read()) If (x <> ".") Then counter = counter + 1 End If Loop While (x <> ".") Console.WriteLine("The counter is " & counter)

מה השתנה? Dim x As Char Dim counter As Integer = 0 x = ChrW(Console.Read()) Do Until (x = ".") x = ChrW(Console.Read()) counter = counter + 1 Loop Console.WriteLine("The counter is " & counter)

ומה עכשיו ? Dim x As Char Dim counter As Integer = 0 x = Console.ReadLine() Do Until (x = ".") x = Console.ReadLine() counter = counter + 1 Loop Console.WriteLine("The counter is " & counter)

ועוד גיוון... Dim x As String Dim counter As Integer = 0 Do Until (x = "stop") Console.WriteLine("Please enter a word") x = Console.ReadLine() counter = counter + 1 Loop Console.WriteLine("The counter is " & counter)

עבודה עם קבצים ולולאות

קריאה מתוך קובץ - הרחבה  ראינו שמאתחלים את שם הקובץ כך : writer =My.Computer.FileSystem.OpenTextFileWriter(" שם קובץ ")  ניתן גם להשתמש ב :  writer =File.OpenText(" שם קובץ ")

לולאה בקבצים עד אירוע Dim Input As Integer Dim sum = 0, count = 0 Dim objStreamReader As StreamReader objStreamReader = File.OpenText("z:\NumTest.txt") Do Until Input = -1 Input = objStreamReader.ReadLine() If (Input <> -1) Then sum += Input count += 1 End If Loop Console.WriteLine("The Average is " & sum / count)

אפשר לוותר על ה if, ע"י השינוי הבא: Dim Input As Integer = 0 Dim sum = 0, count = 0 Dim objStreamReader As StreamReader objStreamReader = File.OpenText("z:\NumTest.txt") Do Until Input = -1 sum += Input count += 1 Input = objStreamReader.ReadLine() Loop Console.WriteLine("The Average is " & sum / (count - 1))

לולאה עד סוף הקובץ Dim Input As String = "" Dim objStreamReader As StreamReader objStreamReader = File.OpenText("z:\NumTest.txt") Do Input = objStreamReader.ReadLine() Console.WriteLine("I read " & Input) Loop Until Input Is Nothing