Tanchiki trong Pascal: trẻ em được dạy lập trình như thế nào vào những năm 90 và điều gì sai trái với nó

Một chút về “khoa học máy tính” ở trường học vào những năm 90 như thế nào và tại sao tất cả các lập trình viên khi đó đều hoàn toàn tự học.

Tanchiki trong Pascal: trẻ em được dạy lập trình như thế nào vào những năm 90 và điều gì sai trái với nó

Những gì trẻ em được dạy lập trình

Đầu những năm 90, các trường học ở Mátxcơva bắt đầu được trang bị có chọn lọc các lớp học máy tính. Các phòng ngay lập tức được trang bị các thanh chắn trên cửa sổ và một cánh cửa sắt nặng nề. Từ đâu đó, một giáo viên khoa học máy tính xuất hiện (anh ta trông giống như người đồng chí quan trọng nhất sau giám đốc), người có nhiệm vụ chính là đảm bảo rằng không ai chạm vào bất cứ thứ gì. Không có gì đâu. Ngay cả cửa trước.
Trong các lớp học, người ta thường có thể tìm thấy hệ thống BK-0010 (với nhiều loại khác nhau) và BK-0011M.

Tanchiki trong Pascal: trẻ em được dạy lập trình như thế nào vào những năm 90 và điều gì sai trái với nó
Ảnh chụp do đó

Các em được nghe về cấu trúc chung cũng như khoảng chục lệnh BASIC để các em có thể vẽ các đường thẳng và hình tròn trên màn hình. Đối với học sinh cấp XNUMX và cấp XNUMX, điều này có lẽ là đủ.

Có một số vấn đề với việc bảo tồn các sáng tạo (chương trình) của một người. Thông thường, các máy tính sử dụng bộ điều khiển đơn kênh được kết hợp thành một mạng có cấu trúc liên kết “bus chung” và tốc độ truyền 57600 baud. Theo quy định, chỉ có một ổ đĩa và mọi thứ thường xảy ra với nó. Đôi khi nó hoạt động, đôi khi không, đôi khi mạng bị treo, đôi khi đĩa mềm không thể đọc được.

Sau đó tôi đã mang theo bên mình tác phẩm này với dung lượng 360 kB.

Tanchiki trong Pascal: trẻ em được dạy lập trình như thế nào vào những năm 90 và điều gì sai trái với nó

Cơ hội để tôi lấy lại được chương trình của mình là 50-70%.

Tuy nhiên, vấn đề chính của tất cả những câu chuyện này với máy tính BC là tình trạng treo máy liên tục.

Điều này có thể xảy ra bất cứ lúc nào, dù là gõ mã hay thực thi chương trình. Hệ thống bị đóng băng có nghĩa là bạn đã dành 45 phút vô ích, bởi vì... Tôi phải làm lại mọi thứ, nhưng thời gian học còn lại không còn đủ cho việc này nữa.

Gần đến năm 1993, ở một số trường học và trường trung học, các lớp học bình thường với 286 ô tô đã xuất hiện, và ở một số nơi thậm chí còn có ba rúp. Về ngôn ngữ lập trình, có hai lựa chọn: nơi “BASIC” kết thúc, “Turbo Pascal” bắt đầu.

Lập trình trong "Turbo Pascal" sử dụng ví dụ về "xe tăng"

Bằng cách sử dụng Pascal, trẻ em được dạy cách xây dựng các vòng lặp, vẽ tất cả các loại hàm và làm việc với mảng. Tại trường trung học vật lý và toán học, nơi tôi “sống” một thời gian, mỗi tuần có một vài người được giao môn khoa học máy tính. Và trong hai năm đã có nơi nhàm chán này. Tất nhiên, tôi muốn làm điều gì đó nghiêm túc hơn là hiển thị các giá trị của một mảng hoặc một loại hình sin nào đó trên màn hình.

Xe tăng

Battle City là một trong những trò chơi phổ biến nhất trên bảng điều khiển nhân bản NES (Dendy, v.v.).

Tanchiki trong Pascal: trẻ em được dạy lập trình như thế nào vào những năm 90 và điều gì sai trái với nó

Vào năm 1996, sự phổ biến của 8-bit đã qua đi, chúng đã bám bụi từ lâu trong tủ quần áo và đối với tôi, việc tạo một bản sao của “Tanks” cho PC như một thứ gì đó có quy mô lớn có vẻ rất thú vị. Sau đây chỉ là về việc hồi đó cần phải né tránh để viết thứ gì đó bằng đồ họa, chuột và âm thanh trên Pascal.

Tanchiki trong Pascal: trẻ em được dạy lập trình như thế nào vào những năm 90 và điều gì sai trái với nó

Bạn chỉ có thể vẽ que và vòng tròn

Hãy bắt đầu với đồ họa.

Tanchiki trong Pascal: trẻ em được dạy lập trình như thế nào vào những năm 90 và điều gì sai trái với nó

Trong phiên bản cơ bản của nó, Pascal cho phép bạn vẽ một số hình dạng, tô màu và xác định màu sắc của các điểm. Các quy trình nâng cao nhất trong mô-đun Đồ thị giúp chúng ta đến gần hơn với các họa tiết là GetImage và PutImage. Với sự giúp đỡ của họ, có thể chụp một phần màn hình vào vùng bộ nhớ đã dành riêng trước đó và sau đó sử dụng phần này làm hình ảnh bitmap. Nói cách khác, nếu bạn muốn sử dụng lại một số phần tử hoặc hình ảnh trên màn hình, trước tiên bạn vẽ chúng, sao chép chúng vào bộ nhớ, xóa màn hình, vẽ phần tiếp theo, v.v. cho đến khi bạn tạo được thư viện mong muốn trong bộ nhớ. Vì mọi thứ diễn ra nhanh chóng nên người dùng không nhận thấy những thủ thuật này.

Mô-đun đầu tiên sử dụng các họa tiết là trình chỉnh sửa bản đồ.

Tanchiki trong Pascal: trẻ em được dạy lập trình như thế nào vào những năm 90 và điều gì sai trái với nó

Nó có một sân chơi được đánh dấu. Nhấp chuột sẽ xuất hiện một menu nơi bạn có thể chọn một trong bốn tùy chọn chướng ngại vật. Nhắc tới chuột...

Chuột đã cuối thập niên 90 rồi

Tất nhiên, mọi người đều có chuột, nhưng cho đến giữa những năm 90, chúng chỉ được sử dụng trong Windows 3.11, gói đồ họa và một số ít trò chơi. Wolf và Doom chỉ được chơi bằng bàn phím. Và trong môi trường DOS, chuột không đặc biệt cần thiết. Do đó, Borland thậm chí không bao gồm mô-đun chuột trong gói tiêu chuẩn. Bạn phải tìm anh ấy thông qua những người quen của mình, họ đã giơ tay và kêu lên đáp lại: “Bạn cần anh ấy để làm gì?”

Tuy nhiên, việc tìm kiếm một mô-đun để thăm dò chuột chỉ là một nửa trận chiến. Để nhấp chuột vào các nút trên màn hình, chúng phải được vẽ. Hơn nữa, có hai phiên bản (ép và không ép). Nút không được nhấn sẽ có phần trên sáng và phần bóng bên dưới. Khi ấn vào thì ngược lại. Và sau đó vẽ nó lên màn hình ba lần (không nhấn, nhấn, rồi không nhấn lại). Ngoài ra, đừng quên đặt độ trễ hiển thị và ẩn con trỏ.

Tanchiki trong Pascal: trẻ em được dạy lập trình như thế nào vào những năm 90 và điều gì sai trái với nó

Ví dụ: xử lý menu chính trong mã trông như thế này:

Tanchiki trong Pascal: trẻ em được dạy lập trình như thế nào vào những năm 90 và điều gì sai trái với nó

Âm thanh – Chỉ loa PC

Một câu chuyện riêng biệt với âm thanh. Vào đầu những năm XNUMX, các bản sao của Sound Blaster chỉ mới chuẩn bị cho cuộc hành quân thắng lợi và hầu hết các ứng dụng chỉ hoạt động với loa tích hợp. Khả năng tối đa của nó là tái tạo đồng thời chỉ một âm sắc. Và đó chính xác là những gì Turbo Pascal cho phép bạn làm. Thông qua quy trình âm thanh, có thể phát ra tiếng rít với các tần số khác nhau, đủ cho âm thanh của tiếng súng và tiếng nổ, nhưng đối với một trình bảo vệ màn hình âm nhạc, như thời trang lúc bấy giờ, điều này không phù hợp. Kết quả là, một giải pháp rất xảo quyệt đã được tìm ra: trong kho lưu trữ riêng của phần mềm, một “tệp exe” đã được phát hiện, được tải xuống một lần từ một số BBS. Anh ấy có thể làm nên điều kỳ diệu - phát các sóng không nén thông qua Loa PC và anh ấy đã làm điều đó từ dòng lệnh và không có giao diện thực tế. Tất cả những gì cần thiết là gọi nó thông qua thủ tục thực thi Pascal và đảm bảo rằng cấu trúc này không bị sập.

Kết quả là bản nhạc sát thủ xuất hiện trên trình bảo vệ màn hình, nhưng một điều buồn cười đã xảy ra với nó. Năm 1996, tôi có một hệ thống trên Pentium 75, tốc độ lên tới 90. Mọi thứ đều hoạt động tốt trên đó. Tại trường đại học nơi Pascal được dạy cho chúng tôi vào học kỳ thứ hai, có những đồng “ba rúp” cũ kỹ trong lớp học. Được sự đồng ý của thầy, tôi đưa những chiếc xe tăng này đến buổi học thứ hai để thi và không đến đó nữa. Và vì vậy, sau khi phóng, một tiếng gầm lớn xen lẫn âm thanh ùng ục phát ra từ loa. Nhìn chung, “thẻ ba rúp” DX 33 megahertz hóa ra không thể quay chính xác “thẻ thực thi” đó một cách chính xác. Nhưng nếu không thì mọi thứ đều ổn. Tất nhiên, không tính việc bỏ phiếu bàn phím chậm, làm hỏng toàn bộ trò chơi, bất kể hiệu suất của PC.

Nhưng vấn đề chính không nằm ở Pascal

Theo hiểu biết của tôi, “Tanks” là mức tối đa có thể được loại bỏ khỏi Turbo Pascal mà không cần lắp ráp. Những thiếu sót rõ ràng của sản phẩm cuối cùng là việc thăm dò bàn phím chậm và kết xuất đồ họa chậm. Tình hình càng trở nên trầm trọng hơn do số lượng cực kỳ nhỏ các thư viện và mô-đun của bên thứ ba. Chúng có thể đếm được trên đầu ngón tay.

Nhưng điều làm tôi khó chịu nhất là cách tiếp cận giáo dục ở trường. Khi đó không ai nói với trẻ em về lợi ích và khả năng của các ngôn ngữ khác. Trong lớp, họ gần như ngay lập tức bắt đầu nói về start, println và if, những điều này đã khóa học sinh trong mô hình BASIC-Pascal. Cả hai ngôn ngữ này có thể được coi là dành riêng cho giáo dục. Việc sử dụng “chiến đấu” của họ là một điều hiếm khi xảy ra.

Tại sao dạy trẻ ngôn ngữ giả là một điều bí ẩn đối với tôi. Hãy để chúng trực quan hơn. Hãy để các biến thể của BASIC được sử dụng ở đây và ở đó. Tuy nhiên, trong mọi trường hợp, nếu một người quyết định gắn kết tương lai của mình với lập trình, anh ta sẽ phải học các ngôn ngữ khác từ đầu. Vậy tại sao trẻ em không được giao những nhiệm vụ giáo dục giống nhau mà chỉ trên một nền tảng (ngôn ngữ) bình thường, trong đó chúng có thể phát triển độc lập hơn nữa?

Nói về nhiệm vụ. Ở trường phổ thông và đại học, chúng luôn trừu tượng: tính toán một cái gì đó, xây dựng một hàm số, vẽ một cái gì đó. Tôi đã học ở ba trường khác nhau, cộng với việc chúng tôi có “Pascal” vào năm đầu tiên của học viện, và chưa một lần giáo viên đặt ra bất kỳ vấn đề ứng dụng thực tế nào. Ví dụ: làm một cuốn sổ tay hoặc thứ gì đó hữu ích. Mọi thứ đều rất xa vời. Và khi một người dành hàng tháng trời để giải những bài toán trống rỗng, sau đó chúng sẽ bị vứt vào thùng rác... Nói chung, mọi người rời viện đã kiệt sức rồi.

Nhân tiện, vào năm thứ ba của cùng một trường đại học, chúng tôi đã được nhận “điểm cộng” trong chương trình. Tưởng chừng như là một điều tốt nhưng mọi người lại mệt mỏi, đầy rẫy những nhiệm vụ giả tạo và “huấn luyện”. Không ai hào hứng như lần đầu.

Tái bút Tôi đã tìm kiếm trên Google về những ngôn ngữ hiện đang được dạy trong các lớp khoa học máy tính ở trường học. Mọi thứ vẫn như 25 năm trước: Basic, Pascal. Python có nhiều thể vùi lẻ tẻ.

Nguồn: www.habr.com

Thêm một lời nhận xét