М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
саша240904
саша240904
29.04.2021 07:03 •  Информатика

решить задачу на Python,
Составить программу,которая в данной массиве из 40 случайных элементов от -5 до 5, которая определяет количество отрицательных элементов и находит сумму чисел, оканчивающихся на 4. Все элементы, оканчивающиеся на 4 выводит в порядке возрастания

👇
Ответ:
sanka37rus
sanka37rus
29.04.2021

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

import random

number_list = [str(random.randint(-5, 5)) for n in range(40)]

negative_numbers = [i for i in number_list if int(i) < 0]

end_with_four = [number for number in number_list if number[-1] == '4']

amount = 0

for num in end_with_four:

   amount += int(num)

print('количество отрицательых элементов: ' + str(len(negative_numbers)))

print('сумма элементов оканчивающихся на 4: ' + str(amount))

end_with_four.sort()

for idk in end_with_four:

   print(idk, end = ' ')

4,4(94 оценок)
Открыть все ответы
Ответ:
yanasyperyanaco
yanasyperyanaco
29.04.2021

1)

а = 2

b = 27

2)

ответ: нужно ввести число 432

3) Код:

var

 x, a, b, c:integer;

Begin

 write('Введите трехзначное число: ');

 readln(x);

 a:= x div 100;

 b:= x div 10 mod 10;

 c:= x mod 10;

 writeln('Вы ввели число: ', x);

 writeln('Число: ', c, b, a);

END.

Объяснения:

1) a = 187; при b:= (a div 10) + 9 мы а (т.е 187) делим на 10 и прибавляем к результату 9, получаем 27.

а= 2, т.к. мы умножаем 10 на b (27) и отнимаем a (187), получаем 83. Функция mod означает получение остатка от деления на 9, т.е. делим 83 на 9 и получаем остаток, а именно 2.

2) 432 делим на 100, получаем а = 4, делим 432 на 10 и получаем остаток от деления на 10 результата, получаем b = 3, далее получаем остаток от деления на 10 числа 432 и получаем 2.

3) Здесь все довольно просто, мы разбили трехзначное число на части и с оператора вывода writeln, вывели число в обратном порядке, т.е. поменяли местами первую и последнюю цифры.

4,6(92 оценок)
Ответ:
Zandrew2000
Zandrew2000
29.04.2021

Объяснение ошибок

1. В начале переменные a и b имеют тип integer, а переменная c имеет тип real. Это не имеет смысла. Если ты будешь складывать  натуральные числа (без цифр после запятой), то всем переменным можно дать тип integer.

2. read(a,b) Запрашиваются только 2 числа. Если нужно найти сумму трёх чисел и они известны с самого начала,  то можно сразу запросить ввод всех трёх переменных.

3.  Переменной С присваиваются три значения по очереди.

с каждым присваиванием старое значение меняется на новое это не выполняет никакой задачи

4. В конце программа  выводит  значение переменной С и 2 числа, всё это соединено знаками ":". Если это было задумано как деление, то это неверная запись. Деление обозначается знаком "/" для типа real или div для типа integer. Если нужна сумма, то выполнять деление тоже не имеет смысла

Объяснение правильной программы

1. Переменные a,b,c имеют тип integer

2. Программа запрашивает ввод трёх слагаемых, обозначенных переменными a,b,c

3. Вывод суммы переменных

Код правильной программы

program zada;

Var a,b,c:integer;

begin

Readln(a,b,c);

writeln(a+b+c);

end.

Программа написана на языке PascalABC.NET

4,7(8 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ