코딩 이야기

[C언어] 알고리즘/순서도/프로그래밍 개념/디버깅이란?

고주망고 2021. 7. 7. 22:29

오늘은 알고리즘/순서도/프로그래밍 개념/디버깅 개념에 대하여 설명해보겠습니다

 

"알고리즘" 이란?

튜링 기계에 의해 수행 가능한 프로시저를 의미합니다

알고리즘 정의

→ 문제를 해결하거나 함수를 계산하기 위해 따라가야 할 모호함이 없는 간단한 명령들로 구성된 일련의 순서적 단계입니다

알고리즘 유형

수열, 배열, 수학, 자료구조, 응용 등 다양한 유형이 존재합니다

알고리즘 요건

→ 외부에서 1개 이상의 입력을 받아들여, 1개 이상의 출력을 생성하여야합니다.

각 단계가 단순하고 모호하지 않아야한다.

한정된 수의 작업 이후에는 반드시 "종료"되어야 합니다

모든 명령이 "수행 가능"한 상태여야합니다

"효율적" 이어야 합니다

순서도(Flow Chart)

→ 알고리즘의 대표로 가장 많이 사용합니다

→ 순서도를 이용하면 알고리즘의 구조를 한눈에 파악하기 아주 용이합니다

 

순서도의 예시

 

순서도란, 미리 정해진 기호를 이용하여 그려지는 그림으로 논리적인 절차를 표현하는 방법중 하나입니다

순서도를 이용하면 전체적인 구조가 한눈에 들어오기때문에 논리적절차를 위한 알고리즘을 표현하기 위한 방법으로 많이 사용합니다

 

순서도의 작성방법

물이 위에서 아래로 흐르듯이 윗부분에서 아래로 차례대로 그려 나가야합니다

(경우에 따라서 시작, 끝을 정하고 시작하여도 됩니다.)

 

 

프로그래밍의 주요 개념

논리의 전개를 의미합니다

해결하고자하는 문제들을 질서정연하게 나열한 문장으로 순서도를 이용하는경우 순서도의 흐름을 따라서 작성합니다.

즉, 순서도를 작성할때 나오는 것들을 if문 for문 등 다양한 프로그래밍 언어를 이용하는것 자체를 "프로그래밍"한다고 말을 한다고 생각하시면 됩니다

 

 

변수

"절차적" 프로그래밍 언어에서 프로그램의 값을 움직이는 "주체"입니다

굳이 수학으로 X, Y 정도가 될것같네요.

 

상수

변수중에서 값이 변하지 않고 "항상 똑같은 값을 가지는 수"를 의미합니다

 

 

 

 

치환

값을 변수에 넣는 행위 자체를 말합니다 (아주 중요한 개념입니다)

X=100 인 경우 X에 100이라는 값이 들어가는데 수학과 다름점이 =이 "같다"라는 의미가 아니고

"=의 오른쪽에 있는값을 =의 왼쪽에 있는값에 데이터를 넣어라"라는 의미라는 점에서 치환이라고 합니다

프로그래밍에서 같다라는 의미는 "="가 아닌 "=="입니다.

 

디버깅

DE+BUG : 벌레를 없애다

프로그램 안의 오류를 없애는 작업을 말합니다

프로그램을 하면서 오류를 찾는 작업을 통틀어서 "디버깅" 한다고 말합니다

 

 

고생하셨습니다

 

C언어에 더 알고 싶다면?

👉C언어 마이크로 소프트 Visual Studio 2019 설치방법은?

👉C언어 알고리즘/순서도/프로그래밍 개념/디버깅이란?

👉C언어로 구사하는 알고리즘 1. 날짜값을 넣으면 해당 요일이 나오는 코딩 예제(윤년계산)

👉C언어로 구사하는 알고리즘 2. 형변환 그레이코드를 만드는 알고리즘

👉C언어로 구사하는 알고리즘 3. 성적 석차 구하기 알고리즘 구현하기

👉C언어로 구사하는 알고리즘 4. 정수 오름차순/내림차순을 구현하는 알고리즘(SORT)