본문 바로가기

Computer Science/Programming language6

prolog - 가족관계 추론 가족관계 추론 prolog나 pylog를 사용하여 가족관계를 추론할 수 있는 프로그램을 작성. male(rahim). male(karim). male(kabir). male(roy). female(tisa). female(jesi). parent(rahim,karim). parent(rahim,kabir). parent(karim,tisa). parent(karim, jesi). parent(babir, roy). son(X,Y):- male(X), parent(Y,X). daughter(X,Y):- female(X), parent(Y,X). father(X,Y) :- male(X), parent(X,Y). mother(X,Y) :- female(X), parent(X,Y). spouse(X,Y) :- .. 2020. 5. 1.
한글코드의 표준화 과정 한글코드의 표준화 과정 최초의 컴퓨터인 ENIAC이 만들어진 후 15년이 지나서야 문자 집합이라는 개념이 생겼다. 그 시초는 127개의 문자를 표현할 수 있는 ASCII 코드이다. 이후 프랑스어, 독일어와 같은 유럽어를 표현하기 위해 확장 ASCII 를 만들었고 128번부터 255번까지 새로운 문자를 정의할 수 있었다. 이 확장 ASCII는 ISO8859 유럽 통일 표준안으로 제정되었다. 하지만 중국, 일본 한국(CKJ)의 경우 한글, 한자, 병음등 그 개수가 많아 확장 ASCII코드로도 모두를 처리할 수 없었다. 컴퓨터에서 한글 표현 방법의 경우 크게 조합형과 완성형으로 나눌 수 있다. 1. 조합형 : 한글의 제자 원리에 기반하여 초성, 중성, 종성에 각각 코드를 할당하는 방식 N바이트 조합형 - 고육.. 2020. 3. 27.
손이 가는 프로그래밍 일탈 10가지 ‘좋은 걸 어떡해’··· 손이 가는 프로그래밍 일탈 10가지 규칙을 어기면 약간의 스릴을 느낄 수 있다. 때로는 더 좋고 더 효율적인 코드를 작성할 수 있기도 하다. ⓒ Image Credit : Getty Images Bank우리 모두 해본 적이 있다. 엄마가 보지 않을 때 쿠키를 집어 들고, 저녁으로 와인을 좀 많이 마시고, 차를 애매한 곳에 잠깐 살짝 주차하는 것 등등 말이다. 종종 제한속도를 초과하기도 한다. 그리고 맞다, 우리 개발자 모두는 프로그래밍의 기본적인 www.ciokorea.com 첨부한 파일 내용에 따라 자기가 짠 프로그램에 그런 유형의 오류가 있는 예를 보이면서 스스로 어떻게 프로그램을 짤지 설명하라. 나쁜 프로그래밍 습관 No. 1 : 베끼기(Copying) - 코드를 짤 때 비.. 2020. 3. 26.
프로그래밍 언어 : Rust RUST 언어는 C/C++의 수행속도에 비견되는 속도를 가진 함수형 언어다. 이 언어의 특성을 요약하고, Python 등 기존 언어와 비교하라. RUST는 C, C++과 같은 컴파일 기반의 언어로 시스템 프로그래밍 언어에 속한다. 멀티코어 프로세싱을 지원하며 동시성 프로그래밍 및 병렬 프로그래밍에 강점을 가지도 있다. Rust를 기존 언어와 비교해 보려면 먼저 Rust가 왜 제작되었는지 그 방향을 보면 알 수 있다. Rust를 연구하는 모질라 재단의 주력 소프트웨어는 파이어 폭스이다. 구글의 크롬의 성능적인 발전으로 파이어 폭스의 점유율이 낮아지기 시작했고 모질라 재단도 성능 향상을 위해 새로운 엔진을 제작하기로 했다. 그리고 그 엔진을 위한 프로그래밍 언어를 선택하는 과정에서 Rust는 탄생하였다. C.. 2020. 3. 26.
프로그래밍 언어론 1. Orthogonality가 C 언어에서 발생시킬 수 있는 오류의 예를 드시오. -프로그래밍 언어에서 Orthogonality 는 언어를 이용해서 어떠한 기능을 구현할 때 상대적으로 적은 수의 기본 키워드(basic construct)들의 조합을 이용하여 나타낼 수 있는지를 말한다. 예를 들어 C에서 기본 자료형인 in, float, double, character와 배열을 선언하는 기호인 [] 그리고 포인터를 선언하는 *가 있다면 이 기본 키워드 조합을 이용해서 수많은 데이터 타입을 표현할 수 있다. 예를 들어 int[] 나 char* 가 있다. 하지만 C 언어는 Class 나 Structure 에 대한 배열을 지원하지 않아 상대적으로 직교성이 부족한 언어이다. 직교성이 좋다는 의미는 또한 예외성이.. 2020. 3. 26.
프로그래밍 언어론 용어정리 1) Event-driven programming 사건기반 프로그래밍 : 비주얼 베이직과 같이 사용자의 명령, 마우스 클릭, 다른 프로그램의 메시지, 키보드 입력 과 같이 ‘사건’에 따라 제어 흐름이 결정되어 일을 하도록 하게끔 만들어진 프로그래밍 언어방식 2) Cloud computing 클라우드(인터넷) 을 통해 가상화된 컴퓨터의 시스템리소스(IT리소스) 를 요구하는 즉시 제공(on-demand)하는 것이다,. 인터넷 기반의 컴퓨팅의 일종으로 정보를 자신의 컴퓨터가 아닌 클라우드에 연결된 다른 컴퓨터로 처리하는 기술을 의미한다. 최소한의 관리 노력으로 빠르게 예비 및 릴리스를 가능하게 한다. 3) SaaS(Software as a Service), ASP(application hosting)의 차이점.. 2020. 3. 25.