Есть ответ 👍

Рядом с вами находятся две корзины. первая наполнена яблоками разных размеров, вторая — пустая.

шаг 1. вы берёте любое яблоко из первой корзины и кладёте его на стол перед собой.

шаг 2. вы достаёте следующее яблоко из первой корзины и выполняете сравнение:

— если яблоко в руках больше, чем яблоко на столе, то вы опускаете яблоко, которое у вас в руках, во вторую корзину;
— если яблоко в руках меньше яблока на столе, вы кладёте яблоко на стол, а яблоко, которое лежало на столе, перекладываете во вторую корзину.
вы повторяете шаг 2 до тех пор, пока первая корзина не опустеет.

какое яблоко окажется на столе в самом конце? попытайтесь сформулировать, что является инвариантом цикла в алгоритме. сформулируйте условие с использованием терминологии, рассмотренной в этом параграфе.

238
385
Посмотреть ответы 2

Ответы на вопрос:


ответ:

после выполнения шага 1 на столе лежит яблоко, которое достали из корзины первым, а вторая корзина пуста. после каждого выполнения шага 2 большее яблоко перемещается в корзину, а меньшее остается на столе. в результате на столе окажется самое маленькое яблоко.

при обосновании корректности циклических алгоритмов полезно использовать понятие инварианта цикла. в случае алгоритма инвариантом цикла является такое условие «лежащее на столе яблоко — самое маленькое из всех взятых до сих пор». в начале алгоритма условие очевидно выполняется (любое яблоко удовлетворяет этому условию). условие остается истинным на каждом шаге в соответствии с правилами. таким образом, в конце алгоритма, когда все яблоки взяты, получим самое маленькое яблоко из всех.

подробнее - на -

объяснение:

Nikita82279
4,4(54 оценок)

Var r,x,y : real; k,i: integer; begin write('r='); readln(r); k: =0; for i: =1 to 3 do   begin write('x = '); readln(x); write('y = '); readln(y); if sqrt(x*x+y*y)< =r then k: =k+1; end; writeln('в круг попали ',k,' точек'); end.

Популярно: Информатика