מבוא למדעי המחשב, סמסטר א', תשס"ח תרגול מס' 2

מסמכים קשורים
מהוא לתכנות ב- JAVA מעבדה 3

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

PowerPoint Presentation

PowerPoint Presentation

PowerPoint Presentation

Slide 1

Slide 1

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

תרגול 1

מצגת של PowerPoint

מבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדי

Slide 1

אוניברסיטת בן גוריון בנגב תאריך המבחן: שקולניק אלכסנדר שם המרצה: מר בשפת JAVA מבוא לתכנות מבחן ב: מס' הקורס : הנדסת תעשיה וניהול מ

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

תרגול מס' 4: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש

PowerPoint Presentation

PowerPoint Presentation

PowerPoint Presentation

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

משימה תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם תרגול מס' 4: המתרגם שימוש במחלקות קיימות תכנות מתק

אוניברסיטת בן גוריון בנגב תאריך המבחן: שם המרצה: מר אלכסנדר שקולניק, בשפת JAVA מבחן ב: מבוא לתכנות מס' הקורס : מיועד לתלמידי : הנד

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

מבוא לתכנות ב- JAVA תרגול 7

Microsoft Word - pitaron222Java_2007.doc

Slide 1

Slide 1

Microsoft PowerPoint - rec3.ppt

Microsoft Word - Ass1Bgu2019b_java docx

תכנות מונחה עצמים א' – תש"ע

Slide 1

Slide 1

PowerPoint Presentation

פתרון מוצע לבחינת מה"ט ב_שפת c מועד ב אביב תשע"ט, אפריל 2019 מחברת: גב' זהבה לביא, מכללת אורט רחובות שאלה מספר 1 מוגדרת מחרוזת המורכבת מהספרות 0 עד 9.

PowerPoint Presentation

שאלהIgal : מערכים דו מימדיים רקורסיה:

מבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. ב

סדנת תכנות ב C/C++

Microsoft PowerPoint - rec1.ppt

מבוא לתכנות ב- JAVA תרגול 11

Microsoft PowerPoint - T-10.ppt [Compatibility Mode]

Slide 1

PowerPoint Presentation

מבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו

אוניברסיטת חיפה החוג למדעי המחשב מבוא למדעי המחשב מועד א' סמסטר ב', תשע"ג, משך המבחן: שעתיים וחצי חומר עזר: אסור הנחיות: וודאו כי יש בידיכם

תרגול מס' 7: תרגילים מתקדמים ברקורסיה

שבוע 4 סינטקס של HACK ASSEMBLY ניתן להשתמש בשלושה אוגרים בלבד:,A,D,M כולם בעלי 16 ביטים. M אינו אוגר ישיר- הוא מסמן את האוגר של ה RAM שאנחנו מצביעים ע

תורת החישוביות תרגול הכנה לוגיקה ותורת הקבוצות מה יש כאן? בקורס תורת החישוביות נניח ידע בסיסי בתורת הקבוצות ובלוגיקה, והכרות עם מושגים בסיסיים כמו א"ב

תשע"דד אביב תוכנה 1 תרגיל מספר 4 עיבוד מחרוזות וקריאה מקבצים הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס..(

תורת הקומפילציה

מספר מחברת: עמוד 1 מתוך 11 ת"ז: תשע"א מועד ב סמסטר א' תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי ה

מקביליות

PowerPoint Presentation

ex1-bash

תרגול 3 - מערכים

תרגיל בית מספר 1#

הגשה תוך שבוע בשעת התרגול

המשימה תרגול מס' 5: קלט-פלט במערכות הפעלה שונות יש סימונים שונים עבור ירידת שורה :)newline( ב- UNIX/Linux )Line Feed( \n ב- Windows )Carriage Return +

פתרון 2000 א. טבלת מעקב אחר ביצוע האלגוריתם הנתון עבור הערכים : פלט num = 37, sif = 7 r האם ספרת האחדות של sif שווה ל- num num 37 sif 7 שורה (1)-(2) (

שאלהIgal : מערכים דו מימדיים רקורסיה:

PowerPoint Presentation

מבוא למדעי המחשב - חובלים

תרגול 1

Python 2.7 in Hebrew

PowerPoint Presentation

Microsoft PowerPoint - 10_threads.ppt

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

תרגול מס' 1

שקופית 1

2013/14 אוניברסיטת חיפה מבוא למדעי מחשב, מעבדה מטרת המעבדה: לתרגל את המעבר מאלגוריתם לקוד C כמה שיותר. הוראות:.1.2 ניתן לעבוד ביחידים או בזוגות. (יש מ

ייבוא וייצוא של קבצי אקסל וטקסט

מספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בי

Microsoft Word - c_SimA_MoedB2005.doc

<4D F736F F D20E7E5F7E920E0E9EEE5FA20E1E8E1ECE42E646F63>

אוניברסיטת חיפה החוג למדעי המחשב.5.6 מבוא למדעי המחשב סמסטר א' תשע"ז בחינה סופית מועד א', מרצה: שולי וינטנר מתרגלים: סמאח אידריס, ראמי עילבו

Slide 1

Homework Dry 3

תוכן העניינים

Microsoft PowerPoint - lec2.ppt

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

תכנות בשפת פייתון ברק גונן

Slide 1

שאלהIgal : מערכים דו מימדיים רקורסיה:

מתכונת עיצוב 3013

Tutorial 11

תוכנה 1 1 אביב תשע"ג תרגיל מספר 5 מערכים, מחרוזות, עיבוד טקסט ומבני בקרה הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגש

Slide 1

Slide 1

מבחן בפיתוח מערכות תוכנה בשפת Java ( )

Microsoft PowerPoint - lec10.ppt

אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי

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

1 תוכנה 1 תרגיל מספר 7 מנשקים Interfaces הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת התרגיל תעשה במערכת ה- moodle ב

דוגמאות שהוצגו בהרצאה 10 בקורס יסודות מערכות פתוחות דוגמה 1 דוגמאות של פונקציות ב- awk שמראות שהעברת פרמטרים של משתנים פשוטים היא by value והעברת פרמט

Microsoft Word - c_SimA_MoedA2006.doc

תמליל:

מבוא למדעי המחשב תרגול מס' 2 נושאים משתנים טיפוסים אופרטורים פונקציות מתמטיות מהמחלקה Math המרת טיפוסים תנאים ולולאות 1

2 תזכורת משיעור קודם

תזכורת... תכנית מחשב נכתבת כטקסט בקובץ. הטקסט כתוב בשפת תכנות והוא מכיל את ההוראות המהוות את התוכנית. התוכנית עוברת תהליך הנקרא הידור )או קומפילציה( ואחריו מקבלים קובץ הניתן להרצה. בקורס זה נכתוב תוכניות בשפה Java תוכניות ב Java נשמרות בקבצים בעלי סיומת.java 3

תוכנית ראשונה הקלידו את התוכנית הבאה בקובץ.Hello.java שימו לב לסימני פיסוק, ואותיות גדולות וקטנות. /* This program prints "Hello World!" on the screen */ public class Hello { public static void main(string[] args) { System.out.println("Hello World!"); 4

5 נושא ראשון: משתנים.

משתנים וטיפוסים מהו משתנה? משתנה (variable) הוא שם סימבולי המשוייך למקום בזיכרון אשר יכול להכיל ערכים שונים במהלך ריצת התוכנית. למה צריך משתנים? ניתן להשתמש במשתנים על מנת לשמור ערכים, לשימוש בשלב מאוחר יותר בתוכנית. בJava, לכל משתנה יש טיפוס.(type) הטיפוס קובע אילו סוגי ערכים המשתנה יכול להכיל בזמן ריצת התוכנית. 6

טיפוס המשתנה משתנים וטיפוסים בJava, לכל משתנה יש טיפוס (type) הקובע אילו סוגי ערכים המשתנה יכול להכיל בזמן ריצת התוכנית. למעשה, הטיפוס מגדיר כמה מקום בזיכרון יהיה בשימוש עבור הערכים של המשתנה ואיך נשתמש במקום זה על מנת לייצג את הערכים השונים שיכול לקבל המשתנה. objects ו primitives סוגי טיפוסים לJava יש שני סוגים של טיפוסים: היום נדבר רק על.primitives 7

הגדרת משתנים כדי להגדיר משתנה בJava יש להכריז על שמו של המשתנה וטיפוסו. למשל זוהי הגדרה על משתנה בשם num מטיפוס int )מספר שלם(. int num; אפשר להגדיר מספר משתנים מאותו טיפוס בשורה אחת: int num1, num2; 8

קבועים קבוע (constant) הוא שם סימבולי המשוייך למקום בזיכרון אשר יכול להכיל ערך יחיד במהלך ריצת התוכנית. קבוע דומה הוא כמו משתנה שמשימים לו ערך פעם אחת בלבד במהלך כל התוכנית. דוגמה: final int PASS_GRADE = 56; int grade; grade = PASS_GRADE - 1; 9

טווח הכרה של משתנה טווח ההכרה של משתנה (scope) הוא האזור בתוכנית שבו המשתנה מוגדר וניתן להשתמש בו. טווח ההכרה של משתנה תלוי בבלוק בו הוא מוגדר מצוין ע"י סוגריים מסולסלים(. )בלוק טווח ההכרה של המשתנה מתחיל בשורה שבו המשתנה מוגדר ומסתיים בסוף הבלוק שבו נמצאת הגדרת המשתנה. 10

טווח הכרה של משתנים, תרגילון. public static void main(string[] args) { int y = 3; { int x = 1; //is y accessible from here? if (true) { int x = 2; { int z = 1; //what will be printed? System.out.println(x + y + z); //what does the following line will print: System.out.println("x is: " + x); int x = 3; 11

פעולת השמה פעולת השמה (assignment) משוייך המשתנה. משימה ערך במקום בזיכרון אליו לדוגמא: כדי להשים את הערך 3 למשתנה num num = 3 יש לרשום: פעולת ניתן * השמה חייבת להופיע בתוך טווח ההכרה של המשתנה. להגדיר את המשתנה ולבצע השמה בשורה אחת: int num1 = 1; 12

אין להשתמש במשתנה שלא קיבל ערך! מה ידפיס הקוד הבא? public static void main(string[] args) { int x; System.out.println("x is: " + x); 13

14 נושא שני: טיפוסים.

15 טיפוסים טיפוס של משתנה קובע: אילו ערכים יכול המשתנה להכיל מהן הפעולות שניתן לבצע על המשתנה רקע הזיכרון במחשב הוא זיכרון בינארי (binary) המכיל ביטים. ביט -(bit) יחידת זיכרון בינארית. ביט יכול להיות 0 או 1. זיכרון המחשב נמדד ביחידות בסיסיות הנקראות בתים 1 byte = 8 bit.(bytes) ערכים המאוחסנים בזיכרון המחשב נשמרים בבתים. מספר הבתים שדורש אחסון של משתנה תלוי בטיפוסו. לעוד מידע בנושא ניתן לפנות לWikipedia.Binary -

זיכרון המחשב ניתן לחשוב על זיכרון המחשב כשורה ארוכה )מאוד( של נקודות שחורות ולבנות. המחשב מקודד ערכים שונים באמצעות הצבעים של הנקודות. 16

זיכרון המחשב לדוגמא: אם המחשב רוצה לשמור ערך שיכול להיות כל מספר בין 0 ל 3, המחשב יוכל להשתמש ב 2 נקודות )או ביטים( כך: = 0 = 1 = 2 = 3 לפי השיטה הנ"ל, כמה ביטים ידרשו למחשב כדי להחזיק ערך שיכול להיות בין 0 ל 7? 17

byte, short, int, long טיפוסים פרימיטיביים 1. טיפוסים נומריים שלמים טיפוסים המייצגים למשל: מספרים שלמים: long longnum, longnum2; byte bytenum = 125; longnum = 1234567890; double doublenum; doublenum = 3.75;.double, float 2. טיפוסים ממשיים הטיפוסים הממשיים הם למשל: 18

3. טיפוסים לוגיים טיפוסים פרימיטיביים הטיפוס הלוגי נקרא.boolean לקבל ערך true או.false משתנים מטיפוס זה יכולים boolean indicator; indicator = true; 4. תווים תו:.char סימן בודד כגון אות, ספרה, רווח, סימן קריאה וכו'. ערך מסוג )char literal( char תחום בגרשיים בודדות למשל, 'A','a'. לפני סימן מיוחד יש תו backslash )למשל, ) backspace '\b', tab '\t',newline '\n' char capitaln; capitaln = 'N'; 19

טבלת סיכום טיפוסים bytes טיפוס מספר ה ערכים 2 7-1 to -2 7 1 byte 2 15-1 to -2 15 2 short 2 31-1 to -2 31 4 int 2 63-1 to -2 63 8 long Unicode chars 2 char true, false from 1 bit to 1 byte depending on padding boolean from 1.40129846432481707e-45 to 3.40282346638528860e+38 (positive or negative) 4 float 4.94065645841246544e-324d to 1.79769313486231570e+308d (positive or negative) 8 double 20

21 נושא שלישי: אופרטורים.

אופרטורים אופרטורים: סימנים מיוחדים שמבצעים פעולה ספציפית על 1,2 או 3 אופרנדים. אופרטורים אריתמטיים מבצעים פעולות חשבוניות על אופרנדים אריתמטיים מטיפוס אריתמטי(: )מספרים או משתנים 22

דוגמה 1 /* This program demonstrates addition and multiplication between integers. */ public class OperatorsExample1{ public static void main(string[] args){ int a = 3, b = 5; int c; c = 8 c = 16 c = a + b; System.out.println("c = "+ c); c = c * 2; System.out.println("c = "+ c); 23

דוגמה 2 התוכנית הבאה מדגימה את סדר הפעולות של הפעולות האריתמטיות: public class OperatorsExample { public static void main(string[] args) { int a = 18; int b = 42; int first = (a + b) * 2; int second = a + b * 2; System.out.println("first number is:" + first); System.out.println("second number is:" + second); first number is:120 second number is:102 24

שאלה בהנתן מספר בין 3 ספרות שונות מ 0, כיצד ניתן לחשב את המספר שיתקבל מהפיכת סדר הספרות של המספר הראשון? לדוגמא: בהנתן 123=n לחשב את המספר 321=m 25

פתרון import java.util.scanner; /* This program accepts a 3-digit number from the user * reverses the digits and prints the result */ public class Reverse { public static void main(string[] args) { // Read a number from the user. Scanner sc = new Scanner(System.in); System.out.print("Enter a 3-digit number:"); int num = sc.nextint(); // divide the number into ones, tens and hundreds. int ones = num % 10; int tens = (num % 100) / 10; int hundreds = num / 100; // calculate the reverse number int reversenum = (ones * 100) + (tens * 10) + hundreds; System.out.println("The reverse number is " + reversenum); Enter a 3-digit number: 951 The reverse number is 159 26

אופרטורים יחסיים ב Java יש 6 אופרטורים המשווים בין שני מספרים ונותנים תשובה בוליאנית true( או.)false Operator Name Description x < y Less than true if x is less than y, otherwise false. x > y Greater than true if x is greater than y, otherwise false. x <= y x >= y Less than or equal to Greater than or equal to true if x is less than or equal to y, otherwise false. true if x is greater than or equal to y, otherwise false. x == y Equal true if x equals y, otherwise false. x!= y Not Equal true if x is not equal to y, otherwise false. 27

דוגמה import java.util.scanner; // This program compares two numbers with relational operators public class RelationalOperators { public static void main(string[] args) { Scanner sc = new Scanner(System.in); System.out.print("Enter the first number:"); int x = sc.nextint(); System.out.print("Enter the second number:"); int y = sc.nextint(); System.out.println("x<y is " + (x < y)); System.out.println("x>y is " + (x > y)); System.out.println("x<=y is " + (x <= y)); System.out.println("x>=y is " + (x >= y)); System.out.println("x==y is " + (x == y)); System.out.println("x!=y is " + (x!= y)); Enter the first number:10 Enter the second number:20 x<y is true x>y is false x<=y is true x>=y is false x==y is false x!=y is true 28

אופרטורים לוגיים אופרטורים לוגיים פועלים על ערכים מטיפוס לוגי נותנים תשובה בוליאנית true( או.)false וגם )בוליאני( Operator Name Description x && y And True if both x and y are true, otherwise false. x y Or True if at least one of x or y are true, otherwise false.! x Not True if x is false, otherwise false. Or מתבצעת משמאל לימין. הערכת האופרטורים הלוגיים And ו * 29

דוגמה import java.util.scanner; // This program demonstrates logical operators. // It reads two integers from the user and checks if // they are larger than 10. public class LogicalOperators { public static void main(string[] args) { Scanner sc = new Scanner(System.in); System.out.print("Enter the first number:"); int x = sc.nextint(); System.out.print("Enter the second number:"); int y = sc.nextint(); System.out.println("(y<10)&&(x<10) is " + ((y<10) && (x<10))); System.out.println("(y<10) (x<10) is " + ((y<10) (x<10))); boolean state; state = ((y < 10) (x < 10)); System.out.println("state is " + state); Enter the first number:10 Enter the second number:9 (y<10)&&(x<10) is false (y<10) (x<10) is true state is true 30

31 נושא רביעי:.Math

המחלקה Math המחלקה Math וקבועים. Math.abs(x) מאגדת בתוכה פונקציות מתמטיות שימושיות ערך מוחלט של x. Math.max(x1,x2), Math.min(x1, x2) והמקסימום )בהתאמה( בין x1 ו x2. Math.pow(x, y) מחשב את x.)x y ( בחזקת y Math.sqrt(x) שורש ריבועי של.x Math.random() מחזיר מספר אקראי בין 0 המינימום ל 1 Math.PI קבוע המייצג את הערך )3.14159...( 32 )לא כולל 1(.

דוגמה public class UseMath { public static void main(string[] args){ // This is an example of using Math methods double x = Math.abs(-3); x = Math.pow(x, 2 ); x = Math.max(x, Math.PI); System.out.println("max( ( -3 )^2, Pi ) = " + x); x = Math.random(); System.out.println("A random number between 0 and 1: "+ x); max( ( -3 )^2, Pi ) = 9.0 A random number between 0 and 1: 0.9764623048094814 המחלקה Math ומחלקות רבות נוספות כלולות בספריות Java הכלולות בהתקנת הJRE. מידע מפורט על מחלקת Math ומחלקות נוספות הכלולות ב Java ניתן למצוא בקישור http://download.oracle.com/javase/6/docs/api/java/lang/math.html 33

נושא חמישי:.Casting 34

שינוי צורת הסתכלות ניתן לחשוב על Casting של טיפוסים פרימיטיביים כאל שינוי צורת הסתכלות: double : 48.84 int: 48 (Narrowing Primitive Conversion) Int : 48 double: 48.0 (Widening Primitive Conversion) Int : 48 char: 0 WAT! 35

המרת טיפוס )Casting( לכל משתנה ב Java יש טיפוס ספציפי. מה קורה כאשר מערבים טיפוסים שונים בביטוי? במקרים מסוימים Java מטפלת בטיפוסים השונים באופן אוטומטי ובפעמים אחרות אנחנו חייבים לבצע המרה מפורשת של טיפוס נתונים אחד לאחר. 1. המרות אוטומטיות כאשר מבצעים פעולה אריתמטית הערך המתקבל הינו בעל טיפוס מסוים. אם כך המרכיבים מאותו טיפוס אז הטיפוס המתקבל בפעולה הינו זהה. long y, w; long z = w + y; הערך של הביטוי w+y הינו מטיפוס.long 36

המרת טיפוס )Casting( כאשר מרכיבי הביטוי הינם מטיפוסים שונים הביטוי המתקבל יהיה מהטיפוס של המרכיב הכולל ביותר. הסדר של טיפוסים המספרים מן הפחות כולל לכולל ביותר הינו:.byte, short, int, long, float, double / דוגמה האופרטור מופעל. עובד אחרת בהתאם לטיפוסים עליהם הוא 5.0/2 --> 2.5 5.0/2.0 --> 2.5 5/2.0 --> 2.5 5/2 --> 2 37

המרת טיפוס )Casting( 2. המרות יזומות ניתן לבצע המרת טיפוס ע"י שימוש בפעולת השמה. הביטוי הימני עובר המרה לטיפוס של המשתנה המופיע בצד שמאל של ההשמה. int i = 5; double d; d = i; // d is 5.0 המרה כזו אפשרית רק כאשר הטיפוס של המשתנה בצד שמאל יותר מהטיפוס של הביטוי בצד ימין. כללי 38

המרת טיפוס )Casting( במקרה ההפוך, כאשר הטיפוס של המשתנה בצד שמאל כללי פחות מהטיפוס של הביטוי בצד ימין, נשתמש באופרטור ה type.(<type>) :cast double d = 5.3; int i ; i = (int) d; // i is 5 ניתן להשתמש בcast type גם כאשר רוצים למנוע איבוד של חלק השבר בחלוקה של מספרים שלמים : double d; int x = 5, y = 2 ; d = ((double) x)/y; d = (double) x/y; 39

40 נושא שישי: תנאים ולולאות.

משפט if-else משפט if-else הוא מבנה בסיסי בשפה המאפשר לשלוט בזרימת התוכנית. למשפט זה יש שני צורות: if (<condition>){ <statement> if (<condition>){ <statement> else { <alternative> 41

import java.util.scanner; דוגמה ל- if public class Triangle { public static void main(string[] args) { Scanner sc = new Scanner(System.in); System.out.print("Enter the first number:"); double a = sc.nextint(); System.out.print("Enter the second number:"); double b = sc.nextint(); System.out.print("Enter the third number:"); double c = sc.nextint(); if ((a + b <= c) (a + c <= b) (b + c <= a)) { System.out.println("There is no triangle with these sides."); else{ System.out.println("There is a triangle with these sides."); 42

לולאות לולאה מאפשרת לחזור על פעולות מספר פעמים תנאי כלשהו מתקיים. כל עוד.1 לולאת while while ( 1 <condition> ) { 2 <statement> 1 2 1 2 1 2 1 2 1.2 לולאת for for( 0 <initial>; 1 <condition> ; 3 <update>) { 2 <statement> 0 1 2 3 1 2 3 1 2 3 1 2 3 1 43

דוגמה java.util.scanner; import // compute n! using while and for sentences. public class Factorial { public static void main(string[] args) { Scanner sc = new Scanner(System.in); System.out.print("Enter a non-negative number:"); int n = sc.nextint(); // 1. using while int fact = 1; int i = 1; while ( i <= n ) { fact = fact * i; i = i + 1; System.out.println("n!=" + fact); // 2. using for fact = 1; for ( i = 1; i <= n; i = i + 1){ fact = fact * i; System.out.println("n!=" + fact); 44

הערות על כתיבת קוד מכיוון שקטעי הקוד אותם נכתוב בקורס הזה ובכלל נקראים יותר מפעם אחת ישנם מספר כללים עליהם יש לשמור בכדי לדאוג שהקוד יהיה קריא וניתן להבנה מהירה שמות משתנים כאשר ניתן שמות למשתנים בתוכנית שלנו, יש לדאוג לתת שמות בעלי משמעות. שמות משתנים תמיד יתחילו באות קטנה ובנוסף, במידה ושם המשתנה מכיל יותר ממילה אחת, יש להשתמש באותיות גדולות בכדי לסמן התחלה של כל מילה )מוסכמה זו נקראת.)CamelCase int numberofstudentseating; //better then nose הערות בקוד יש חשיבות גדולה לתוספת של הערות על קטע קוד, יש לתאר מה מטרת קטע הקוד בקצרה. עימוד )אינדנטציה( שימוש בעימוד על ידי הוספת טאבים לאחר פתיחת בלוק של קוד עוזרים להפוך את הקוד לקריא ומובן יותר )ניתן להבין את החלוקה לבלוקים(. 45