2011 AP CSA FRQ 1: Sound
Topic: Arrays & Signal Processing
Skills: Array manipulation, trimming algorithms, index tracking
Unit: Unit 4 (Data Collections) (2025-2026 AP CSA)
Points: 9 | Time: ~22 minutes
Part (a)
Write the trimSilenceFromBeginning method that removes leading silence.
Solution
public void trimSilenceFromBeginning()
{
int firstNonSilent = 0;
while (firstNonSilent < samples.length &&
Math.abs(samples[firstNonSilent]) <= limitAmplitude)
{
firstNonSilent++;
}
int[] newSamples = new int[samples.length - firstNonSilent];
for (int i = 0; i < newSamples.length; i++)
{
newSamples[i] = samples[firstNonSilent + i];
}
samples = newSamples;
}Part (b)
Write the limitAmplitude method that caps all values to a maximum.
Solution
public int limitAmplitude(int limit)
{
int count = 0;
for (int i = 0; i < samples.length; i++)
{
if (samples[i] > limit)
{
samples[i] = limit;
count++;
}
else if (samples[i] < -limit)
{
samples[i] = -limit;
count++;
}
}
return count;
}Key Concepts
Common Mistakes
Official Resources
Author: Tanner Crow - AP CS Teacher, 11+ years