1)Как называются переменные, объявленные в теле подпрограммы-функции? 2)Что представляет собой R, полученное в результате выполнения алгоритма
(R = 1: N = 10: i = 2: пока i <= N: если x(i) < 0 тогда R = R × x(i): i= i + 2: вывод R), по отношению к элементам заданного массива: x(1), x(2), ..., x(n)?
3)Назовите опцию, требующую явного описания всех используемых переменных и констант.
VBA
Ошибок тут достаточно, по всем пройдемся.
Первая ошибка, переменная названа как встроенная функция в Python, так делать не нужно.
Вторая ошибка, забыл ограничить if, из-за которого не будет выполняться elif. Меняем его на:
if (sum>=500) and (sum<1000)
Третья ошибка, расчет финальной цены неверный, если использовать вариант, который дан сейчас, то мы найдем процент от этой суммы, а не сумму с начисленными процентами. Меняем на:
final_sum = sums * (1+first_sale)
final_sum = sums * (1+second_sale)
Четвертая ошибка, почему у нас вывод финальной суммы через else? Получается, что если выполняются условия выше, то не выводится сумма. Этот вывод мы можем опустить ниже, а в else написать, что ввели неверные данные (если конечно подразумевается, что пользователь не должен вводить число меньшее 500), либо в elif засунуть эту строку, полной задачи у меня нет, поэтому сам с этим разберешься.
Пятая ошибка, мы не можем сложить строку с числом, нам нужно преобразовать нашу переменную к строке с str().
Исправленный код:
sums = int(input("Введите сумму покупки:"))
first_sale = 0.03
second_sale = 0.05
if sums >= 500 and sums < 1000:
final_sum = sums * (1+first_sale)
print("Финальная сумма равна: " + str(final_sum))
elif sums >= 1000:
final_sum = sums * (1+second_sale)
print("Финальная сумма равна: " + str(final_sum))
else:
print("Введены неверные данные")
const N=10;
var a:array [1..N] of integer;
x,k:integer;
begin
k:=0;
for x:=1 to 10 do
begin
a[x]:=random(99)+1;
writeln('a[',x,']:',a[x]);
if a[x] mod 3=0 then inc(k);
end;
writeln('Количество элементов, кратных 3:',k);
end.
---
Для турбо паскаль:
uses crt;
const N=10;
var a:array [1..N] of integer;
x,k:integer;
begin
clrscr;
k:=0;
for x:=1 to 10 do
begin
a[x]:=random(100)+1;
writeln('a[',x,']:',a[x]);
if a[x] mod 3=0 then inc(k);
end;
writeln(k);
readln;
end.
Скрины, как должна работать программа, приложила.