3단원-알고리즘과 프로그래밍
03 프로그래밍
1. 프로그래밍의 이해
- 프로그램은 입력된 데이터를 처리하여 결과를 도출하는 형태로 제작된다. 입력, 처리, 출력을 반복한다.
- 프로그램을 이용하여 문제를 해결할 때는 처리할 자료를 저장 장소에 기억 시켜 놓고 필요할 때마다 꺼내어 연산에 활용한다.프로그램이 처리할 자료를 넣어 두는 임시 저장 장소를 변수라고 한다.
- 많은 데이터를 효과적으로 처리하려면 리스트와 같이 데이터를 순차적으로 저장할 수 있는 구조를 활용하면 많은 양의 데이터를 효과적으로 처리할 수 있다.
2. 논리 연산과 제어 구조
연산자의 종류
- 산술 연산자 : +, -, x, / 등 학습된 기호를 사용해 계산을 수행한다.
- 비교 연산자 : 두 값 사이의 관계를 확인한다. (>, <, >=, <= 등)
- 논리 연산자 : 참/거짓에 따라 논리적 계산을 수행한다. (AND, OR, NOT)
*** 논리 연산자
AND 연산 : 주어진 조건이 모두 참일 때 결과값이 참
OR 연산 : 주어진 조건 중 하나 이상이 참일 때 결과값이 참
NOT 연산 : 주어진 조건이 참이면 거짓, 거짓이면 참. 결과의 반대
*** 제어구조
- 조건문
- 반복문
3. 함수와 디버깅
- 함수는 여러 명령어를 하나의 묶음으로 만들어 둔 것으로, 프로그램을 단순하고 이해하기 쉽게 구성할 때 사용한다.
- 소프트웨어를 개발할 때 큰 단위의 문제를 작은 단위로 나누는 것을 모듈화라고 한다.
함수의 특징
- 복잡하고 큰 프로그램을 작은 단위의 여러 프로그램으로 나눠서 구성할 수 있다.
- 반복되는 소스 코드를 함수로 만들어 불필요한 중복을 피할 수 있다.
- 프로그램의 오류를 수정하기 쉽다.
- 함수를 재사용해서 프로그래밍에 걸리는 시간을 줄일 수 있다.
- 여럿이 협업하여 프로그램을 만들 때 유용하다.
*** 내장 함수
: 프로그래밍 언어가 기본적으로 제공하는 함수
: 함수의 이름이 정해져 있어서 변경할 수 없다.
*** 사용자 정의 함수
: 프로그램 작성 시 개발자가 직접 정의하는 함수
: 개발자가 원하는 이름을 정해서 사용할 수 있다.
*** 오류 : 프로그램을 실행하면서 발생하는 문제나 원하는대로 작동하지 않는 상태
*** 디버깅 : 오류를 찾고 해결하는 과정
*** 최적화 : 오류없이 작동하더라도 프로그램이 효과적인지 분석하는 과정이 필요하고, 프로그램이 더 효율적으로 작동하도록 개선하는 작업
4. 문제를 해결하는 소프트웨어
소프트웨어 개발 과정
일상생활에서 문제 찾고 기획하기
: 데이터 수집 및 분석, 문제 이해, 문제 분석
: 실생활에서 겪는 문제를 찾고 소프트웨어로 개선이 가능한지 확인
: 문제 해결에 필요한 것이 무엇인지 분석
: 소프트웨어를 만들기 위해 필요한 데이터를 수정
알고리즘 설계
: 문제 분해, 추상화, 알고리즘
: 소프트웨어 실행 화면의 형태를 구상
: 필요한 기능을 나누어 정리
: 최적의 알고리즘을 설계
소프트웨어 구현하기
: 변수, 리스트, 연산자, 제어 구조, 함수
: 프로그래밍 언어를 활용한다.
소프트웨어 공유 및 평가
: 오류와 디버깅, 소프트웨어 평가, 소프트웨어 공유
: 만든 소프트웨어를 다른 사람들에게 공유하여 피드백을 받는다.
: 개선점을 찾아 기능을 추가
: 오류가 있으면 디버깅을 통해 개선
<정보 디지털교과서>
[중학교 정보] 3단원-알고리즘과 프로그래밍-01 추상화 | 무한연습
[중학교 정보] 3단원-알고리즘과 프로그래밍-02 알고리즘 | 무한연습
[중학교 정보] 3단원-알고리즘과 프로그래밍-03 프로그래밍 | 무한연습
[중학교 정보] 4단원-인공지능-01 인공지능의 이해 | 무한연습
[중학교 정보] 4단원-인공지능-02 인공지능의 활용 | 무한연습
[중학교 정보] 5단원-디지털 문화 - 01 디지털 사회의 이해 | 무한연습
[중학교 정보] 5단원-디지털 문화 - 02 디지털 윤리와 민주 시민 | 무한연습


