프로그래밍/Objective-C 17

Objective-C 언어로 역삼각함수, 역쌍곡선함수 값을 구하는 예제

역삼각함수란 삼각함수의 역함수를 의미하고, 역쌍곡선함수란 쌍곡선함수의 역함수를 의미한다. 수학에서 sin 함수의 역함수는 arcsin 으로 표기되는데, Objective-C 언에에서는 C 언어나 C++ 언어에서 처럼 asin 함수로 구현되어 있다. 아래의 소스는 C 언어용 소스를 아두 조금 고친 것으로서, 윈도우용 Dev-CPP IDE 에서 Ctrl+F11 을 클릭하면 캄파일되는 소스이다. /* * Filename: testArcSine.m * * Compile: Click Ctrl+F11 * * Execute: testArcSine * * Date: 2013. 1. 1. * Copyright (c) pkim _AT_ scripts.pe.kr */ #import // for exit() #import #..

스트링 배열 정렬(sorting)하기 with Objective-C

Quick Sort 알고리즘을 이용하여 C 스트링들을 분류하는 소스입니다. #include를 #import로 바꾼 것 외에는 C 소스와 똑 같습니다. Dev-C++ IDE 에서도 캄파일과 실행이 잘 됩니다. ----------------------------------------------------------------- /** * Filename: testSort.m * * Compile: gcc -o testSort testSort.m -lobjc * Execute: ./testSort 하나 둘 셋 넷 * ./testSort one two thee four * * Date: 2012/05/02 * Author: pkim (AT) scripts.pe.kr */ #import #import char S..

손으로 계산하는 긴자리 곱셈표 만들기 with Objective-C

초등학교 때 배우는 두 정수의 곱셈표를 만들어 주는 C 소스이다. /* * Filename: makeMultTableMain.m * * Print a multiplication table. * * Compile: Click Ctrl+F11 on Dev-C++ IDE * Execute: makeMultTable 230 5100 * * Date: 2012/05/01 * Author: pkim (AT) scripts.pe.kr */ #import #import #import #import void printUsing(); void printMultTable(long x, long y); int main(int argc, const char *argv[]) { long x, y; if (argc >= 3) { ..

손으로 만드는 나눗셈 계산표 with Objective-C

다음은 초등학교에서 배우는 나눗셈 계산표를 만들어주는 Objective-C 소스 코드이다. 소스 내용은 C 언어 용이나 거의 마찬가지이다. 나눗셈 계산표를 완성하고 나서 약수, 배수 관계를 알려준다. /* * Filename: makeDivisionTable.m * * Purpose: Make a division table in a handy written form. * * On Dev-C++ IDE, * Compile: Click Ctrl_F11 * Execute: makeDivisionTable 12345 32 * makeDivisionTable 500210 61 * * On Cygwin or Linux, * Compile: gcc -v -o makeDivisionTable makeDivisionTa..

삼각형 출력 예제를 통한 여러 가지 소스 비교 with Objective-C

아래의 여러가지 소스들은 C 언어용으로 만들어 둔 것들을 Cygwin 환경에서의 Objective-C 언어용으로 수정한 것들이다. 컴파일 벙법과 #import 부분만 수정하였으므로 C 언어용과 거의 마찬가지이다. 콘솔에 삼각형 * * * * * * * * * * * * * * * ***************** 을 출력하는 Objective-C 컨솔 애플리케이션을 만들어 보자. 이런 소스 코드의 작성은 학원이나 학교에서 프로그래밍 입문자에게 과제로 많이 주어지는 것 중의 하나이다. 코끼리를 보거나 만진 사람들이 저마다 그 생김새를 말할 때 제각기 다르게 표현할 수 있듯이 이런 소스 코드의 작성도 알고 보면 얼마든지 많은 방법이 있을 것이다. 여기서는 쉬운 코드 부터 작성해 보고 차츰차츰 소스를 바꾸어 가..

7비트 ASCII 코드표 만들기 예제 with Objective-C

ASCII(애스키)란 American Standard Code for Information Interchange의 줄임글로서, 영문자에 기초한 문자 인코딩이다. 이 문자 인코딩에는 C0 제어문자(C0 control character)도 포함되어 있다. ( 참고: ASCII - Wikipedia, the free encyclopedia ) 소스 코드 중에 진법변환에 필요한 함수 convertAtoI() convertItoA() 의 구현도 포함되어 있다. 다음 소스는 C 언어 용으로 만들어 두었던 7비트 ASCII 코드표 만들기 예제 with C and Ch 를 수정한 것이다. 19쩨 줄의 enum { FALSE, TRUE }; 부분은 주석 처리하였는데. Objective-C에서는 TRUE와 FALSE가 이..

진법(radix) 표 만들기 예제 with Objective-C

컴퓨터 프로그래밍에서 꼭 알아두어야 할 주요 진법은 당연히 10진법, 2진법, 8진법, 16진법이다. 다음은 0 에서 15 까지의 정수를 10진법, 2진법, 8진법, 16진법의 표로 만들어 보여주는 Objective-C 소스 코드이다. 진법 변환에 필요한 함수 convertAtoI(string, radix) convertItoA(long, radix) 를 C 뭉 Objective-C 코드로 자체 작성하여 사용하였다. 다음 소스는 C 언어 용으로 만들어 두었던 진법(radix) 표 만들기 예제 with C and Ch 를 수정한 것이다. 19쩨 줄의 enum { FALSE, TRUE }; 부분은 주석 처리하였는데. Objective-C에서는 TRUE와 FALSE가 이미 정의되어 있기 때문이다. /* * F..

대화형 모드의 진법(radix) 변환 예제 with Objective-C

다음은 대화형 모드(interactive mode)에서 진법 변환(radix conversion)하는 Objective-C 소스 코드이다. 이 소스는 C 언어 용으로 만들어 두었던 것을 아주 조금 수정한 것이다. 19쩨 줄의 enum { FALSE, TRUE }; 부분은 주석 처리하였는데. Objective-C에서는 TRUE와 FALSE가 이미 정의되어 있기 때문이다. 메뉴는 주메뉴 Command: (S)et radix, (A)bout, (Q)uit or E(x)it 와 부메뉴 SubCommand: 'main()' to goto Main menu, 'exit()' or 'quit()' to exit 로 구성되어 있으며, 진법 변환을 하는 핵심 함수 convertAtoI()와 convertItoA()의 소..

황금비율(golden ratio) 구하기 with Objective-C

다음은 이차방정식 x^2 - x - 1 = 0 의 양의 근 즉 황금비율(golden ratio)을 구하는 C 애플리케이션 소스이다. 황금비율을 구하는 비례방정식은 1 : x = x : (x+1) 이며, 이를 이차방정식으로 표현한 것이 x^2 - x - 1 = 0 이다. See: Golden ratio - Sajun.org 아래의 소스파일은 C 언어용으로 민들어 두었던 소스 황금비율(golden ratio) 구하기 withfC and Ch 를 아주 조금 수정한 것이다. 수정한 부분은 #include를 #import로 바꾸고, 또 #import 를 추가하고, 또 double 타입의 부동소수점수를 출력하기위한 printf 포맷에 %lf 대신 %g를 사용하역다. (만일 Foundation.h 를 수입(impor..

현재 시각 알아내기 for Objective-C

현재 시각을 컨솔에 보여주는 간단한 애플리케이션의 Objective-C 언어 소스 코드이다. UTC란 1970년 1월 1일 0시 0분 0초를 기준으로 하여 경과된 초 단위의 총 시간을 의미한다. * UTC(Universal Time Coordinated, 협정세계시, 協定世界時) 아래의 소스파일은 C 언어용으로 민들어 두었던 소스 현재 시각 알아내기 for C and Ch 를 아주 조금 수정한 것이다. 수정한 부분은 #include를 #import로 바꾸고, 또 #import 를 추가했을 뿐이다. 이 소스에서는 이 수입 구문이 없어도 된다. 컴파일은 Dev-C++ 개발 도구에서 Ctrl+F11 을 클릭한다. /* * Filename: testCTimeMain.m * * Compile: Click Ctrl..