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

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



  #2  
ישן 22-11-2012, 19:07
צלמית המשתמש של Eran
  משתמש זכר Eran Eran אינו מחובר  
 
חבר מתאריך: 27.02.02
הודעות: 4,536
שלח הודעה דרך ICQ אל Eran
בתגובה להודעה מספר 1 שנכתבה על ידי michaelg שמתחילה ב "מתחיל ללמוד C - מתקשה בתרגיל"

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




אז ככה:
הלולאה הראשונה מקבלת את המספר num ומודא שהיא בגבולות המתאימים. היא בלולאה עד שיתקבל num שמתאים לתנאי [1, 12]



הלולאה השניה זה כל המוח :]
למעשה זה סוג של לולאת for ... ה num קבוע, ובסוף כל איטרציה ה counter גודל באחד. את counter כבר הגדירו בהתחלה שיהיה 1
כלומר הלולאה מתחילה מ 1 ועד ל num כולל.

אז הנה אתה כבר יכול לקלוט את המבנה
counter = 1
counter = 2
..
counter = num



נמשיך לתוך הלולאה:
fucturial*=counter
או בכתיבה שונה מעט
fucturial = fucturial*counter
זה מה שבעצם יוצר לנו את העצרת.
באיטרציה הראשונה אנחנו מחשבים 1*1 שזה עצרת של אחד ומכניסים לתוך fucturial.
באיטרציה שניה אנחנו מחשבים 1*2 שזה עצרת של 2 ומכניסים לתוך fucturial
באיטרציה השלישית אנחנו מחשבים 2*3 שזה עצרת של 3 ומכניסים לתוך fucturial
....
באיטרציה counter אנחנו מחשבים counter*fucturial שזה עצרת של counter ומכניסים לתוך fucturial.

e עובד אותו דבר רק שהוא מבצע את פעולת הסכימה.




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

כלומר בשביל לחשב 5! במקום להתחיל לעשות 1*2*3*4*5 אני אשתמש ב 1*2*3*4 שכבר חישבתי באיטרציה קודמת אבל אני אוסיף את ההכפלה פי 5. וזה המשמעות של fucturial*=counter.

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





אני השתדלתי לפרט לך עד כדי שתבין.
אני בטוח שאם היית פורס את זה ככה היית קולט את זה ישר.
פעם הבאה שתראה משהו בלולאה שלא ברור, תדפיס אותו ותראה איך הוא משתנה (או שלא)
כל פעם בקטע לא ברור אחר עד שתקלוט איך הפעולה עובד (או שלא עובדת...)
אתה יכול לקרוא לזה דיבאג :}
למשל, אני הייתי מוסיף אחרי fucturial*=counter
קוד PHP:
 printf("[%d] %d"counterfucturial



חפרתי קצת אז קישטתי שיהיה לך נוח
_____________________________________

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://fresh.clanteam.com/list.png]

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://fresh.clanteam.com/?https://2010-uploaded.fresh.co.il/2010/09/21/52868411.gif,http://www.boredpanda.com/blog/wp-content/themes/mimbo2.2/images/subscribe-panda-605px.png]

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

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

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

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

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



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

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

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

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