תבין.. כיום, יש כמה סוגי תכנות, שהשניים הבולטים מביניהם, הם תיכנות פרוצדוראלי, ותיכנות מונחה אובייקטים.
פסקל, כמו רוב השפות (C, בייסיק וכו'), היא שפת תכנות על בסיס פרוצדוראלי.מה זה פרוצדוראלי ?
פרוצדוראלי, זה אומר שהתוכניות שבונים בשפה זו, מורכבות מפרוצדורות (תת-משימות), כמו שעובד המעבד.
אם כן, מה הקשר לפונקציות ?
פונקציות, הן הצורה שבאמצעותה בונים בתיכנות פרוצדוראלי.
פונקצייה, נועדה כדי לבצע משימה כלשהי.
ניקח לדוגמה את הפונקצייה WriteLn:
פונקציה זו, מדפיסה למסך מחרוזת תווים, ע"פ הפרמטר שהועבר לה, כלומר:
('WriteLn('Hello - ידפיס Hello (הפרמטר שהועבר, הוא המחרוזת Hello).
לכאורה, הפונקצייה הזו נראית מאוד פשוטה, אבל בפועל, היא מסובכת, יחסית, מכיוון שהיא מיועדת להדפיס כל סוג של מידע, כלומר, אם בפרמטר שיועבר לה, יהיה משתנה מספרי, אז הפונקצייה צריכה להדפיס מספר (ולא את הקוד אסקי שהמספר מצביע עליו).
בקיצור, הפונקצייה הזו היא תת-משימה לכל דבר.
במקרה, פונקצייה זו, אינה מחזירה שום ערך.
ניקח דוגמה נוספת - הפונקציה Abs:
פונקצייה זו, נועדה כדי להחזיר את הערך המוחלט של הפרמטר שהועבר לה. לדוגמה:
(Abs(-12 - יחזיר את המספר 12.
טענת הכניסה: מספר ממשי או שלם, מסומן (חיובי או שלילי).
טענת יציאה: ערך מוחלט.
בתוכניות מורכבות, יהיה יותר יעיל לחלק את התוכנית לפונקציות, במקום לכתוב את קטע הקוד של הפונקצייה בכל מקום שזקוקים לה.
Dudenland