לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

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



  #1  
ישן 28-06-2006, 00:41
צלמית המשתמש של דור
  דור דור אינו מחובר  
 
חבר מתאריך: 09.04.02
הודעות: 8,000
המלצה אתגר מספר 3 - בדיקת תגי XML שלא נסגרו

תיאור האתגר
לכתוב תוכנה שתקבל בעזרת GET כתובת של קובץ XML תקני (גרסה 1.0), ותחזיר את מספר התגים בקובץ שנפתחו אבל לא נסגרו.

  • שתי נקודות בונוס ינתנו למי שהתוכנה שלו תוכל גם להחזיר את מספרי השורות שבהן נפתחו תגים שלא נסגרו
  • נקודת בונוס אחת תינתן לתוכנה שתוכל גם להחזיר את שמות התגים שנפתחו ולא נסגרו.
  • סעיפי הבונוס הם לא חובה, אז אנא ממכם - הגישו את הפתרון שלכם גם אם הוא לא כולל את סעיפי הבונוס!
דוגמה
התגים כאן נכתבים בכתב מודגש אך ורק בכדי שיהיה יותר קל לקרוא את הקוד!
קוד:
<xml> <images type="logos"> <img src="fresh.jpg" /> </images> <text>Do you like rabbits? Well, <bold>I do. </xml>

בטח שמתם לב שהתגים text ו-bold שנמצאים בשורה 6 לא נסגרו.

אם התוכנה תקבל כנתון את הקוד הזה, היא תצטרך להדפיס 2 - כי קיימים בקוד שני תגים שלא נסגרו.
כמו שציינתי למעלה - התוכנה שתדפיס גם את מספרי השורות שבהן יש תגים שלא נסגרו ו\או את שמות התגים שלא נסגרו - תזוכה בנקודות בונוס. כלומר, בהסתמך על הקוד שלמעלה, התוכנה תצטרך להדפיס 6 (כי בשורה 6 יש תגים שלא נסגרו), ו\או להדפיס bold,text - כי אלו שמותיהם של התגים שלא נסגרו.

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


עיקרון הניקוד
  • ביצוע המשימה (הסעיף הזה התווסף כדי שגם אלו שתוכנתם לא מושלמת יוכלו להשתתף): 5 נקודות
  • קריאות הקוד (נא לא לשכוח שהערות תורמות לקריאות): 3 נקודות
  • יעילות הקוד (היעילות תמדד לפי זמן ריצת התוכנה): 4 נקודות
  • נקודות בונוס (ראו הסבר בסעיף "תיאור האתגר"): 3 נקודות


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

הבהרה: אם למשתמש שיזכה באתגר כבר יש צל"ש, שמו יוזכר באשכול מיוחד שיכריז על הזוכים, אך הצל"ש יועבר למשתמש שאחריו (כדי לעודד את המשתמשים שעדיין אין להם צל"ש להשתתף גם).

לוח זמנים
האתגר נפתח עכשיו (28/06/2006) ויסגר ב-31/07/2006.
אנחנו מודעים לבעיית הבגרויות של חלק מחברי הפורום, לכן הארכנו את מועד סיום האתגר כדי לאפשר לכולם להשתתף.
יש לכם הרבה מאוד זמן, אז נצלו אותו בחוכמה - אני ודורון מצפים מכולכם להשתתף.

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




בהצלחה לכולם!


נערך לאחרונה ע"י דור בתאריך 30-06-2006 בשעה 12:26.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #31  
ישן 29-06-2006, 08:15
  -=Dark_Moon=- -=Dark_Moon=- אינו מחובר  
 
חבר מתאריך: 17.06.06
הודעות: 257
בתגובה להודעה מספר 30 שנכתבה על ידי DeadNight שמתחילה ב "טוב קיוויתי לסיים את זה לפני השעה 12, אבל לא נורא ..."

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

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

עריכה:
למי שאין מסמך XML מוזמן להכניס בכתובת אינטרנט את הכתובת הבאה:
test.xml

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

נערך לאחרונה ע"י -=Dark_Moon=- בתאריך 29-06-2006 בשעה 08:28.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #35  
ישן 30-06-2006, 13:14
  eXeCuT3 eXeCuT3 אינו מחובר  
 
חבר מתאריך: 30.06.06
הודעות: 185
הצלחתי
בתגובה להודעה מספר 1 שנכתבה על ידי דור שמתחילה ב "אתגר מספר 3 - בדיקת תגי XML שלא נסגרו"

הצלחתי, לא לקח יותר מדי זמן
נראה לי שהקוד לא כל כך חכם... אני כנראה אשפר אותו קצת
זה מחפש תגים שלא נסגרו/לא נפתחו, אומר את השורה ואת התג.
הנה קוד קטן שהפעלתי אותו עליו, והפלט שזה הוציא
http://pastebin.ca/75572
הקוד הוא 23 שורות (לא כללתי את הקוד שמודד את הזמן ואת ההצבה של התוכן של הדף בתוך המשתנה, רק את הקוד עצמו)
והזמן ריצה - הפעלתי את זה על http://pastebin.ca/75572 (כן, אני מודע לכך שזה לא דף XML, אבל זה לא משנה, אותו עיקרון.. זה מחפש תגים שלא נסגרו/לא נפתחו... זה יכול לפעול גם על דף XHTML),
וזה לקח 0.0419 (לא כללתי את הזמן שלקח לקוד לשים את הקוד של הדף בתוך המשתנה (file_get_contents לדף אינטרנט עלול לקחת קצת זמן...))
מי שהצליח - אתם יכולים לתת את הזמן ריצה שלכם? שיהיה לי משהו להשוות אליו

נערך לאחרונה ע"י eXeCuT3 בתאריך 30-06-2006 בשעה 13:33.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #50  
ישן 07-07-2006, 16:12
  דקל דקל אינו מחובר  
 
חבר מתאריך: 20.02.03
הודעות: 2,396
לכל המעוניינים - קובץ XML גדול
בתגובה להודעה מספר 1 שנכתבה על ידי דור שמתחילה ב "אתגר מספר 3 - בדיקת תגי XML שלא נסגרו"

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

ככל שיש יותר חומר אותו צריך לעבד, כך גם ישנה השפעה גדולה יותר לכל פעולת עיבוד שכזו, ולכן מי שרוצה לבדוק את זמן הריצה של הסקריפט שלו, מומלץ כי ישתמש בקובץ XML מספיק גדול.
מצ"ב קובץ XML (המכיל טעויות כמובן) בגודל 448kb.
כמה הערות כלליות לגבי הקובץ:
  1. כן, אני יודע שמדובר ב-HTML. שימו לב שלמרות הכל, HTML זה בעצם XML עם תגים מוגדרים מראש (למעט כמובן הסגירה העצמית של תגים ללא סגירה).
  2. שורה ראשונה בקובץ הינה שורת doctype. שימו לב לעובדה שב-XML קיימים תגים שמתחילים ב- ! ו-? ואלו תגידם שצריכים להיבדק "ידנית", אולם לרוב מדובר בתגים שפשוט יש צורך להתעלם מהם בבדיקת התקניות של ה-XML.

    ברוב המקרים מדובר בתגי doctype/comment/xml-declaration, ולכן פשוט צריך להתעלם מהם כיוון שהם לא צריכים להיסגר.
  3. תודה ל-GENTOO.ORG על תוכן הקובץ שימו לב שביצעתי שם מספר שינויים על מנת להתאים אותו לאתגר.
  4. download
אני ממליץ להוריד את הקובץ ולהריץ את הסקריפט כשהקובץ נמצא במחשב שלכם, אחרת לזמן הריצה שלכם יתווסף זמן הורדת הקובץ (ואתם לא באמת רוצים את זה).

זהו כרגע
שיהיה בהצלחה לכולם



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



בברכה,
דקל
_____________________________________
"מתכנת זה אדם שפותר בעיה שעל קיומה לא ידעת, בדרך שאינך מבין"

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
האשכול נעול

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 18:04

הדף נוצר ב 0.16 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר