의사 코드와 알고리즘의 차이점은 무엇입니까?

Anonim

매우 간단한 용어로 Pseudocode 는 알고리즘 로직을 기술하는 내러티브이다. Pseudocode는 실행 코드가 아니기 때문에 정확한 구문을 사용하는 것은 필수적이지는 않지만 솔루션 팀이 쉽게 이해할 수있는 업계에서 널리 사용되는 표준을 따르는 것이 좋습니다.

< Unified Modeling Language (UML) 및 기타 비즈니스 모델링 방법론은 의사 코드의 사례로도 불릴 수 있습니다. 텍스트 기반이 아닌 모든 도구는 실행 가능한 작업이나 프로세스를 시각적으로 표현하는 데 사용됩니다.

정확한 의사 소통을 위해 구조화되고 완전한 의사 코드를 명확하게 문서화하고 솔루션과 프로그래밍 로직을 계획 할 때 필수적인 부분입니다.

의사 코드가 알고리즘을 사용하면 불필요한 시간이 솔루션을 생각하는 데 소비되거나 t 중에는 모호한 아이디어를 추출하는 데 소비됩니다. 그는 무대를 코딩하고, 마감 시간은 어렴풋이 나타납니다. 알고리즘의 문제를 해결할 때 가상 코드는 어떻게 결합되었는지 백그라운드로 생각할 수 있으며 개발자는 언제나 알아낼 수 있습니다.

Khan Academy

[i]

:

이것은 소프트웨어 개발 도구로 작성된 텍스트 기반 의사 코드입니다. 앞의 선은 // 텍스트가 주석이거나 개발 용어로 주석 처리되었으므로 실행 가능 코드의 일부가 아니라는 것을 나타냅니다. 아래의 굵은 글씨는 의사 코드의 요구 사항에서 실행 가능한 코드로 해석 할 때 개발자의 구문과 크기를 보여줍니다.

// 우리의 아이디어를 어떻게 코드로 만들 수 있습니까?

타원 (너비 /

2, 높이 /

2,

200 , 300 999); // 두 개의 눈, 두 개의 타원, 얼굴 위로 약 2/3, 얼굴의 크기 1/5 타원 (너비 / 2 - 40 <, 높이 / 9999, 999, 999999); 타원형 (너비 / 2 999 +999, 높이 / 9999-999, 999999, 40999);

아래의 또 다른 예는보다 기술적이며 구조화 된 접근 의사 코드를 보여줍니다:

학생의 학년이 60보다 크거나 같은 경우 Print "Well Done! " else Print"Sorry, failed " 구조적 의사 코드를 참조 할 때 SEQUENCE , WHILE IF-THEN-ELSE REPEAT-UNTIL , CASE

FOR 도 유용합니다. 이 용어는 개발자가 이해하며 다른 사람이 이해하지 못하는 속어 나 개인 용어를 사용하지 않고 요구 사항을 구성하는 데 도움이됩니다. SEQUENCE 는 작업의 순차적 인 실행을 위쪽에서 아래쪽으로 나타냅니다. WHILE 는 시작시 정의 된 조건이 충족 될 때까지 실행되는 반복 루프입니다. IF-THEN-ELSE IF HoursWorked> NormalWeek THEN 초과 근무 수첩 시간표 메시지 표시 ELSE

일반 작업 표 메시지 표시 < REPEAT-UNTIL

는 끝에 정의 된 조건이 충족 될 때까지 실행되는 반복적 인 루프입니다. 예

REPEAT

sequence

UNTIL 조건

CASE 는 표현식의 값에 따라 여러 결정을 제공합니다. 반복되는 계산 루프입니다. 각 작업 또는 프로세스에 대해 끝에서 END / ENDIF (IF가 사용되는 경우)를 사용하십시오. 종단점 또는 출력 결과임을 나타냅니다. 구조체가 서로 중첩되어있을 때, 구조체는 부모 구조체로부터 명확하게 들여 쓰기되어야합니다. 즉, 종속성을 나타내는 모든 문은 들여 쓰기되어야합니다. 동사의 '수행 중'단어는 프로세스, 컴퓨터, 재설정, 증분, 추가, 곱하기, 인쇄, 표시 등의 용어를 사용하고 들여 쓰기가 바람직한 의사 코드를 촉진합니다. 이제 알고리즘과 의사 코드와 다른 알고리즘을 살펴 보겠습니다. 첫째, 알고리즘 은 무엇입니까? "비공식적으로 알고리즘은 일부 값 또는 값 집합을 입력으로 사용하고 일부 값 또는 값 집합을

출력으로 생성하는 잘 정의 된 계산 절차입니다. 따라서 알고리즘은

  • 입력을 출력 으로 변환하는 일련의 계산 단계입니다. "
  • [ii] 보다 간단한 용어로 알고리즘은 문제를 해결하거나 작업을 완료하기 위해 일련의 단계로 정의되는 실행 코드 논리입니다. 의사 코드와 달리 알고리즘을 작성하는 사람은 작업을 수행하고, 조작하고, 암호화하고, 추출하는 컴퓨터 (개발자가 아닌
  • )가 해석하므로 프로그래밍 지식이 필요합니다. 알고리즘은 기본적으로 컴퓨터 프로그램이 코드 로직에 정의 된대로 작업을 수행하도록 지시합니다. 모든 프로그래밍 구문의 오류로 인해 프로그래밍 지식이 필요한 곳에서 이러한 작업을 성공적으로 수행 할 수 없습니다. 계획 단계에서 의사 코드를 작성할 때 알고리즘이 효과적이고 집중적이며 최종 결과에 도달해야 함을 기억하십시오. 솔루션의 모든 측면을 항상 고려해야합니다. 알고리즘은 무엇을합니까? 기본적으로 트리거, 프로세스 또는 다른 알고리즘에 의해 실행되며 데이터를 입력으로 받아들입니다. 데이터는 지시 및 조작 단계를 거쳐 출력을 생성합니다.
데이터는 변수에 저장되고 각 변수의 이름은 실행 프로세스 중에 데이터에 할당되는 알고리즘의 이름으로 지정됩니다.

알고리즘은 다른 알고리즘에 대한 참조 및 호출을 포함 할 수 있기 때문에 이름이 지정됩니다. 알고리즘을 개발할 때 사용되는 코딩 소프트웨어에 관계없이 알고리즘을 개발할 때 많은 복잡성과 전문성이있을 수 있으므로 정확하고 바람직한 결과를 산출하기 위해서는 잘 정의되어야합니다.

알고리즘의 설계 및 구현과 관련하여 고려해야 할 또 다른 중요한 측면은 그것이 얼마나 빨리 실행되는지이다. 빠른 소프트웨어와 더 빠른 장치에 익숙해지는 최종 사용자의 경우 점점 더 분명해집니다.

예를 들어 검색 기준에 필터를 적용하고 결과가 비정상적으로 오래 표시 될 때까지 기다릴 수없는 경험이 될 수 있습니다. 개발자는 데이터를 수신하는 방법과시기, 하위 프로세스에서 데이터를 필터링 할 수 있는지 등을 조사합니다.

프로세스 속도를 늦추는 코드 논리를 작성하면 사용자, 개발자 및 비즈니스에 부정적인 영향을 미칩니다. 요약하면 의사 코드는 코드 논리를 계획하고 강력한 솔루션을 구현하는 데 중요한 서술입니다. 이러한 솔루션은 정확하고 바람직한 결과를 산출하는 구조화되고 신속하며 효과적인 알고리즘을 사용하여 구현됩니다.