פסאודו קוד – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
Shunram (שיחה | תרומות)
Shunram (שיחה | תרומות)
הרחבת קצרמר, תרגום חלקי מאנגלית
שורה 1:
{{בעבודה}}
'''פסאודו קוד''' (מ[[אנגלית]]: '''Pseudo-Code''') הוא תיאור מצומצם ולא רשמי ל[[אלגוריתם]] של [[תוכנית מחשב]]. פסאודו קוד משתמש בקונבנציות של שפות תכנות, אך מיועד לקריאה של בני אדם ולא לקריאה על ידי [[מחשב]]. הביטויים שנכתבים בפסאודו קוד אינם ניתנים ל[[מהדר|הידור]] בפני עצמם, אך הם ניתנים לתכנות כקוד אמיתי שכן ניתן להידור בכל [[שפת תכנות]] שהיא.
 
פסאודו קוד מהווה שפה משותפת לכל המתכנתים, ובעזרתו מתכנתים בשפות תכנות שונות יכולים להבין זה את זה.
כיוון שהוא מיועד לבני אדם, נהוג לזנוח סימני תחביר ופרטים נוספים, כמו הצהרת משתנים, שלא חיוניים להבנת הקוד ואף מפריעים לקריאות שלו.
 
כתיבה בפסאודו קוד מתבססת על אלמנטים מ[[שפת תכנות|שפתשפות התכנות]] עליה מתבססים בכתיבת הקוד מורחבתומורחבת על ידי ביטויים בשפות טבעיות, היכן שיש בכך צורך, וכן בביטויים מתמטיים.
המטרהיתרונות בשימושהכתיבה בפסאודו קוד היא שכתיבה כזו קלה יותר להבנה על ידי בני אדם מאשר קוד בשפת תכנות, וכן שהיא מצומצמת יותר ואינה תלויה בסביבת העבודה (כמו שפת התכנות ומערכתו[[מערכת הפעלה|מערכת ההפעלה]]) בה משתמשים.
 
נעשה שימוש נרחב בפסאודו קוד במאמרים וספרי לימוד שמתעדים אלגוריתמים שונים, וכן בפיתוח תוכנות מחשב, לשם שרטוט מבנה התכנית בטרם מימושו.
שורה 19 ⟵ 18:
 
== תחביר ==
כפי שהשם מרמז, פסאודו קוד לא מציית לכללי דקדוק של אף שפה רשמית, וקיימים לו סגנונות רבים ומגוונים. לרוב כותב פסאודו קוד ישתמש בסגנון ותחביר, כמו [[לולאה|לולאות]], של שפת תכנות ספציפית שהוא מכיר. שפות מוכרות שלעיתים משתמשים בתחביר שלהן בפסאודו קוד הן [[פסקל (שפת תכנות)|Pascal]]{{כ}}, {{כ}}[[JAVA]]{{כ}}, {{כ}}[[C++|++C]]{{כ}}, {{כ}}[[C (שפת תכנות)|C]]{{כ}} ועוד.
 
הגדרות משתנים לרוב נזנחות, וקטעי קוד ברורים ופשוטים יוסברו בקצרה בשפה טבעית (כדי לחסוך זמן ולפשט את הקוד).
שורה 31 ⟵ 30:
2. אם y=0 החזר "כן".
3. אחרת, החזר "לא".
בודגמה זו הקוד כתוב בעברית, וניתן לתרגום לכל [[שפת תכנות]]. הביטוי "כל עוד" הוא תרגום ישיר ללולאת '''WHILE'''. מספור השורות מקל על הקריאה וחוסך את הצורך בסימון בלוקים של קוד (מסומנים בשפות תכנות למשל על ידי '''{,}''' או '''begin,end''').
 
[[קטגוריה: תכנות]]