본문 바로가기
  • Top Genius in the world
반응형

알고리듬86

[알고리듬] #88 자 그리기 파이썬 실습창을 열 수 있습니다.실습창 열기자 그리기위와 같은 자(ruler)를 그릴 수 있겠는가?리커시브(recursive) 구조를 찾아보라.어떤 규칙(rule)으로 그려졌는가? 더보기1. 가로선의 가운데 세로선을 그었다.2. 방금 그은 세로선의 왼쪽 부분과 오른쪽 부분의 가운데에 세로선을 그었다. 세[로선의 굵기와 두께는 짧아지고 가늘어 진다.3. 위의 과정을 반복한다.위의 그림을 그리기 위해서 알아야할 정보는 무엇인가?더보기1. 가로선의 시작과 끝점의 좌표2. 가운데 세로선의 각도, 길이, 두께3. 반복 회수 이러한 것이 함수의 인수이다.그림을 그려보라.더보기def ruler(n,i,j,h,w): if n==0:return m=(i+j)//2 width(w) up(); goto.. 2025. 1. 7.
[알고리듬] #87 나무 그리기 파이썬 실습창을 열 수 있습니다.실습창 열기 나무 그리기위의 그림에서 재귀적 구조(리카시브 구조)를 찾아보라.직선의 모임인데, 직선의 끝에서 두 갈레로 갈라지고, 짧아지고, 가늘어지는 규칙(rule)으로 변화된다. 이러한 규칙이 반복적으로 적용되는 그림이다.이것이 재귀적 구조이다. 다음 코드는 위의 그림을 그린 코드이다.왜 위와 같은 그림이 그려지는가 분석하라. def rod(n,a,d,w): if n==0:return width(w) left(a) fd(d) rod(n-1,-30,d*0.8,w*0.8) #오른쪽 가지 rod(n-1,30,d*0.8,w*0.8) #왼쪽 가지 fd(-d) left(-a)from turtle import*shape('turtle.. 2025. 1. 5.
[알고리듬] #86 장대 그리기 파이썬 실습창을 열 수 있습니다.실습창 열기장대 그리기1. 재귀호출의 흐름은 그림으로 보면 이해하기 쉽다.위와 같은 그림을 그리려고 한다. 그림을 분석하여 보자.직선의 모임이다.평면에 직선을 그리려면 어떤 정보가 있어야 할까?- 시작점의 위치, 방향, 길이를 알아야 한다. 추가적으로 선의 굵기, 색깔 등이 필요하다.(시작점을 거북이가 있는 곳으로 하면 시작점 위치는 고려하지 않아도 된다.)- 위의 장대를 그리려면 직선의 개수도 알아야 된다. 위의 그림은 8개이다.- 직선의 개수, 방향, 길이, 선의 굵기와 같은 정보를 인수(argument)라 한다.위의 그림은 직선이 규칙적으로 반복되어 있다. - 변화 규칙(rule)은 방향은 처음 90도 다음부터 오른쪽으로 돌고, 길이와 굵기는 앞의 직선 보다 짧고 가.. 2025. 1. 3.
[알고리듬] #85 재귀호출(recursive call) 파이썬 실습창을 열 수 있습니다.실습창 열기 재귀호출(recursive call)재귀 호출적(recursive) 구조란 자기 자신(n차)을 정의하기 위해 자기 자신 보다 1차원 낮은 부분 집합(n-1차)을 사용하고 더욱이 그 부분 집합은 보다 낮은 차원의 부분 집합을 사용하여 정의하기를 반복하는 구조이다. 이와 같은 구조를 일반적으로 재귀 호출(자기 호출, recursion 또는 recursive call)이라 부른다. 자연수 n을 입력받아서,재귀 호출 전략(recursive call strategy)으로 n부터 1까지 자연수를 출력하자. 1. 코딩하기다음 코드를 실행하자.def put(n): if n==0:return # base case 탈출 조건(종료 조건)이다. print(n,en.. 2025. 1. 2.
[알고리듬] #84 회돌이 [key word] 스파이럴, spiral파이썬 실습창을 열 수 있습니다.실습창 열기 회돌이회돌이(spiral)는 숫자 등을 소용돌이처럼 기억시키는 것입니다. 방향검사를 사용하면 간단하게 코딩할 수 있습니다.∙list를 다음과 같이 준비합니다.-1-1-1-1-1-1-1-1-1-1-100000000-1-100000000-1-100000000-1-100000000-1-100000000-1-100000000-1-100000000-1-100000000-1-1-1-1-1-1-1-1-1-1-1 실제 사용은 0이 기록된 곳입니다.둘러싸고 있는 -1은 보초(sentinel)입니다.보초를 사용하면 편리한 경우가 많습니다.전체에 -1을 기억시키고, 사용할 곳은 0으로 바꾸었습니다.진행 방법진행 방향에 숫자가 있으면 방향 .. 2024. 6. 5.
[알고리듬] #83 라이프 게임 [key word]  생명체 게임, game of life, 콘웨이, 유전 법칙파이썬 실습창을 열 수 있습니다.실습창 열기 라이프 게임1. 라이프 게임의 이해라이프 게임(Conway's Game of life)은 생물의 생존 주기(life cycle)를 시뮬레이트(simulate)한 것으로 케임브리지 대학의 J. Conway에 의하여 고안되었습니다. 인간(또는 생물)의 사회에서 인구 과밀이나 과소 때문에 인구의 감소가 일어나거나 다른 장소에 새로운 사회가 생기거나 합니다. 이러한 인구 분포의 변화를 초기의 적당한 인구 분포에서 어떤 규칙에 따라 시뮬레이트한 것이 이 게임입니다.   생명체의 주변에는 8개의 칸이 있습니다. 가장자리의 경우 3칸 또는 5칸이 있는 경우도 있습니다. 어떠한 경우이든 Conwa.. 2024. 6. 5.
728x90
반응형