Тема 15. Написание алгоритма в различных средах исполнителя
15.02 Написание программ на универсальном языке
Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела написание алгоритма в различных средах исполнителя
Решаем задачи

Ошибка.
Попробуйте повторить позже

Задача 1#80690

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

Программа должна вывести одно число: сумму всех чисел, кратных 3 и оканчивающихся на 8.

Пример работы программы:

Входные данные Выходные данные
23 66
48
12
18
34
0
Показать ответ и решение
summa = 0
a = int(input())
while a != 0:
   if (a % 10 == 8) and (a % 3 == 0):
      summa += a
   a = int(input())
print(summa)

Ответ:

Ошибка.
Попробуйте повторить позже

Задача 2#79455

Напишите программу для решения следующей задачи. Учитель записывает оценки учеников по экзамену. Необходимо определить средний балл всей группы. Если не менее трех учеников получили оценку выше 80, выведите «YES», иначе выведите «NO».

Программа получает на вход количество учеников N (1 ≤ N ≤ 50)  , затем указываются их баллы. Значение балла не может быть меньше 0 и больше 100. Программа должна сначала вывести средний балл, с точностью до одного знака после запятой, затем «YES» или «NO».

Пример работы программы:

Входные данные Выходные данные
5 73.4
100 YES
94
30
45
98
4 52.5
50 NO
90
30
40
Показать ответ и решение
n = int(input()) #количество учеников
sm = 0 #общая сумма баллов
c = 0 #количество учеников с баллом больше 80
for i in range(n):
    a = int(input()) #баллы учеников
    sm += a
    if a >= 80:
        c += 1
print(round(sm / n, 2))
if c >= 3:
    print(’YES’)
else:
    print(’NO’)

Ответ:

Ошибка.
Попробуйте повторить позже

Задача 3#77871

Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 9 или 17. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 9 или 17. Количество чисел не превышает 100. Введенные числа не превышают 450.

Программа должна вывести одно число – сумму чисел, кратных 9 или 17.

Пример работы программы:

Входные данные Выходные данные
4 370
36
289
3
45
Показать ответ и решение
n = int(input())
sm = 0
for i in range(n):
    a = int(input())
    if a % 9 == 0 or a % 17 == 0:
        sm += a
print(sm)

Ответ:

Ошибка.
Попробуйте повторить позже

Задача 4#65505

Выберите ОДНО из предложенных ниже заданий: 15.1 или 15.2.

15.1. Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может. У Робота есть девять команд. Четыре команды – это команды-приказы:

вверх вниз влево вправо

При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх, вниз, влево, вправо. Если Робот получит команду передвижения сквозь стену, то он разрушится.

Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.

Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

сверху свободно снизу свободно слева свободно справа свободно

Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:

если условие то

последовательность команд

все

Здесь условие – одна из команд проверки условия. Последовательность команд – это одна или несколько любых команд-приказов. Например, для передвижения на одну клетку вправо, если справа нет стенки, и закрашивания клетки можно использовать такой алгоритм:

если справа свободно то

вправо

закрасить

все

В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:

если (справа свободно) и (не снизу свободно) то

вправо

все

Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

нц пока условие

последовательность команд

кц

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

нц пока справа свободно

вправо

кц

Выполните задание.

Робот находится в левом верхнем углу огороженного пространства, имеющего форму прямоугольника. Размеры прямоугольника неизвестны. Где-то посередине прямоугольника есть вертикальная стена, разделяющая прямоугольник на две части. В этой стене есть проход, при этом проход не является самой верхней или самой нижней клеткой стены. Точное расположение прохода также неизвестно. Одно из возможных расположений стены и прохода в ней приведено на рисунке (робот обозначен буквой «Р»):

Напишите для Робота алгоритм, перемещающий робота в правый нижний угол прямоугольника (см. рисунок):

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

PIC

PIC

 

15.2. Напишите программу для решения следующей задачи. На контрольной работе по алгебре ученикам 9 класса было предложено 8 примеров. Неудовлетворительная оценка выставляется, если правильно решено менее половины примеров. Сколько удовлетворительных оценок было получено учениками? Если хотя бы один из учеников правильно решил все задачи, выведите YES, иначе выведите NO. Программа получает на вход количество учеников в классе N (1 ≤ N ≤ 30), затем для каждого ученика вводится количество правильно решённых примеров.

Пример работы программы:

Входные данные Выходные данные
4 2
3 YES
6
2
8
Показать ответ и решение

Для 15.1 следующий алгоритм выполняет поставленную задачу:

нц
пока справа свободно
вправо
кц

нц
пока не справа свободно
вниз
кц

нц
пока справа свободно
вправо
кц

нц
пока снизу свободно
вниз
кц

Для 15.2 следующая программа на языке Python выполняет поставленную задачу:

PIC

Ответ:

Ошибка.
Попробуйте повторить позже

Задача 5#54733

Напишите программу, которая в последовательности натуральных чисел определяет количество двузначных чисел, кратных 7 или оканчивающихся на 7. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: количество двузначных чисел, кратных 7 или оканчивающихся на 7.

Ответ дайте для последовательности: 66, 71, 7, 59, 98, 13, 63, 86, 40, 21, 0.

В случае не целых значений в качестве разделителя используйте точку.

Входные данные Выходные данные
125 2
97
42
15
4
0
Показать ответ и решение
x = int(input())
counter = 0
while x != 0:
    if 10 <= x < 100:
        if x % 7 == 0 or x % 10 == 7:
            counter += 1
    x = int(input())
print(counter)

Ответ: 3

Ошибка.
Попробуйте повторить позже

Задача 6#32400

15.2 Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 3 и оканчивающихся на 7. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести одно число: сумму всех чисел, кратных 3 и оканчивающихся на 7.

Показать ответ и решение
num = int(input())
result = 0
while num != 0:
    if num % 3 == 0 and num % 10 == 7:
        result += num
    num = int(input())
print(result)

Ответ:

Ошибка.
Попробуйте повторить позже

Задача 7#27026

Дано натуральное число n, затем n натуральных чисел. Требуется найти сумму чисел, у которых количество цифр нечетно, а также сумма цифр кратна 3 или 9.

Напишите ответ для n = 10 и списка [75, 1233, 89, 501, 711, 1001, 7500, 9905, 115, 1025]

Показать ответ и решение

Признак делимости на 3 и 9: если сумма цифр числа кратно 3 и/или 9, то и число кратно 3 и/или 9

ans = 0  
n = int(input())  
nums = []  
for i in range(n):  
nums.append(int(input()))  
for i in range(n):  
    if nums[i] % 3 == 0 or nums[i] % 9 == 0:  
        if len(str(nums[i])) % 2 != 0:  
            ans += nums[i]  
print(ans)

Ответ: 1212

Ошибка.
Попробуйте повторить позже

Задача 8#27023

Дано натуральное число n, затем n натуральных чисел. Требуется найти разность, состоящую из суммы максимального и предмаксимального чисел и суммы минимального и предминимального чисел.

Напишите ответ для n = 10 и списка [75, 1233, 89, 51, 10000, 305, 7500, 9905, 115, 1025]

Показать ответ и решение
n = int(input())  
nums = []  
for i in range(n):  
    nums.append(int(input()))  
nums = sorted(nums)  
print(nums[-1]+nums[-2]-(nums[0]+nums[1]))

Ответ: 19779

Ошибка.
Попробуйте повторить позже

Задача 9#27021

Дано натуральное число n, затем n натуральных чисел. Требуется найти количество всех 2-значных и 4-значных чисел, кратных 5 или 10.

Напишите ответ для n = 10 и списка [75, 1233, 89, 51, 10000, 305, 7500, 9905, 115, 1025]

Показать ответ и решение
ans = 0  
n = int(input())  
nums = []  
for i in range(n):  
    nums.append(int(input()))  
for i in range(n):  
    if nums[i] % 5 == 0 or nums[i] % 10 == 0:  
        if len(str(nums[i])) == 2 or len(str(nums[i])) == 4:  
            ans += 1  
print(ans)

Ответ: 4

Ошибка.
Попробуйте повторить позже

Задача 10#24936

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

Напишите ответ для n = 10 и списка [1116, 1100, 48, 32, 99, 16, 115, 1024, 60, 100]

Показать ответ и решение

Свойство делимости на 4: если число, составленное из последних двух цифр кратно 4, то кратно и само число.

ans = 0  
n = int(input())  
nums = []  
for i in range(n):  
    nums.append(int(input()))  
for i in range(n):  
    if nums[i] % 6 == 0 and nums[i] % 4 == 0:  
        ans += 1  
print(ans)

Ответ: 3

Ошибка.
Попробуйте повторить позже

Задача 11#24935

Дано натуральное число n, затем n натуральных чисел. Требуется найти сумму всех чисел, кратных 5. Программа должна вывести одно число — сумму чисел, кратных 5.

Напишите ответ для n = 10 и списка [2, 2, 8, 51, 52, 52, 99, 99, 115, 1024]

Показать ответ и решение
ans = 0  
n = int(input())  
nums = []  
for i in range(n):  
    nums.append(int(input()))  
for i in range(n):  
    if nums[i] % 5 == 0:  
        ans += nums[i]  
print(ans)

Ответ: 115

Ошибка.
Попробуйте повторить позже

Задача 12#24934

Напишите программу для решения следующей задачи. Ученики 7 класса вели дневники наблюдения за погодой и ежедневно записывали дневную температуру. Найдите сколько дней температура была отрицательной за время наблюдения и выведите количество на экран. Также если температура опускалась ниже –15 градусов, выведите YES, иначе выведите NO. Программа получает на вход количество дней, в течение которых проводилось измерение температуры n, затем для каждого дня вводится температура.

Напишите ответ для n = 10 и чисел [10, 15, -1, -5, -9, 5, 8, 5, 0, -1]

Показать ответ и решение
ans1 = 0  
ans2 = ’NO’  
flag = True  
n = int(input())  
nums = []  
for i in range(n):  
    nums.append(int(input()))  
for i in range(n):  
    if nums[i] < 0:  
        ans1 += 1  
    if flag and nums[i] <= -15:  
        ans2 = ’YES’  
        flag = False  
print(ans1, ans2)

Ответ: 4 NO
Рулетка
Вы можете получить скидку в рулетке!