본문 바로가기
KNOU/요약정리

[python]구조적 프로그래밍 패러다임

by bottlesun 2023. 5. 16.
728x90

절차적 프로그래밍 패러다임의 하위 개념

goto 문을 사용하지 않고 프로그램을 3가지 제어 구조만으로 구성하는 프로그래밍 패러다임

  1. 순차(sequence)구조
  2. 선택(selection)구조
  3. 반복(iteration)구조

프로그램 실행 흐름이 간결하고 작은 규모로 조직화 하기 쉬움

순차구조

실행의 흐름을 주어지는 명령의 위치에 흐름에 따라 수행하는 구조

→ 명령 라인 위에서 아래로 흐르는 가장 직관적인 명령 구조

→ 첫 단계를 시작하면 마지막 단계까지 수

설계 → 생산 → 조립

사용자 입력

input : 사용자로부터 데이터를 입력받는 함수

→ 입력 데이터를 문자 데이터 타입으로 반환

→ 함수의 파라미터는 입력 안내문의 목적으로 사용

rab = input(”반지름을 입력하세요:”)

→ 입력 대기 후 입력 값 반

프로그래밍 에러

설계 미숙, 결함 또는 문법 오류로 프로그램이 의도한 대로 결과를 생성하지 못하는 문제

→ 구문오류 (syntax error) : 문법체계에 적합하지 않는 명령문 입력 시 발생

→ 실행오류(runtime error) : 논리적으로 실행 불가능한 명령문 작성 시 발생

→ 의미오류(semantic error) : 의미적으로 잘못 해석되는 명령문 작성 시 발생

데이터타입 변환

데이터 타입을 다른 타입으로 전환

문자열 타입으로 변환 : str 함수

정수 타입으로 변환 : int 합수

소수 타입으로 변환 : float 함수

print 함수의 확장

여러 개의 데이터를 단일 함수로 출력 가능

→ 콤마(,)로 파라미터를 구분하여 입력

→ 데이터 사이에 공백(기본값) 이 자동으로 추가

→ sep 옵션을 변경하여 공백 변경 가능

선택구조

특정 영역 내의 명령문에 대한 실행 여부를 프로그램 실행 과정 중 결정하는 구조

→ 실행 여부는 조건에 따라 결정

검사 → if(정상) → 배송

    → if(불량) → 재생

선택구조의 구문형식

if boolean : 
				명령문1
				명령문2

→ 들여쓰기는 코드 블록을 표현

→ 특정 동작을 수행하는 한 라인 이상의 명령문의 집합

→ 스페이스 4칸 권고(PEP-8)

반복구조

특정 영역의 명령문을 여러 번 재실행하는 구조

→ 반복 횟수를 조건에 따라 결정

→ loop,iterate, repeat 라고 불

설계 ↔ 배송 (반복)

  • 구문형식

조건 제어 반복 :

while 반복 - 계속 - 조건 :
			내용

계수 제어 반복 :

for 계수 - 제어 - 변수 in 시퀀스 :
		내용

리스트

순서화된 값의 집합체를 저장 할 수 있는 데이터 타입

  • 단일 식별자로 연속된 저장 공간 접근 수단 제공
  • 개별 원소의 값을 수정, 추가, 삭제 가능
  • 원소(element)의 나열을 저장할 수 있는 시퀀스 타입 중 하나 ( 리스트, 세트, 투플, 딕셔너리 등)

리스트의 구문형식

list([원소 시퀀스])

[원소 시퀀스]

→ 인용부호 [] 를 사용하여 표현, 원소는 콤마(,)로 나열

인덱스 연산자

시퀀스 타입의 원소에 접근하는 연산자

→ 접근 연산자 [,] 사용

→ 원소에 부여된 인덱스 번호로 지칭

hei_list[1,2,3,...,31]
// hei_list[0] -> 1
// hei_list[1] -> 2
// hei_list[2] -> 3
// hei_list[hei_list.lenght - 1] -> 31

리스트 생성 자동화

리스트 내 원소에 규칙성이 있는 경우

생성 자동화를 위해 함수 사용 가능

range(a,b,k)
// a 생략 시 기본 값 0
// k 생략 시 기본값 1

range(1,100,1) // 1 ~ 99까지 1씩 증가 의 배

a 부터 b보다 작은 값까지 k씩 증가 시퀀스 생성

중첩 반복 구조

반복 구조 내 다른 반복 구조를 내포한 형식

for 계수-제어-변수 in 시퀀스1:
		for 계수-제어-변수2 in 시퀀스2:
				내용

format 함수

데이터를 양식에 맞춰 형식화

format("변경 대상 데이터", "정렬방향 , 필드 폭 , 데이터 타입(d,s)")
format("구구단 표", ">10s")
728x90

'KNOU > 요약정리' 카테고리의 다른 글

[python] 객체지향  (0) 2023.05.16
[python] 함수  (0) 2023.05.16
[python] 파이썬의 이해  (0) 2023.05.16
[C 프로그래밍] 메모리 동적 할당  (0) 2023.05.10
[C 프로그래밍] 파일처리함수  (0) 2023.05.10

댓글