פרסומת
בחלק 2 של המדריך למתחילים המוחלט שלנו לתכנות, אעסוק ביסודות של פונקציות, ערכי החזרה, לולאות ומזגנים. לוודא קראת את חלק 1 היסודות של תכנות מחשבים 101 - משתנים וסוגי נתוניםלאחר שהצגתי ודיברתי מעט על תכנות מונחה עצמים לפני והיכן הדובדבן שלה מגיע, חשבתי שהגיע הזמן שנעבור את היסודות המוחלטים של תכנות באופן ספציפי שאינו שפה דרך. בית המלון מתפאר ב ... קרא עוד לפני שמתמודד עם זה, שם הסברתי את מושגי המשתנים והנתונים. לא תצטרך לבצע שום תכנות בפועל - הכל עדיין תיאורטי ובלתי תלוי בשפה.
בפעם הבאה נתחיל ליישם את כל זה עם קוד אמיתי. אם תמיד הבטחת לעצמך שתתכונן לעשות קצת תכנות ביום מן הימים, עכשיו זה זמן נהדר להתחיל.
כדי לחזור במהירות, בפעם האחרונה הסברתי מהם המשתנים וכמה מנתוני הסוגים הבסיסיים שהם יכולים לאחסן. אתה אמור להיות מסוגל להסביר מהם סוגי הנתונים הבאים:
- דמות
- מחרוזת
- מספר שלם
- לצוף
- בוליאני
- מערך
בדקנו גם את ההבדל בין שפות תכנות עם הקלדה חזקה לשפות תכנות. והיתרונות והחסרונות של כל אחד. לבסוף, נוודא שאתה יודע מה ההבדל בין הצהרות המשימה והשוויון. איזה מהבאים הבאים מקצה משתנה B למשתנה A, ואילו בדיקות אם יש להם אותו ערך?
- a = b;
- a == ב;
גדול! אם הגעת לכאן, זה הישג מדהים ואתה בדרך להכנת תוכנה משלך! נעבור לשיעור היום.
מזגנים ולולאות
ישנם שלושה אבני בניין מבניות של תוכנית שאתה צריך לדעת, והם מכונים כמעט אוניברסלית: IF, FOR ו- WHILE.
אם הוא מבחן חד פעמי. “אם א 'נכון, עשה זאת”. אם א לא נכון, התוכנית מתעלמת מכל הבא ליד וממשיכה עם שאר הקוד. אתה יכול גם לספק אלטרנטיבה עם ELSE. “אם א 'נכון, עשה זאת, עשה זאת אחרת”. זה מאפשר לך לקבל החלטות בתוכנית בהתאם למשתנה. זוכרים את המבחן לשוויון שלמדנו עליו קודם?
ניתן להשתמש בזה בסעיף IF, למשל:
אם (a == b) הדפס "a שווה ל b" אחר. הדפס "a אינו שווה ל b"
ל היא דרך לעבור על אותו קוד מספר מוגדר של פעמים. אין בדיקות מעורבות - זה רק חוזר על אותה גוש קוד עם זאת פעמים רבות שאנחנו אומרים לו.
בזמן הוא גם לולאה, אך במקום לבצע את האפשרויות מספר פעמים שנקבע מראש, הוא מבצע בדיקה בכל פעם שהלולאה מבוצעת וממשיך לולאה עד שהמבחן נכשל. אם המבחן ממשיך להיות נכון, הוא לא מפסיק לולאה. זה יכול לגרום לבעיות אם יש לך באג במראה WHILE שלך, מה שמוביל לתוכניות לא מגיבות שמתרסקות בלולאה אינסופית.

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

בדוגמה שלמעלה, "חתימת" הפונקציה היא כזו שמקבלת שני משתנים (א ו ב) ומחזירה אחת (ג).
לפעמים פונקציות לא מחזירות ערכים כלל, אם כי מקובל במקרים אלה רק להחזיר ערך בוליאני של אמת או כוזב כדי להראות אם זה היה מוצלח או לא. אם התקשרת לפונקציה לשמירת קובץ למשל, לא בהכרח תרצה להחזיר משתנים כלשהם, אך תרצה לדעת אם הקובץ נכתב כהלכה או אם הייתה שגיאה.
בכל היישומים, כל הזמן "מועברים" משתנים ונתונים דרך אלפי פונקציות שונות, שכל אחת מהן מבצעת מטרה ייחודית משלה בתכנית הגדולה של הדברים.
בדוק מה למדת היום
כדי לסכם מחדש את הנקודות של היום, עליכם להבין מה הדברים הבאים עושים בשפת תכנות כלשהי וכיצד הם שולטים על זרימת האפליקציה:
- אם
- ל
- בזמן
עליכם להבין גם מהי פונקציה, ולכוונתי כשאני אומר "פונקציה זו מקבלת מחרוזת ומחזירה בוליאני”.
זה הכל לשיעור הזה. בפעם הבאה ננסה להוציא לפועל חלק מהידע הזה באמצעות קוד אמיתי לכתיבת אפליקציה קטנה, אם כי לא החלטתי איזו שפה להתמודד תחילה. אם יש לך בקשות, אז אולי תוכל לפרסם בתגובות. אילו שפות תכנות לדעתך הן החשובות ביותר כיום?
זיכויים לתמונה: תריס סטוק 1,2
ג'יימס הוא בעל תואר ראשון בבינה מלאכותית, והוא מוסמך CompTIA A + ו- Network +. הוא המפתח הראשי של MakeUseOf, ומבלה את זמנו הפנוי במשחקי פיינטבול VR ומשחקי לוח. הוא בנה מחשבים אישיים מאז שהיה ילד.