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

Даны следующие операторы:
а) repeat
<Оператор 1> ;
<Оператор 2> ;
...
<Оператор n>;
until p
б) while not p do
begin
<Оператор 1> ;
<Оператор 2> ;
...
<Оператор n>;
end.
Эквиваленты ли эти операторы?Аргументируйте ответ.

👇
Открыть все ответы
Ответ:
YaroslavShevchuk
YaroslavShevchuk
13.07.2021

В задании исходный код программы введен немного неправильно, поэтому я решил его загуглить и нашел во с идентичными кодом без ответа. Код, вроде, рабочий, но я его серьезно не тестировал.

N = 1E5

a, p, s = [], [], []

def main():

       n = k = i = j = 0

       (n, k) = (int(input()), int(input()))

       p = [0] * n

       s = [0] * n

       for i in range(0, n):

               a.append(int(input()))

               if a[i] > a[j]:

                       p[i] = i

                       j = i

               else:

                       p[i] = p[j]

       

       j = n - 1

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

               if (a[i] >= a[j]):

                       s[i] = i

                       j = i

               else:

                       s[i] = s[j]

       

       m, l, r = 0, 0, k + 1

       i = l

       for j in range(r, n):

               t = a[p[i]] + a[s[j]]

               if t > m:

                       l = p[i]

                       r = s[j]

                       m = t

               i += 1;

       print(str(l + 1) + " " + str(r + 1))

if __name__ == "__main__":

       main()

4,8(29 оценок)
Ответ:
karuna4
karuna4
13.07.2021
//Pascal ABC.NET v3.1 сборка 1172

var
  ar: array of integer;
  n, k2, k3, k4, k5, i: integer;
  r: real;

begin
  write('Сколько учеников?');
  readln(n);
  setlength(ar, n);
  writeln('Введите оценки:');
  for i := 0 to n - 1 do
  begin
    readln(ar[i]);
    case ar[i] of
      2: inc(k2);
      3: inc(k3);
      4: inc(k4);
      5: inc(k5);
    else
      writeln('Не оценка');
      exit;
    end;
  end;
  writeln('2:', k2);
  writeln('3:', k3);
  writeln('4:', k4);
  writeln('5:', k5);
  write('Успеваемость=', (k3 + k4 + k5) / n * 100:0:1);
end.

Пример ввода:
Сколько учеников?6
Введите оценки:
2
2
3
4
5
5
Пример вывода:
2:2
3:1
4:1
5:2
Успеваемость=66.7
4,6(68 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ