2011-01-01 4 views
-1

저는 컴퓨터 과학 학생입니다. 모든 사람은 다른 또는 같은 방법으로 문제를 해결 (실제로 나는 그들이 방법을 사용하거나 내가 문제를 접근하는 등의 일반적인 방법이 있는지 잘 모릅니다 여부를 잘 모릅니다.)알고리즘 || prog 작성 방법

  • 를 일반적인 방법이 있는지, 무엇이다 그거야?
  • 다른 방법이 있다면 어떤 방법을 사용하고 있습니까?

모든 교사는 간단한 형태로하는 때때로 우리에게 문제를 제공하지만, 그들은 나중에 해결책을 찾아, 우리는 문제에 대한 하나를 다음 방법을 선택 적용 할 수있는 결정을 내릴 수 있도록 어떤 방법 또는 방법 (들)을 소개하는이 donot 그런 다음 코드를 작성하십시오. 선생님의 도움없이 숙제를 해결할 수있는 방법을 찾도록 유도하십시오. 예 : 친구가 아무런 방법도 사용하지 않고 있으며, "프로그래밍을 작성하는 동안 알고리즘을 구성하기 시작합니다."라고 말합니다.

내가 과정을 실패했을 때 나는 하나의 방법을 발견했다

,

더 정확하게, 내 방법 : 나는 언어의 문제에 대응하는 경우, 그때 더 종이를 얻을 것이다;

first, input/ output step ; 
     my prog will take this/these there argument(s) and return namely X , 
     ex : in c, 
      input length is not known and at same type , 
       so I must use pointer 
      desired output is in form of package , 
       so use structure 
second, execution part ; 
    in that step , I am writing all step which are goes to final output 
     ex : in python ; 
      1.) [ + , [- , 4 , [ * , 1 , 2 ]], 5] 
      2.) [ + , [- , 4 , 2 ],5 ] 
      3.) [ + , 2 , 5] 
      4.) 7  ==> return 7 
third, I will write test code 
     ex : in c++ 
      input : append 3 4 5 6 vector_x remove 0 1 
      desired output vector_x holds : 5 6  
  • 지금, 내 다른 질문입니다;이 있거나 다른 방법 (들)은 무엇입니까? 다른 사용자가

    used to construct class :::: for c++ , python, java 
    
    
    used to communicate classes/computers 
    
    
    used for solving embedded system problem ::::: for c 
    

?

  • 일부 프로그래머 PROG 언어 (자바, 펄 ..) 이 방법은 무엇인가를 고려하지 않고, 일반적인 방법을 사용?

왜 종이에 costruct 알고리즘을 사용하지 않으면 궁금한 가를 알기 때문에 목표를 달성 할 수 있습니다. 돈도없고 점심 같이, 나는 당신이 다른 사람에 의해 도입하는 방법을 자신 만의 방법을 쓸 때 자유롭게

때문에 어떤 알고리즘을 어떤 음식물을 말할 수 있지만 사용하는 당신은 그렇게 효율적으로 찾을 수

+1

다시 작성하여 이해할 수 있습니까? – freespace

+0

@fatai : 분명한 질문을하는 것이 분명합니다. 먼저 그 일을해야합니다. –

+4

나는 문법에 대해 그렇게 열심히 일하지 않기를 바란다. 우리는 여기에 국제 관객이 있으므로 모든 사람들이 적절한 영어를 타이핑 할 수있는 것은 아닙니다. 그는 주제를 넘어서거나 말하지 않고 모든 것을 쓰는 데 많은 노력을 기울였습니다. 많은 시도 들보 다 훨씬 낫습니다. –

답변

4

컴퓨터 과학자는 대개 사실상 추상적 인 큰 문제에 직면합니다. 그러나 컴퓨터는 단지 작은 지시 만받습니다.이 수를 더하고이 수를 뺍니다. 컴퓨팅은 아직까지 "컴퓨터,이 문제를 해결하십시오"라고 말할 수있는 시점에 도달하지 못했습니다. - 우리는 컴퓨터가 이해할 수있는 일련의 작은 지침으로 문제를 표현해야합니다.

주방의 주방장과 비교하십시오. 그가 요리 책을 쓰고 있다면 그는 단순히 "John 's Special Chili"이라고 말할 수는 없습니다. 재료를 사용하는 방법, 다양한 재료를 조리하거나 준비하는 데 필요한 절차, 사용할 양 등을 적어 두어야합니다.

마찬가지로 , 컴퓨터 과학자는 추상적 인 문제를 취해야하며, 문제의 입력이 주어지면 기계가 올바른 결과에 도달하는 데 사용할 수있는 지침으로 분해해야합니다.마침내 코드에 도달하기 전에 더 작은 문제로 깨는이 행동은 개인의 문제 해결 능력에 의존하기 때문에 모든 프로그래머에게 기본적인 기술이며, 가르치는 데 가장 힘든 기술입니다.

알고리즘은 근본적으로 문제를 해결 한 결과입니다. 위키 백과 사전에 정의 된 알고리즘은 "입력 값으로 시작하고 유한 값으로 출력 값을 산출하는 계산 절차에 대한 정확한 단계별 계획입니다 단계 수. " 이것은 입력에서 출력으로가는 방법이며, 일반적으로 프로그래머가 알아 내야 만하는 것입니다. 물론 초기에 학생들에게 주어진 예제 인 sort는 알려진 알고리즘을 가지고 있습니다. 전형적으로 이것을 특정 언어로 구현하는 것입니다.

기본 사항이 통과되면 문제가 자주 발생합니다. 그런 다음 프로그래머가 알고리즘을 이해해야합니다. 일반적인 조언은 "문제를 더 작고 쉽게 해결할 수있는 하위 문제"로 나누는 것입니다. 종종 작은 문제 2 개 (또는 그 이상)가 더 큰 문제와 동등합니다. 결과 이미지를 쓰기 이미지에

  • 를 픽셀 행을 플립

    1. 로드 이미지
    2. : 우리는 "거꾸로 이미지 파일을 뒤집기"의 문제를 해결하고자한다면, 나는에 그것을 깰 수 파일로 돌아 가기

    이들 각각은 여전히 ​​매우 추상적이어서 더 자세하게 설명해야하지만 아이디어는 동일합니다. 아이디어를 코드로 변환하기에 충분히 간단 할 때까지 계속 분해하십시오. 사용하는 언어에 따라 문제의 인간형이 다르게 번역됩니다. C 또는 C++에서 파이썬이나 자바와 같은 코드를 작성하지 않을 것입니다.

    (PS : 질문이 이해하기 어렵습니다. 그 안에 어떤 것이 불분명하면 그와 같이 의견을 말하십시오.)

  • +0

    에서 정보를 찾을 수 있습니다. 올바른 길을 가고 있습니다. –