• 검색 결과가 없습니다.

예제

N/A
N/A
Protected

Academic year: 2022

Share "예제"

Copied!
31
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

2015년 2학기 프로그래밍개론및 실습 과목으로 본 내 용은 강의 교재인 생능출판사, 두근두근 C 언어 수업,

천인국지음을 발췌 수정하였음

프로그래밍개론및 실습

(2)

CHAPTER 11

조건으로 반복하기

(3)

예제

#include <stdio.h>

int main(void) {

printf("환영합니다. ");

printf("환영합니다. ");

printf("환영합니다. ");

printf("환영합니다. ");

printf("환영합니다. ");

return 0;

}

“환영합니다”

start

end

“환영합니다”

“환영합니다”

“환영합니다”

“환영합니다”

(4)

순서도

“환영합니다”

start

i<=5

end

fsi0

ii+1

No

Yes

“환영합니다”

start

end

“환영합니다”

“환영합니다”

“환영합니다”

“환영합니다”

(5)

while 문

while 문은 어떤 조건을 정해놓고 반복을 하는 구조

(6)

while 문의 구조

(7)

기본 예제

#include <stdio.h>

int main(void) {

int i = 0;

while (i < 5) {

printf ("환영합니다. ");

i++;

}

return 0;

}

#include <stdio.h>

int main(void) {

printf("환영합니다. ");

printf("환영합니다. ");

printf("환영합니다. ");

printf("환영합니다. ");

printf("환영합니다. ");

return 0;

}

(8)

반복문

#include <stdio.h>

int main(void) {

int i = 0;

while (i < 5) {

printf ("환영합니다. ");

i++;

}

return 0;

}

“환영합니다”

start

i< 5

end

fsi0

ii+1

No

Yes

(9)

핵심 예제 : 0부터 9까지 출력

0, 1, 2, ..,, 9까지를 차례대로 화면에 출력하는 프로그램을 작성하여 보자.

(10)

예제 소스

#include <stdio.h>

int main(void) {

int i = 0;

while (i < 10) {

printf ("%d ", i);

i++;

}

printf(“\n”);

return 0;

}

(11)

핵심 예제 : (1+2+...+9+10) 계산

(1+2+...+9+10)의 값을 계산하는 프로그램을 작성하여 보자.

(12)

예제 소스

#include <stdio.h>

int main(void) {

int i = 1;

int sum = 0;

while (i <= 10) {

sum = sum + i;

i++;

}

printf("합계=%d\n", sum);

return 0;

}

(13)

핵심 예제 : 팩토리얼 계산

팩토리얼을 계산하는 프로그램을 작성하여 보자. 팩토리얼 n!은 1부 터 n까지의 정수를 모두 곱한 것을 의미한다.

(14)

예제 소스

#include <stdio.h>

int main(void) {

int i = 1;

int factorial = 1;

while (i <= 10) {

factorial = factorial * i;

i++;

}

printf ("10!은 %d입니다. \n", factorial);

return 0;

}

(15)

핵심 예제 : 구구단 출력

구구단 중에서 3단을 반복문을 이용하여 출력하여 보자. 3*1, 3*2, 3*3, .., 3*9까지 9번 반복시키면 출력하면 될 것이다.

(16)

예제 소스

#include <stdio.h>

int main(void) {

int i = 1;

while (i <= 9) {

printf("3*%d = %d\n", i, 3*i);

i++;

}

return 0;

}

(17)

핵심 예제 : 최소값 구하기

사용자로부터 받은 정수 중에서 최소값이나 최대값을 찾아 보자.

(18)

예제 소스

#include <stdio.h>

#include <limits.h>

int main(void) {

int number, min_value = INT_MAX;

printf("정수를 입력하시오(종료는 Ctrl+z)\n");

while(scanf("%d", &number) != EOF) {

if( number < min_value )

min_value = number;

}

printf("최소값은 %d \n", min_value);

return 0;

}

(19)

핵심 예제 : 카운트 다운 프로그램

5->4->3->2->1과 같이 카운트를 하고 카운트가 0이 되면 “발사”라고 화면에 출력한다.

(20)

예제 소스

#include <stdio.h>

int main(void) {

int count;

printf("숫자를 입력하시오: ");

scanf("%d", &count);

while( count > 0 ) {

printf("%d \n", count);

count--;

}

printf("발사! \n");

return 0;

}

(21)

핵심 예제 : 배수의 합 계산

1부터 100사이의 모든 3의 배수의 합을 계산하여 출력하는 프로그램 을 반복 구조를 사용하여 작성하라.

(22)

예제 소스

#include <stdio.h>

int main(void) {

int number;

int sum = 0;

number = 1;

while( number <= 100 ) {

if( number %3 == 0 ) sum += number;

number++;

}

printf("%d입니다. \n", sum);

return 0;

}

(23)

do-while 문

반복 조건을 루프의 처음이 아니라 루프의 끝에서 검사한다는 것이 다르다.

(24)

핵심 예제 : 기본 예제

do-while 문을 사용하여서 “Hello 10“부터 ”Hello 1“까지를 출력하여 보자.

(25)

예제 소스

#include <stdio.h>

int main(void) {

int i = 0;

do{

printf("환영합니다. %d\n", i);

i = i +1;

} while (i < 5);

return 0;

}

“환영합니다”

start

i < 5

end

fsi0

ii+1

Yes No

(26)

반복문

#include <stdio.h>

int main(void) {

int i = 0;

while (i < 5) {

printf ("환영합니다. ");

i++;

}

return 0;

}

“환영합니다”

start

i< 5

end

fsi0

ii+1

No

Yes

(27)

반복문

“환영합니다”

start

i< 5

end

fsi5

ii+1

No

Yes

“환영합니다”

start

i < 5

end

fsi5

ii+1

Yes No

(28)

핵심 예제 : 0을 입력할 때까지 합계

사용자로부터 양수를 받아서 합계를 한다. 사용자가 0을 입력하면 반 복을 중단하고 이제까지의 합계를 화면에 출력한다.

(29)

예제 소스

#include <stdio.h>

int main(void) {

int x, sum = 0;

do {

printf("정수를 입력하시오(0이면 종료) : ");

scanf("%d", &x);

sum = sum + x;

} while (x != 0);

printf("정수의 합계 : %d \n", sum);

return 0;

}

(30)

핵심 예제 : 신호등 프로그램

예를 들어서 사용자가 신호등의 색상을 나타내는 문자인 ‘r’, ‘y’, ‘g’ 을 입력할 때까지 반복해보자.

(31)

예제 소스

#include <stdio.h>

int main (void)

{ char color;

do{

printf ("신호등 색상을 입력하세요(r, y, g): ");

scanf (" %c", &color);

} while (color!='r' && color!='y' && color!='g');

switch (color) {case 'r':

printf ("정지! \n");

break;

case 'y':

printf ("조심! \n");

break;

case 'g':

printf ("진행! \n");

break;

}return (0);

}

참조

관련 문서

즉 교사의 강의 중심으로 이 루어졌던 이전의 수업에서는 학생들이 교사의 설명을 들은 후 수업에서 배운 방법을 적용하 여 문제를 해결하는 복습 위주의 참여를 했던 것과 달리,

각 차시 별 수업이 끝나면 집에서 그날 수학 수업 을 반성하면서 수학일기를 써보도록 하여 학생들의 일 기를 통해 동료 멘토링이 수학적 인성의 하위 요소별 로

본 연구는 원격 화상수업의 유형이 대면 수업일 때 와 유사한 강의 형식일 경우와 조별 과업 중심 형식일 경우 이러한 유형의 차이가 학업 성취도에 어떤 영향을

장소 추천의 내 용은 사전에 구축된 서촌과 북촌의 음식점 리스트를 이용하여 각 음식점 리뷰를 오피니언 마이닝을 통한 감성 분류를 실시하고 클러스터링을 통해 군집으로

따라서, 본 연구에서는 로봇활용수업의 효과성 을 검증하기 위해서는 로봇이 실제로 교사의 수 업전문성의 대표적인 영역인 수업언어를 어떻게 개선하는지에

본 연구에서는 예비 코딩 강사들로 하여금 기존의 일 방적 강의 중심 교육 방식에서 벗어나 초・중학생 대상 강의 교재를 팀 중심 협력활동을 통해 자기주도적으로 개발하고,

따라서 본 연구 는 일반 강의 환경에서 건축시공학을 수강하는 학생들을 대 상으로 하며 수업 내용 중 특히 철근 배근에 대한 학생들의 이해도를 높일 수 있는 증강현실

이러한 내용은 실생활과 연 결되는 지도 활용성을 학생이 인식하고 디지털 지도를 통 해 지도 수정과 편집을 경험하고 그 과정에서 디지털화된 지도 정보를 직접 이해하는데