I need some general Core Motion advice

I'm building a physical therapy app and as part of it, I want the app to oversee and measure certain exercises that the user will do. I'm not sure if I should use Core Motion, location services, or something else.

These are the specific things we want to measure:

  1. The user walks for 6 minutes. At the end of it, we tell them how far they walked.

  2. The user runs for 30 seconds. We tell them their average speed and peak speed.

  3. The user does a broad jump: basically just jumping forward as far as they can. We want to measure the distance jumped.

I'm thinking location services might work for #1 but I doubt it will be accurate enough for #2.

For #3 I thought I could do this with the accelerometer if I took readings at short intervals and combined them with something like the trapezoidal rule, but I can't get this to produce a reliable result.

Let me know what you think, thanks.