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

В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже представлен записанный на разных языках программирования фрагмент одной и той же программы, обрабатывающей данный массив. Python:

s=0
n=10

for i in range (1, n + 1):
if i == n - i
s = s + A[i] - A[i - 1]

Паскаль:

s:= 0
n:=10

for i:= 1 to n do
begin
if i:= n - i
then
s:= s + A[i] - A[i - 1];
end

В начале выполнения этого фрагмента в массиве находились числа 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, т. е A[0] = 0, A[1] = 3 и т. д.
Чему будет равно значение переменной s после выполнения данной программы?

ответы:
1) 3
2) 0
3) 2
4) 1

👇
Ответ:
SeregaDvoihnik
SeregaDvoihnik
13.04.2023

3

Объяснение:

В обоих вариантах программы у вас есть ошибки, скорее всего имелось в виду это (Python)

s = 0

n = 10

for i in range (1, n + 1):

   if i == n - i :

       s = s + A[i] - A[i - 1]

Сначала s = 0, n = 10.

Затем в цикле по i от 1 до n, если i = n - i, к s прибавляется A[i] - A[i - 1].

Условие выполнено, когда i = n - i.

i=n-i\\2i=n\\\\i=\dfrac{n}{2}

Итак, условие выполнится только для i = n/2 = 5, поэтому к s что-то прибавится только раз.

Новое значение s = 0 + A[5] - A[4] = 0 + 15 - 12 = 3.

4,8(47 оценок)
Открыть все ответы
Ответ:
ЛераТян2000
ЛераТян2000
13.04.2023
Программа выглядит примерно так

program n_1;  type    nazw = array[0..9] of String[15];  const    ed : nazw = ('ноль','один','два','три','четыре','пять','шесть','семь','восемь','девять');    des: nazw = ('','десять','двадцать','тридцать','сорок','пятьдесят',                       'шестьдесят','семьдесят','восемьдесят','девяносто');    sot: nazw = ('','сто','двести','тристо','четыресто','пятьсот','шестьсот','семьсот','восемьсот','девятьсот');    dd : nazw = ('','одинадцать','двенадцать','тринадцать','четырнадцать','пятнадцать',                       'шестнадцать','семнадцать','восемьнадцать','девятнадцать');  var    s,d,e,x : Integer;    st      : String;  Begin    Write('Введите число [0..1000] :'); Readln(x);   if x=1000 then st:='тысяча' else begin    s:= x div 100; x:=x mod 100; st:=sot[s];    d:= x div 10; e:=x mod 10;    if (d=1) and (e<>0) then st:=st+dd[e]                        else st:=st+des[d]+ed[e];   end;    writeln(st);     End.
4,5(58 оценок)
Ответ:
allahgulievaru
allahgulievaru
13.04.2023

1. смешанная адресация

2. то же значение, что в В2

3. =B4*($C$2+D3)

4. ошибка, С$5 выйдет за пределы таблицы

5. =$D6+E6

Объяснение:

1. один знак $ - смешанная, нет знаков $ - относительная, два знака $ - абсолютная

2. то же значение, что в B2, т.к. абсолютная адресация

3. у ячеек с относительной адресацией увеличился номер строки на 1

4. ошибка связана с тем, что формула копируется в ячейку, находящуюся на 3 столбца левее, а столбец С в ссылке С$5 может быть изменен максимум до столбца А, то есть на 2 левее

5. столбец D не изменяется т.к. слева $, а остальные значения будут меняться при копировании

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