Чем глубже погружаюсь в работу со школьниками, тем больше удивляюсь. Рассматривали на днях задачу как определить, является ли число простым.  От тривиального перебора всех возможных делителей перешли к перебору только нечетных чисел, меньших квадратного корня из данного числа. Так вот, совсем не вычисление целочисленного квадратного корня вызвало наибольшие проблемы. В тупик учеников поставила чисто техническая задача: как выйти из цикла до его завершения.

Допустим, есть оператор

for p:= 3 to r do 
    if n mod p = 0 then
        <здесь нужно объявить, что число не простое и завершить цикл>;

И вот засада: оператора типа exit или return в Паскале нет, а goto использовать запрещают религиозные убеждения. Можно было бы плюнуть, поскольку в любом промышленном паскалеподобном языке exit есть, но мне хотелось, чтобы дети включили мозг и нашли таки очевидное с моей точки зрения решение. А они не смогли. :(

И еще одна беда. Паскалевский цикл for работает только с приращениями 1 или -1, в нем нет никакого step. Что за психологическая проблема мешает использовать в таком случае while, я не знаю.



Только что прочитал в одном из самых уважаемых школьных учебников по физике: Мякишев Г.Я., Синяков А.З. Физика: Оптика. Квантовая физика. 11 кл. Углубленный уровень.

§3.9 называется "Релятивистская динамика. Зависимость массы от скорости". В нем читаем (с. 217):




Чуть ниже, рассуждая об импульсе, авторы пишут (см. подстрочное примечание):



А потом какой-нибудь Иванов возмущается, что у детей каша в голове.


Сочиняю пособие для школьников по теории относительности. Попробовал сочинять на компьютере - не получилось. Нельзя разложить вокруг себя 7 мониторов и подглядывать по все одновременно. Поэтому пишу по-старинке на бумаге. Стол завален маленькими пачками, со скрепочками: "Преобразования Лоренца", "Импульс", "Аберрация", "Законы сохранения" и т.п. Потом буду набирать все в TeX'е.
Правильный ответ на загадку о нудном проверяющем таков.

1. В условии сказано, что количество чисел не превышает 200. Поэтому нужно создать массив на 200 чисел и сначала ввести их, и только потом анализировать.

2. В условии сказано, что введенные числа по модулю не превышают 10000. Поэтому нужно использовать тип не Integer, а, если программа на Паскале, тип-диапазон -10000..10000. Не знаю, что скажет проверяющий, когда узнает, что в большинстве языков такого типа нет. Даже Вирт, создавая Oberon, наследник Модулы-2, наследницы Паскаля, от него отказался.

3. В условии сказано, что суммировать нужно трехзначные числа, начинающиеся на 4. Поэтому нужно сначала выяснить, является ли очередное число трехзначным, потом найти его первую цифру и сравнить с 4. Сам проверяющий полагал, что для этого нужно перевести число в строку, посчитать количество символов, потом взять первый символ и сравнить с символом "4".

Вот так сейчас учат программировать.
Вот одно из заданий из пособия по подготовке к ОГЭ по информатике и ИКТ.

Напишите программу, которая в последовательности натуральных чисел определяет сумму трёхзначных чисел, начинающихся на 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется трёхзначное число, начинающееся на 4. Количество чисел не превышает 200. Введенные числа по модулю не превышают 10000. Программа должна вывести одно число: сумму трёхзначных чисел, начинающихся на 4.

Вот решение задачи:

package task3_20;

import java.util.Scanner;

public class Task3_20
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int s = 0;
        for (int i=0; i<n; i++)
        {
            int x = in.nextInt();
            if (x>=400 && x<=499)
                s += x;
        }
        System.out.println(s);
        in.close();
    }
}


Внимание, вопрос: какие ошибки допущены в решении с точки зрения проверяющего. Найдите не менее трёх. С точки зрения нормального человека ошибок здесь нет.
Сижу я, значит, на конференции в Нижнем Новгороде. Вот на этом фото самый дальний:



А кроме того, там уважаемые люди сидят (на других фото, не на этом): Засов сидит, Самусь сидит, Угольников (отвлекся от олимпиад) сидит. И все про астрономическое образование рассуждаем.

Я рассказал, как в Ижевске это дело продвигаем. И вновь призвал небесную сферу из учебников выкинуть. Ну, покритиковали меня, конечно. Угольников сказал, что сложность излишняя, школьникам неинтересно будет, и домохозяйкам тоже. И про теорию относительности с математикой сказали, что, мол, не рано ли? И про ICRS, что нафиг её. А за небесную сферу не убили! Засов даже одобрил. Говорит, у них в ГАИШ студентам давно не рассказывают. И школьникам не надо. Оговорился правда, что при условии, если я со своими плоскостями и векторами так же легко смогу разные явления объяснить. Но я смогу.

Так что, живем дальше.
Был сегодня на родительском собрании. После длинной речи о школьных делах зам. директора призвала собравшихся прийти 18 сентября на выборы и проголосовать. Но не сказала, за кого. Совсем их там распустили.

Профиль

waspagv: (Default)
DCS Foyle

March 2025

M T W T F S S
     12
3456789
10111213141516
17181920212223
242526272829 30
31      

Syndicate

RSS Atom

Style Credit

Expand Cut Tags

No cut tags
Page generated 15/07/2025 01:34
Powered by Dreamwidth Studios