글 작성자: BasicLike

목표

  1. 이 학습의 목표는 틀리는 것을 두려워하지 않는 태도를 기르는 것입니다.
    이 문제들은 정답을 맞히는 것보다 스스로 생각하고 시도하는 과정이 더 중요합니다.
    틀려도 괜찮고, 에러 경고가 떠도 괜찮습니다.
  2. 초급 수준의 문제부터 시작하여, 일상 속 상황을 프로그래밍으로 표현하는 습관을 만들어 보세요.
  3. 이해하지 못한 기술을 자동완성에만 의존해 사용하는 습관은 개발 실력 향상에 도움이 되지 않습니다.
    앞으로 최소 2년 이상 길게 본다는 생각으로, 지금 당장 잘하지 못하는 것은 자연스러운 과정이라고 받아들이세요.
    다시 한 번 강조하지만, 이 문제들에서 가장 중요한 것은 정답이 아니라 사고 과정입니다.
  4. 랜덤 값 생성 함수와 로컬 시간을 가져오는 함수를 제외하고는 외장 함수를 사용하지 않습니다.
  5. 순서도를 작성해 주세요.
    순서도는 머릿속에서 논리 구조와 실행 순서를 정리하는 연습입니다.
    diagrams.net을 활용해 직접 작성해 보세요.
  6. 모든 문제는 분석 → 설계 → 구현 과정으로 풀어주세요.



연습문제

 

 

예제09

두 수 중 큰 수 찾기

사용자로부터 입력받은 두 수를 변수 a, b에 저장하고,

a가 b보다 크면 a를 출력하고,

그렇지 않으면 b를 출력한다.

 

 

예제10

양수, 0, 음수 판별하기

사용자로부터 입력받은 수를 변수 a에 저장하고,
a
가 0보다 작으면 “음수”를,
a가 0보다 크면 “양수”를,
그렇지 않으면 “0”을 출력한다.

 

 

예제11

세 수 중 가장 큰 수 찾기(1)

a가 b보다 크고 a가 c보다 크면 a가 가장 큰 수가 된다.
a가 b보다 크고 a가 c보다 크지 않으면 c가 가장 큰 수가 된다.
a가 b보다 크지 않고 b가 c보다 크면 b가 가장 큰 수가 되고,
a가 b보다 크지 않고 b가 c보다 크지 않으면 c가 가장 큰 수가 된다.

구현

a = int(input("정수: "))
b = int(input("정수: "))
c = int(input("정수: "))

if a > b:
    if a > c:
        print("가장 큰 수:", a)
    else:
        print("가장 큰 수:", c)
else:
    if b > c:
        print("가장 큰 수:", b)
    else:
        print("가장 큰 수:", c)

 

 

예제12

세 수 중 가장 큰 수 찾기(2)

사용자로부터 첫 번째 수를 입력받아 m에 저장한다.
두 번째로 입력받은 수 a와 m을 비교하여 a가 m보다 크면 m에 a를 저장한다.
세 번째 수도 같은 방법으로 비교하면, 최종적으로 가장 큰 수가 m에 저장된다.

구현

m = int(input("정수: "))
a = int(input("정수: "))
if a > m:
    m = a

a = int(input("정수: "))
if a > m:
    m = a

print("가장 큰 수:", m)

 

 

예제13

홀수, 짝수 판별하기

사용자로부터 입력받은 수를 2로 나누었을 때
나머지가 0이면 “짝수”,
나머지가 0이 아니면 “홀수”이다.

 

예를 들어 입력받은 수가 10이라면
2로 나누었을 때 나머지가 0이 되므로 10은 “짝수”가 된다.
반대로 입력받은 수가 15라면 2로 나누었을 때 나머지가 1이므로 15는 “홀수”가 된다.

 

 

예제14

3의 배수 판별하기

사용자로부터 입력받은 수를 3으로 나눈 나머지가 0이면,

입력받은 수는 3의 배수이고 그렇지 않으면 3의 배수가 아니다.


예를 들어 10은 3으로 나눈 나머지가 0이 아니므로 3의 배수가 아니다.

반면 15는 3으로 나눈 나머지가 0이므로 3의 배수가 된다.

 

 

예제15

나이에 따른 입장료

입장료 정가가 5,000원일 때, 나이에 따른 요금 체계가 다음과 같다면 나이를 입력받아 입장료를 구한다.
입력받은 나이가 8세 미만이면 0원,

8세 이상 60세 미만이면 정가인 5,000원,

60세 이상이면 정가의 50%인 2,500원을 출력한다.

나이 요금
8세 미만 무료
8세 이상 ~ 60세 미만 정가
60세 이상 정가의 50%

 

 

예제16

3의 배수이면서 5의 배수 판별하기

사용자로부터 입력받은 수를

3으로 나눈 나머지가 0이고,

5로 나눈 나머지도 0이면

3의 배수이면서 5의 배수이다.


예를 들어

10은 3으로 나누었을 때 나머지가 1이므로, 3의 배수이면서 5의 배수가 아니다.
15는 3으로 나누었을 때와 5로 나누었을 때, 모두 나머지가 0이므로 3의 배수이면서 5의 배수가 된다.

 

 

예제17

나이에 따른 공원입장료

나이에 따른 공원 입장료는 다음과 같다.
입력받은 나이가 8세 미만이거나 60세 이상이면 “무료”를 출력하고, 그렇지 않으면 “5,000원”을 출력한다.

나이 요금
8세 미만 무료
8세 이상 ~ 60세 미만 5,000원
60세 이상 무료

 

 


 

과제 06

두 수를 입력받아 두 수 중 작은 수를 출력하는 순서도와 파이썬 프로그램을 작성하여라.

 

과제 07

두 수를 입력받아 두 수의 차를 출력하는 순서도와 파이썬 프로그램을 작성하여라.

 

과제 08

세 수를 입력받아 가장 작은 수를 출력하는 순서도와 파이썬 프로그램을 작성하여라.

 

과제 10

다음과 같은 요금 체계에 대해 거리에 따른 요금을 출력하는 순서도와 파이썬 프로그램을 작성하여라.

거리 요금
5km 미만 1,000원
5km 이상 ~ 10km 미만 2,000원
10km 이상 3,000원

 

과제 11

하나의 수를 입력받아 5의 배수 또는(or) 7의 배수인지 판별하는 순서도와 파이썬 프로그램을 작성하여라.