Анатольевна824
?>

Переведите код из phyton в pascal n, m=() n=int(n) m=int(m) x=[0]*n print(x) z=[0]*n for i in range(m): a, b=() a=int(a)-1 b=int(b)-1 x[a]-=1 x[b]+=1 for i in range(n): z[i+x[i]]=i y='' for i in z: y+=str(i+1)+ ' ' print(y)

Информатика

Ответы

ВалерийАндреевна1788
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var (n,m):=ReadInteger2;
  var x:=ArrFill(n,0);
  x.Println;
  var z:=Copy(x);
  for var i:=0 to m-1 do begin
    var (a,b):=ReadInteger2;
    a-=1; b-=1; x[a]-=1; x[b]+=1;
    end;
  for var i:=0 to n-1 do z[i+x[i]]:=i;
  var y:='';
  foreach var i in z do y+=(i+1)+' ';
  Writeln(y)
end.

Переведите код из phyton в pascal n,m=() n=int(n) m=int(m) x=[0]*n print(x) z=[0]*n for i in range(m
Юрьевна174

1) Для оптимизации кода. Если у вас один и тот же код повторяется много-много раз, то это не есть хорошо. Поэтому люди придумали процедуры/функции, которые выполняют повторяющийся функционал. Процедуры, очень грубо говоря - это мини-программа в программе.

2) Их иначе не создать. Языки программирования переводят наши в компьютерный язык, чтобы на ПК понимал, что мы от него хотим. Языки программирование - некие переводчики между нашим языком и языком ПК.

3) Оптимизирует код. Удобно при использование. Выглядит красиво. Можно не писать один и тот же код по 100 раз, в таком случае - у нас было бы очень-очень много одинаковых блоков-кода в программе.

Объяснение:

Zakharov Lilit

Во первых рекомендую пользоваться компилятором.

Я прикрепила фото результата работы программы. Вышло 405.

Чтоб найти сколько раз повторяется цикл, нужно напротив цикла поставить точку останова и в режиме отладки смотреть сколько раз будет повторяться цикл. Либо добавить еще одну переменную int i= 0;

и в цикле после выражений написать i++; И дальше в конце ее вывести на экран и тебе покажет кол-во итераций(я приложила второе фото с таким решением, посмотри. Результат кол-ва итераций=21)

Когда условие перестанет выполняться, произойдет выход из цикла

(В данном случае условие s/n>=2. До тех пор пока s/n>=2 цикл будет выполняться. Когда результат от деления s/n будет будет меньше 2 цикл перестанет выполняться.)

Если под рукой нет компилятора и нужно узнать сколько раз повторяется цикл, нужно опять таки смотреть на условие цикла.

подставляешь в выражения числа и смотришь выполнится условие или нет. Если выполняется-дальше считаешь. Если не выполняется-выходишь из цикла.

Например, заходим в цикл:

s=300+5 (в итоге s=305)

n=100+5(в итоге n=105)

Дальше смотрим на условие цикла s/n>=2 (305/105>=2 да, значит цикл произведет еще одну итерацию)

s=305+5 (в итоге 310)

n=105+5 (в итоге 110)

Опять проверяем условие(310/110>=2 да, значит цикл произведет еще одну итерацию)

Продолжаем расчеты

s=310+5 (в итоге 315)

n=110+5 (в итоге 115)

Опять проверяем условие(315/115>=2 да, значит цикл произведет еще одну итерацию)

s=315+5  (в итоге 320)

n=115+5  (в итоге 120)

Опять проверяем условие(320/120>=2 да, значит цикл произведет еще одну итерацию)

и тд. пока условие не перестанет выполняться.

Когда оно перестанет выполняться, цикл перестанет выполняться тоже. Потом Посчитаешь сколько раз ты производил вычисления.(сколько было итераций) и поймешь, что их было 21. Т.е твой цикл 21 раз повторяется и выводит результат вычисления переменной s равный 405.

Будут вопросы, спрашивай.

Удачи:)


Можете с информатикой,подробно расписать как быстро можно найти сколько раз повторяется цикл и тд
Можете с информатикой,подробно расписать как быстро можно найти сколько раз повторяется цикл и тд

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Переведите код из phyton в pascal n, m=() n=int(n) m=int(m) x=[0]*n print(x) z=[0]*n for i in range(m): a, b=() a=int(a)-1 b=int(b)-1 x[a]-=1 x[b]+=1 for i in range(n): z[i+x[i]]=i y='' for i in z: y+=str(i+1)+ ' ' print(y)
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Anatolevich-sergeevna
Борисовна_Кашутина
АнатольевичМиронова885
alenchik19938823
Викторович Попков
rvvrps
Ligaevruslan
samoilovcoc
Imarmy67
beast05031075
Vasileva
МуратМарина1140
kogakinoa
Pavlov447
akustov55