Языки программирования - концепции и принципы

Сравните сгенерированный для поиска код,


6. Сравните сгенерированный для поиска код, реализованный с помощью операторов break или exit, с кодом, сгенерированным для поиска с «часовым».

7. Напишите программу поиска с «часовым», используя do-while вместо while. Будет ли это эффективнее?

8. Почему мы помещали «часового» в начало массива, а не в конец?

9. (Шолтен) В игре Го используют камни двух цветов, черные и белые. Предположим, что у вас в коробке неизвестная смесь камней, и вы вы­полняете следующий алгоритм:

while Stones_Left_in_Can loop                    -- пока есть камни в коробке              

Ada

       Remove_Two_Stones(S1, S2);               -- вынуть два камня

       if Color(S1 )=Color(S2) then



          Add_Black_Stone;                                --добавить черный камень

       else

          Add_White_Stone;                                 -- добавить белый камень

       end if;

end loop;

    Найдите переменную, значение которой уменьшается, оставаясь неотрицательным, и тем самым покажите, что цикл заканчивается. Мо­жете ли вы что-нибудь сказать относительно цвета последнего камня? (Подсказка: напишите инвариант цикла для числа белых камней).

 

Глава 7

 

Подпрограммы

 

 

 

 

7.1. Подпрограммы: процедуры и функции

 

Подпрограмма — это сегмент программы, к которому можно обратиться из любого места внутри программы. Подпрограммы используются по разным причинам:

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


Содержание раздела