프로그래밍 5

[C코드작성]실행과 결과 검사를 한번에 하는 좋은 방법

코드를 작성하다 보면 실행후 결과값이 참값인지 검사해야 하는 경우가 많습니다. 그럴때 이제막 프로그래밍 언어를 배우시는 분들은 실행후 값을 받아 비교하시는 분들이 있으신데 이런 과정을 편리하게 하는 방법을 알려드리겠습니다. 예시 int val = Func( ); if ( val == 0 ) { // 할 일 } 어떤 일을 한후 그 결과값에 따라 조건문 if 가 실행되는 구문입니다. 이렇게 사용하는 것 또한 맞는 방법이며 전혀 문제가 되진 않습니다. 단 val 이라는 변수 공간을 낭비한다는 것이 작은 흠입니다. 조금만 바꿔보도록 하겠습니다. 예시 if (0 == Func( ) ) { // 할일 } 코드를 위와같이 작성할시엔 변수 공간이 필요하지 않습니다. 또한 if문에서 조건검사를 하기위해 자동적으로 Fun..

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

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

[Scheme] 1. Scheme, 스킴 이란 무엇인가.

안녕하십니까. 리습입니다. 이번에 우리는 Scheme 이라는 것을 배워보게 될것입니다. 우선 Scheme 이라는 것을 알아야 할텐데요. Scheme은 LISP이라는 언어에서 파생되어진 일종의 방언입니다. 또 이제 LISP이라는걸 알아야 하겠군요 먼저 LISP을 정의해보자면 다음과 같습니다. 위키피디아에서 정의된 글을 가져오도록 하겠습니다 위는 LISP, 아래는 Scheme 에대한 정의입니다. 리스프(Lisp, LISP) 혹은 리습은 프로그래밍 언어의 계열로서, 오랜 역사와 독특하게 괄호를 사용하는 문법으로 유명하다. 1958년에 초안이 작성된 이 언어는 현재 널리 사용되는 두 번째로 오래된 고급 프로그래밍 언어이다. 첫 번째는 포트란이다. 리스프는 포트란처럼 초반에 많은 변화를 겪어야 했으며 수많은 변종..

프로그래밍에서 숫자가 가장 쉬운 데이터다? 경우의 수를 잘 생각하자.

프로그램을 처음 접할 때 일반적으로 첫 연산으로 간단한 숫자의 덧셈과 뺄셈을 하는 경우가 많습니다. 그것 때문인지 프로그래밍을 처음 접하시는 분들은 숫자를 매우 쉽게 생각하시더군요. 이해하기가 쉽기 때문이죠. 하지만 잊지 말아야 할것이 하나 있습니다. 우리는 숫자를 사용하면서 "언급하지 않은 굉장히 많은 약속을 한다는 것" 입니다. 1 + 1.00 = ?!? 실제로 숫자 데이터를 처리하는 경우 단순하게 1 + 1 = 2 일것이다. 라고 많이들 예상합니다. 네 맞습니다. ' 통상적인 경우' 에는 맞죠. 하지만 1 + 1.00 은 과연 2 일까요? 2.00 일까요? 여기서 고민은 시작됩니다. 유효숫자가 있는 숫자와 그렇지 않은 숫자의 덧셈은 실제 프로그래밍 중에도 매우 발생합니다. 이런 충돌을 피하기 위해서..

프로그램을 만들 때 접근방식 -초보 프로그래머를 위하여-

어느 학원을 가던, 학교 강의를 듣던, "프로그래밍을 배우고 싶습니다. 그런데 무엇을 해야할까요?" 라고 질문한다면 "OO언어를 배워보라" 라며 "JAVA를 배워보라, C언어, PHP 등 " 특정 언어만을 소개합니다. 아니면, 안드로이드 프로그래밍, 아이폰 프로그래밍 등으로 이름지은 강의를 추천하기도 합니다. 그래서 처음 프로그래밍을 접하시는 분들 중에선 프로그래밍을 배우는 것은 그 언어를 배우는 것이다. 라고 오해하시는 경우가 많습니다. 하지만! 언어를 배우는 것은 프로그래밍을 배우는 것이 아닙니다. 언어는 프로그래밍을 하기 위한 준비를 하는 것입니다. 프로그래밍은 기계와 대화하는 것이다. 프로그래머는 항상 컴퓨터와 일을 하게 됩니다. 컴퓨터에게 어떤 작업을 요청하고 그 수행결과를 받는 것이지요. 하지..