מערך ב"פסקל". תוכניות למערכים בפסקל

תוכן עניינים:

מערך ב"פסקל". תוכניות למערכים בפסקל
מערך ב"פסקל". תוכניות למערכים בפסקל
Anonim

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

נוכחות של מספר רב של משתנים שונים מאוד

מערך בפסקל
מערך בפסקל

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

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

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

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

שימוש במערכים יכול להפחית באופן דרסטי את גודל הקוד

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

מה המשמעות של מערך חד-ממדי?

מערכים בפסקל
מערכים בפסקל

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

כדי לתאר מערכים חד-ממדיים ב-"Pascal", פשוט הזן את הקוד הבא: הקלד Array of.

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

איך מתואר מערך ליניארי?

אפשר לתאר מיד מערכים חד מימדיים ב"פסקל". זה חייב להיעשות בחלק מיוחד, אשר הכרחי עבור הליך מסוים זה. יהיה עליך להזין את הקוד הבא: Var: Array Of.

כדי להבין כיצד ניתן לתאר מערך בפסקל, עליך להזין את הקוד הבא:

- Var

- S, VV: Array[5..50] Of Real;

- K: מערך['C'.. 'R'] של מספר שלם;

- Z: מערך [-10..10] של Word;

- E: Array [3..30] Of Real.

בדוגמה זו, המשתנים S, VV ו-T הם מערך של אותם מספרים שהם אמיתיים. המשתנה K מסתיר את סוג התו ואת אותם אלמנטים. שהם מספרים שלמים. מערך Z מאחסן מספרים שהסוג שלהם הוא Word.

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

אין עוד פעולות שניתן לבצע על כל המערך בבת אחת. עם זאת, אתה יכול לעבוד עם אלמנטים באותו אופן כמו עם מספרים ראשוניים אחרים שיש להם סוג מסוים. על מנת להתייחס לפרמטר בודד, עליך לציין את שם המערך. על ידי שימוש בסוגריים מרובעים, עליך לקבוע את האינדקס המאפיין את האלמנט הרצוי. לדוגמה: K[12].

הבדלים עיקריים בין מערכים ומשתנים אחרים

מערכי פסקל משימות
מערכי פסקל משימות

ההבדל הבסיסי בין רכיבי טבלה למשתנים פשוטים הוא שאפשר לשים בסוגריים לא רק את ערך האינדקס, אלא גם ביטוי כזה שיכול להוביל לערך הרצוי. דוגמה של כתובת עקיפה יכולה להיות: V[K]. במקרה זה, המשתנה K מקבל ערך מסוים. מזהמכאן נובע שאתה יכול להשתמש בלולאה בעת מילוי, עיבוד והדפסה של מערך.

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

  1. משתני מחרוזת תמיד ניתן להזין מהמקלדת ולהדפיס על המסך.
  2. משתני מחרוזת מוגבלים באורך. ניתן להזין עד 255 תווים. הגודל הקריטי של המערך הוא 64 kb.

באילו שיטות ניתן להשתמש כדי להציג נתוני מערך על המסך?

עליך לשים לב לאופן שבו התוכן של המערך מוצג. יש כמה.

  1. Writeln (A[1], A[2], A[3]). דוגמה כזו, אם כי פרימיטיבית, מסוגלת להראות כיצד ניתן לגשת ישירות לכל אלמנט אינדיבידואלי הטבוע בטבלה. עם זאת, חלק מהיתרונות שיש למערכים של פסקל על פני משתנים פשוטים אינם גלויים כאן.
  2. Program A1;

    Var B: Array [1..10] Of Integer;

    K: Integer;

    Begin

    For K:=1 עד 10 בצע {This command loops with parameter }

    Readln(A[K]); {A[I] מוזנת באמצעות המקלדת }

    For K:=10 Downto 1 Do {הטבלה מודפסת בסדר הפוך}

    כתוב(A[K], 'VVV') End.

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

עלייה באפשרויות באמצעות שימוש במערכים

תוכנית מערך בפסקל
תוכנית מערך בפסקל

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

עיבוד של מערכים ליניאריים נפוץ מאוד במשימות שונות. לכן, אין שום דבר מוזר בעובדה שהם נלמדים במכונים ובבתי ספר. בנוסף, האפשרויות שהמערכים נושאים הן די נרחבות.

מה מוסתר מתחת למערכים דו-מימדיים?

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

איך לתאר טבלאות מהסוג הזה?

משימות מערכי פסקל
משימות מערכי פסקל

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

  1. Var B: מערך[1..15] של מערך [1..30] של מספר שלם;
  2. Var B: מערך [1..15, 1..30] של מספר שלם.

בכל המקרים הללו, מתואר מערך דו מימדי, הכולל 15 שורות ו-30 עמודות. התיאורים הללו שניתנו לעיל הם שווים לחלוטין. כדי להתחיל לעבוד עם כל אחד מהאלמנטים, יש צורך להקצות שני מדדים. לדוגמה, A[6][5] או A[6, 5].

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

דרך ראשונה למיין

מערכים חד מימדיים בפסקל
מערכים חד מימדיים בפסקל

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

שיטת מיון מערך שני

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

מסקנה

פתרון מערכים בפסקל
פתרון מערכים בפסקל

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

מוּמלָץ: