본문 바로가기

프로그래밍 언어/C언어

C언어 - 프로그래밍을 위한 간단한 알고리즘

 

프로그래밍이란?

 

현실세계를 컴퓨터에서 흉내 내는 것을 의미한다.

 

 

이해를 돕기 위해 하나의 예를 준비했다.

 

상자가 9개 있는 창고A와 상자가 하나도 없는 창고B가 있으며 

승혁이가 창고A에 있는 9개의 상자를 창고B에 옮기려고 한다.

 

 

1. 일 할 준비를 한다.

 

2. 상자 3개를 옮긴다.

 

3. 다시 돌아가야 할지 말지 '판단'해 본다. 아직 덜 옮겼기에 다시 창고 A로 간다.

 

4. 상자 3개를 옮긴다.

 

5. 다시 돌아가야 할지 말지 '판단'해 본다. 아직 덜 옮겼기에 다시 창고 A로 간다.

 

 

6. 상자 3개를 옮긴다.

 

7. 돌아가야 할지 말지 '판단'해 본다. 다 옮겼으니 그만한다.

 

 

 

승혁이는 모든 상자를 다 옮길 때 까지 3개씩 옮기는 작업을

'반복'했고 상자를 다 옮겼는지 '판단'을 했다.

 

 

다 했는지에 대한 조건 '판단'

옮기는 작업 '반복'

 

 

승혁이는 무엇을 근거로 일을 다 했다고 판단했나?

 

창고 B에 상자가 몇 개인지에 대해 판단했으며

9개가 차있기에 다 했다고 판단했다.

 

 

 

상자를 숫자로 표시한다면?

 

 

숫자 변화를 변수와 식으로 표현한다면?

 

 

즉 이를 코드로 작성해본다면?

#include <stdio.h>

int main() {
	int i, b;
	b = 0;
	for (i = 0; i < 1000; i = i + 1)   //몇 개 옮겨야할 지 모르니 대충 큰 숫자 1000으로 가정함.
	{
		b = b + 3;
		if (b == 9)
			break;
	}
	printf("%d\n", b);
}

 

누구나 정말 이해하기 쉽도록 코드를 한 줄씩 살펴보는 과정을 해봤다.

 

 

만약 이 글이 정말로 이해가 되지 않는다?!

 

그렇다면 다시 읽어보자..ㅠㅠㅠ

 

 

 

https://book.naver.com/bookdb/book_detail.nhn?bid=8187381

'프로그래밍 언어 > C언어' 카테고리의 다른 글

C언어 - while, do while 반복문  (0) 2020.07.22
C언어 - for 반복문  (0) 2020.07.07
C언어 - scanf 입력받기, _CRT_SECURE_NO_WARNINGS  (0) 2020.05.27
C언어 - break, continue  (0) 2020.05.24
C언어 - if 조건문  (0) 2020.05.19