開発環境
- OS X El Capitan - Apple (OS)
- Emacs (Text Editor)
- JavaScript (プログラミング言語)
- Safari(Web browser)
- JavaScript 第6版 (David Flanagan(著)、村上 列(翻訳)、オライリージャパン)(参考書籍)
- JavaScriptリファレンス 第6版(David Flanagan(著)、木下 哲也(翻訳)、オライリージャパン)(参考書籍)
Exercises for Programmers: 57 Challenges to Develop Your Coding Skills (Brian P. Hogan 著、Pragmatic Bookshelf)のChapter 6(Repetition)、31(Karvonen Heart Rate)を取り組んでみる。
31(Karvonen Heart Rate)
コード(Emacs)
<label for="heart_rate0">
Resting Pulse:
</label>
<input id="heart_rate0" type="number" min="0" max="999" step="1" value="65">
<label for="age0">
Age:
</label>
<input id="age0" type="number" size="3" min="1" max="999" step="1" value="22">
<br>
<br>
<div id="output0"></div>
<br>
<label for="intensity0">
Intensity:
</label>
<input id="intensity0" type="range" min="55" max="95" step="5" value="55">
<script src="array.js"></script>
<script src="sample31.js"></script>
(function () {
'use strict';
var div_output = document.querySelector('#output0'),
input_heart_rate = document.querySelector('#heart_rate0'),
input_age = document.querySelector('#age0'),
input_intensity = document.querySelector('#intensity0'),
inputs = [input_heart_rate, input_age, input_intensity],
targetHeartRate,
output;
targetHeartRate = function (age, heart_rate, intensity) {
return Math.round(
(220 - age - heart_rate) * intensity / 100 + heart_rate);
};
output = function () {
var heart_rate = parseInt(input_heart_rate.value, 10),
age = parseInt(input_age.value, 10),
intensity = parseInt(input_intensity.value, 10),
rate = targetHeartRate(age, heart_rate, intensity);
div_output.innerText =
'Intensity: ' + intensity + '%, Rate: ' + rate + 'bpm'
};
console.log(inputs);
inputs.forEach(function (input) {
input.onchange = output;
});
output();
}());
0 コメント:
コメントを投稿