Нужна с массивами по информатике:
!
1) в программе описан одномерный целочисленный массив с индексами от 1 до 10. ниже представлен фрагмент программы, обрабатывающей данный массив:
n: =10;
for i: =1 to n do begin
s = a[n+1-i] + i;
a[n+1-i]: = a[i] + i;
a[i]: = s;
end;
перед началом выполнения фрагмента все элементы массива равны 1. укажите утверждение, которое будет верно после выполнения указанного фрагмента программы при изменении индекса от 1 до 10.
1) значения массива возрастают
2) значения массива сначала возрастают, а потом убывают
3) значения массива убывают
4) значения массива постоянны
2) в программе описан одномерный целочисленный массив с индексами от 1 до 10. ниже представлен фрагмент программы, обрабатывающей данный массив:
n: = 10;
for i: = 1 to n do begin
a[n+1-i]: = 2*a[i];
end;
в начале выполнения этого фрагмента в массиве находились числа 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, т. е. а[1]=1, а[2]=2 и т. д. укажите значение, которое после выполнения указанного фрагмента программы имеют два или более элемента массива. если таких чисел несколько, укажите наибольшее из них.
3) в программе описан одномерный целочисленный массив с индексами от 0 до 10. ниже представлен записанный на разных языках программирования фрагмент одной и той же программы, обрабатывающей данный массив:
s: =0;
n: =10;
for i: =0 to n-3 do begin
s: =s+a[i]-a[i+3]
end;
в начале выполнения этого фрагмента в массиве находились трѐхзначные натуральные числа. какое наибольшее значение может иметь переменная s после выполнения данной программы?
4) в программе используется одномерный целочисленный массив a с индексами от 0 до 9. значения элементов равны 4, 7, 3, 8, 5, 0, 1, 2, 9, 6 соответственно, т.е. a[0] = 4, a[1] = 7 и т.д. определите значение переменной c после выполнения следующего фрагмента этой программы:
c : = 0;
for i : = 1 to 9 do
if a[i] < a[0] then begin
c : = c + 1;
t : = a[i];
a[i] : = a[0];
a[0] : = t;
end;
5) в программе используется одномерный целочисленный массив с индексами от 0 до 9. значения элементов равны 20, 19, 17, 41, 15, 12, 24, 16, 4, 13 соответственно, т.е. a[0]=20, a[1]=19 и т.д. определить значение переменной s после выполнения следующего фрагмента этой программы:
s: =0;
n: =6;
for i: =0 to 9 do
if a[i]< =a[n] then begin
s: =s+i;
t: =a[i mod n];
a[i mod n]: =a[n];
a[n]: =t;
end;
ответ:я не уверена в ответах(давно не решала такие задачи)
16
[29, 31]
[28, 30]
12
[21, 23]
[20, 22]
Объяснение:
def moves(heap):
a,b=heap
return[(a+1,b),(2*a,b),(a,b+1),(a,b*2)]
table={(k,s):0 for k in range(501)for s in range(501)}
for x in table:
if any(sum(t)>=69 for t in moves(x)):
table[x]=1
for x in table:
if table[x]==0 and all(table[t]==1 for t in moves(x)):
table[x]=2
for x in table:
if table[x]==0 and any(table[t]==2 for t in moves(x)):
table[x]=3
for x in table:
if table[x]==0 and all(table[t]==3 or table[t]==1 for t in moves(x)):
table[x]=4
print(min([s for s in range(1,118)if any(table[t]==1 for t in moves((5,s)))]))
print([s for s in range(1,118)if table[(5,s)]==3])
print([s for s in range(1,118)if table[(5,s)]==4])
def moves(heap):
a,b=heap
return[(a+1,b),(2*a,b),(a,b+1),(a,b*2)]
table={(k,s):0 for k in range(501)for s in range(501)}
for x in table:
if any(sum(t)>=53 for t in moves(x)):
table[x]=1
for x in table:
if table[x]==0 and all(table[t]==1 for t in moves(x)):
table[x]=2
for x in table:
if table[x]==0 and any(table[t]==2 for t in moves(x)):
table[x]=3
for x in table:
if table[x]==0 and all(table[t]==3 or table[t]==1 for t in moves(x)):
table[x]=4
print(min([s for s in range(1,118)if any(table[t]==1 for t in moves((5,s)))]))
print([s for s in range(1,118)if table[(5,s)]==3])
print([s for s in range(1,118)if table[(5,s)]==4])