본문 바로가기

 순서도 논리 구조

 

② 순서도 기호

순차 구조의 예시

개구리 알에서 개구리가 될 때까지의 과정을 순서도로 나타낸 것이다.

순서도와 같이 위에서부터 아래로 순차적으로 실행되는 구조를 순차 구조라 한다.

#include <stdio.h>

int main()
{
	printf("개구리 알\n");
	printf("꼬리 달인 올챙이\n");
	printf("뒷 다리 있는 올챙이\n");
	printf("앞 뒤 다리 있는 올챙이\n");
	printf("개구리\n");
	
	return 0;
}

C 언어로 다음과 같이 나타낼 수 있는데, C 언어로 된 프로그램은 반드시 하나의 main이 있어야 하며 main 안에 있는 문장들을 위에서 아래로 순차적으로 실행한다. 모든 문장 뒤 에는 세미콜론(;)을 붙여야 한다.

변수와 출력 관련 순서도 기호 예시

#include <stdio.h>
int main()
{
	int a=10;
	int b=20;
	printf("안녕\n");
	printf("%d %d\n", a, b);
    
	return 0;
}

입력문 기호 예시

#include <stdio.h>
int main()
{
    int height, weight;
    scanf("%d %d", &height, &weight);
    printf("키: %d 몸무게: %d\n", height, weight);
    
    return 0;
}

산술 연산자 사용 예시

산술 연산자

#include <stdio.h>
int main()
{
    printf("%d\n", 5+3);
    printf("%d\n", 5-3);
    printf("%d\n", 5*3);
    printf("%d\n", 5/3);
    printf("%d\n", 5%3);
    
    return 0;
}

 


예제

 

예제1

3과 5 덧셈과 곱셈하기

3을 변수 a에, 5를 변수 b에 저장하고 두 변수의 값을 더한 값과 곱한 값 각각을 add와 mul 변수에 저장한다. 

그리고 더한 값과 곱한 값을 저장하고 있는 add와 mul 변수의 값을 출력한다.

#include <stdio.h>
int main()
{
	int a, b, add, mul;           // a, b, add, mul 변수를 선언한다.
	a=3;                          // 변수 a에 3을 저장한다.
	b=5;                          // 변수 b에 5를 저장한다.
	add=a+b;                      // a 값과 b 값을 더해 add에 저장한다.
	mul=a*b;                      // a 값과 b 값을 곱해 mul에 저장한다.
	printf("덧셈: %d\n곱셈: %d\n", add , mul); //변수 add 값과 mul 값을 10진 정수 형식으로 출력한다. \n은 줄을 바꾸는 문자이다.
	
	return 0;
}

 

예제2

두 수 입력받아 덧셈, 곱셈하기

사용자로부터 입력받은 두 수를 변수 a와 b에 저장하고, 두 변수를 더한 값과 곱한 값을 출력한다.

#include <stdio.h>

int main()
{
	int a, b;                                // a, b 변수를 선언한다.
	printf("정수(2개) : ");                    //
	scanf("%d %d", &a, &b);                  // 사용자로부터 두 개의 10진 정수를 입력받아 a와 b에 저장한다.
	printf("덧셈: %d\n곱셈: %d\n",a+b, a*b);    // 첫 번째 %d 위치에 a+b 값이, 두 번째 %d 위치에 a*b 값이 출력된다.
	
	return 0;
}

 

예제3

몫과 나머지 구하기

정수 2개를 입력 받고, 나눗셈 연산자인 /과 나머지 연산자인 %를 이용해서 두 수의 몫과 나머지를 구한다. 

C 언어에서 나눗셈 연산자인 /는 정수와 실수 모두 가능한데, 정수에 대한 나눗셈에서는 소수점 이하는 버리는 반면 실수에 대한 나눗셈에서는 나누어떨어질 때까지 연산한다. 이 책에서는 /를 정수 나눗셈에 한정한다.

#include <stdio.h>

int main()
{
	int a, b;
	printf("정수(2개) : ");
	scanf("%d %d", &a, &b);
	printf("몫: %d\n나머지: %d\n", a/b, a%b); // a를 b로 나눈 몫(a/b)과 나머지(a%b)를 출력한다.
	
	return 0;
}

 

예제4

사각형 넓이 구하기

사각형의 넓이를 구하는 방법은 다음과 같다.
사각형의 넓이 = 가로의 길이 × 세로의 길이
사각형의 가로, 세로의 길이에 해당하는 임의의 두 정수를 사용자로부터 입력 받아 사각형의 넓이를 구한다.

#include <stdio.h>

int main()
{
	int a, b;
	printf("가로: "); // 사용자로부터 가로와 세로 길이를 입력받아 a와 b에 저장한다.
	scanf("%d", &a);
	printf("세로: ");
	scanf("%d", &b);
	printf("사각형 넓이: %d\n", a*b);  //사각형 넓이인 a*b 값을 출력한다.
	
	return 0;
}

 

예제5

총점과 평균 구하기

3개의 성적을 입력받아 a, b, c에 저장하고 이들의 합과 평균을 구해 출력한다.

 

#include <stdio.h>

int main()
{
	int a, b, c, sum;
	printf("성적(3개) : ");
	scanf("%d %d %d", &a, &b, &c);
	sum = a+b+c;   // a, b, c의 합을 sum에 저장한다.
	printf("총점: %d\n평균: %d\n", sum, sum/3); // 세 수의 합인 sum과 세 수의 평균인 sum/3을 출력한다.
	
	return 0;
}

 

예제6

센티미터 단위의 예제 06 길이를 미터와 센티미터로 변환하기

183cm를 미터와 센티미터로 변환하면 1m 83cm가 된다. 

여기서 미터에 해당하는 1은 183을 100으로 나눈 몫이고, 센터미터에 해당하는 83은 183을 100으로 나눈 나머지이다.
cm를 입력 받고, 이런 방법으로 이용해서 m는 cm/100로, cm는 cm%100로 구할 수 있고, 이렇게 구해진 m와 cm를 출력한다.

#include <stdio.h>

int main()
{
	int m, cm;
	printf("cm: ");
	scanf("%d", &cm);
	m=cm/100;   // cm를 100으로 나눈 몫을 m에 저장한다.
	cm=cm%100;  // cm를 100으로 나눈 나머지를 cm에 저장한다.
	printf("%dm %dcm\n", m, cm);
	
	return 0;
}

// 실행결과
// cm: 1050
// 10m 50cm

 

예제7

초 단위의 시간을 시간, 분, 초로 변환하기

1시간은 3600초임을 이용해서 먼저 초를 3600으로 나눈 몫을 구하는 연산을 이용해서 시간에 해당되는 값을 구한다.

그 다음 초를 3600으로 나눈 나머지 연산을 이용하여 시간으로 변환되고 남은 초를 구한다.

그리고 초를 60으로 나눈 몫으로 분에 해당되는 값을 구하고, 초를 60으로 나눈 나머지로 초에 해당되는 값을 구한다.

초를 입력 받고, 시간 분 초로 출력하는 순서도와 C 프로그램을 작성하여라.

#include <stdio.h>

int main()
{
	int h, m, s;
	printf("초: ");
	scanf("%d", &s);
	h=s/3600;  // s를 3600으로 나눈 몫을 h에 저장한다.
	s=s%3600;  // s를 3600으로 나눈 나머지를 s에 저장한다.
	m=s/60;    // s를 60으로 나눈 몫을 m에 저장한다.
	s=s%60;    // s를 60으로 나눈 나머지를 s에 저장한다.
	printf("%d시간 %d분 %d초\n", h, m, s);
	
	return 0;
}

// 실행결과
// 초: 4000
// 1시간 6분 40초

 


과제

 

과제1

변수 a에 7을, 변수 b에 3을 저장하고, 변수 a 값에서 b 값을 뺀 결과를 출력하는 순서도와 C 프로그램을 작성하여라.

과제2

두 수를 입력 받아 뺄셈을 한 결과를 출력하는 순서도와 C 프로그램을 작성하여라.

과제3

밑변과 높이를 입력 받아 삼각형의 넓이를 구해 출력하는 순서도와 C 프로그램을 작성하여라.

과제4

미터 단위의 길이를 입력받아 킬로미터와 미터로 변환하여 출력하는 순서도와 C 프로그램을 작성하여라.

과제5

분 단위의 시간을 입력받아 일, 시간, 분으로 변환하여 출력하는 순서도와 C 프로그램을 작성하여라.


요약

요약1

VS Code 설치와, VS Code 확장 프로그램 설치, 컴파일러 설치, 환경설정 관계를 그림으로 그리고 충분한 설명을 넣어 제출하세요.

(손그림 사진 찍어 업로드 가능, 테블릿 및 PC 프로그램 사용 가능)

 

요약2

소스코드 작성 ~> 빌드 ~> 저장 ~> 실행 과정을 그림으로 그리고 충분한 설명을 넣어 제출하세요.

(손그림 사진 찍어 업로드 가능, 테블릿 및 PC 프로그램 사용 가능)

 

요약3

예제, 과제 다하면 오세요. 질문할께요.

BasicLike

어? 나 프로그래밍 좋아하네?