U E D R , A S I H C RSS

새싹교실/2012/열반/120402 (rev. 1.6)

새싹교실/2012/열반/120402


1. 출석 및 진행

  • 김민규
  • 권우성
  • 채유빈
  • 오후 3시부터 약 1시간 10분 진행

2. 수업 내용

2.1. 변수의 스코프

#include <stdio.h>

int x=15;

function(int y){
	printf("%d %d\n", x, y);
}

int main()
{
	int x=5, y=10;

	printf("%d %d\n", x, y);
	
	function(5);

	return 0;
}

  • 한번 실행시켜 보세요.

2.2. 재귀 함수

printstar(int n){
	if(n<1){
		return;
	}else{
		printf("*");
		printstar(n-1);
	}
}
  • 별을 n개 출력하는 함수입니다.

2.3. 별찍기 실습

  • 하드 코딩을 시켜봤습니다.
  • 위의 printstar(int) 함수가 정의되었다고 가정

int main()
{
	printstar(5);
	printstar(4);
	printstar(3);
	printstar(2);
	printstar(1);

	return 0;
}

2.4. 반복문 실습

  • while은 수업 시간에 다룬 내용이라 짧게 설명했습니다. 위의 printstar를 응용한 실습을 진행했습니다.
  • printstar 및 N이 정의되었다고 가정했습니다.

2.4.1. 유빈

int main()
{
	int i;
	i=1
	N=11
	
	while(i=<N);
		printstar(N-i);
		i++;
	}

	return 0;
}
  • 세미콜론을 빼먹은 부분이 보입니다.
  • while의 중괄호도 제대로 쓰여있지 않습니다.
  • i=
  • printstar(0)을 수행하는 부분이 있습니다.

2.4.2. 민규

int main
{
	int i;
	i=10
	while(i>N){
		printstar(i)
		i--
	}
	return 0;
}
  • 역시 세미콜론을 빼먹은 부분이 있습니다.
  • main은 함수이므로 정의할 때 괄호가 필요합니다. main -> main()
  • 의도한 대로라면, N은 항상 0인 상수이어야 하므로, 변수를 좀 더 생각해볼 필요가 있습니다.

2.4.3. 우성

int main()
{
	int i;
	i=1;
	N=5;
	
	while(i>N){
		printstar(N+1-i);
		i++;
	}
	return 0;
}
  • 자잘한 문법 오류는 없습니다.
  • printstar(1)이 누락된 것 같습니다.

2.5. 실습

3. 다음 수업에 배울 내용

  • 중첩 반복문 ( optional )
  • 배열
  • 주소 및 참조

4. 후기

  • 이따 쓸게요.. ㅜㅜ 정신없다. 재귀함수+반복문으로 별찍기를 어렵지 않게 한 것 같네요.
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:29:47
Processing time 0.0204 sec