תכנות פרוצדורלי – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
Yonidebot (שיחה | תרומות)
מ בוט החלפות: לעתים;
מ הגהה, תקלדה
שורה 5:
המשתנים בתוכנה פרוצדורלית הם לעתים משתנים מקומיים (לוקליים), כלומר מוגדרים בתוך פרוצדורה ומשמשים רק אותה ואת הפרוצדורות הפנימיות לה, ולעתים משתנים גלובליים, המשמשים את כל הפרוצדורות שבתוכנית. שימוש קפדני במשתנים לוקליים יוצר את תכונת הכימוס, שהיא אחד מיסודותיו של [[תכנות מונחה עצמים]]. המשמעות הבסיסית היא שמשתנים מקומיים של פרוצדורה אחת אינם גלויים מיידית לפרוצדורה אחרת (מוגנים יחסית) לצורכי שינוי וקריאה.
 
פרוצדורות יכולות להכיןלהכיל תת-פרוצדורות כדי להמשיך ולשפר את קריאות (readability) התוכנה ושבירתה לחלקים לוגיים ברורים. מצב שבו פרוצדורה נמצאת בתוך פרוצדורה אחרת וכך הלאה קרוינקרא קינון (nesting).
 
בתוכניתבשפה פרוצדורלית, כדוגמת פסקל למשל, מקובל לכתוב שגרות רבות שכללושכוללות תת שגרות, ולבסוף לכתוב תוכנית ראשית קצרה שבה קריאות למספר קטן של שגרות ראשיות, אשר מסתעפות לתת שגרות נוספות, במבנה של הסתעפות ענפית, לצורך מילוי תפקידן.
 
==מבנה דוגמת תוכנית פרוצדורלית בפסקל ==
שורה 32:
 
== בעיות בתכנות פרוצדורלי==
ה'''תכנות פרוצדורלי''' יצר קושי מסוים בתחזוקת התוכנה לאחר כתיבתה, מכיוון שלעתים שינוי בהגדרת [[משתנה (תכנות)|משתנים]] ב[[תוכנית מחשב|תוכנית]] חייב שינוי בפונקציות שפעלו בשאר מרחבי ה[[תוכנה]], וככל שהתוכנה הייתה גדולה ומורכבת הקושי הלך והתעצם. [[מתודולוגיה|מתודולוגיה]] מתקדמת יותר היא [[תכנות מונחה עצמים]], אשר בין השאר מתייחסהתייחסה לבעיה זו.
 
== השוואה עם שפתפרוצדורליות ב-Visual Basic ==
שפת [[Visual Basic]] היא בעלת מבנה פרוצדורלי מוגבל, משום שבה לאשלא קיים בה קינון של פרוצדורות: פונקציות ושגרות אינן יכולות לכלול בתוכן תת שגרות. גם מצב מוגבל זה מהווה התקדמות לעומת שפת [[BASIC]], קודמתה של Visual Basic, שבה לא התאפשרה כלל חלוקה לפרוצדורות: כל תוכנית היא רצף גדול אחד של פקודות, שבו כל המשתנים גלובליים, כלומר "[[קוד ספגטי]]".
 
==ראו גם==