שאלה ב- JAVA בעולם הרובוטים... - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

שאלה ב- JAVA בעולם הרובוטים...


iem

Recommended Posts

עולם הרובוטים זוהי השיטה שלומדים בה JAVA היום ברוב האוניברסיטאות...

אם יש לי את התוכנית הבאה:

void main()

{

RightTurner bill = new RightTurner (2,1,north,0);

BasicWorld myWorld = new BasicWorld (...) ;

while (myWorld.frontIsClear(xLoc(),yLoc(),facing()))

bill.move();

bill.pickBeeper();

bill.turnRight();

while(!myWorld.leftIsClear(xLoc(),yLoc(),facing()))

bill.move();

bill.turnLeft();

bill.turnLeft();

bill.move();

bill.putbeeper();

bill.move();

bill.turnOff();

{

d

(הוספתי האות d לא קשורה לתוכנית אחרת הוא לא מסדר את הסימנים בפורום כאן...)

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

לאחר לקיחת הזמזם מיד נוטה ימינה ואז אם אין קיר בצד שמאל הוא יצעד ימינה ??? למה ???? מה קשור ??

ולא הבנתי את ההגיון בעולם הזה.. כי שואלים אותי מה הרובוט ולא !! איך הוא , ז"א שבעולם שלו יש

הגיון כלשהו איזושהי צורה או לחילופין הגיון אחר ולא סתם קירות אבל לא תפסתי מהו ....

עזרה ?! מישהו ?! :'(

קישור לתוכן
שתף באתרים אחרים

עזרה במה? מה אתה רוצה? תשאל שאלות וננסה לענות עליהן.

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

קישור לתוכן
שתף באתרים אחרים

עזרה במה? מה אתה רוצה? תשאל שאלות וננסה לענות עליהן.

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

לא הבנתי מה לא ברור בשאלה שלי ?

אני בסה"כ רוצה עזרה בניתוח של מה התוכנית המצ"ב עושה .... :nixweiss:

קישור לתוכן
שתף באתרים אחרים

או, עכשיו כזה ברור אני יכול לענות לך תשובה ברורה: אני לא יודע JAVA...

...אבל יש לא מעט אנשים בפורום שכן יודעים.

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

ואז קל יותר לעבור עליו:


int f( int x, int y)
{
while ( x > y )
{
x--;
}
return y;
}

ככה אפשר לקרוא בקלות ולהבין שהפונקציה שכתבתי לא מועילה בכלל.

קישור לתוכן
שתף באתרים אחרים

עולם הרובוטים זוהי השיטה שלומדים בה JAVA היום ברוב האוניברסיטאות...

void main()

{

RightTurner bill = new RightTurner (2,1,north,0);

BasicWorld myWorld = new BasicWorld (...) ;

while (myWorld.frontIsClear(xLoc(),yLoc(),facing()))

bill.move();

bill.pickBeeper();

bill.turnRight();

while(!myWorld.leftIsClear(xLoc(),yLoc(),facing()))

bill.move();

bill.turnLeft();

bill.turnLeft();

bill.move();

bill.putbeeper();

bill.move();

bill.turnOff();

{

זה לקוח ממ"ן 11 באוניברסיטה הפתוחה במבוא למדעי המחשב .

זה מאוד פשוט אם לא הבנת אני ממליץ לך ללמוד עצמאית ג'אווה ממדריכים בעיברית

התוכנית הולכת כך :

הרובוט מוצב בנקודה 2,1 ופניו צפונה .

לולאה : כל עוד קדימה פנוי ,התקדם .

הרם ביפר

פנה ימינה

לולאה : כל עוד הצד השמאלי של הרובוט לא פנוי , התקדם .

הסתובב 180 מעלות

התקדם צעד אחד

הנח ביפר

התקדם צעד אחד

כבה את עצמך .

קישור לתוכן
שתף באתרים אחרים

זה לקוח ממ"ן 11 באוניברסיטה הפתוחה במבוא למדעי המחשב .

זה מאוד פשוט אם לא הבנת אני ממליץ לך ללמוד עצמאית ג'אווה ממדריכים בעיברית

התוכנית הולכת כך :

הרובוט מוצב בנקודה 2,1 ופניו צפונה .

לולאה : כל עוד קדימה פנוי ,התקדם .

הרם ביפר

פנה ימינה

לולאה : כל עוד הצד השמאלי של הרובוט לא פנוי , התקדם .

הסתובב 180 מעלות

התקדם צעד אחד

הנח ביפר

התקדם צעד אחד

כבה את עצמך .

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

שמאחורי זה ... ג'אווה אני דווקא מבין מצויין אבל את ההגיון מאחורי התוכנית הזו לא ממש...

קישור לתוכן
שתף באתרים אחרים

את הממ"ן הזה כבר עשיתי . ועל השאלה הראשונה עניתי במשפט אחד ,

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

אני רק הסברתי לך איך התוכנית הולכת .

אני אשמח לעזור לך מה לא הבנת ?

קישור לתוכן
שתף באתרים אחרים

את הממ"ן הזה כבר עשיתי . ועל השאלה הראשונה עניתי במשפט אחד ,

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

אני רק הסברתי לך איך התוכנית הולכת .

אני אשמח לעזור לך מה לא הבנת ?

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

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

קישור לתוכן
שתף באתרים אחרים

עולם הרובוטים זוהי השיטה שלומדים בה JAVA היום ברוב האוניברסיטאות...

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

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

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

קישור לתוכן
שתף באתרים אחרים

<p>זליג אל תזלזל בעמיתיך למקצוע לעתיד <img src="https://hwzone.co.il/community/uploads/emoticons/smile.png" alt=":)" srcset="https://hwzone.co.il/community/uploads/emoticons/smile@2x.png 2x" width="20" height="20"></p><p>עולם הרובוטים זה ההתחלה של ההתחלה . צריך להתחיל מאיפהשהו לא ? </p>

קישור לתוכן
שתף באתרים אחרים

זליג אל תזלזל בעמיתיך למקצוע לעתיד :)

עולם הרובוטים זה ההתחלה של ההתחלה . צריך להתחיל מאיפהשהו לא ?

זה די מעצבן אותי התגובה הזו. קראתי בכלל את מה שכתבתי?

א) אני לא זה שמזלזל באף אחד. זה האוניברסיטה שלהם שמזלזלת בהם ומתייחסת אליהם כמו לילדים (אני מקווה שזה רק נראה כך ולא באמת).

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

ג) האוניברסיטה זו לא ההתחלה של ההתחלה. אם ילמדו שם פיסיקה ב-"עולם החלקיקים" זה נראה לך הגיוני? ואולי ילמדו אלגברה ב-"עולם הבדידים"?

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

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

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

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

קישור לתוכן
שתף באתרים אחרים

מתחילים ללמד את זה במבוא במקום ללמד C.

הבנתי שפיתחו את זה באיזושהי אוניברסיטה בארה"ב.

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

לדעתי - צריך ללמוד C במבוא, לא JAVA. זה מקנה יכולות טובות יותר להתמודד עם בעיות מסויימות, וגורם לסטודנטים לחשוב טוב יותר על יעילות ועל מה בתכלס כדאי לעשות בקוד עצמו.

כשכותבים ב(ובC#)JAVA יש תחושה כזו שאפשר לעשות מה שרוצים, בלי להתחשב בזמן הריצה. בנוסף סטודנטים רבים יתחילו לזלזל בC אחרי שהם יגלו שהם אלה שצריכים למש את הרשימות המקושרות.

קישור לתוכן
שתף באתרים אחרים

זה די מעצבן אותי התגובה הזו. קראתי בכלל את מה שכתבתי?

סליחה זליג , אולי הייתי צריך לכתוב את התגובה בסגנון אחר :-\ .

בכל מקרה בקורס המבוא למדעי המחשב שלנו יש 20 יחידות לימוד , מתוכם עולם הרובוטים הוא רק 4 יחידות .

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...