한국어

Programming

twin 주소복사
조회 수 1353 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

건강에 대한 관심이 많습니다. 특히 체중 관리가 힘들죠? 세번째 앱은 BMI 계산기입니다.

BMI는 Body Mass Index, 즉 체질량지수입니다. 체중(kg)과 키(m)를 사용하여 계산하는데 단위에 주의해야 합니다.

BMI=체중/(키*키)
BMI < 20, 저체중
20<=BMI<25, 정상체중
25<=BMI<30, 경도비만
30<=BMI<40, 비만
BMI >= 40, 고도비만

먼저 디자인을 해보겠습니다. 

키와 체중을 입력할 수 있도록 두개의 TextBox를 배치합니다. 입력을 쉽게 하도록 TextBox의 속성창에서 Hint에 키(m), 체중(kg)을 써줍니다. 이름은 txtHeight, txtWeight로 하고 둘 다 TextAlignment는 Center로 둡니다.

버튼은 이름을 btnCalc로 바꾸고 "BMI계산"이라고 Text 속성을 바꿉니다. 

그 아래 두개의 Label을 위치하고 각각 이름을 lblBMI, lblResult로 바꿉니다. lblBMI의 Text 속성은 "당신의 BMI는?"으로 바꾸고 lblResult의 Text는 지웁니다. lblResult는 BMI 값에 따라 비만등급을 써줄겁니다. 

다음은 Blocks 코딩을 하겠습니다.

이번 예제에서 변수(variable)을 사용해 보겠습니다. 변수는 값을 저장하는 기억장소인데 새로운 값을 할당하면 값이 바뀌게 되므로 변수라고 부릅니다. 변수에는 global과 local이 있습니다. global은 프로그램 전체에서 사용할 수 있고 local은 선언된 곳의 유효범위 안에서만 사용할 수 있습니다. 

이 프로그램에서는 local 만 사용하면 되겠습니다. global은 프로그램 전 영역에서 값을 바꿀 수 있기 때문에 얼핏 보기에는 더 편할 것 같지만 예상치 못한 실수가 나올 수 있습니다. 할 수만 있다면 global 보다 local을 사용하는 것이 좋습니다.

코딩을 살펴볼까요? btnCalc 버튼이 클릭되면 bmi, w, h 로컬 변수를 선언하고 0으로 초기화 합니다. w는 txtWeight의 값을, h는 txtHeight의 값을 갖게 합니다. bmi = w / (h*h)의 공식으로 계산합니다.

계산된 bmi 값은 format as decimal 블록을 사용하여 소숫점 한자리로 lblBMI에 표시합니다. 그 아래는 if~else if~else 블록을 사용하여 bmi값에 따른 비만 정도를 lblResult에 표시합니다.

BMI계산기 앱의 실행화면

실행화면은 위와 같습니다. Screen1의 배경색을 Orange로 했습니다. 왼쪽이 초기화면, 오른쪽이 계산이 끝난 화면입니다.


  1. [앱인벤터] 방향센서와 나침반

    Date2018.08.27 Bytwin Views1046
    Read More
  2. [앱인벤터] 리스트를 이용하여 녹음이 되는 실로폰

    Date2018.08.27 Bytwin Views5350
    Read More
  3. [앱인벤터] 내가 만든 앱을 구글 플레이스토어에 등록하는 방법

    Date2018.08.27 Bytwin Views720
    Read More
  4. [앱인벤터] Sound를 이용한 실로폰 앱

    Date2018.08.27 Bytwin Views985
    Read More
  5. [앱인벤터] ListPicker와 WebViewer를 이용한 내가 즐겨찾는 사이트 앱

    Date2018.08.27 Bytwin Views2783
    Read More
  6. [앱인벤터] Camera & Share, 사진찍고 메모해서 공유하기

    Date2018.08.27 Bytwin Views915
    Read More
  7. [앱인벤터] App Inventor 2 Tips

    Date2018.08.27 Bytwin Views1355
    Read More
  8. [앱인벤터] ActivityStarter 액티비티 스타터를 사용한 여행앱

    Date2018.08.27 Bytwin Views1651
    Read More
  9. [앱인벤터2] 캔버스와 이미지스프라이트, Bouncing Ball 예제

    Date2018.08.27 Bytwin Views1122
    Read More
  10. [앱인벤터2] 아날로그 시계 만들기

    Date2018.08.27 Bytwin Views2971
    Read More
  11. [앱인벤터2] 말하는 Hello World 앱

    Date2018.08.27 Bytwin Views1525
    Read More
  12. [앱인벤터2] 두 개의 스크린 사이의 값 전달, 구구단 예제

    Date2018.08.27 Bytwin Views4223
    Read More
  13. [앱인벤터2] Slider를 사용하는 타이머

    Date2018.08.27 Bytwin Views2186
    Read More
  14. [앱인벤터2] PasswordTextBox와 TinyDB를 사용한 PIN 번호 체크

    Date2018.08.27 Bytwin Views3036
    Read More
  15. [앱인벤터2] Extension(확장기능)을 사용한 깜박이는 플래시라이트

    Date2018.08.27 Bytwin Views2137
    Read More
  16. [앱인벤터2] Clock 센서, 디지털 시계

    Date2018.08.27 Bytwin Views3723
    Read More
  17. [앱인벤터2] BMI 계산기

    Date2018.08.27 Bytwin Views1353
    Read More
  18. [앱인벤터2 강좌] 폭탄 돌리기

    Date2019.09.17 Bytwin Views1496
    Read More
  19. [앱인벤터2 강좌] 만보기앱, Pedometer 센서

    Date2018.08.27 Bytwin Views1468
    Read More
  20. [앱인벤터2 강좌] 나침반과 센서

    Date2018.08.27 Bytwin Views842
    Read More
Board Pagination Prev 1 2 3 Next
/ 3