טנצ'יקי בפסקל: איך לימדו ילדים תכנות בשנות ה-90 ומה לא בסדר בזה

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

טנצ'יקי בפסקל: איך לימדו ילדים תכנות בשנות ה-90 ומה לא בסדר בזה

על מה לימדו ילדים לתכנת

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

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

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

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

לאחר מכן נשאתי איתי את היצירה הזו בקיבולת של 360 קילובייט.

טנצ'יקי בפסקל: איך לימדו ילדים תכנות בשנות ה-90 ומה לא בסדר בזה

הסיכוי שאוציא ממנה שוב את התוכנית שלי היה 50-70 אחוז.

עם זאת, הבעיה העיקרית עם כל הסיפורים הללו עם מחשבי BC הייתה הקפאות אינסופיות.

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

קרוב יותר לשנת 1993, בחלק מבתי ספר וליסיאומים, הופיעו כיתות רגילות עם 286 מכוניות, ובמקומות מסוימים היו אפילו שלושה רובל. מבחינת שפות תכנות, היו שתי אפשרויות: במקום שבו "BASIC" הסתיים, התחיל "טורבו פסקל".

תכנות ב"טורבו פסקל" באמצעות הדוגמה של "טנקים"

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

טנקים

Battle City היה אחד המשחקים הפופולריים ביותר בקונסולות שיבוטים של NES (Dendy וכו').

טנצ'יקי בפסקל: איך לימדו ילדים תכנות בשנות ה-90 ומה לא בסדר בזה

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

טנצ'יקי בפסקל: איך לימדו ילדים תכנות בשנות ה-90 ומה לא בסדר בזה

אתה יכול לצייר רק מקלות ועיגולים

נתחיל עם גרפיקה.

טנצ'יקי בפסקל: איך לימדו ילדים תכנות בשנות ה-90 ומה לא בסדר בזה

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

המודול הראשון שבו נעשה שימוש ב-sprites היה עורך המפה.

טנצ'יקי בפסקל: איך לימדו ילדים תכנות בשנות ה-90 ומה לא בסדר בזה

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

העכבר הוא כבר סוף שנות ה-90

כמובן, לכולם היו עכברים, אבל עד אמצע שנות ה-90 הם היו בשימוש רק ב... Windows 3.11, חבילות גרפיקה, וקומץ משחקים אחרים. את Wolf and Doom שיחקו אך ורק עם המקלדת. ואפילו בסביבת DOS, עכבר לא היה באמת הכרחי. זו הסיבה ש-Borland אפילו לא כלל מודול עכבר בהפצה הסטנדרטית. היית צריך לחפש אותו דרך חברים, שהיו מושכים בכתפיהם וקוראים, "למה אתה צריך אחד?"

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

טנצ'יקי בפסקל: איך לימדו ילדים תכנות בשנות ה-90 ומה לא בסדר בזה

לדוגמה, עיבוד התפריט הראשי בקוד נראה כך:

טנצ'יקי בפסקל: איך לימדו ילדים תכנות בשנות ה-90 ומה לא בסדר בזה

סאונד - רמקול מחשב בלבד

סיפור נפרד עם סאונד. בתחילת שנות התשעים, שיבוטי Sound Blaster רק התכוננו לצעדת הניצחון שלהם, ורוב היישומים עבדו רק עם הרמקול המובנה. המקסימום של היכולות שלו הוא שכפול סימולטני של צליל אחד בלבד. וזה בדיוק מה שטורבו פסקל איפשר לך לעשות. באמצעות הליך הסאונד ניתן היה "לחרוק" בתדרים שונים, וזה מספיק לקולות יריות ופיצוצים, אבל לשומר מסך מוזיקלי, כפי שהיה אופנתי אז, זה לא התאים. כתוצאה מכך, נמצא פתרון ערמומי מאוד: בארכיון של התוכנה עצמה, התגלה "קובץ exe" שהוורד פעם אחת מאיזה BBS. הוא יכול לחולל ניסים - לנגן וואבים לא דחוסים דרך רמקול PC, והוא עשה את זה משורת הפקודה ולא היה לו ממשק ממשי. כל מה שהיה צריך זה לקרוא לזה דרך הליך Pascal exec ולוודא שהבנייה הזו לא תקרוס.

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

הפעל וידאו

אבל הבעיה העיקרית היא לא בפסקל

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

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

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

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

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

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

מקור: www.habr.com

קנה אירוח אמין לאתרים עם הגנת DDoS, שרתי VPS VDS 🔥 קנה אחסון אתרים אמין עם הגנת DDoS, שרתי VPS VDS | ProHoster