קהילות פורומים, הורדות, יעוץ ותמיכה


אשכולות דומים

  1. ידע כללי : איך מגדירים שנייה ?
    על ידי Hoobastank בפורום דיבורים
    תגובות: 31
    הודעה אחרונה: 10-06-2007, 01:45
  2. תגובות: 16
    הודעה אחרונה: 01-02-2006, 22:00
  3. צום עשרה בטבת-יום קדיש כללי.
    על ידי michal בפורום יהדות
    תגובות: 1
    הודעה אחרונה: 10-01-2006, 15:24
  4. מבנה כללי של עמוד השדרה- משהו שכתבתי.
    על ידי CompleX בפורום רפואה ובריאות
    תגובות: 0
    הודעה אחרונה: 02-01-2006, 13:40
  5. [הימור] מץ-ליל הימור עד 300 נק' כללי
    על ידי E.B בפורום הימורים ו-Winner
    תגובות: 4
    הודעה אחרונה: 11-09-2005, 07:36
+ תגובה לנושא
מציג תוצאות 1 עד 5 מתוך 5

מבוא ל-VB ותכנות כללי

  1. #1
    מורחקים
    שם פרטי
    ישראל
    תאריך הצטרפות
    12/2010
    הודעות
    4,725
    לייקים
    644
    נקודות
    558
    פוסטים בבלוג
    3
    מין: זכר

    Lightbulb מדריך: מבוא ל-VB ותכנות כללי

    שפת התכנות Visual Basic [המכונה בקצרה - VB, וכמוה VBAכ(Visual Basic for Appliations) שהיא למעשה גרסה מצומצמת יותר של VB המיועדת לשימוש ביישומי Office] הִנַה "שפת תכנות מבנית" (יובהר בהמשך), שפה מונחית אובייקטים (Object Oriented Languages) [ - את ממשק המשתמש של התכנית מרכיבים אובייקטים], ושפה מונעת אירועים (Events Driven Languages) [ - פעילות התכנית מתבצעת כתגובה לפעולת משתמש - להבדיל משפת תכנות פרוצדורלי].

    השם Visual Basic ניתן לה אודות לכך שהיא מבוססת על שפת התכנות Basic של Microsoft (עוד משנות השמונים...), ו-Visual מכיון שבניית הממשק היא ויזואלית.


    מהותה של שפת תכנות, "שפת תכנות מבנית"

    לפני שניכנס לעניינים כדאי להקדיש כמה דקות בשביל להבין מהי בעצם "שפת תכנות" ולמה היא מיועדת.

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

    הפקודות בשפת מכונה הן למעשה הספרות 1 ו-0 ברצפים מסוימים המורים למעבד הוראות שונות, כאשר כל רצף שונה מורה על משמעות אחרת. רצפים אלו נקראים "קוד בינארי"
    לדוגמה, הקוד הבא מורה למעבד לחבר את המספר המאוחסן באוגר BX עם המספר המאוחסן באוגר DX ולהציב את הסיכום באוגר AX
    קוד:
    10001001110110000000000111010000
    למעשה, המחשב לעולם איננו "מבין" שפה כלשהי כבן אנוש, גם את אותם 1 ו-0 המחשב איננו מבין כלל והם אינם כתובים בשום מקום בזיכרון המחשב, מה שכן יש בזיכרון של המחשב זה מעגלים חשמליים שחלקם "מחושמלים" וחלקם לא, מעגל חשמלי פעיל - ז"א מחושמל - מוגדר כ-1 ושאינו מחושמל מוגדר כ-0 (ובאותה מידה היינו יכולים להגדירם כ'חתול' ו'עכבר' אלא שלנו יותר נוח לעבוד עם 1 ו-0...), הסדר בו מסודרים המעגלים המחושמלים עם אלה שאינם מחושמלים משנה את משמעות ה"חישמול" וזהו הדבר היחידי שנקלט אצל המחשב. משום כך השפה היחידה שיש "לדבר" בה עם המחשב היא אך ורק שפת מכונה.
    כל שפה אחרת שנשתמש בה תצטרך לעבור "הידור" (קומפילציה (Compilation). או בפשטות: המרה) לשפת מכונה (ועל-כך בהמשך).

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


    שפת סף (
    Assembly) :
    "שפת סף" - כאמור - נועדה לסייע לנוחות כתיבת קוד התכנה ע"י קביעת פקודות מתוך מילים בשפה.
    לדוגמה:
    קוד:
    add ax, C

    מורה למעבד להוסיף את הערך C לערך שנמצא באוגר AX. זאת כבר באמת התקדמות גדולה.

    אבל כאמור, המחשב הרי אינו מבין שפה אחרת מלבד שפת ה-1/0, כיצד אם כן יוכל לקלוט פקודות בשפה אחרת?
    ובכן, כל תכנית שנכתבת בכל שפה שהיא מלבד שפת מכונה צריכה לעבור תהליך שנקרא "איסוף" (Assembly). את האיסוף מבצעת תוכנת עזר הנקראת "מאסף" (Assembler). זהו למעשה תהליך ההידור של שפת הסף, כאשר Assembler הנו מהדר שפת סף.
    המאסף קולט את קוד התכנית בשפת סף ויוצר ממנו כפלט קובץ חדש הכתוב כקובץ בינארי המכיל בעצם את אותם פקודות שנכתבו ע"י המתכנת בשפת הסף - בשפת מכונה.

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

    לשם כך הומצאו השפות העיליות (המבניות).


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

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

    באופן כללי ניתן לחלק את סוגי הפקודות לשלושה חלקים:
    c
    • הקצאה - שמירת מקום בזיכרון המחשב לשימוש התכנה ע"י הַשַֹמַת ושליפת נתונים ב/מ-יחידת זיכרון.
    • מבנה - פקודות השולטות בזרימת התכנית המגדירות את 'מבנה' התכנית. בכלל זה פקודות המורות לתכנית לעבור אל מיקום אחר בתכנית ולבצע את הקוד מאותו מקום ואילך וכדו'.
    • פקודה - פקודות 'רגילות'. לדוגמה: הַשֶֹם במשתנה y את ערך החיבור של משתנה a ו-x, וכדו'.
    c
    חלוקה זו תקפה גם לגבי שפה עילית מבנית וניתן לכתוב בה שלושה סוגי קודים: משפטי הגדרות והצהרות; משפטי הוראה על זרימת התכנית; ופקודות.

    גם כאשר מדברים על שפות עיליות, עדיין לכל שפת תכנות ישנם 'כללי כתיבה' - תחביר (Sintax) תִּקְני (ונוח) שרק בו ניתן לכתוב את פקודות התכנה. לכל סוגי הפקודות ישנו תחביר קבוע, עבור כתיבת ביטויים וערכים, מתן שמות (למשתנים ושגרות),
    הַשַֹמַת ערכים וכדו'.
    מצד שני שפה עילית מאפשרת גמישות רבה בכתיבת הקוד ע"י האפשרות להגדיר דברים חדשים, וע"י טיפול בחלק הטכני של כתובות הזיכרון וההקצאות.

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

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

    רק בשביל להדגים את יעילותה של שפה עילית על פני שפת סף נוכל לראות את הקוד הבא (VB):
    קוד:
    a = (x + d * 5) / (b * y - 20) - 17

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

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

    הידור (Compilation) :
    כאמור, כל קוד תכנות שאינו כתוב בשפת מכונה צריך לעבור המרה לשפת מכונה בשביל שהמחשב "יבין" אותו.

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

    לשם כך כל שפה עילית מצוידת במהדר (Compiler).
    תפקידו של המהדר דומה ומקביל לזה של המאסף - קליטת קוד התכנית בשפה עילית ויצירה כפלט קובץ בינארי המכיל את הקוד המקביל בשפת מכונה. תהליך זה נקרא הידור (Compilation).
    נערך לאחרונה על ידי ישראל; 16-02-2012 בשעה 14:59.

  2. קישורים ממומנים

  3. #2
    מורחקים
    תאריך הצטרפות
    02/2012
    גיל
    33
    הודעות
    21
    לייקים
    3
    נקודות
    0
    מין: זכר

    ברירת מחדל

    ​תודה רבה (:

  4. #3
    Smoxer314
    אורח

    ברירת מחדל

    בהחלט למדתי משהו חדש
    תודה רבה!

  5. #4
    מורחקים
    שם פרטי
    דורי
    תאריך הצטרפות
    08/2007
    גיל
    29
    הודעות
    348
    לייקים
    18
    נקודות
    115
    מין: זכר

    ברירת מחדל

    תודה רבה

  6. #5
    משתמש מתחיל האוואטר של Betos
    תאריך הצטרפות
    03/2012
    הודעות
    28
    לייקים
    1
    נקודות
    0
    מין: זכר

    ברירת מחדל

    בהחלט למדתי משהו חדש
    תודה רבה!
    SAME...
    תודה רבה.

+ תגובה לנושא


הרשאות פרסום

  • אין באפשרותך לפרסם נושאים חדשים
  • אין באפשרותך לפרסם תגובות
  • אין באפשרותך לצרף קבצים
  • אין באפשרותך לערוך את הודעותיך


כל הזמנים הם לפי GMT +3. השעה כרגע היא 22:22.
מופעל על ידי vBulletin™ © גרסה 4.1, 2011 vBulletin Solutions, Inc. כל הזכויות שמורות.
פעילות הגולשים
אומנות וגרפיקה
מוזיקה
ספורט
סדרות טלוויזיה
סרטים וקולנוע
קנייה ומכירה
רשתות חברתיות
הבורר 3
פורומי פנאי ובידור
סרטים
סדרות
משחקים
דיבורים
אקטואליה
בעלי חיים
בדיחות והומור
משחקי ספורט
הבורר
מחשבים וטכנולוגיה
תמיכה טכנית
חומרה ומודינג
תוכנות להורדה
סלולארי וגאדג'טים
רקעים למחשב
ציוד הקפי למחשב
אבטחת מידע
תכנות ובניית אתרים
כסף ברשת
אייפון
בריאות ואורח חיים
כושר ופיתוח גוף
דיאטה
צבא וגיוס
יעוץ מיני
מה שבלב
אומנות הפיתוי
יהדות
מיסטיקה ורוחניות
אתאיזם ודתות

נושאים: 2,450,181 | הודעות: 8,150,763 | משתמשים: 315,603 | המשתמש החדש ביותר: upizijoj | עיצוב גרפי: סטודיו עודד בביוף | קידוד: rellect