Kvant
Khác

IV Trường hè toàn Liên minh dành cho lập trình viên trẻ

Виленкина Л., Звенигородский Г. А.

Bản dịch tự động sơ bộ, chất lượng thấp: có thể còn lỗi và câu chữ chưa tự nhiên. Bản này sẽ được thay bằng bản dịch tốt hơn. Bản gốc →

37

IV Khóa học hè toàn diện dành cho lập trình viên trẻ

Bài viết này mô tả chi tiết công việc của trường dành cho lập trình viên trẻ, diễn ra vào tháng 7 - tháng 8 tại thị trấn học thuật Novosibirsk. Độc giả của chúng tôi đã biết được bài toán chương trình hiện đại nào đôi khi có thể giải quyết được. Học sinh của Trường Lập trình Tương ứng của chúng tôi sẽ được yêu cầu thành thạo ngôn ngữ Robik và chuẩn bị học ngôn ngữ Rapier mà họ sẽ học vào «Kvant», 1980, Số 1.

Từ ngày 26 tháng 7 đến ngày 10 tháng 8 năm 1979, Trường học hè toàn Nga lần thứ IV dành cho thanh thiếu niên được tổ chức tại Thị trấn học thuật Novosibirsk, với hơn 120 học sinh tham gia. Trong số đó có đại diện của Kharkov và Nakhodka,iche

va và Angarsk, Leningrad và Moscow và nhiều thành phố khác của nước ta.

Lễ khai trương của Trường diễn ra tại Hội trường nhỏ của Nhà khoa học thuộc Chi nhánh Siberia của Viện Hàn lâm Khoa học Liên Xô, nơi thường tổ chức các cuộc họp, hội nghị chuyên đề và hội nghị khoa học. Những người tham gia Trường được phát biểu bởi đại diện Hội đồng khoa học về các vấn đề giáo dục tại Predidum của Viện Hàn lâm Khoa học Liên Xô, hiệu trưởng Đại học Novosibirsk, Viện sĩ V. A. Koptyug, trưởng phòng thông tin của Trung tâm Máy tính thuộc Viện Hàn lâm Khoa học Liên Xô, giám đốc khoa học của Trường hè, thành viên tương ứng của Viện Hàn lâm Khoa học Liên Xô A. P. Ershov và các nhà khoa học khác.

Tại các bài giảng và hội thảo được tổ chức tại Đại học Novosibirsk, học sinh được làm quen với các ngôn ngữ và hệ thống lập trình hiện đại (Rapier, Pascal, Settle, Poplan), với hệ thống đồ họa máy tính Shpat, cho phép các em tạo ra nhiều bản vẽ và sơ đồ khác nhau trên máy tính

38

vẽ, làm slide, làm phim hoạt hình. Các lập trình viên trẻ đã được nghe về các phương pháp và kỹ thuật lập trình khác nhau, đồng thời họ được dạy cách sử dụng máy tính để làm việc. lời giải đa dạng nhất bài toán, hoạt động trên nhiều thiết bị bên ngoài khác nhau, sử dụng hệ thống lưu trữ Crab và Chameleon.

Xin thưa, các lớp học thực hành rất thú vị: trong vài ngày, các em học sinh đã có cơ hội làm việc tại Trung tâm Máy tính thuộc Chi nhánh Siberia của Viện Hàn lâm Khoa học Liên Xô - một trong những trung tâm máy tính tốt nhất cả nước, được trang bị công nghệ hiện đại nhất.

Trong quá trình hoạt động của Trường đã tổ chức hai buổi hội thảo để các em học sinh nói chuyện về công việc của mình và tìm hiểu về kết quả làm việc của các đồng chí. Hầu hết các công việc trình bày tại hội nghị đều được thực hiện theo đơn đặt hàng của các doanh nghiệp công nghiệp, viện nghiên cứu và cơ sở giáo dục. Những tác phẩm như vậy không chỉ có ý nghĩa giáo dục mà còn có ý nghĩa thiết thực hơn. Kết quả của một số trong số chúng đã được công bố trong các tài liệu khoa học hoặc được đề xuất công bố dựa trên kết quả của Trường.

Chúng ta sẽ nói về một số công việc đã nhận được bằng cấp một, cấp hai và cấp ba trong bài viết này.

Làm thế nào để dạy một ngôn ngữ máy tính?

Tại Trường Lập trình viên Trẻ Novosibirsk, cũng như tại Trường Lập trình Tương ứng «Kvant», các sinh viên học ngôn ngữ giáo dục chính Robik có mặt để học các ngôn ngữ lập trình phức tạp hơn có khả năng tuyệt vời và cho phép giải quyết không chỉ mang tính giáo dục mà còn ứng dụng thực tế, quan trọng bài toán. Tuy nhiên, một trong những ngôn ngữ này - ngôn ngữ giáo dục và sản xuất Rapier - sẽ được mô tả trong các bài học sắp tới của Trường Lập trình Tương ứng.

Bài toán Anatomy Veliko (Novosibirsk, lớp 8) sẽ dạy ngôn ngữ này trên máy tính BESM-6. Chương trình do anh biên soạn sẽ dịch tất cả các cấu trúc của Rapra sang các cấu trúc của ngôn ngữ Poplan mà máy BESM-6 có thể hiểu được. Xin vui lòng, phần khó nhất của công việc sẽ là sắp xếp công việc ghi nhớ.

Trong các bài học của Trường Tương ứng, chúng ta đã nói về cách làm việc với trí nhớ bằng ngôn ngữ Robik. Các hướng dẫn gán có sẵn bằng ngôn ngữ này cho phép bạn viết một số hoặc một dòng văn bản vào khối bộ nhớ. Để ghi nhớ một bảng hoặc danh sách các số (ví dụ: các trang nhật ký học tập có điểm) trong bộ nhớ máy tính, trong Robik, bạn cần phân bổ một khối bộ nhớ riêng cho từng ô của bảng và đặt tên mới cho khối này.

Rõ ràng là sẽ thuận tiện hơn nhiều nếu đặt toàn bộ bảng vào cùng một khối bộ nhớ. Tuy nhiên, để làm việc với một bảng được lưu trữ trong một khối như vậy, bạn cần có khả năng điền và đọc các ô riêng lẻ của nó, nghĩa là làm việc không chỉ với toàn bộ khối bộ nhớ mà còn với các phần riêng lẻ của nó.

Hầu hết các ngôn ngữ lập trình đều cung cấp khả năng làm việc với các bảng, mỗi ô chứa một số. Nhưng các đặc tính đa dạng cần lưu trữ luân phiên các đối tượng khác nhau (số, văn bản, bảng, v.v.) trong một khối bộ nhớ. Ví dụ: thông tin về từng nguyên tố hóa học trong bảng tuần hoàn chứa số nguyên tử của nguyên tố đó (số), tên (dòng văn bản), ký hiệu (dòng văn bản) và trọng lượng nguyên tử (số) (Hình 1). Một tập hữu hạn các tập

39

Các đối tượng được sắp xếp theo một thứ tự nhất định được gọi là bộ trong toán học. Ví dụ, trong hình ảnh trong hình, một ô của bảng tuần hoàn có thể được biểu diễn bằng bộ dữ liệu sau:

“2, ‘Heli’, ‘Anh ấy’, 4.00260”

Để đọc một phần tử riêng lẻ của bộ vào bộ nhớ, bạn cần đặt tên cho tên khối và cho biết số sê-ri của phần tử mong muốn. Ví dụ: nếu bộ dữ liệu hiển thị ở đây được lưu trong bộ nhớ dưới tên A, thì phần tử đầu tiên của nó (số 2) biểu thị A[1] và mục nhập A[3] biểu thị phần tử thứ ba của bộ dữ liệu, tức là văn bản ‘Không’.

Một bộ dữ liệu có thể là một phần tử của một bộ dữ liệu khác. Ví dụ, nếu thuận tiện khi viết bảng tuần hoàn vào một khối bộ nhớ dưới dạng một bộ dữ liệu lớn, mỗi phần tử trong đó là một bộ dữ liệu nhỏ. mô tả một ô duy nhất:

“1, ‘Hydro’, ‘H’, 1,0079”,
“2, ‘Heli’, ‘Anh ấy’, 4.0026”,…

Trong bộ nhớ máy cũng cần lưu trữ các tập hợp đối tượng không có thứ tự, tức là các tập hợp đơn giản. Các quy trình làm việc với bộ nhớ, do Anatoly Velichko phát triển khi triển khai ngôn ngữ Rapier, không chỉ cho phép ghi các tập hợp và bộ dữ liệu vào bộ nhớ máy tính và chọn các phần tử riêng lẻ từ chúng mà còn thực hiện các phép toán khác nhau trên chúng, ví dụ: tìm đường tròn và giao điểm của một tập hợp, v.v.

Yuri Shirman (Kharkov, lớp 8) đã giải được một vấn đề cụ thể hơn bài toán: làm thế nào để giải phóng khối bộ nhớ nếu thông tin lưu trữ trong đó không còn cần thiết nữa. Có được cơ hội này là rất quan trọng. Điều thường xảy ra là toàn bộ bộ nhớ của máy đầy và không thể lưu trữ thông tin mới, mặc dù một số thông tin cũ không còn cần thiết và có thể bị xóa. Trong một số ngôn ngữ và hệ thống, điều này khá dễ thực hiện, nhưng trong hệ thống EU DOS mà học sinh Kharkov làm việc, khả năng này không được cung cấp. Yuri đã viết một loạt bộ xử lý bằng ngôn ngữ PL-1 cho phép lập trình viên yêu cầu khối bộ nhớ có kích thước cần thiết bất kỳ lúc nào hoặc giải phóng khối bị chiếm dụng.

Học sinh lớp bảy Natalya Glazoleva (Novosibirsk) đang nghiên cứu cải tiến ngôn ngữ Poplan, một trong những ngôn ngữ lập trình tương tác phổ biến nhất. Một nhược điểm đáng kể của ngôn ngữ này là không thể kiểm tra hoặc sửa văn bản của quy trình được ghi trong bộ nhớ máy tính: nếu phát hiện thấy lỗi trong quy trình thì tất cả các quy trình cần điền sẽ được bảo lưu. Chương trình do Natasha phát triển cho phép bạn thay đổi và sửa văn bản của quy trình theo cách tương tự như được thực hiện trong Robik.

Belchonok dẫn đầu Nhật Bản

Hệ thống thông tin tương tác cung cấp sự trợ giúp đắc lực cho các chuyên gia trong nhiều lĩnh vực kiến ​​thức khác nhau, cho phép họ nhanh chóng tìm và phân tích các thông tin cần thiết. Khi phát triển các hệ thống như vậy, điều quan trọng là phải lưu trữ thông tin ở dạng thuận tiện cho máy móc và thông tin chung (đối thoại) với máy tổ chức ở dạng thuận tiện cho con người. Theo quy định, các hệ thống này phục vụ các hệ thống đặc biệt và phải được thiết kế sao cho chuyên gia đó có thể hiểu được. Ví dụ, một nhà hóa học có thể hỏi “Trọng lượng nguyên tử là bao nhiêu?”, Nhưng công thức “Đặt tên cho bốn nguyên tố của một bộ như vậy” rõ ràng sẽ không phù hợp với anh ta - xét cho cùng, anh ta không bắt buộc phải nhớ thông tin anh ta quan tâm được lưu trữ ở khối nào và theo số nào. Chúng tôi đã thảo luận về ba hệ thống thông tin được trình bày tại hội nghị.

Không còn nghi ngờ gì nữa, hệ thống đối thoại để phân tích cấu trúc của các hợp chất protein “Belchonok” đã thu hút được nhiều sự quan tâm nhất.

Như bạn đã biết, protein gồm các axit amin nối với nhau thành chuỗi, đôi khi rất dài (từ vài chục đến vài nghìn).

40

Chỉ có một số axit amin khác nhau - khoảng hai mươi. Thành phần của nhiều loại protein đã được biết đến: chúng được liệt kê trong các danh mục đặc biệt dưới dạng các bộ axit amin.

Bài toán của hệ thống “Belchonok” là tìm ra loại protein nào có thể tham gia bằng cách phát hiện một “mảnh cắt” của chuỗi protein trong bánh mì thử nghiệm. Tất nhiên, việc này có thể được thực hiện “thủ công” - xem qua tất cả các trang và danh mục bên phải - nhưng sẽ mất rất nhiều thời gian, và quan trọng nhất là luôn có nguy cơ bỏ sót thứ gì đó.

Theo lệnh của Viện Tổ chức, các nhà hóa học thuộc Chi nhánh Siberia của Viện Khoa học, học sinh lớp 8 Novosibirsk Tatyana Vayshtein và Anamoly Veliko đã phát triển hệ thống Belchonok, hệ thống này thực hiện công việc này nhanh hơn nhiều và với chất lượng cao. Nếu trước đây đôi khi phải mất vài ngày thì bây giờ máy ở phía dưới và tìm thấy thông tin cần thiết trong vài giây.

Thông tin cần thiết về protein được lưu trữ liên tục trong bộ nhớ máy tính: cấu trúc, tên, tính chất vật lý và hóa học của protein và liên kết đến tài liệu mô tả chi tiết về nó.

Mỗi axit amin được ký hiệu bằng một chữ cái trong bảng chữ cái Latinh, ví dụ A - alanine, V - valine, v.v.; cấu trúc của mỗi cái được trình bày dưới dạng một chuỗi các chữ cái, nghĩa là dưới dạng một dòng văn bản.

Dưới ảnh hưởng của một số thuốc thử hóa học (enzym) mô hình phân tử

Hình 2.

*) Tiếp theo, máy in tất cả các protein chứa cấu hình AV và vị trí của nó, theo cùng một sơ đồ.

41

TÔI ĐANG CHỜ HƯỚNG DẪN CỦA BẠN

  • DẤU HIỆU
    — BẠN QUAN TÂM VỀ PROTEIN NÀO?
    — B1
  • DẤU HIỆU PHÁ VỠ?
    — 1
    — AV, VAA, AVA, VV
    TÔI ĐANG CHỜ HƯỚNG DẪN CỦA BẠN
  • THẨM QUYỀN GIẢI QUYẾT
    — BẠN QUAN TÂM VỀ PROTEIN NÀO?
    — B1
    — BẠN QUAN TÂM CÁI GÌ: CẤU TRÚC, VĂN HỌC HAY BÌNH LUẬN?
  • VĂN HỌC
    — TẠP CHÍ SỐ 12
    1979
    TÔI ĐANG CHỜ HƯỚNG DẪN CỦA BẠN
  • KẾT THÚC
    — HỆ THỐNG SÓC NHỎ ĐÃ HOÀN THÀNH CÔNG VIỆC, TẠM BIỆT!

Hai hệ thống thông tin khác đã được các em học sinh Kharkov trình bày tại hội nghị. Natalya Volfovskaya, sáu tuổi, đã phát triển một chương trình làm việc với tài liệu khoa học trong thư viện. Chương trình cho phép bạn nhanh chóng có được danh sách sách và bài viết liên quan đến một chủ đề nhất định.

Và chương trình “Chỉ số”, được phát triển bởi Alexey Karnozhchiky và Igor Rosenberr (lớp 8-9), nhằm mục đích thu thập thông tin về hầu hết các chỉ mục. Một tính năng thú vị của chương trình là nó có thể được sử dụng từ bất kỳ điện thoại gia đình nào: chỉ cần quay số và điện thoại sẽ kết nối với máy tính. Sau đó, máy sẽ được cho biết tên của thành phố mong muốn. Nó phải được mã hóa vì quay số điện thoại không thuận tiện cho việc gõ phím. Ví dụ: bạn có thể gõ từng chữ cái lại với nhau theo thứ tự bảng chữ cái, nhưng việc này sẽ mất khá nhiều thời gian.

Một phương pháp ít tốn công sức hơn đã được đề xuất: chỉ cần quay số chữ cái đầu và chữ cái cuối trong tên thành phố và tổng số chữ cái trong tên. Tại đáp số, để đáp lại yêu cầu như vậy, máy tính sẽ bật một đoạn băng từ nơi ghi mã bưu chính của thành phố mong muốn. Hệ thống này được phát triển theo lệnh của bưu điện Kharkov.

Học sinh lớp 2 dạy máy tính
Một chương trình đơn giản nhưng đẹp mắt cho phép bạn mô phỏng các phản ứng hạt nhân đơn giản nhất trên máy tính,

42

được phát triển bởi những người tham gia thành công nhất của hội nghị - nhà cổ điển thứ hai Leonid Rabinovich và nhà cổ điển thứ ba Sergei Gavrilenko từ Novosibirsk.

Được biết, trong các phản ứng tổng hợp hạt nhân, khi hạt nhân của hai nguyên tử hợp nhất thì có thể thu được hạt nhân của một nguyên tố hóa học mới. Số nguyên tử của nó, tức là số proton trong hạt nhân, sẽ bằng tổng số nguyên tử của những người tham gia phản ứng của các nguyên tố. Đây là một quy tắc đơn giản và là nền tảng của chương trình.

Bảng tuần hoàn được lưu trữ vĩnh viễn trong bộ nhớ của máy tính. Chương trình tương tác yêu cầu ký hiệu và trọng lượng nguyên tử của những người tham gia phản ứng hạt nhân, tìm số nguyên tử của chúng từ bảng, tính số nguyên tử của nguyên tố thu được từ phản ứng và sử dụng cùng một bảng để tìm ký hiệu của nó. Dưới đây là ví dụ về đoạn hội thoại từ chương trình này trong quá trình mô phỏng phản ứng tổng hợp gel (Hình 1):

  • CHỈ ĐỊNH THÀNH PHẦN ĐẦU TIÊN?
  • N
  • TRỌNG LƯỢNG NGUYÊN TỬ?
    — 1
  • CHỈ ĐỊNH THÀNH PHẦN THỨ HAI?
  • N
  • TRỌNG LƯỢNG NGUYÊN TỬ?
    — 3
  • SỰ PHẢN ỨNG LẠI:
    H+H=Anh ấy
    KẾT QUẢ PHẢN ỨNG:
    TÊN - ‘HELIUM’,
    CHỈ ĐỊNH - ‘Không’,
    TRỌNG LƯỢNG NGUYÊN TỬ – 4

Sau những điều kiện nhỏ, chương trình này có thể được sử dụng trong các bài học vật lý khi nghiên cứu phản ứng hạt nhân và cấu trúc của nguyên tử.

Model máy Tyorig

Chương trình của Vitaly Tsikoba (Novosibirsk, lớp 7) chủ yếu dành cho học sinh nghiên cứu lý thuyết thuật toán và lập trình lý thuyết. Trong các ngành này, khái niệm về cái gọi là máy Tyorig được sử dụng rộng rãi - một thiết bị logic phổ quát với hệ thống lệnh rất đơn giản.

Trong nghiên cứu lý thuyết, một “chiếc máy” như vậy đôi khi tỏ ra tiện lợi hơn máy tính thật. Vitaly đã chuẩn bị một chương trình mô phỏng hoạt động của máy Tyorig trên máy tính BESM-6. Trên màn hình terminal, bạn có thể thấy toàn bộ “thiết kế” của máy: thiết bị lưu trữ dạng băng chuyển động, đầu ghi và đọc và thiết bị điều khiển. Sau khi biên soạn một chương trình cho máy tính, sinh viên có thể xem trên màn hình hoạt động của chương trình này một cách chi tiết (trước đây các chương trình như vậy phải được kiểm tra thủ công).

Máy tính tạo ra phim hoạt hình

Xin vui lòng, phần đồ họa máy tính được tất cả những người tham gia và khách mời của hội nghị quan tâm nhất. Học sinh lớp bảy Asiya Salikhova (Novosibirsk) đã nói về cấu trúc của hệ thống đồ họa giáo dục Shpar do cậu cùng với học sinh lớp tám Natalya Sokolova phát triển và về các tính năng khi làm việc với hệ thống này bằng các ngôn ngữ lập trình khác nhau *).

Tác phẩm kinh điển thứ ba, Anina Vaishtein (Novosibirsk), đã nói về cách bạn có thể tạo một chương trình bằng hệ thống Shpara và SMOG.

*) Một bài báo về hệ thống Shpara, do các nhà phát triển của nó viết, sẽ được đăng trên một trong những số sắp tới của tạp chí.

Hình 3.

43

Chúng tôi chuyên sản xuất phim hoạt hình trên máy tính. Sau báo cáo này, bộ phim hoạt hình đầu tiên ở Liên Xô do học sinh tiểu học sử dụng máy tính tạo ra đã được trình chiếu. Hình 3 hiển thị trình bảo vệ màn hình của phim hoạt hình này (một con cá bơi dọc theo toàn bộ khung khi được chiếu) và hai khung hình từ phim hoạt hình “Tên lửa tiếp cận máy bay”. Serdey Gavrilenko (lớp 3) và Voloda Fishelev (lớp 2) đã tham gia biên soạn chương trình cho từng khung hình của bộ phim này.

Công việc của Svetlana Uropina và Anna Filamova (Novosibirsk, lớp 3-4) được thực hiện theo lệnh của các nhân viên của Viện Động học Hóa học và Đốt cháy thuộc Chi nhánh Siberia của Viện Hàn lâm Khoa học Liên Xô. Nhiệm vụ là xây dựng một loạt đồ thị chứa các hàm số khá phức tạp.

Các học sinh đã hoàn thành xuất sắc nhiệm vụ, sử dụng thành công cấu trúc cơ bản của các ngôn ngữ lập trình khác nhau. Ví dụ: lưới tọa độ, trông giống nhau trên hầu hết tất cả các biểu đồ, được mô tả bằng một quy trình riêng biệt, trong đó áp dụng một số hướng dẫn tuần hoàn.

Các hàm phụ thuộc vào hai biến được mô tả theo hai cách để rõ ràng hơn: thứ nhất, sử dụng phép chiếu trục đo (Hình 4), thứ hai, sử dụng hệ thống đánh dấu cho phép bạn mô tả một số biểu đồ trong một hình, mỗi biểu đồ được đánh dấu bằng một biểu tượng đặc biệt (điểm đánh dấu) - Hình 5. Đối với hai hàm phức tạp nhất, phim hoạt hình được tạo cho thấy đồ thị thay đổi như thế nào khi từ trường được tăng cường.

44

Tổng cộng, các cô gái đã biên soạn hơn bốn mươi quy trình để xây dựng tám mươi biểu đồ.

Boris Slutsky (Novosibirsk, lớp 7) đã phát triển một chương trình mô tả cấu trúc không gian của các phân tử protein. Sự sắp xếp lẫn nhau của các axit amin khác nhau trong phân tử protein đóng một vai trò lớn trong hóa sinh và những người đặc biệt thường cần thể hiện trực quan cấu trúc của một phân tử cụ thể. Boris không chỉ “dạy máy” vẽ từng phân tử riêng lẻ trên giấy (Hình 6) mà còn phát triển một chương trình quay phim hoạt hình cho thấy phân tử quay như thế nào.

Máy tính phân loại
Tại hội nghị người ta chú ý nhiều đến vấn đề nhận dạng mẫu. Khó khăn chính của bài toán này là các khái niệm tan chảy “gần”, “tương tự”, v.v. cần phải được thực hiện chính xác trong hiện tại để có thể hình thành và giải được bài toán tương ứng bằng máy.

Chương trình của Mikhail Dun và Andrey Kaedal (Kharkov, lớp 7) chia thành các nhóm tương tự về mặt công nghệ. Mỗi phần có một cái gọi là bản đồ công nghệ, mô tả cách thực hiện từng thao tác xử lý. Nếu bạn đánh số các cách thực hiện một thao tác, thì cùng với thẻ bạn có thể viết “số công nghệ”, trong đó mỗi chữ số cho biết cách thực hiện thao tác tương ứng. Ví dụ:
1 - xử lý với dao cắt số 1;
2 - xử lý với dao cắt số 2;
1 - hiển thị màu xanh lam,
2 - hiển thị màu xám.
Khi đó 11 có nghĩa là bộ phận cần được xử lý bằng dao cắt số 1 và hiển thị bằng màu xanh lam. Nhiệm vụ là chọn các bộ phận tương tự nhau về mặt công nghệ, tức là các bộ phận có một số hoạt động xử lý giống nhau. Chương trình cho phép bạn giải quyết bài toán này bằng cách chọn các bộ phận có số công nghệ có cùng chữ số ở một số vị trí nhất định.

Câu bài toán phức tạp hơn đã được Galina Schwartz và Anna Besprozvannaya (Moscow, lớp 9) giải. Họ đã phát triển một chương trình phân loại các vật thể trong không gian đa chiều.

Công thức chung của bài toán như sau. Mỗi đối tượng nn có thuộc tính kk, giá trị của mỗi thuộc tính là một số (ví dụ: các đối tượng là các nhà máy khác nhau và thuộc tính là chỉ số kinh tế cho công việc của chúng). Khi đó, mỗi đối tượng có thể được hình dung như một điểm trong không gian đa chiều: các giá trị của các đặc điểm sẽ là tọa độ của điểm này. Trong trường hợp này, các điểm có thể được coi là gần nhau nếu khoảng cách giữa chúng không quá lớn. Chương trình do Nữ sinh Moscow biên soạn cho phép bạn chia một tập hợp điểm nhất định thành nhiều nhóm điểm gần nhau và số lượng nhóm như vậy được chỉ định trước. Chương trình được thiết kế để sử dụng trong kinh tế công nghiệp khi chia môn học thành các nhóm theo quy mô, khối lượng và phạm vi sản phẩm.

Andrey Tarmakovsky (Kharkov, lớp 8) đã phát triển một chương trình giúp tìm ra cách chuyển đổi affine, một bản vẽ có thể được dịch sang một bản vẽ khác. Chương trình này được các nhà tâm lý học sử dụng trong nghiên cứu chức năng quan trọng.

Dmitry Gershun (Moscow, lớp 9) đã viết chương trình tính toán số lượng hệ thống bỏ phiếu khác nhau. Anh ấy đã cố gắng tổ chức hoạt động của chiếc máy sao cho việc tìm kiếm các tùy chọn 2152^{15} sẽ diễn ra trong vòng chưa đầy một phút.