מחשביםתכנות

מערך דינמי ותכונותיו

Array הוא מכונה בדרך כלל כמו סט הורה של אלמנטים כל בעל מסוימים (זהה) להקליד. מערכים הם סטטיים ודינמיים. האורך הראשון מצוין בשלב, למשל, תכנות לפני התחלה של תוכנית לביצוע, השני - במהלך הביצוע.
עבור מערך סטטי בתיאור צריך להיקבע מספר אלמנטים אשר לא ניתן לשנות (להגדיל או להקטין) במהלך התוכנית. כאשר התוכנית מתחילה, באמצעות מערך סטטי לביצוע לזכרו מספר הבתים המוקצים לאחסן מרכיביו. סכום זה של זיכרון יוקצה לתוכנית כל עוד היא סיימה את עבודתה. גם אם הזיכרון הזה אינו משמש, אין קוד אחר לא תוכל לגשת אליו.
שפת התכנות פסקל יכול לעבוד רק עם מערכים סטטי. לכן, אם אתה רוצה לעבוד עם רצף של אורך משתנה, אפשר לתאר את המבנה, למשל, מתוך מאה אלמנטים, והשתמשו בשלבים שונים של מספר שונה של אלמנטים, שלא יעלו על המספר 100. וזה בהחלט לא חכם.
בעיה זו אינה קיימת ב- משולב סביבת הפיתוח של דלפי. מערך דינמי המאפשר התיאור אינו מציין את מספר האלמנטים, ולקבוע זמן הריצה שלה. מערך דינמי יכול להיות מתואר בסעיף Var כדלקמן:
מערך שלם: Var Massive

לפיכך, את המבנה, המיועד מזהה מסיבי, הוא רצף ליניארי של מספר שלם לא ידוע (עד כה) באורך. כדי להגדיר את גודל, התוכנית חייבת להחיל הליך SetLength, למשל, SetLength (Massive, 9). מערך מסיבי לרכוש דינמי מימד שווה למספר 9. עכשיו, זה נקבע כי ברצף ישנם תשעה אלמנטים של שלם סוג, ממוספרים מאפס. לתכונות אלה יש מערך דינמי. דלפי היא הליך משחררת את הזיכרון של קבוצת מספרים, שבו הצורך לאחסון נעלם. הליך זה לסיים, במקרה שלנו זה ייושם כדלקמן: לסיים (Massive).

באופן דומה, אפשר לתאר וליישם מערכים דינמיים רבים מימדית דלפי. לדוגמא, דו-ממד מבנה דינמי יתואר כדלקמן:
מערך של מערך שלם: Var Massive
במידת הצורך, את העמודות יכול להיות באורכים שונים. כמו כן צוין הליך SetLength.

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

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 iw.delachieve.com. Theme powered by WordPress.