פורסם 2012 ביוני 1613 שנים זו תכנית שיוצרת מערך של 100 תאים ומכניסה מספרים רנדומליים 1-100 לכל תא. לאחר מכן המשתמש בוחר מספר מסוים והתכנית מחפשת את המספר במערך.import java.util.Scanner;public class arr { public static void main(String[] args) { Scanner s = new Scanner(System.in); boolean found, flag = true; int[] arr = new int[100]; for(int i=0; i<arr.length; i++){ arr[i] = (int) (1 + Math.random()*100); System.out.print(arr[i]+" "); } do { System.out.println(); System.out.print("Enter number to search: "); int num = s.nextInt(); if(num>0 && num<=100) { int i; found = false; // Search the array until number is found, or until end of array for(i=0; i<arr.length && !found; i++) { if(arr[i] == num) found = true; } if(found) System.out.println("Number was found on cell "+i); else System.out.println("Number was not found"); } else flag = false; } while(flag); }}מה שלא הבנתי בתכנית זה השימוש במשתנים הבוליאנים.עדיין לא הצלחתי לגמרי להבין מה השימוש בהם בתכניות שונות וכיצד הם מתבטאים.מישהו יכול בבקשה לסגור לי את הפינה ולהסביר לי מה השימוש בהם בכלל ומה השימוש בהם בתכנית הנ"ל בפרט (בכל שלב שהם מופיעים)?תודה מראש
פורסם 2012 ביוני 1613 שנים משתנה בוליאני נועד לתת לך אינדיקציה על מצב מסוים של המערכת ולכן הוא יכול להחזיק שני ערכים: אמת או שקר.תקרא עוד קצת בויקיפדיה, זה משהו בסיסי שאתה חייב להבין בשביל לעבוד בכל שפת תכנות:http://en.wikipedia.org/wiki/Boolean_data_typeבתכנית שלך יש שני משתנים כאלה, הראשון (found) כשמו כן הוא ואומר מתי מצאת את המספר שאתה מחפש.שים לב שהלולאה רצה כל עוד המשתנה הזה מחזיק שקר (found! משמעו not found) וברגע שמוצאים את המספר משנים את ערכו לאמת ואז הלולאה מפסיקה.המשתנה השני מחזיק בשם כללי ולא אינפורמטיבי (מנהג רע בתכנות אבל זה בלי קשר...) אבל התפקיד שלו דומה.שים לב שהלולאה החיצונית רצה כל עוד המשתנה הזה הוא אמת - זו המשמעות של השורה הלפני אחרונה (לעומת סימן הקריאה שהיה בבדיקת התנאי הקודם).אם התנאי שבודקים בתוך הלולאה אינו מתקיים אז המשתנה הזה מקבל שקר ואז הלולאה מפסיקה לרוץ.
פורסם 2012 ביוני 1613 שנים מחבר לפני הלולאה של חיפוש המספר כתוב found = falseאז מה זה אומר על found! ?
פורסם 2012 ביוני 1613 שנים בוא נעשה קצת סדר.איפה שכתוב found=false מדובר בהצבה של ערך למשתנה.איפה שכתוב found! (בתוך הסוגריים של לולאת ה-for) מדובר בבדיקה של ערך המשתנה.המשמעות של בדיקה כזו היא השאלה "האם במשתנה found מוצב ערך false?".אם אין לך את סימן הקריאה אז המשמעות היא "האם במשתנה מוצב ערך true".מכיוון שאתה מציב false למשתנה בתחילת התכנית אז הבדיקה found! מתקיימת - התשובה לשאלה הנ"ל חיובית ולכן הלולאה ממשיכה עד אשר תציב ערך true למשתנה הזה ואז התנאי כבר לא יתקיים.
פורסם 2012 ביוני 1613 שנים אופרטור "!" זה אופרטור אונרי שמשמעותו שלילה.במידה וערכו של found הוא false אזי found! משמעותו true וההפך.!false == true!true == false
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.