정성훈
    (실습 8) 8장 실습



다음 교재 프로그램을 수행시켜 동작을 확인하시오.

 

다음과 같은 동작을 수행하는 프로그램을 작성해보시오. 

 

문제

결과
1

두 개의 수를 입력받아서 최소공배수를 구하는 프로그램을 함수로 작성하시오. 반복문으로 5번 호출하고 종료하시오.

  • 두 개의 수를 입력받음 (x, y)
  • 배수를 저장할 변수를 만들고 입력 수를 저장 (mx = x, my = y)
  • 공배수 판단
    • mx 와 my 가 같으면 공배수 mx 리턴
    • mx < my 이면 mx += x 하여 배수로 만들고 공배수 비교
    • mx > my 이면 my += y 하여 배수로 만들고 공배수 비교
2

프로그래밍에서 어떤 함수가 함수 내에서 자기 자신을 호출하는 것을 순환(recursion)이라고 하며 문제 자체가 순환적 문제일 때 간단하게 프로그램을 할 수 있는 장점이 있다.

  • 아래의 순환호출 프로그램을 수행하여 순환이 어떻게 동작하는지 파악하시오.
  • 무한하게 호출하지 않고 종료하는 이유를 파악하시오.
  • import turtle

    def tree(length):
        if length > 5:            # length가 5보다 크면 순환호출을 한다. 
            t.forward(length)        # 거북이가 length 만큼 선을 그린다. 
            t.right(20)            # 오른쪽으로 20도 회전한다. 
            tree(length-15)        # (length-15)를 인수로 tree()를 순환 호출한다. 
            t.left(40)            # 왼쪽으로 40도 회전한다. 
            tree(length-15)        # (length-15)를 인수로 tree()를 순환 호출한다. 
            t.right(20)            # 오른쪽으로 20도 회전한다. 
            t.backward(length)        # length만큼 뒤로 간다. 제자리로 돌아온다. 

    t = turtle.Turtle()
    t.left(90)                # 거북이가 위쪽을 향하게 한다.


    t.color("green")                # 선의 색을 녹색으로 한다. 
    t.speed(1)                # 속도를 제일 느리게 한다.
    tree(90)                # 길이 90으로 tree()를 호출한다. 
     

 

 

  등록일 : 2021-01-23 [20:43] 조회 : 266 다운 : 0   
 
△ 이전글실습 프로그램 예)
▽ 다음글실습 프로그램 예)
코딩 첫걸음 실습게시판
번호 제 목 이름 조회 등록일
20 (실습 10) 10장 실습 실습 정성훈 295 05-26
19 (실습 9) 9장 실습 실습 정성훈 358 01-23
18 └❶ 실습 프로그램 예) 비공개 계속 정성훈 60 02-02
17 (실습 8) 8장 실습 실습 정성훈 266 01-23
16 └❶ 실습 프로그램 예) 비공개 계속 정성훈 57 02-02
15 (실습 7) 7장 실습 실습 정성훈 439 01-23
14 └❶ 실습 프로그램 예) 비공개 계속 정성훈 117 02-02
13 (실습 6) 6장 실습 실습 정성훈 425 01-23
12 └❶ 실습 프로그램 예) 비공개 계속 정성훈 90 02-01
11 (실습 5) 5장 실습 실습 정성훈 360 01-23
10 └❶ 실습 프로그램 예) 비공개 계속 정성훈 95 01-31
9 (실습 4) 4장 실습 실습 정성훈 359 01-23
8 └❶ 실습 프로그램 예) 비공개 계속 정성훈 88 01-30
7 (실습 3) 3장 실습 실습 정성훈 624 01-23
6 └❶ 실습 프로그램 예) 비공개 계속 정성훈 122 01-30

[1][2]