פורסם 2005 באפריל 2720 שנים טוב,אני אתאר את הבעיה בקצרה: אני יודע כיצד להשתמש בפונקציה,וכיצד להשתמש בפרוצדורה [כלומר-כיצד לכתוב פרוצדורות ופונקציות משל עצמי ולהשתמש בהן] אבל אין לי מושג מתי אני צריך להשתמש בפונקציה,ומתי בפרוצדורה... הבנתי שפונקציה אמורה להחזיר רק ערך אחד,ואילו פרוצדורה יכולה להחזיר מחרוזות שלמות,מערכים שלמים,ולהדפיס הוראות ללא משתנים. מתי אני משתמש בכל אחד מהם? :-\ *לדוגמא: "כתוב שגרה[פרוצדורה או פונקציה] שמקבלת מערך דו מימדי ומחזירה את מקום המס' הקטן ביותר" במה להשתמש?זה נראה לי הגיוני להשתמש גם בפונקציה וגם בפרוצדורה? תודה לעוזרים.
פורסם 2005 באפריל 2720 שנים אני עוד לא הגעתי לחומר הזה בפסקל, אבל נסה את האתר הזה אוליי הוא יעזור לך:http://study.eitan.ac.il/sites/index.php?portlet_id=110516&page_id=71בבקשה.
פורסם 2005 באפריל 2720 שנים ההבדל בין פרוצדורה לפונקציה הוא לא כל כך גדול.פונקציה אכן מסוגלת להחזיר רק ערך אחד. כמו כן, היא לא מסוגלת לקלוט ערכים או להדפיס ערכים - דבר שפרוצדורה כן יכולה לעשות.פרוצדורה מסוגלת להחזיר כל דבר שהיא בעצם מקבלת. לדוגמא:procedure one (var x,y:integer);במקרה כזה, אתה תוכל להחזיר לתוכנית הראשית גם את x וגם את y.בשאלה שהבאת יותר כדי להשתמש בפונקציה מכיוון שאתה צריך להחזיר רק ערך אחד ואין צורך להדפיס או לקלוט מספרים בתוך הפונקציה.לגבי מה שאמרת, אכן ניתן להשתמש כאן גן בפרוצדורה, אבל מטעמי נוחות כדי יותר פונקציה (עניין ההחזרה בפרוצדורה הוא קצת יותר מסורבל מאשר פונקציה).
פורסם 2005 באפריל 2720 שנים מחבר ההבדל בין פרוצדורה לפונקציה הוא לא כל כך גדול.פונקציה אכן מסוגלת להחזיר רק ערך אחד. כמו כן, היא לא מסוגלת לקלוט ערכים או להדפיס ערכים - דבר שפרוצדורה כן יכולה לעשות.פרוצדורה מסוגלת להחזיר כל דבר שהיא בעצם מקבלת. לדוגמא:procedure one (var x,y:integer);במקרה כזה, אתה תוכל להחזיר לתוכנית הראשית גם את x וגם את y.בשאלה שהבאת יותר כדי להשתמש בפונקציה מכיוון שאתה צריך להחזיר רק ערך אחד ואין צורך להדפיס או לקלוט מספרים בתוך הפונקציה.לגבי מה שאמרת, אכן ניתן להשתמש כאן גן בפרוצדורה, אבל מטעמי נוחות כדי יותר פונקציה (עניין ההחזרה בפרוצדורה הוא קצת יותר מסורבל מאשר פונקציה).בנוגע לפרוצדורה-אני אוכל להחזיר X וY רק אם הם מוגדרים כVAR בכותרת הפונקציה [כלומר-הם משתנים שהפרוצדורה מקבלת וגם מוציאה] נכון?אה,ועוד משהו-זה אפשרי שפונקציה תקבל יותר ממשתנה אחד,כל עוד היא תחזור תשובה אחת,כן?
פורסם 2005 באפריל 2720 שנים בנוגע לפרוצדורה-אני אוכל להחזיר X וY רק אם הם מוגדרים כVAR בכותרת הפונקציה [כלומר-הם משתנים שהפרוצדורה מקבלת וגם מוציאה] נכון? אה,ועוד משהו-זה אפשרי שפונקציה תקבל יותר ממשתנה אחד,כל עוד היא תחזור תשובה אחת,כן? כן. וכן.
פורסם 2005 באפריל 2720 שנים פונקציה אכן מסוגלת להחזיר רק ערך אחד. כמו כן, היא לא מסוגלת לקלוט ערכים או להדפיס ערכים - דבר שפרוצדורה כן יכולה לעשות.פונקציה כן יכולה לקלוט ולהדפיס ערכים.בנוגע לפרוצדורה-אני אוכל להחזיר X וY רק אם הם מוגדרים כVAR בכותרת הפונקציה לא ממש הבנתי מה התכוונת כאן, אבל המטרה של הVAR היא שאם שינית ערך מסוים בתוך הפרוצדורה, אז הוא ישתנה גם בתוכנית הראשית.
פורסם 2005 באפריל 2720 שנים מחבר פונקציה כן יכולה לקלוט ולהדפיס ערכים.לא ממש הבנתי מה התכוונת כאן, אבל המטרה של הVAR היא שאם שינית ערך מסוים בתוך הפרוצדורה, אז הוא ישתנה גם בתוכנית הראשית.הVAR בכותרת הפונקציה מסווג את כל הנתונים אשר גם נכנסים וגם יוצאים[לאחר שינוי] מהפרוצדורה ואל הפרוצדורה
פורסם 2005 באפריל 2720 שנים תשתמש בפונקציה כשאתה רואה שיש פעולת חישובית או בדיקה מסוימת שתוצאתה היא ערך אחד כלשהו....(מספר, אמת/שקר, מחרוזת, תו).תשתמש בפרוצדורה שאומרים לך: לקלוט, להדפיס, לעדכן/לשנות/ליצור מס' ערכים (כמו למשל במערכים) - מה שכן, כמו שאמרו פה בנוגע לVAR, צריך להקפיד לשים את המילה לפני הפרמטרים שאתה מעונין להחזיר לתכנית.אם אתה מעונין שחלק מהמשתנים יוחזרו, וחלק לא, אז תפריד ב ; בינהם ולפני אלה שאתה רוצה שיחזרו תשים VAR, לפני האלו שלא אל תשים.
פורסם 2005 באפריל 2720 שנים ההבדל [glow=red,2,300]היחיד[/glow] בין פונקציה לפרצדורה היא שפונקציה יכולה להחזיר ערך חזרה ופרצדודה לאשניהם תומכים בהעברת ארגומנטים by reference (ככה שאם אתה משנה את הערך שלהם בתוך הבלוק הם ישתנו גם בחוץ) ו-by value (ככה ששינוי בפנים לא משפיע בחוץ) ואין שום בעיה להדפיס ולקלוט דברים גם בפונקציה וגם בפרצדורה.
פורסם 2005 באפריל 2720 שנים פונקציה כן יכולה לקלוט ולהדפיס ערכים.מוזר.. לימדו אותנו בבית הספר שהיא לא יכולה..
פורסם 2005 במאי 120 שנים לא בדקתי אם פונקציה בפסקל יכולה לקבל ערכים, או להוציא פלט מודפס, אבל אני יודע שבודקי הבגרויות מורידים ניקוד למי שעשה פלט מפונקציה, או קלט דרכה ערך מסויים (לכמה מכרים שלי ירד ניקוד על זה בבגרות בפסקל).אז שים לב לזה, ואל תקלוט ערכים/תדפיס דברים דרך פונקציה.
פורסם 2005 במאי 120 שנים פונקציה אינה יכולה לקבל ערכים מבפנים.רק ערכים חיצונים!וכנ"ל היא גם לא יכולה להדפיס ערכים.פרוצדה כן יכולה לקלוט ולהדפיס
פורסם 2005 במאי 120 שנים מה הכוונה להדפיס ערכים ? WRITELN וזה ? ברור שגם FUNCTION וגם PROCEDURE יכולים... מבפנים הם זהים מבחינת יכולת תכנונתית...
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.