구조적 프로그래밍: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
D'ohBot (토론 | 기여)
잔글 로봇이 더함: zh:結構化程式設計
잔글 로봇이 지움: zh:結構化程式設計; 예쁘게 바꿈
14번째 줄:
저수준의 관점에서 구조적 프로그램은 간단하고, 계층적인 프로그램 [[제어 구조]]로 구성된다. 이 제어 구조들은 하나의 구문으로 간주되며, 동시에 더 간단한 구문들을 결합시키는 방법이다. 더 간단한 구문들은 또 다른 제어 구조일 수도 있고, [[할당문]]이나 [[프로시저 호출]]과 같은 기본 구문일 수도 있다. [[에츠허르 데이크스트라]]가 확인한 3가지 형태의 구조는 순차, 선택, 반복이다.
 
* 순차(concatenation)는 구문 순서에 따라서 순서대로 수행된다는 것이다.
 
* 선택(selection)은 프로그램의 상태에 따라서 여러 구문들 중에서 하나를 수행하는 것이다. 주로 <code>if..then..else..endif</code>, <code>switch</code>, <code>case</code>와 같은 키워드로 표현한다.
 
* 반복(repetition)은 프로그램이 특정 상태에 도달할 때까지 구문을 반복하여 수행하거나, 집합체의 각각의 원소들에 대해 어떤 구문을 반복 수행하는 것이다. 보통 <code>while</code>, <code>repeat</code>, <code>for</code>, <code>do..until</code> 같은 키워드로 표현한다. 종종 반복 영역의 시작점을 하나로 하는 것이 추천되며, (원조 구조적 프로그래밍에서는 종료점도 하나로 해야한다고 추천하고,) 몇 가지 언어에서는 이것을 꼭 지켜야 하도록 하고 있다.
 
데이크스트라의 초창기 [[가드 명령어 언어]]같은 어떤 언어에서는 구조를 완전히 둘러싸는 <code>if..fi</code>와 같은 구문으로 구조의 단일성을 강조한다. [[C (프로그래밍 언어)|C]] 같은 다른 언어들은 구조의 단일성을 강조하지 않는데, 잘못 이해하거나 잘못 수정할 수 있는 위험이 커지는 것은 아니다.
88번째 줄:
 
== 읽을거리 ==
* [[비구조적 프로그래밍]] (대조되는 개념)
* [[프로그래밍 패러다임]]
* [[순서도]] (고급 순서 구조에 대한 더 자세한 내용이 있음)
* [[구조적 예외 처리]]
* [[최소 평가]]
 
== 참고문헌 ==
129번째 줄:
[[uk:Структурне програмування]]
[[vi:Lập trình cấu trúc]]
[[zh:結構化程式設計]]