שיחה:פקודה (מחשב)

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

עשיית סדר: משמעויות שונות של "פקודה" בתחום המחשוב[עריכת קוד מקור]

הערך עוסק בשלוש משמעויות נפרדות של המילה "פקודה", והשאלה שמטרידה אותי היא האם להשאירו כך, או לפצלו לשלושה ערכים. באנגלית מקבילות למילה פקודה המילים command, instruction, statement כך שקל לבצע את ההפרדה. במקרה של פיצול, יהיה צורך למצוא שמות מקבילים, שאולי כבר ישנם, למשל:

  • פקודת מכונה - command
  • הוראה - instruction
  • פקודה (שפת תכנות) - statement

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

מה דעתכם? דוד שי 18:06, 21 באוקטובר 2006 (IST)תגובה

נשמע לי בעייתי במיוחד, אך איני יודע בנתיים לפרט בדיוק מדוע. ננסה לפתור יחד.
לשם התחלה, דווקא פקודות למעבד מכונות instructions ולא commands, בניגוד למה שכתבת כאן.
בנוסף, שכחת את הפקודות שכותבים בשורת הפקודה. הא? 00:06, 22 באוקטובר 2006 (IST)תגובה
כן, הנה הטבלה המתוקנת:
  • פקודת מכונה - instruction
  • הוראה (שפת תכנות) - statement
  • פקודה בשורת הפקודה - command
דוד שי 00:14, 22 באוקטובר 2006 (IST)תגובה
נראה לי טוב. כדאי שנקבל חיזוקים מוויקיפדים נוספים. הא? 00:57, 22 באוקטובר 2006 (IST)תגובה

statement היא הצהרה ולא פקודה. statement יכולה להכיל מספר "פקודות" ואפילו statements אחרות. המתעתקשיחה 00:35, 22 באוקטובר 2006 (IST)תגובה

אולי בתרגום מילולי statement היא הצהרה, אבל במשמעותה בשפות שהן imperative לא מדובר בהצהרה. זאת בניגוד לשפות declerative (הצהרתיות), שם אכן מדובר בהצהרה. הייתי שמח לדבוק במונחים מדוייקים עד כמה שאפשר, אבל המונח "הצהרה" לא מקובל בעברית ל"פקודות" בשפות שהן imperative. מישהו יודע אחרת? הא? 00:57, 22 באוקטובר 2006 (IST)תגובה
כתבתי לפני התנגשות עריכה: כן. ראה Statement (programming)‎. מבחינה תחבירית וסמנטית בשפות רבות מהסוג שציינת (C, לדוגמה) יש הבדל בין הצהרה לפקודה בודדת. הטקסט הבא, לדוגמה, הוא הצהרה יחידה:
if (f(a) > f(b)) {
  c = f(d);
} else {
  e = f(g+f(h));
}
ההצהרה הזו כמובן כוללת הצהרות פנימיות, אבל כמות הפקודות כאן עדיין עצומה (קריאות לפונקציה, השוואה, השמות).
ואם כבר הזכרת את המונחים, declaration היא הכרזה, ו-definition היא הגדרה. המתעתקשיחה 01:03, 22 באוקטובר 2006 (IST)תגובה
נכון שזה statement אחד. זה לא משנה את העובדה שבעברית לא מכנים זאת הצהרה. הכוונה כרגע היא לתרגם statements במקרה כזה ל"הוראה", וכך גם עבור שפות שהן declerative. זה מקובל עליך? הא? 01:18, 22 באוקטובר 2006 (IST)תגובה
ובכן בוודאי שלא המצאתי את המונח בעצמי, כך שכנראה שיש המכנים זאת כך. statement איננו בהכרח הוראה, כי הוא יכול להיות גם הכרזה חסרת תוכן. אם נלך שוב לדוגמה ב-C, הכרזה על "אבטיפוס" של פונקציה
int f(int i);
גם היא statement, אבל אין כאן הוראה במובן המקובל של המילה (לך לשם, עשה את זה). אם תבחר בהגדרה מכלילה ומוזרה של הוראה שכוללת גם את מה שבעצם איננו הוראה, לא ברור מה השגת בהתעקשות שלא להשתמש במילה מתורגמת נפרדת עבור מילה מקורית נפרדת, בעלת משמעות נפרדת ומיוחדת. המתעתקשיחה 01:31, 22 באוקטובר 2006 (IST)תגובה

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

  • פקודה (שפת מכונה)
  • פקודה (שפת תכנות)
  • פקודה (מערכת הפעלה)

גדי ו. (שיחה) 01:34, 22 באוקטובר 2006 (IST)תגובה

פקודה כחלק מתוכנית מחשב[עריכת קוד מקור]

האם כדאי להגדיר תוכנית מחשב כאוסף של פקודות (שלרוב גם מקבלות פרמטרים, נניח פקודת השמה מקבלת רצף של משתנים, ערכים מספריים וקריאות לפונקציות התחומות בין אופרטורים מתמטיים שמהוות גם פקודות ויעד אליו תישמר התוצאה, או פקודת if המקבלת צירוף בוליאני ובלוק פקודות)? גם שמתי לב שבהגדרה של אלגוריתם לא מוגדר המושג פקודה, שקיים צורך באוסף של פעולות אפשריות כדי לממש אלגוריתם (גם אם מאוד בסיסיות, כמו במקרה של מכונת טיורינג). זה די מוזר לאור העובדה שאלגוריתם הוא מושג מתמטי ושהפקודות הבסיסיות בשפות עיליות שמבוססות על לוגיקה אנושית הן לא חלק מזה והדבר הקרוב ביותר לזה הוא פסאודו קוד שהוא בכלל מושג בתחום התכנות, אפילו לא מדעי המחשב. (¯`gal´¯)‎ - שיחה 08:10, 24 במאי 2013 (IDT)תגובה

פקודה היא הוראה למחשב (ולכן לא מושג ששייך ל"מדעי המחשב" כתחום מתמטי טהור) להפעיל פונקציה (במובן המתמטי, או יותר נכון במובן של פונקציה בתורת החישוביות) על המצב הנוכחי של המכונה. תוכנית מחשב אימפרטיבית היא אוסף של פקודות - קיימות שפות שבהן זה לא מדויק. אלגוריתם הוא אוסף של פונקציות כאלה, שהמגבלה היחידה עליהן היא שהן ניתנות לחישוב, והוא מיוצג לרוב באמצעות פסאודו-קוד, שהוא מושג ששייך הן למדעי המחשב והן לתכנות, שמהווה אבסטרקציה של פקודות כך שאין צורך במכונה מסויימת שיודעת לבצע אותן, אלא די בכך שהקורא יבין מה הן ויוכל לוודא שהן אכן ניתנות לחישוב (על סמך ידע קודם). --אלעזר - שיחה 02:43, 26 במאי 2013 (IDT)תגובה