태지쌤

로봇 & 코딩교육 No.1 크리에이터

로봇코딩

엔트리로 만나이 계산기 만들기 프로그램 알고리즘

태지쌤 2024. 1. 6. 10:24
반응형

안녕하세요? 로봇 & 코딩교육

No.1 크리에이터 태지쌤이에요.

이제 대한민국에서도

만 나이를 사용하는 것으로 통일 되었어요.

헷갈리는 만 나이를 계산해주는 프로그램을

엔트리 블록코딩으로 가능할까요?

1) 변수 선언

일단 이번 프로젝트에서 필요한

변수를 만들어줬어요.

갯수가 좀 많죠?

태어난 연도, 월, 일

현재 연도, 월, 일

그리고 나이 변수까지 7개에요.

2) 사용자로부터 생년월일 입력받기

다음은 사용자로부터 생년월일을 입력받아야해요.

엔트리에서는 묻고 대답 기다리기 블록을 통해

위 기능을 수행할 수 있어요.

태어난 해를 입력받아서 태어난 연도 변수에 저장

태어난 월을 입력받아서 태어난 월 변수에 저장

태어난 일을 입력받아서 태어난 일 변수에 저장

여기까지는 어렵지 않죠?

3) 현재 연도, 월, 일 구하기

다음은 현재 연도, 월, 일을 구해야해요.

만약 오늘 날짜로 고정해서 계산하면

매번 프로그램 실행 날짜에 맞게

수정해줘야하는 불편함이 있어요.

그런데 놀랍게도 엔트리나 스크래치에는

현재 날짜를 구할 수 있는 기능이 있어요.

계산 카테고리에 있는

현재 연도, 월, 일 블록을 이용해서

프로그램 실행하는 날짜를 기준으로

자동으로 연도, 월, 일을 구해서

현재 연도, 월, 일 변수에 저장해요.

4) 나이 구하기

이제 나이를 구할 수 있어요.

현재 연도에서 태어난 연도를 빼면 되는거죠.

결과를 나이 변수에 저장합니다.

5) 만나이 구하기

그런데 중요한건 지금부터죠.

우리는 그냥 나이가 아니라

만나이가 필요한거에요.

그래서 조건문을 활용할거에요.

제가 엔트리에 있는 주석(메모 기능)을 통해서

대략적인 알고리즘을 적어놨어요.

일단 '현재 월'과 '태어난 월'을 비교합니다.

현재 월보다 태어난 월이 크다면

생일이 지나지 않았으므로

만나이로는 나이에서 1을 뺍ㄴㅣ다.

그런데 간혹 현재 월과 태어난 월이

일치하는 경우가 생기겠죠?

이럴 땐 이중 조건문을 이용해서

한번 더 조건을 검사해야해요.

이번에는 '월'이 아닌 '일'을 검사해요.

'월'이 같다는 조건하에

'현재 일'보타 '태어난 일'이 크면

생일이 지나지 않았다는 뜻이므로

이번에도 나이 변수에 1을 뺍니다.

마지막으로 나이 변수에 저장된

최종 값을 화면에 출력하면 끝~!

휴~ 복잡해 보이지만~

놀랍게도 엔트리로도

훌륭한 만나이 계산기를

만들 수 있었습니다~!!

여기까지 엔트리로 만나이 계산기 만들기

반응형