понедельник, 30 января 2023 г.

8а задача 2

 Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое чисел, кратных 8, или сообщает, что таких чисел нет (выводит «NO»). Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0  — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести среднее арифметическое чисел, кратных 8, или вывести «NO», если таких чисел нет.








понедельник, 16 января 2023 г.

Курсы по основам геймдева

 Набираю учащихся 8-10 классов, которым интересна эта тема

  • будем учиться очно в школе
  • большая часть курса -  практика
  • занятия бесплатны

Подробности по содержанию и прочим деталям по этой ссылке

Ссылка на регистрацию

Тематическое планирование можно посмотреть тут

Те, кто заинтересуется, подходите ко мне, я подробно объясню как зарегистрироваться и что для этого нужно.

пятница, 13 января 2023 г.

Задачи 10Б (13 января)

Вариант с задачами

Задача 1

 def f(x,y):
    if x>y:
        return 0
    if x==y:
        return 1
    if x<y:
        return f(x+3,y)+f(x*3,y)


print(f(3,93))

Задача 2

 def f(x,y):
    if x>y:
        return 0
    if x==y:
        return 1
    if x<y:
        return f(x+1,y)+f(x*2,y)+f(x+3,y)

print(f(3,12)*f(12,16))

Задача 3

def f(x,y):
    if x>y or x==17:
        return 0
    if x==y:
        return 1
    if x<y:
        return f(x+1,y)+f(x*2,y)

print(f(1,10)*f(10,35)) 

 

Для самостоятельного решения

1. Исполнитель преобразует число на экране. У исполнителя есть две команды, которым присвоены номера:

Вычти 1

Найди целую часть от деления на 2

Первая из них уменьшает число на экране на 1, вторая заменяет число на экране на целую часть от деления числа на 2.

Программа для исполнителя – это последовательность команд.

Сколько существует программ, для которых при исходном числе 89 результатом является число 7, и при этом траектория вычислений содержит число 30?

2. Исполнитель преобразует число, записанное на экране. У исполнителя есть три команды, которым присвоены номера:

1. Прибавить 1

2. Прибавить 2

3. Умножить на 2

Первая команда увеличивает число на 1, вторая – на 2, третья – вдвое.

Программа для исполнителя – это последовательность команд.

Сколько существует таких программ, которые исходное число 3 преобразуют в число 25 и при этом в программе есть все три команды?

 

четверг, 12 января 2023 г.

Задание 11А(12.01)

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

— символ «?» означает ровно одну произвольную цифру; 

— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.

1. Найдите 5 наименьших чисел, длинной не более 10 разрядов, которые кратны 73 и удовлетворяют маске 12345*76. В ответе выведите найденные числа в порядке возрастания.

2. Напишите программу, которая перебирает целые числа, большие 960 000, в порядке возрастания и ищет среди них такие, у которых есть хотя бы три простых делителя, соответствующих маске *3? и не равных самому числу. Вывести первые пять найденных чисел.

среда, 11 января 2023 г.

Задание 10Б

        1. В файле содержится последовательность из 10 000 целых положительных чисел. Каждое число не превышает 10 000. Определите и запишите в ответе сначала количество пар элементов последовательности, для которых произведение элементов не кратно 34, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два различных элемента последовательности. Порядок элементов в паре не важен.

f=open('17.txt')

s=[]

n=0

mx=0

for i in range(10000):

    s.append(int(f.readline()))

for i in range(len(s)):

    for j in range(i+1,len(s)):

        if s[i]*s[j]%34!=0:

            n=n+1

            if s[i]+s[j]>mx:

                mx=s[i]+s[j]

print(n, mx)


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

Задание 17

Например, в последовательности (8 10 2 7 5 1) есть две подходящие пары: (10 2) и (5 1), в ответе для этой последовательности надо записать числа 2 и 12.


f=open('17 (1).txt')

s=[]

for i in range(5542):

    s.append(int(f.readline()))

su=0

k=0

for i in s:

    if i%2!=0:

        su=su+i

        k=k+1

su=su/k

n=0

mx=0

for i in range(len(s)-1):

    if (s[i]%5==0 and s[i+1]<su) or (s[i+1]%5==0 and s[i]<su):

        n=n+1

        if s[i]+s[i+1]>mx:

            mx=s[i]+s[i+1]

print(n,mx)


3. В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от −10 000 до 10 000 включительно. Определите количество пар последовательности, в которых только одно число оканчивается на 3, а сумма квадратов элементов пары не меньше квадрата максимального элемента последовательности, оканчивающегося на 3. В ответе запишите два числа: сначала количество найденных пар, затем максимальную из сумм квадратов элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

Задание 17

 

Еще одно задание (максимально похоже на самостоятельное) 

 

f=open('107_17.txt')
s=[]
for i in range(10000):
    s.append(int(f.readline()))
m=100001
for i in range(10000):
    if s[i]<m and s[i]%21==0:
        m=s[i]
k=0
mx=0
for i in range(9999):
    if s[i]%m==0 or s[i+1]%m==0:
        k=k+1
        if s[i]+s[i+1]>mx:
            mx=s[i]+s[i+1]
print(k,mx)



Задания 11а (часть 2)

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

– символ «?» означает ровно одну произвольную цифру;

– символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.

Например, маске 123*4?5 соответствуют числа 123405 и 12300405.


1. Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске *1?542?, делящиеся на 2084 без остатка.

В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 2084.


2. Найдите 7 наибольших чисел, меньших 107, которые кратны 217 и удовлетворяют маске 14?4*. Выведите эти числа в порядке возрастания, справа от каждого числа выведите сумму его нечётных делителей.

 3. Известно, что в числе, соответствующему маске 32*54?123, четное количество цифр, при этом в числе нет нулей и сумма левой половины цифр равна сумме правой половине цифр. Найдите все такие числа, кратные 519 и меньшие 1013. Выведите найденные числа в порядке возрастания, справа от них укажите значение, получаемое при делении числа на 519.

Пример с суммами: число 15233342 имеет сумму правой половины 1+5+2+4=12 и сумму левой половины 3+3+4+2=12.


Задание 11а

 1. У исполнителя Прибавитель две команды, которым присвоены номера:

1.  прибавь 1,

2.  прибавь 10.

Первая из них увеличивает число на экране на 1, вторая прибавляет к числу на экране 10.

Программа для Прибавителя  — это последовательность команд.

Сколько есть программ, которые число 10 преобразуют в число 31?

2. Исполнитель преобразует число на экране. У исполнителя есть три команды, которым присвоены номера:

1.  Прибавить 1

2.  Прибавить 2

3.  Умножить на 2

Сколько существует программ, для которых при исходном числе 4 результатом является число 13, и при этом траектория вычислений содержит число 11?

3. Исполнитель НечетМ преобразует число на экране. У исполнителя НечетМ две команды, которым присвоены номера:

1.  прибавь 1

2.  сделай нечётное

Первая из этих команд увеличивает число x на экране на 1, вторая переводит число x в число 2x+1. Например, вторая команда переводит число 10 в число 21. Программа для исполнителя НечетМ  — это последовательность команд. Сколько существует таких программ, которые число 1 преобразуют в число 25, причём траектория вычислений не содержит число 24? Траектория вычислений программы  — это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 17, 18.

Дальше разберем вариант

вторник, 10 января 2023 г.

Задание для 10а

 1. Откройте файл электронной таблицы, содержащей вещественные числа  — результаты ежечасного измерения температуры воздуха на протяжении трёх месяцев.

Задание 9

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

2. Электронная таблица содержит результаты ежечасного измерения температуры воздуха на протяжении трёх месяцев. Определите, сколько раз за время наблюдений температура в 8:00 была выше среднесуточной температуры того же дня.

Задание 9

3. Электронная таблица содержит результаты ежечасного измерения температуры воздуха на протяжении трёх месяцев. Определите, сколько раз за время наблюдений суточные колебания температуры (разность между максимальной и минимальной температурой в течение суток) были меньше 14 градусов.

Задание 9

4. Откройте файл электронной таблицы, содержащей вещественные числа  — результаты ежечасного измерения температуры воздуха на протяжении трёх месяцев.

Задание 9

Найдите количество значений, которые выше округленного до десятых среднего значения всех чисел таблицы, но меньше 30 °C.

5. Откройте файл электронной таблицы, содержащей вещественные числа  — результаты ежечасного измерения температуры воздуха на протяжении трёх месяцев.

Задание 9

Сколько раз встречалась температура, которая была ниже среднего арифметического значения округленного до десятых, но выше удвоенного минимального значения?


Доделайте последние три задания и отправьте на infmatem208@gmail.com

Задание для 10Б класса

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

Файлы к заданию: 17.txt


Задачку мы не дорешали,поэтому вам придется дорешать ее дома.

f=open('Os4zE7o0r.txt')

a=[]

for i in range(5000):

    a.append(int(f.readline()))

m=10000

for i in range(len(a)):

    if a[i]<m and a%10==3:

        m=a[i]

for i in range(len(a)):

    for j in range(i+1,len(a)):

Не забудьте сохранить текстовый файл и файл программы в одной папке