AP计算机科学A:计算语句执行次数

AP计算机科学A的学习概念,示例问题和解释

大学导师应用商店 大学导师安卓商店

例子问题

例子问题1:算法分析

countStatements() {

Int = 10, b = 15, c = 7;

/ /开始

For (int I = 0;I < a;I += 2) {

b——;

System.out.print(“*”);

For (int I = b;我> = 0;我(){

For (int j = 0;J < c;j + +) {

System.out.print(“*”);

/ /结束

在上面的代码中,多少次将System.out.print在评论之间调用"/ /开始“而且”/ /结束"?

可能的答案:

正确答案:

解释

从计算第一个循环循环的次数开始。注意,循环控制变量(即,)每次循环增加2。这意味着你将循环i = 0,2,4,6,8。它不会循环到10,因为,就等于一个.这将终止循环。因此,到目前为止,您已经有了五个循环。注意,这也意味着b减了5倍。因此,在循环的最后,b现在等于10。

对于第二个循环,你必须小心,因为它有两个循环。外部循环将运行I = 10I = 0.这总共是11个循环。(注意这一点很重要,因为它不仅适用于10到1,而且适用于最后的数字0。该循环中的循环将从j= 0到j= 6(即小于c,即7)。这总共是7个循环。因此,这些嵌套循环总共将运行77次。总共调用System.out.print,或82。

例子问题1:统计语句执行次数

countStatements() {

Int [] array = new Int [54];

For (int I = 0;I < array.length;我+ +){

数组[i] = 3 * i + 1;

System.out.println(“耶!”);

For (int I = 0;I < array[5];我+ +){

数组[我]——;

System.out.println(“耶!”);

For (int I =数组[3];我> 0;我(){

System.out.println(“耶!”);

会打给多少个电话System.out.println在上面的代码中?

可能的答案:

正确答案:

解释

让我们计算每个循环,在需要时注意变量。第一个循环总共将运行54次。因此,它将总共执行54次。还要注意它是如何初始化数组的。这将在第二个循环中使用。每个元素都等于3i + 1.因此,我们将有:

A [0] = 1;A [1] = 4;A [2] = 7;A [3] = 10;A [4] = 13;A [5] = 16;等。

现在,循环2将使用一个[5]控制它的执行。注意它是从I = 0I = 15.的值在每次执行时都会减少(我)由一个。因此,要小心。它最终会跑一个[5],因此是15。这将用于循环控件。这意味着它实际上只从I = 0I = 14.因此,循环总共运行15次次了。

最后一个循环从I = 9I = 1.(注:这是因为在第二个循环中减量。)一共执行了9次。

因此,执行的总数为:

例子问题1:算法分析

下面的代码片段中执行了多少条语句?

For (int I = 0;I < arrr .length;我+ +){

If (i == 2) {

我+ +;

可能的答案:

2

6

5

3.

正确答案:

5

解释

代码片段中执行的语句顺序如下:

  1. Int I = 0
  2. I < arrr .length
  3. i++(等价于I = I + 1)
  4. I == 2
  5. 我+ +

这些语句都是在每次for循环运行时按顺序执行的。如果if语句为假,有时可能只执行4次。

大学导师的学习工具