עבור לתוכן

איך עושים משהו בפסקל..

Featured Replies

פורסם

אני רוצה לעשות פונקציה\פרוצדורה שמקבלת ערך בסוסגריים של 0 או 1 ולפי זה רושמת משהו...

נגיד Drop(0) אז הוא ירשום 0 עם דיליי של 100

אם Drop(1) אז הוא ירשום 1 עם דילי של 1000

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

פורסם

מזתורמת פונקציה לא מסוגלת לרשום.

בא אני אסביר לך פלוס מינוס את ההבדלים בין פונקציה לפרוצדורה (אם לא הבנת ממש) :

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

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

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

פרוצדורה יכולה להחזיר ערכים יותר גדולים, יכולה להחזיר כמה ערכים ואף לא חייבת להחזיר כלום.

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

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

אחר"כ תוכל להשתמש במשתנים (אם היא מחזירה משתנים) לצורך השוואות או פעולות אחרות.

ככה שאני מניח שכדי להדפיס אתה צריך לעשות ככה :

Procdedure Drop(x);
begin
if x=0 then
begin
delay(100);
writeln(0);
end
else
begin
delay(1000);
writeln(1);
end;
end;

וזאת כמובן בהנחה שאתה מקבל רק 0 או 1, אם לא, אז אפשר להוסיף שורת IF אחרי הELSE ובה

לרשום את התנאי שX יהיה 1.

רן. ;)

פורסם
  • מחבר

תודה רבה הצלחתי :xyxthumbs:

ארכיון

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

דיונים חדשים