• 제목/요약/키워드: C programming language

검색결과 325건 처리시간 0.029초

조립용 로봇이 3차원 그래픽 시뮬레이터 개발 (Development of a 3D Graphic Simulator for Assembling Robot)

  • 장영희
    • 한국공작기계학회:학술대회논문집
    • /
    • 한국공작기계학회 1998년도 춘계학술대회 논문집
    • /
    • pp.227-232
    • /
    • 1998
  • We developed a Off-Line Graphic Simulator which can simulate a robot model in 3D graphics space in Windows 95 version. 4 axes SCARA robot was adopted as an objective model. Forward kinematics, inverse kinematics and robot dynamics modeling were included in the developed program. The interface between users and the off-line program system in the Windows 95's graphic user interface environment was also studied. The developing language is Microsoft Visual C++. Graphic libraries, OpenGL, by Silicon Graphics, Inc. were utilized for 3D graphics.

  • PDF

C++ 객체 영속성 부여를 위한 이음새 없는 인터페이스의 설계 및 구현 (Design and Implementation of Seamless Interface Providing Persistence to C++ Object)

  • 이미영;김명준
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제6권5호
    • /
    • pp.468-476
    • /
    • 2000
  • 객체지향 언어 C++ 와 데이터베이스 관리 시스템의 결합은 C++ 응용 프로그램의 객체들이 프로그램이 종료되어도 지속되도록 데이터베이스의 저장 기능을 이용함과 동시에 데이터베이스 시스템에서 제공하는 다양한 기능을 사용하면서, 객체에 대한 조작은 C++의 일반 임시 객체처럼 C++에서 제공하는 기능들을 이용할 수 있도록 해 준다. 본 논문에서는 C++ 응용 프로그램의 객체에 영속성을 부여하는 방법으로 객체지향 데이터베이스 시스템의 상용 표준안인 ODMG-97의 C++ 바인딩에서 제시한 인터페이스를 보완하여 영속성 부여 인터페이스를 제시하고 이를 지원하기 위한 시스템의 설계 및 구현 내용을 서술한다. 제시한 인터페이스는 영속 가능한 클래스의 모든 객체는 동일한 인터페이스를 이용하여 사용자가 원하는 대로 임시 객체, 영속 객체를 모두 생성할 수 있고, 생성되는 객체의 클래스명을 추가로 명시하지 않고도 영속 객체를 생성할 수 있게 함으로써 이음새 없는 영속성 부여 인터페이스를 제공하고, 또한 객체 생성시 데이터베이스 객체와 메모리 객체간의 타입 호환성을 보장한다.

  • PDF

A Simple Syntax for Complex Semantics

  • Lee, Kiyong
    • 한국언어정보학회:학술대회논문집
    • /
    • 한국언어정보학회 2002년도 Language, Information, and Computation Proceedings of The 16th Pacific Asia Conference
    • /
    • pp.2-27
    • /
    • 2002
  • As pact of a long-ranged project that aims at establishing database-theoretic semantics as a model of computational semantics, this presentation focuses on the development of a syntactic component for processing strings of words or sentences to construct semantic data structures. For design arid modeling purposes, the present treatment will be restricted to the analysis of some problematic constructions of Korean involving semi-free word order, conjunction arid temporal anchoring, and adnominal modification and antecedent binding. The present work heavily relies on Hausser's (1999, 2000) SLIM theory for language that is based on surface compositionality, time-linearity arid two other conditions on natural language processing. Time-linear syntax for natural language has been shown to be conceptually simple and computationally efficient. The associated semantics is complex, however, because it must deal with situated language involving interactive multi-agents. Nevertheless, by processing input word strings in a time-linear mode, the syntax cart incrementally construct the necessary semantic structures for relevant queries and valid inferences. The fragment of Korean syntax will be implemented in Malaga, a C-type implementation language that was enriched for both programming and debugging purposes arid that was particluarly made suitable for implementing in Left-Associative Grammar. This presentation will show how the system of syntactic rules with constraining subrules processes Korean sentences in a step-by-step time-linear manner to incrementally construct semantic data structures that mainly specify relations with their argument, temporal, and binding structures.

  • PDF

이완 결합형 다중 프로세서 시스템을 사용한 데이터 플로우 컴퓨터 구조의 병렬 에뮬레이션에 관 한 연구 (A Parallel Emulation Scheme for Data-Flow Architecture on Loosely Coupled Multiprocessor Systems)

  • 이용두;채수환
    • 한국통신학회논문지
    • /
    • 제18권12호
    • /
    • pp.1902-1918
    • /
    • 1993
  • 노이만 계산 모델의 병렬처리 구조는 구조 속성상의 취약성으로 인해 대량 병렬처리 구조로서는 한계가 있다. 데이터 플로우 계상 모델은 소프트웨어적 고 프로그램성과 하드웨어적 높은 개발 가능성을 갖고 있다. 그러나 실제 데이터 플로우 구조에서는 프로그래밍과 실험을 행하고자 할때, 노이만 방식의 기계는 많지만 실제 데이터 플로우 컴퓨터가 없으므로 대단히 어렵다. 본 논문에서는 일반적 재래 병렬처리기계중 하나인 이완결합 다중프로세서 시스템위에서 데이터 플로우 방식의 계산을 수행시킬 수 있는 프로그래밍 환경을 제시하였다. 에뮬레이터는 iPSC/2 하이퍼 큐프를 이용하여 Tagged Token 데이터 플로우 구조를 구축하였다. 본 에뮬레이터는 iPSC/2시스템에서 소프트웨어적 박층 실험으로 프로그래머의 입장에서는 iPSC/2 시스템이 데이터 플로우 주고로서 농작하는 것으로 간주한다. 여러 가지 수치 혹은 비수치 알고리즘을 데이터 플로우 어셈블리어로 구현하여 재래식 C 언어에 의한 것과 프로그램의 성능을 비교하였다. 이로써, 재래식 병렬처리 기계상의 에뮬레이터를 통한 실험적 데이터 플로우 계산을 행할 때 이 프로그래밍 환경의 효율성에 대하여도 검정하였다.

  • PDF

트리형 데이터베이스 및 언어 MUMPS 활용 (Study on Tree-Structured Database and Language MUMPS)

  • 임지현;김진덕
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2019년도 춘계학술대회
    • /
    • pp.108-110
    • /
    • 2019
  • 데이터베이스(Database)란 중복이 없는 데이터의 집합을 유지하는 것을 말하며, 정보의 양이 증가하고 있는 정보화 사회에서 정보를 쉽게 이용하고 공유하기 위해서 필수적이다. 데이터베이스의 대표적인 구조는 관계형 데이터베이스와 트리구조 데이터베이스가 존재하며, 본 연구에서는 트리구조 데이터베이스이자 프로그래밍 언어인 MUMPS에 대해 연구하고자 한다. 이 언어는 동적 또는 B-Tree 형식으로 배열을 저장하여 데이터베이스를 구성한다. Java나 C#과 같은 언어와 함께 사용하여야 하는 SQL과 달리, MUMPS는 자체적으로 언어와 데이터베이스를 지원하여 데이터를 관리할 수 있다는 차이점이 있으며, 데이터 이식률이 높아 실제 미국 병원에서는 MUMPS 기반의 플랫폼이 높은 시장 점유율을 차지하고 있다.

  • PDF

하노이 탑 프로그래밍 경험에서 나타나는 정보과학적 사고 패턴에 관한 질적 사례 연구 (Qualitative Case Study on Computational Thinking Patterns of Programming Processes for the Tower of Hanoi Task)

  • 장정숙;전영국;윤지현
    • 컴퓨터교육학회논문지
    • /
    • 제16권4호
    • /
    • pp.33-45
    • /
    • 2013
  • 본 연구는 고등학생이 컴퓨터 프로그래밍을 사용하여 문제를 해결할 때 아이디어를 어떻게 포착하며 아이디어를 어떻게 구체화시키면서 코딩을 해 나가는지를 살펴봄으로써 다양한 논리적 사고력의 발현과 오류 수정을 통해 정보과학적 사고와 관련된 능력이 펼쳐지는 양상을 탐구하였다. 연구참여자 K를 대상으로 2011년 10월부터 5회에 걸쳐 비디오 기반 회상 면담과 심층면담을 혼합하여 하노이탑 과제에 대한 C 프로그래밍을 하는 경험을 데이터로 수집하였다. K는 컴퓨터 프로그래밍을 할 때 '처음에 문제를 천천히, 차근차근 읽어보고 직접 노트에 쓰기도 하고, 그 문제를 분석해서 패턴들을 찾아내고 생각을 구체화하여 알고리즘을 적용하고 컴퓨터로 구현해 나가는 것' 방식을 드러내 보였다. 이러한 과정에서 '자기만의 생각을 실험해 보는 것에' 재미를 느끼면서 과학적 사고에 가까운 사고 패턴을 보여주었으며 일상생활에서 알고리즘적 사고를 적용하는 등 사고력의 향상에 관련되는 부분을 드러내 보여 주었다.

  • PDF

자바와 C/C++의 혼합 프로그래밍 (Java and C/C++ Mixed Programming)

  • 김상훈
    • 한국멀티미디어학회논문지
    • /
    • 제13권10호
    • /
    • pp.1514-1524
    • /
    • 2010
  • 표준 자바 클래스 라이브러리는 용용 프로그램에 의해 요구되는 플랫폼 의존적인 기능을 수행하지 못한다. 따라서 플랫폼 의존적인 기능을 포함한 자바 응용 프로그램은 JNI를 사용한 네이티브 함수를 호출하여 부족한 기능을 수행하여야 한다. 네이티브 언어 프로그래머는 다양한 자바 객체와 연결하고 사용 후 이를 해지해야하는 작업을 명시적으로 기술해야 한다. 이러한 번거로운 작업을 피하기 위한 방법을 본 논문에서 제안하고자 한다. 순수 자바 클래스에서 네이티브 메소드는 코드 블록을 가질 수 없다. 자바 네이티브 메소드가 네이티브 코드로 작성된 몸채를 가질 수 있도록 함으로써 프로그래머는 JNI를 의식하지 않고 프로그래밍하는 것이 가능하다. 이를 위해 네이티브 환경의 자바 클래스인 네이티브 클래스라는 개념, 그리고 자바 클래스와 네이티브 클래스 간에 제어와 자료의 교환을 지원하는 중재기를 두어 해결하였다.

ChatGPT을 활용한 디지털회로 설계 능력에 대한 비교 분석 (Comparative analysis of the digital circuit designing ability of ChatGPT)

  • 남기훈
    • 문화기술의 융합
    • /
    • 제9권6호
    • /
    • pp.967-971
    • /
    • 2023
  • 최근에는 다양한 플랫폼 서비스가 인공지능을 활용하여 제공되고 있으며, 그 중 하나로 ChatGPT는 대량의 데이터를 자연어 처리하여 자가 학습 후 답변을 생성하는 역할을 수행하고 있다. ChatGPT는 IT 분야에서 소프트웨어 프로그래밍 분야를 포함하여 다양한 작업을 수행할 수 있는데, 특히 프로그램을 대표하는 C언어를 통해 간단한 프로그램을 생성하고 에러를 수정하는데 도움을 줄 수 있다. 이러한 능력을 토대로 C언어를 기반으로 만들어진 하드웨어 언어인 베릴로그 HDL도 ChatGPT에서 원활한 생성이 예상되지만, 베릴로그 HDL의 합성은 명령문들을 논리회로 구조 형태로 생성하는 것이기에 결과물들의 정상적인 실행 여부를 확인해야 한다. 본 논문에서는 용이한 실험을 위해 규모가 적은 논리회로들을 선택하여 ChatGPT에서 생성된 디지털회로와 인간이 만든 회로들의 결과를 확인하려 한다. 실험 환경은 Xilinx ISE 14.7로 모듈들을 모델링하였으며 xc3s1000 FPGA칩을 사용하여 구현하였다. 구현된 결과물을 FPGA의 사용 면적과 처리 시간을 각각 비교 분석함으로써 ChatGPT의 생성물과 베릴로그 HDL의 생성물의 성능을 비교하였다.

작용 식 기반 점진 해석기 (Incremental Interpreter based on Action Equations)

  • 한정란;이기호
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제26권8호
    • /
    • pp.1018-1027
    • /
    • 1999
  • 속성 문법은 언어의 정적인 의미구조를 표현하는 형식적인 표기법으로 동적인 의미구조를 표현하기는 부적절하다. 동적 의미구조를 잘 명세하고 명세된 언어를 구현하기 위해서 기존의 속성 문법을 확장하여 언어 구현에 필요한 동적인 작용들(actions)을 잘 표현해야 한다. 본 논문에서는 속성 문법을 확장하여 정적이고 동적인 의미구조를 잘 표현할 수 있는 새로운 작용 식(action equation)을 제시한다. 제시된 작용 식(action equation)의 동적인 의미 구조로 부터 SIMP 언어의 점진 해석기(incremental interpreter)를 설계하고 구현한다. 점진 해석기는 언어 기반의 프로그래밍 환경에서 수정된 부분만을 번역하여 프로그램의 전체 실행 결과를 얻는 해석기를 의미한다. 본 해석기는 SUN 1000에서 Lex와 Yacc을 사용해서 C 언어로 설계하고 구현하였다. 예제 프로그램을 실행시켰을 때 배정 문이나 IF문의 경우는 매우 효율적이었고 Loop의 경우는 재실행될 필요가 있는 영향받는 명령문들이 적을수록 점진 해석이 더 효율적으로 수행된다.Abstract Attribute grammars are a formal notation which expresses the static semantics of programming languages, but they are not suitable for expressing dynamic semantics. To describe dynamic semantics and implement a specified language, we extend attribute grammars and present new action equations which describe static and dynamic semantics. The incremental interpreter of a SIMP language is designed and implemented from the dynamic semantics of presented action equations. The incremental interpreter is to translate only modified part in the language-based programming environments and have results of whole program.Our interpreter is implemented in C with Lex and Yacc on SUN 1000. When we execute example programs, the incremental evaluation of any assignment and IF statements executes efficiently. But in the case of loop, we execute efficiently when the effected statements to be reexecuted in the loop are of small number.

순차 Shear-Warp 알고리즘을 이용한 병렬볼륨렌더링의 구현 (Implementation of Parallel Volume Rendering Using the Sequential Shear-Warp Algorithm)

  • 김응곤
    • 한국정보처리학회논문지
    • /
    • 제5권6호
    • /
    • pp.1620-1632
    • /
    • 1998
  • 본 논문에서는 볼륨렌더링을 위한 빠른 병렬 알고리즘을 제안하고, 이를 4,096개의 프로세서를 가진 MasPar MP-2범용병렬 컴퓨터에서 C 언어와 MPL(MasPar Programming Language)언어를 이용하여 구현하였다. 본 알고리즘은 현재 가장 빠른 순차 볼륨 렌더링 알고리즘으로 알려진 Lacroute의 Shear-Warp 알고리즘을 병렬화한 것이다. 본 병렬 알고리즘은 밀림변환 공간 분할 기법과 이전의 렌더링 단계에서 얻은 부하정보를 이용하여 다음 렌더링시 부하를 균형화하는 부하균형화 기법을 이용함으로써 통신 오버헤드를 줄이며, 연속길이부호화 기법에 의한 볼륨 데이터 구조를 이용함으로써 처리할 복셀의 수를 크게 줄인다. MasPar MP-23에서 $128\times128\times128$복셀로 구성된 인체 두뇌 볼륨 데이터세트에 대하여 실험한 결과 초당 3~4프레임의 속도로 렌더링하였으며 본 알고리즘의 확장성에 의하여 16,384개의 프로세서를 가진 MasPar MP-2 시스템에서는 초당 12~16프레임의 렌더링이 가능할 것으로 기대된다. 또한 더 큰 볼륨에 대해서도 최근의 SIMD 또는 MIMD 머신상에서는 초당 30~60프레임의 렌더링이 가능할 것으로 기대된다.

  • PDF