IoT를 위한 문제 중심 C++ 프로그래밍
금오공과대학교
이해연 교수
반복문 #4 + 디버깅
Day 8:
목차
1. 반복문 문제 (while, for) + 조건문 연계
2. 디버깅 도구 활용
A. 중단점 설정
B. 변수값 확인
문제 5.11 홀수 합 계산
1. 문제 설명
A. 사용자로부터 두 정수를 입력받고 작은 수와 큰 수를 찾은 후에 작은 수부터 큰 수까지의 모든 홀수를 출력하고,
또한 모든 홀수의 합을 계산하는 프로그램 구현
2. 구현 조건
A. 사용자가 입력한 두 정수를 포함하여 계산
3. 실행 예
문제 5.11 홀수 합 계산
1. 구현 힌트
A. 홀수는 2로 나누었을 때 나머지가 1인 숫자
B. 나머지 연산자 %를 이용
C. 두 값의 교환은 임시 변수 활용
D. 예) num1 num2 temp = num1;
num1 = num2;
num2 = temp;
프로그램을 직접 구현
- 인터넷, 도서 등 검색
- 스스로 생각하는 사고력 향상
디버깅 도구
중단점 (break point 설정 및 해제)
1. 중단점 설정 및 해제
A. 중단점 설정 코드 위치로 이동한 후에 “중단점 설정/해제“ 선택 소스 코드의 회색 영역 선택으로도 추가 가능
디버깅 모드에서의 실행 제어
1. 디버깅 시작 (F5) 선택
-> 실행 중에 중단점에서 멈춤
2. 한 단계씩 코드 실행 (F11) – 직접 구현 함수 등 경우 내부 이동
3. 프로시저 단위 실행 (F10) – 직접 구현 함수 등 내부 이동 안함
4. 디버깅 시작 (F5) – 중단점 이후 지속적 실행
디버깅 모드에서의 변수값 확인
1. 자동, 지역, 조사식 등을 통해서 확인 가능
A. 조사식 선택하는 경우 원하는 변수 직접 입력
문제 5.14 특정 범위의 3의 배수와 5의 배수 출력
1. 문제 설명
A. 사용자가 입력한 두 숫자 (num1, num2) 사이에 존재하는 3의 배수와 5의 배수를 출력하는 프로그램 구현
2. 구현 조건
A. 사용자의 입력은 num1 < num2를 충족하는 것으로 가정
B. 논리 연산자(&&, ||)를 사용하지 않고 구현
3. 실행 예
문제 5.14 특정 범위의 3의 배수와 5의 배수 출력
1. 구현 힌트
A. 논리 연산자를 사용하지 않는 경우 변수 활용 (초기값 0)
B. 3의 배수 이거나 5의 배수인 경우에만 변수를 변경 (값 1)
프로그램을 직접 구현
- 인터넷, 도서 등 검색
- 스스로 생각하는 사고력 향상
문제 5.16 Factorial 계산
1. 문제 설명
A. 사용자가 입력한 숫자의 Factorial 을 계산하는 프로그램 구현
2. 구현 조건
A. 사용자의 입력은 양수를 가정 (num > 0)
B. 실행 결과와 같이 수식도 출력
C. 반복문을 사용하여 구현
3. 실행 예
문제 5.16 Factorial 계산
1. 구현 힌트
A. 곱셈 연산이 적용되므로 초기화를 1로 해야 함을 주의
B. 숫자 출력 시 큰 값에서 작은 값으로 처리되므로 증감문에서 감소 형태로 구현
프로그램을 직접 구현
- 인터넷, 도서 등 검색
- 스스로 생각하는 사고력 향상
문제 5.12 사각형 테두리 출력
1. 문제 설명
A. 사용자가 입력한 숫자 크기를 갖는 정사각형 테두리 출력 프로그램 구현 2. 구현 조건
A. 도형 그리는 것을 반복적으로 수행하며 사용자가 –1을 입력하면 종료
3. 실행 예
문제 5.12 사각형 테두리 출력
1. 구현 힌트
A. 처음과 마지막 줄을 조건으로 구분하여 처리
B. 2중 반복문 사용
프로그램을 직접 구현
- 인터넷, 도서 등 검색
- 스스로 생각하는 사고력 향상
문제 5.13 다이아몬드 도형 출력
1. 문제 설명
A. 사용자가 입력한 숫자에 따라 *를 이용하여 다이아몬드 도형을 그리는 프로그램 구현
2. 구현 조건
A. 사용자가 입력하는 숫자는 양수이며 홀수임
B. 양수 입력한 경우는 다시 홀수를 입력할 때까지 받도록 함
3. 실행 예
문제 5.13 다이아몬드 도형 출력
1. 구현 힌트
A. 사용자가 홀수를 입력할 때 까지는 무한 반복하여 정수 입력 요청
B. 다이아몬드 도형에서 위 삼각형과 아래 삼각형을 따로 그림 삼각형 위/아래 크기는 사용자 입력 숫자 / 2
C. 2중 반복문 사용