전체 글 725

조립제법(Horner의 방법) 예제 for Objecrive-C

다항식 p(x) 를 1차 다항식 x - a 로 나눌 때의 몫과 나머지를 구하는 조립제법을 Objectiive-C 언어로 구현해 보았다. 조립제법은 일명 Horner의 방법이라고도 불리우는데, 이는 x = a 에서 다항식 p(x)의 값 p(a)을 계산하는 가장 빠른 알고리즘이기도 하다. p(x) = (x - a)q(x) + r 여기서 r은 나머지이며 r = p(a) 이다. 또 q(x)는 몫이다. [참고] * 온라인으로 조립제법 표 만들기 손으로 계산하는 조립제법 표 * 온라인으로 구하는 다항식의 도함수: 조립제법을 이용한 다항식의 도함수 아래의 소스파일은 C 언어용으로 민들어 두었던 소스 조립제법(Horner의 방법) 예제 for C and Ch 를 아주 조금 수정한 것이다. 수정한 부분은 #include..

80컬럼 컨솔에 19단표 출력하기 예제 for Objective-C

다음은 C용으로 만들어 둔 소스파일 testForFor.c(참조: 80컬럼 컨솔에 19단표 출력하기 예제 for C )를 Objective-C용 소스로 고친 것이다. 고쳐진 내용은 #import 부근 뿐이다. 특히 #import 가 중요하다. 스트링을 처리하고 전달하기 위해 메모리 할당(allocation)과 해제(free)를 하면서 동적 메모리(dynamic memory)를 이용하고 있다. /* * Filename: testForForMain.m * * Compile: Click Ctrl+F11 on Dev-C++ * * Execute: testForFor * * Date: 2012. 4. 30. */ #import #import #import #import // 매개변수 dan으로 지정된 한 단의 결..

(최대공약수 구하기) while... 반복문 예제 for Objective-C

소스 파일명: testWhileMain.m /* * Filename: testWhileMain.cm * * Purpose: Example using the while loop syntax * while .... * * Execute: testWhile -200 300 */ #import // strtol, abs, exit 등을 위해 필요 #import #import #import // 사용법 표시 void printUsage() { printf("Using: testWhile [integer1] [integer2]\n"); printf("This finds the greatest common divisor of the given two integers.\n"); } int main(int argc, c..

if...else... 조건문 사용 예제 for Objective-C

소스 파일명: testIfMain.m #import #import // 사용법 표시 함수 void printUsing() { printf("Using: testIf [number]\n"); printf("This determines whether the number is positive or not.\n"); } // main 함수 int main(int argc, char *argv[]) { float val; if (argc != 2) { printUsing(); exit(1); return 1; } // 명령행 인자의 스트링을 가져와서 // 배정밀도 부동소수점수로 변환하여 // 변수 val에 저장한다. val = atof(argv[1]); // 변수 val에 저장된 값이 양수인지 음수인지 0인지를 ..

명령행 인자 처리 예제 for Objective-C

컴파일은 Dev-C++ 에서 소스 파일명: testArgumentsMain.m #import // NSLog 사용을 위해 #import // printf 함수 사용을 위해 #import // atof 함수 사용을 위해 // argc는 명령행 인자 개수, argv는 명령행 인자 문자열의 배열 int main(int argc, const char *argv[]) { int i; double sum = 0.0; // 초기화 // 명령행 인자(command-line argument) 개수 출력 printf("Count of arguments: %d\n", argc); for (i = 0; i < argc; i++) { // C 스트링을 배정밀도 부동소수점수로 변환하여 누적 sum += atof(argv[i]);..

long long 타입의 정수 계산을 100경 까지 테스트하는 C 소스

C 언어에서 long long 타입은 (부호가 있는) 64비트 정수 타입입니다. win32 환경이라도 long long 타입을 C 언어에서 쓸 수 있습니다. 아래의 소스는 Visual C++ 2010 Express Dev-C++ LCC 컴파일러 또는 LCC-win32 컴파일러 GCC 컴파일러 TCC (Tiny-CC) 컴파일러 중 하나면 컴파일하여 실행시킬 수 있습니다. TCC 로는 -run 옵션을 사용하여 프롬프트> tcc -run testLongLong.c 하면 (실행 파일 만들지 않고) 소스를 직접 실행시킬 수 있습니다. // Filename: testLongLong_001.c // // Compile & Link: gcc -o testComplexISOC99_002 testLongLong_001.c..

프로그래밍/C 2012.04.28

ISOC99 를 지원하는 C 컴파일러로 복소수 계산하는 C 예제

컴파일은 ANSI/ISOC99 를 (대부분) 지원하는 C 컴파일러 GCC 컴파일러 또는 LCC 컴파일러 (또는 기타 컴파일러) 를 쓰면 됩니다. Visual C++ 2010 은 ANSI/ISOC99 를 지원하지 않습니다. [참고] ANSI/ISOC99 (Wikipedia) // Filename: testComplexISOC99.c // // Compile & Link: gcc -o testComplexISOC99 testComplexISOC99.c // Execute: ./testComplexISOC99 // // Or // // Compile & Link: lc testComplexISOC99.c // Execute: testComplexISOC99 // // Or // // Compile: lcc -..

프로그래밍/C 2012.04.28

IronPyhon의 버전별 (명령 프롬프트) 실행 초기 상태

명령 프롬프트에서 ipy 명령 또는 ipy64 에 의한 초기 메시지입니다. (메시지를 보시면 IronPython 버전 및 동작되는 .NET 프레임워크 버전을 알 수 있습니다). * 버전 2.6.1 IronPython 2.6.1 (2.6.10920.0) on .NET 2.0.50727.4963 Type "help", "copyright", "credits" or "license" for more information. >>> * 버전 2.6.2 IronPython 2.6.2 (2.6.10920.0) on .NET 4.0.30319.239 Type "help", "copyright", "credits" or "license" for more information. >>> * 버전 2.6.2 (아래는 ipy6..

C#으로 만든 dll 라이브러리를 IronPython에서 사용하기

아래의 C# 소스는 Visual Studio 2010의 명령프롬프트를 영어서 컴파일하고. IronPython 소스는 병도의 명령창을 열어서 IronPuthon 이 설치된 폴더의 경로와 csgufudan.dll 파일이 있는 퐁더의 경로를 명령창의 환경변수 PATH에 잡아주고, IronPython의 ipy 명령으로 실행합니다, * C# 소스 // Filename: csgugudan.cs // a library for IronPython // // Compile: csc /debug+ /target:library csgugudan.cs // Execute: ipy callGugudan.py using System; using System.Collections; public class Gugudan : IEnu..

IronPython이 실행되지 않을 때

지난 3월에 발표된 IronPython 2.7.2.1 을 설치하고 명령창에서 ipy 를 실행핶는데, 다음의 에러 메시지를 내고는 실행되지 않는다. ipyw 도 실행되지 않는디. Failed to load language 'PythonContext': 메서드를 찾을 수 없습니다. '!!1[] Microsoft.Scripting.Utils.ArrayUtils.ConvertAll(!!0[], System.Func`2)' 이럴 때는 설치된 IronRuby 를 제거한다. 그러면 IronPython이 잘 실행된다. (아마도 IronPython과 IronRuby가 충동하는 둣...)