728x90
300x250

[영어(English)] 1. 문장의 구성

 

내가 기억하기로는 영어의 문장 구성은 크게 5가지로 기억합니다.

 

주어(Subject) + 동사(Verb)                                 // 서브젝트 벌브

주어(Subject) + 동사(Verb) + 보어(Complement)   // 서브젝드, 벌브, 컴플리멘드.

주어(Subject) + 동사(Verb) + 목적어(Object)

주어(Subject) + 동사(Verb) + 목적어(Object) + 보어(Complement)

주어(Subject) + 동사(Verb) + 목적어(Object) + 목적어(Object)

 

크게 이 구조로 구성되는 것으로 기억합니다.

 

1. ADT 설계

 

/*
 * English - Grammer Structure
 * Vocabulary.cpp
 * Created on: 2018. 7. 18.
 * Author: Dodo
 */

 

 #ifndef VOCABULARY_H_
 #define VOCABULARY_H_

 #include <string>

 

 class Vocabulary{

 private:
         static constexpr int SUBJECT = 0;
         static constexpr int VERB = 1;
         static constexpr int OBJECT = 2;
         static constexpr int COMPLEMENT = 3;

         int type;
         std::string verb;

 

 public:

         int getType() const{
              return this->type;
         }

 

         void setType( int type ){
              this->type = type;
         }

 

         int getSymbolType( int choose ){

 

                switch ( choose ){

 

                     case this->SUBJECT:
                            return SUBJECT;

 

                     case this->VERB:
                            return VERB;

 

                     case this->OBJECT:
                            return OBJECT;

 

                     case this->COMPLEMENT:
                            return COMPLEMENT;

 

                     default:
                            return -1;
              }
       }

       void setVerb(std::string verb){
             this->verb = verb;
       }

 

       std::string getVerb() const{
             return this->verb;
       }

 };


 #endif /* VOCABULARY_H_ */
 

 Vocabulary.h

 

 /*
 * English - Grammer Structure
 * main.cpp
 * Created on: 2018. 7. 18.
 * Author: Dodo
 */

 

 #include <iostream>
 #include <string>
 #include "Vocabulary.h"

 

 using namespace std;

 

 void printVoca(Vocabulary* voca, int count){

     

        for ( int i = 0; i < count; i++ ){
            cout << voca[i].getVerb();
            cout << " ";
        }

 }

 

 int main(){

         int count = 4;
         Vocabulary* voca = new Vocabulary[count];

 

         int subject = voca->getSymbolType(0);
         int verb = voca->getSymbolType(1);
         int object = voca->getSymbolType(2);

 

         voca[subject].setType(subject);
         voca[verb].setType(verb);
         voca[object].setType(object);

   

         voca[subject].setVerb( "나는" );
         voca[verb].setVerb("좋아하다.");
         voca[object].setVerb("사슴을");

 

         printVoca(voca, count);

         return 0;

 }

 main.cpp

 

컴퓨터 프로그래밍으로 작성하면 이러한 시스템을 가지게 됩니다.

 

 

그림 1-1) 출력값 "나는 좋아하다. 사슴을" / Output "I like. Deer"

 

내가 이해하고 있는 영어 문장 구조는 그렇습니다.

 


2. 실제 적용하기

 

 번호

 문장 구성

 번역의 예(고급언어)

<High Level Language>

 저차원 수준(Low level)의 예

 1

 I like Deer.

 나는 사슴을 좋아하다.

 나는 좋아하다. 사슴을

 

 

 

 

 

[추가적으로 보충 작성합니다.]

 

 

반응형

+ Recent posts