소프트웨어 56

[C언어]10. 반복된 일을 계속해주는 반복문에 대하여 알아보자 -2- (while 문)

안녕하십니까. 리습입니다. 지난번엔 컴퓨터에게 반복하는 일을 시키는 for 이라는 것을 배웠습니다. 그렇다면 또다른 반복하는 일 시키는 법을 알아보도록 하겠습니다. for같은 경우 초기값, 조건식, 증감식 을 모두 갖추고 있으므로 for 하나로만으로도 몇번의 반복을 편하게 만들수 있었죠. 하지만 조건이 복잡해지거나 단순한 숫자의 조건이 아닐 경우엔 어떻게 하시겠습니까? 경우를 하나하나 따져서 for문을 전부다 만들순 없으니까요. 그래서 있는 것이 while 반복문 입니다. while문은 단지 증감식으로 횟수를 세는 거니 아니라 반복할때마다 조건을 따지는 반복문입니다. while 의 형태를 보도록 하겠습니다. 1. : 이 while 문이 실행될 조건을 적어준다. 조건이 맞을 경우 밑에 을 수행하게 되고 그..

[C언어]09. 반복된 일을 계속해주는 반복문에 대하여 알아보자 -1- ( for 문, 이중 for 문)

안녕하십니까. 리습입니다. 이제 우리는 컴퓨터에게 일을 시킬 때 "~을 ~할때 해라!" 라고 말할 수 있게 되었습니다. " if "와 함수를 이용해서 말입니다. 그런데 또 일을 시키다보니 문제가 생겼습니다. 모두들 알고 계시듯이 컴퓨터는 반복하는 작업을 가장 잘하는 기계입니다. 그런데 몇번해라! 라고 반복을 시키려고 하니 타이핑을 몇 줄 해야하는지 막막 하실겁니다. 한두번은 써서라도 하겠지만 그 숫자가 100단위를 넘어가고 1000단위로 가게 되면 어떻게 할까요? 그래서 만들어 진것이 반복문입니다. C언어에서는 반복문에는 종류가 3가지 for, do while, while 세가지가 있습니다. 일단 이번엔 for부터 알아보도록 하겠습니다. for 은 숫자로 반복하는 횟수를 제어하는 쉬운 반복문입니다. 명시..

[C언어]08. 논리의 풀이를 위한 조건문에 대하여 배워보자. (if, else if, else)

안녕하십니까. 리습입니다. 지금까지 변수 함수 를 배워보았으며 이것으로 기본적인 프로그램을 만들어 보기도 하였습니다. 하지만 무언가 부족했을 것입니다. 지금까지 배운 대로라면 컴퓨터 프로그램이란 위에서부터 써준일을 쭉 하는 것 뿐이기 떄문입니다. 컴퓨터한테 ' ~ 일때 ~ 해라' 라는 것을 시키고 싶은데 지금까지 배운것중엔 그런 것을 표현할수 있는 방법이 없었습니다. C언어에서는 어떤 조건에서 어떤 일을 시키기 위해서 '조건문' 이라는 것을 제공합니다. 또한 이 조건문이라는 것도 우리가 흔히 쓰는 영어와 비슷하기 떄문에 매우 쉽습니다. 우선 기본적인 형태는 다음과 같습니다. 1. : 말 그대로 조건을 적어주는 것입니다. 필요한대로 만들 수 있습니다. 조건이 옳을 경우 if..

[C언어]07. 컴퓨터와 첫대화, 기본 입력과 출력 에 대하여 알아보자. (printf, scanf)

안녕하십니까. 리습입니다. 지금까지 데이터를 저장할 수 있는 변수 라는 것과 기능을 정의하여 사용하는 함수라는 것을 배워보았습니다. 그렇다면 이제 여러가지 함수들에 대하여 배워볼 차례입니다. 우선 기본적인 변수에 데이터를 넣고 화면에 출력해주는 함수들부터 알아보도록 하겠습니다. 먼저 배워볼 함수는 printf 와 scanf 입니다. 이 함수들은 C언어의 표준 함수로써 모든 C언어를 배우는 사람들이 가장 먼저 배우는 함수입니다. 기본적으로 printf와 scanf는 서식을 이용한 입출력 함수이며, 이는 "어떠한 형식을 받아들인다 내보낸다를 미리 선언한후 그에 맞게 받아들이고 내보내 주는 것"을 뜻합니다. 우선 printf의 형태부터 알아보도록 하겠습니다. ( 로 표시된건 하나로 보시면 됩니다. ) 1. 쓰..

[C언어]06. 프로그램의 기능을 만드는 법, 함수에 대하여 알아보자

안녕하십니까. 리습입니다. 지금까지는 배운 것은 메인 함수를 만들고 프로그램을 실행시키는 것과 기본적인 데이터를 저장할 수 있는 변수를 만드는 것들입니다. 하지만 이런 것들로는 부족하다 라는 것을 느끼실 것입니다. 프로그램이라는 것은 기본적으로 어떤 기능을 하는 것이기 때문에 우리는 기능을 만들 필요가 있습니다. C언어에서도 이러한 기능을 만드는 것을 지원하며, 그것을 '함수' 라고 부릅니다. 그렇다면 이러한 함수를 만드는 법과 사용법에 대하여 알아보도록 하겠습니다. 우선 알아야 할 것이 있습니다. 지금까지 기능이라고 불리어 왔던 것들은 모두 '함수'라는 것입니다. 영어로 function 이라고 하며 우리말로 '기능, 함수' 라는 뜻을 가지고 있으며 여기선 기능이란 의미로 사용되지만, 관용적으로 우리는 ..

[C언어]05.[실습] 변수를 이용하여 숫자를 보여주는 프로그램를 만들어보자. (C언어 프로그래밍)

안녕하십니까. 리습입니다. 프로그램의 구조를 익혔으니 이제 예제를 만들어보도록 하겠습니다.. 간단한 숫자를 보여주는 프로그램을 만들 것입니다. 아직 컴파일러에도 친숙하지 않으니 지난번 과정을 다시 복습해보면서 처음부터 해보도록 하겠습니다. 프로그램을 만들자 (1)프로그램을 실행한후 상단의 파일->새로 만들기->프로젝트 를 클릭합니다. (2)왼쪽 설치된 템플릿 에서 'Visual C++'을 클릭하고 'Win32 콘솔 응용 프로그램'을 클릭합니다. 아래 이름 에는 num_print 를, 위치에는 C:\C_language 를 입력합니다. 위치는 찾아보기를 클릭한후 C드라이브에 C-language 라는 폴더를 만든 후 지정해도 됩니다. (3)'Win32 응용 프로그램 마법사'가 나타나는데 첫화면에선 다음을 클릭..

[C언어]04. 기억을 할수 있는 공간. 변수에 대하여 알아보자

안녕하십니까. 리습입니다. 커다란 매장을 생각해 봅시다. 매장에서 물건을 전시하기 위해선 전시하기 위한 공간이 필요합니다. 전시하기 전에 물건을 쌓아 놓기 위한 창고도 필요합니다. 우리는 이런 공간이 필요하다는 것을 잘 알고 있습니다. 프로그램도 마찬가지입니다. 어떠한 입력을 받고 보여주기 위해선 각각의 공간이 필요합니다. 이것이 바로 '변수' 라는 것입니다. 변수는 공간이다. 변수는 어떠한 공간을 뜻합니다. 여기서 중요한건 공간 이라는 것입니다. 두번이나 반복해서 말했지만 정말 중요한건 변수가 공간이라는 겁니다. 변수는 무언가를 담고 있는 상자일 뿐입니다. 용어가 변수라서 수학의 변할수 있는 수라는 의미의 변수와 햇갈리수 있지만 전혀 다른 용어입니다. 잘 기억하셔야 합니다. 이것만 기억하셔도 변수의 9..

[C언어]03. C언어 프로그래밍의 기본 구조를 익히자!

안녕하십니까. 리습입니다. 우리는 지난번 Hello world 라는 매우 유명한 프로그램을 직접 만들어 보았습니다. 프로그램을 만들었으니 여러분은 벌써 프로그래머가 된것입니다. 축하드립니다. 이렇게 프로그래밍이라는 것은 어렵지 않습니다. 아직은 기초적이지만 차근차근 익힌다면 곧 고수준의 프로그래머가 되실수 있습니다. 첫 프로그램도 만들어 보았으니 기본적인 C언어 프로그래밍의 형태에 대하여 이야기 해보려 합니다. 이번 글에선 사진이 별로 없어서 딱딱해 질수도 있으나 차근차근 읽으신다면 어렵지는 않습니다. 지난번에 만든 프로그램의 코드입니다. 기본적으로 모든 C언어 프로그램은 이러한 형태를 가지게 됩니다. 지난번에 간단히 설명을 드렸지만 이번엔 자세한 설명을 함께 하도록 하겠습니다. 우선 코드를 보시죠. 코..

[Scheme] 3. Scheme으로 기본 식을 표현하는 방법

안녕하십니까. 리습입니다. 우리는 저번에 Racket을 설치하고 스킴을 공부할 준비를 하였습니다. 하지만 아직 Scheme(스킴)에 대하여 배운것이 없고 Racket이라는 툴도 사용해 본적이 없기 때문에 스킴을 공부하는 동시에 툴의 사용 방법도 알아보도록 하겠습니다. 우선 스킴은 함수형 언어입니다. 특정 식을 표현한 함수 형태를 만들어 이를 이용해 전체 프로그램을 만드는 것입니다. ( 쉽게 생각하면 F(x) 등으로 함수 식을 만들고 이 식들을 필요할 때 불러내서 쉽게 사용하는 것입니다.) 그렇기 때문에 스킴은 기본적으로 이러한 함수를 만들 수 있도록 지원하고 있습니다. 또한 기본적인 더하기, 빼기 , 곱하기, 나누기등의 기본식은 언어 차원에서 지원하고 있습니다. 그럼 우선 어떻게 식을 표현하는지 알아보도..

[Scheme] 2. Scheme, 스킴 을 학습하는데 필요한 것들을 준비하자.

안녕하십니까. 리습입니다. 이제 scheme 이라는 것이 어떤것인지 잘 알게 되었고 본격적으로 학습에 들어가기에 앞서 학습 준비를 해야합니다. 보통 일반적으로 Scheme 을 공부하게 되면 MIT/GNU scheme 이라는 것을 설치하게 됩니다. http://www.gnu.org/software/mit-scheme/ 하지만 툴은 우선 emacs, edwin 등에 익숙해야지만 편리하게 사용할수 있습니다. 따라서 초심자가 사용하기엔 부적절하다고 생각되어집니다. 물론 원하신다면 사용하셔도 됩니다. 또한 Structure and Interpretation of Computer Programs (SICP) -컴퓨터 프로그램의 구조와 해석- 은 MIT scheme 을 기준으로 작성되어있습니다. 하지만 꼭 이 툴로면..