שאלה

BravoMan

Active member
תודה, אשמח אם תעבור על הקבצים שלי.
עברתי על הקבצים שלך.
היה קצת צחוקים, בעיקר מקובץ ה-"חוקים".

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

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

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

BravoMan

Active member
אז איך אתה יודע בכלל שיש תקלות אם אתה לא יודע למצוא אותן?
אולי התוכנה בעצם עובדת, והתוצאה פשוט שונה ממה שציפית?

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

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

BravoMan

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

הקוד שלך מעתיק קובץ לקובץ.

אם תיתן לו מילון בודד, הוא יצור אחד, אולי שני קבצים ממנו, ולא יותר.

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

קבצים מצורפים

  • AI2.BAS.txt
    KB 11.2 · צפיות: 2

BravoMan

Active member
צירפתי לך שוב את הקובץ. בבקשה בדוק אותו ותגיד לי למה אתה חושב שהוא לא מבצע מה שצריך, ואיך אפשר לתקן.
כל מה שעשית היה לשנות את שם המשתנה con ל-condition.

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

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

אם לא עובד, אז ננסה להבין למה התוכנה הקטנה לא עובדת, וככה נתקן את ה-AI חתיכה חתיכה.
 
כן אבל גם בגרסה הקודמת אני חושב שזה היה אמור לבצע מה שצריך, ולא מבין למה חשבת שלא. יש לכל מלה במילון ערך מלה W$ וערך הגדרה M$, הוא פותח קובץ בשם של המלה W$ ומכניס אליו לפי הסדר את כל הגדרות המלים שבתוך M$. הקוד קורא מהמילון מלה אחרי מלה, וכל מלה מבוססת על הגדרות מלים שלפניה. יש קישורים בין חלקים בעזרת קפיצות בין השורות, כי לא הפנמתי איך עושים סברוטינה שמחזירה ערך. בעזרת הקישורים אמור להיווצר קשר מחזורי. מה שהוספתי עכשיו אמור להקל על ההבנה. עכשיו אין לי שפת מחשב כי קנו לי מחשב חדש ולכן לא אוכל להתחיל לבדוק שוב את התוכנה. ניסיתי להעתיק מהאינטרנט בייסיק ושום דבר לא היה ברור, וגם אמרו לי שזה מסוכן.
 

BravoMan

Active member
כן אבל גם בגרסה הקודמת אני חושב שזה היה אמור לבצע מה שצריך, ולא מבין למה חשבת שלא. יש לכל מלה במילון ערך מלה W$ וערך הגדרה M$, הוא פותח קובץ בשם של המלה W$ ומכניס אליו לפי הסדר את כל הגדרות המלים שבתוך M$. הקוד קורא מהמילון מלה אחרי מלה, וכל מלה מבוססת על הגדרות מלים שלפניה. יש קישורים בין חלקים בעזרת קפיצות בין השורות, כי לא הפנמתי איך עושים סברוטינה שמחזירה ערך. בעזרת הקישורים אמור להיווצר קשר מחזורי. מה שהוספתי עכשיו אמור להקל על ההבנה. עכשיו אין לי שפת מחשב כי קנו לי מחשב חדש ולכן לא אוכל להתחיל לבדוק שוב את התוכנה. ניסיתי להעתיק מהאינטרנט בייסיק ושום דבר לא היה ברור, וגם אמרו לי שזה מסוכן.
כל זה טוב ויפה, אבל אין שום קשר בין קוד הבייסיק שפרסמת פה, למילים העבריות שמרכיבות את ההודעה שלך.

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

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

BravoMan

Active member
לא נשמע שאתה באמת מעוניין להמשיך בפיתוח...
כל פעם שאני מנסה להציע לך פתרון, הוא לא טוב לך.

ניסית לחפש אתרים אחרים? השניים שהבאתי לך הם לא היחידים!
ניסית לחפש טכנאי \ מומחה מחשבים אחר שעובד עכשיו ויסכים להתקין לך BASIC?

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

בכל מקרה, כל עוד תישאר קבוע בדרכיך, אין לאן להתקדם...

צום קל וגמר חתימה טובה!
 
למעלה