프날 오토핫키 강좌  v2

⚠ 이 강좌는 오토핫키 v2를 다룹니다

지금 보시는 강좌는 과거 오랜 시간동안 알려진 오토핫키(v1.1)의 차세대 버전인 오토핫키 v2를 다루고 있습니다.
만약 구버전인 '오토핫키 v1.1'의 강좌를 찾으신다면 프날 오토핫키 강좌(https://pnal.kr)를 봐주시면 되지만, 새로 오토핫키를 배우신다면 v2 버전을 배우시는 것을 강력히 추천드립니다.

33. 프로그래밍 문제(4)


⚠ 제공되는 정답은 신중히 열어보세요

정답을 쉽게 확인할수록 문제 해결 능력은 천천히 오릅니다.
반드시 오래 생각한 후, 강좌를 아무리 복습해도 답을 모르겠을 때 정답을 확인해주세요.

프로그래밍 문제


문제 1. 다음 중 Loop에 관한 설명으로 옳지 않은 것은?

ㄱ. 함수의 한 종류이다.
ㄴ. 원하는 횟수만큼 블록 안의 내용을 반복한다.
ㄷ. 무한 반복이 가능하다.
ㄹ. 조건이 참일 때 반복한다.

정답 펼치기/접기 답: ㄱ, ㄹ

ㄱ. 함수가 아니라 제어문이다. 그렇기에 반복 횟수를 지정해줄 때 괄호 처리를 해주지 않았다.
ㄹ. Loop는 조건과는 관련 없다.

 


문제 2. 다음 중 조건문에 관한 설명으로 옳지 않은 것은?

ㄱ. 조건이 참이면 블록 안의 구문을 실행한다.
ㄴ. 조건이 -1이면 거짓이므로, 블록 안의 구문을 실행하지 않는다.
ㄷ. if의 조건이 참이어서 구문을 실행했다면, 그 밑의 else ifelse문은 건너뛴다.
ㄹ. else는 하나의 조건문 묶음에서 여러개 쓸 수 있다.
ㅁ. else는 필요 없는 경우 사용하지 않아도 된다.

정답 펼치기/접기 답: ㄴ, ㄹ

ㄴ. 0과 빈 값을 제외한 모든 값은 '참' 취급이며, 음수도 마찬가지이다.
ㄹ. else는 한 번만 쓸 수 있다. else if는 여러번 쓸 수 있다.

 


문제 3. 아래와 같은 프로그램을 작성하세요.

현재 초(Second)에 따라 구구단을 출력하는 프로그램

[동작]
1. F1을 누르면 (현재 초의 10의 자리 수 + 1)을 '단'으로 하여 구구단을 출력한다.
2. 예를 들어서, 현재 '초'가 34초라면 4단을, 59초라면 6단을 출력하도록 한다.
3. F2를 누르면 프로그램이 종료되게 한다.

[조건]
1. 구구단은 반복문을 이용하여 구현할 것.
2. 구구단은 해당 '단'의 내용을 한 번에 하나의 알림 상자로 출력할 것. (하단 출력 예시 참고)
3. 하단 출력 예시와 동일하게, 현재 초 또한 출력하게 한다.

힌트 펼치기/접기 - 현재 초를 표현하는 내장 변수를 배운 적이 있습니다.
- 어떤 수의 10의 자리를 구하려면, 그 수를 10으로 나눈 후 몫만 취하면 되겠죠?
- 한 단을 하나의 알림 상자에 모두 표현하려면, 반복할 때마다 곱셈 식을 문자열로 이어붙이면 되겠네요.
   특히, '개행'을 뜻하는 이스케이프 시퀀스를 이용해서 한 줄씩 이어붙이면 보기 좋을 것입니다.
정답 펼치기/접기
문제 3 정답
33-3.ahk (0.33KB)
현재 초: 42 라는 글 밑에 5 x 1 = 5, 5 x 2 = 10 등 구구단 5단이 쭉 나와있는 알림 상자 사진 1. 출력 예시 - 현재 초가 42이기 때문에, 4 + 1 = 5를 단으로 해 구구단을 출력한 모습

문제 4. 아래와 같은 프로그램을 작성하세요.

사용자의 선택에 따라 구구단을 출력하는 프로그램

[동작]
1. 첫 번째 알림 상자의 내용은 '7단?'이며, 를 누르면 7단을 출력하고 프로그램이 종료된다.
2. 첫 번째 알림 상자에서 아니요를 누르면 두 번째 알림 상자가 나타난다.
3. 두 번째 알림 상자의 내용은 '8단?'이며, 를 누르면 8단을 출력하고 프로그램이 종료된다.
4. 두 번째 알림 상자에서 아니요를 누르면 세 번째 알림 상자가 나타난다.
5. 세 번째 알림 상자의 내용은 '9단?'이며, 를 누르면 9단을 출력하고 프로그램이 종료된다.
6. 세 번째 알림 상자에서 아니요를 누르면 프로그램이 종료된다.

[조건]
1. 구구단은 반복문을 이용하여 구현할 것.
2. 구구단은 해당 '단'의 내용을 한 번에 하나의 알림 상자로 출력할 것.
3. 자세한 출력 형태는 하단의 출력 예시 영상을 참고할 것

힌트 펼치기/접기 - 전체적으로 '문제 3'과 접근 방법이 동일하나, 알림 상자에서 선택한 버튼에 따라 행동이 달라져야합니다.
- MsgBox 함수의 반환값은 사용자가 누른 버튼의 이름입니다.
정답 펼치기/접기
문제 4 정답
33-4.ahk (0.26KB)

 


정답은 예시입니다.

조건을 지켜서 프로그래밍 했다고 가정할 때, 제공 정답과 동일한 동작을 한다면 잘 하신 것입니다.
내려받은 정답 코드가 자신의 코드와 다르다고해서 오답인 것은 아닙니다!

질문하러 가기