[[TableOfContents]] = 참여자 명단 = || 의사 || 장용운 || 11학번 || 미시행 || ||<|3> 환자 || 천준현 ||<|3> 15학번 || 미시행 || || 최지혁 || 미시행 || || 박인서 || 미시행 || = 수업 = == 진행 == 1. 장소 : 6층 학회실 2. 시간 : 15시 ~ 17시 == 내용 == '''6강. 맛있는 함수 만들기''' * 함수의 정체 ○ 함수 호출 스택 ○ 재귀 함수 * 함수의 형태 ○ 파라미터 ○ return 키워드와 리턴값 ○ 함수의 기능적 구분 * 함수 정의하기 * 변수의 스코프 ○ 전역 변수 * pre-declaration * main 함수에 파라미터 전달하기 * 디폴트 파라미터 ☆추가 * 2차원 배열 기초 '''실습''' * 온도 변환 함수 만들기 ○ 손코딩 * 재귀 함수로 Factorial 연산하기 * Quick sort = 코드 = == 예제1 == = 숙제 = 1. 이 페이지에 후기 작성하기! 2. 오늘 공부한 개념 수업 페이지에 정리하기! 3. '''테스트 예고''' 둘 중 하나 출제됨. 미리 알아보면 좋겠죠? ○ Breadth-First Search ○ Depth-First Search 4. 용어 조사하기 ○ Stack ○ Queue ○ Tree ○ Set ○ Map ○ Linked List = 후기 = * '''후기 작성 요령''' : 후기는 F4(ThreeFs + Future Action Plan)에 맞게 작성해주세요. * Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획. * * * 함수와 관련된 내용을 배우고 실습했습니다. 함수를 열심히 해야겠다는 것을 느꼈습니다. 테스트가 곧 다가오니 열심히 공부해야 겠다고 생각하였습니다.-[박인서] ---- = 숙제 제출 = == 천준현 == {{{ 별찍기 1번 #include int main(void){ int i, j; char c; c = '*'; for (i = 0; i < 5; i++){ for (j = 0; j < 11; j++){ if (j <= i) printf("%c", c); else if (j < i + 6) printf(" "); else printf("%c", c); } printf("\n"); } return 0; } 별찍기 2번 #include int main(void){ int i, j; char c; c = '*'; for (i = 0; i < 7; i++){ if (i % 2 == 0) { for (j = 1; j < 18; j++){ if (j % 4 == 1) printf("%c", c); else printf(" "); } } else { for (j = 1; j < 18; j++){ if (j % 2 == 1) printf(" "); else printf("%c", c); } } printf("\n"); } return 0; } 별찍기 3번 #include int main(void){ int i, j, a, b; char c; c = '*'; a = 0; b = 3; for (i = 0; i < 9; i++){ if (i < 5){ for (j = 0; j < 9; j++){ if (j <= a) printf("%c", c); else if (j >= 8 - a) printf("%c", c); else printf(" "); } a++; } else { for (j = 0; j < 9; j++){ if (j > b){ if (j < 8 - b) printf(" "); else printf("%c", c); } else printf("%c", c); } b--; } printf("\n"); } return 0; } }}} == 최지혁 == 이론 숙제 별찍기 1번 #include int main() { int i; for (i = 0; i < 9; i++) { if ( i % 2 == 0) { int j = 4; for (int t = i/2 ;(j - t) < ( 15 - t); j ++) { if ( (j-t)/5 == 0 || (j-t)/5 == 2 ) { printf("*"); } else { printf(" "); } } } else { printf("\n"); } } return 0; } 별찍기 2번 #include int main() { int i; int j = 1; for (i = 1; i < 14; i++) if (i % 2 == 1) { if (i % 4 == 1) { j = 1; for (; j <= 17; j++) { if (j % 4 == 1) { printf("*"); } else { printf(" "); } } } else if (i % 4 == 3) { j = 1; for (; j <= 17; j++) { if (j % 2 == 0) { printf("*"); } else { printf(" "); } } } else { break; } } else { printf(" \n"); } return 0; } == 박인서 == * 내용 정리 {{{ <함수 사용법> int->리턴 타입,반환형 main->함수이름(main함수 부터 실행)(인자(parameter,argumet)-받을인자를 ,로 구분) { return 0;->함수의 종료 }->함수 블록 <함수의 종류> 리턴X(void) 인자X(인자가 없어도 소괄호를 닫아야됨) 둘다X 모두O <함수의 정의> 함수를 정의하려면 main함수 위에 하거나 main함수 아래에 할땐 따로 정의해야됨(prototype 정의) }}} * 별찍기 & 알파벳찍기 {{{ <1번> #include int main() { int i,j; for(i=1;i<=5;i++) { for(j=0;j #include int main() { int i,j,k; for(i=1;i<=7;i++) { if(i%2==0) { for(j=0;j<8;j++) { printf(" "); printf("*"); } } else { for(j=0;j<4;j++) { printf("*"); for(k=0;k<3;k++) printf(" "); } printf("*"); } printf("\n"); } return 0; } <3번> #include int main() { int a=1,b=0,i,j; for(i=1;i<=9;i++) { if(a==5) { for(j=0;j<9;j++) printf("*"); printf("\n"); b=1; } else { for(j=0;j #include int main() { char a,b; int aa,bb,i,j; scanf("%c%c",&a,&b); aa=(int)a; bb=(int)b; for(i=aa;i<=bb;i++) { for(j=aa;j<=i;j++) { printf("%c",(char)j); } printf("\n"); } return 0; } }}} * 용어 정리 ○ Stack : 나중에 들어간 데이터가 처음에 나오게되는(Last In First out) 선형 자료 구조 ○ Queue : 처음에 들어간 데이터가 처음에 나오게되는(First In First out) 선형 자료 구조 ○ Tree : 나무처럼 어떤 하나의 집합으로부터 하위 레벨로 가지가 나오는 집합 관계를 갖는 계층 구조로 사이클이 만들어지지 않음. ○ Set : 어떤 조건에 따라 결정되는 요소의 모임 ○ Map : 집합 요소 사이의 대응을 붙인 것 혹은 대응표인 것을 말함. ○ Linked List : 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료 구조이다. ---- ----------------------------------- [새싹교실/2015] [새싹교실/2015/의사양반]