Домашние задания: Информатика

Информатика 10 класс

  1. В числовом массиве из 10 элементов, заданных случайным образом от -100 до 500. Найти сумму положительных элементов, стоящих на чётных местах.
  2. Ввести с клавиатуры 15 элементов числового массива. Найти произведение элементов массива, кратных 3 и стоящих на нечётных местах.
Задание-то, конечно, понятно - нужно написать 2 программы. Только программы пишутся на языках программирования. А языков программирования существует порядка 40. Нет, программе-то, конечно, без разницы, на каком языке программирования она написана, а вот учитель/преподаватель может спросить, с чего это вдруг программа написана на этом языке программирования, а не на том, который он(а) преподает.

Вот, например, пользователь с ником "Павел Матвиенко" Вам написал на Python, а вот программы на Паскале (Pascal):

1) "В числовом массиве из 10 элементов, заданных случайным образом от -100 до 500. Найти сумму положительных элементов, стоящих на чётных местах.":
 Program P1; 
uses crt;
const n=10;
type mas=array [1..n] of integer;
var i, s: integer;
m: mas;
begin
clrscr;
s:=0;
for i:=1 to n do m[i]:=random (601)-100;
write ('Был сгенерирован массив:');
for i:=1 to n do write (' ', m[i]);
writeln (' ');
for i:=1 to n do if (m[i]>0) and (i mod 2=0) then s:=s+m[i];
writeln ('Сумма положительных элементов этого массива, стоящих на чётных местах, составляет: ', s);
write ('Программа завершена. Для выхода нажмите клавишу Enter.');
readkey;
end.
2) "Ввести с клавиатуры 15 элементов числового массива. Найти произведение элементов массива, кратных 3 и стоящих на нечётных местах.":
 Program P2; 
uses crt;
const n=15;
type mas=array [1..n] of integer;
var i, p: integer;
m: mas;
begin
clrscr;
p:=1;
writeln ('Введите с клавиатуры элементы массива (только числа (целые)), после ввода каждого элемента массива (их ', n, ' шт.) нажимайте клавишу Enter.');
for i:=1 to n do begin
write ('Введите ', i, '-й элемент массива: ');
readln (m[i]);
end;
write ('Вы ввели массив:');
for i:=1 to n do write (' ', m[i]);
writeln (' ');
for i:=1 to n do if (m[i] mod 3=0) and (i mod 20) then p:=p*m[i];
writeln ('Произведение элементов этого массива, кратных 3 и стоящих на нечетных местах, составляет: ', p);
write ('Программа завершена. Для выхода нажмите клавишу Enter.');
readkey;
end.
Виталий Парахин
Виталий Парахин
43 559
Лучший ответ
1)
import random

# Создаем массив из 10 случайных чисел от -100 до 500
arr = [random.randint(-100, 500) for _ in range(10)]

# Находим сумму положительных элементов, стоящих на четных местах
sum_positive_even = 0
for i in range(1, 10, 2): # начинаем с 1, т.к. четные места начинаются с 0
if arr[i] > 0:
sum_positive_even += arr[i]

print(f"Массив: {arr}")
print(f"Сумма положительных элементов, стоящих на четных местах: {sum_positive_even}")

2)
# Вводим с клавиатуры 15 элементов массива
arr = [int(input(f"Введите {i+1}-й элемент: ")) for i in range(15)]

# Находим произведение элементов, кратных 3 и стоящих на нечетных местах
prod_multiple_of_3_odd = 1
for i in range(0, 15, 2): # берем только нечетные места, начиная с 0
if arr[i] % 3 == 0:
prod_multiple_of_3_odd *= arr[i]

print(f"Массив: {arr}")
print(f"Произведение элементов, кратных 3 и стоящих на нечетных местах: {prod_multiple_of_3_odd}")
Юрий Диджей
Юрий Диджей
1 156