- 알고리즘이란?
- 스크래치
- 프로그램 개발 과정
2.프로그래밍 언어
- C언어의 소개
고급언어
(C,C++,Java..)
어셈블리어
기계어
- 프로그래밍의 개념
PG내장구조
- PG과 Data 모두 메인메모리에 저장됨
- 메인 메모리에 저장된 PG에서 이진수로 된 명령어들을 순차적으로 가져와서 실행함.
→PG을 쉽게 변경할 수 있게 하려면 Data처럼 메인 메모리에 놓고 하나씩 실행하자(폰노이만)
PGming언어(사람)←...컴파일러...→기계어(이진수 형태의 기계어)
PGming으로써 다양한 기능, 범용적인 기계의 역할 가능
작업지시==반드시 구체적으로
- 인간이 하고자 하는 작업을 COM에게 전달하는 역할
- 특정한 작업을 수행하도록 설계된 명령어들의 리스트
HW에 종속
기호로 표기 가능, 기호와 CPU명령어가 1:1대응되고 COM의 CPU가 달라지면 실행불가(==저급언어)
작성,이해,유지&보수 쉬움
ex. MOV AX, MIDSCORE
ex. 000011111 10111111...
컴파일러: 고급언어를 기계어로 바꾸는 PG
특정 COM의 구조나 프로세서에 무관하게, 독립적으로 PG을 작성할 수 있다.
ex. TotalScore= MidScore+FinalScore;
저수준&고수준 프로그래밍 가능
간결, 효율적인 언어
이식성이 뛰어남: 다른HW로 이식 쉬움
배우기 어려움, HW제어를 위한 포인터 등을 잘못 사용하는 경우..
추가
- C++== C+객체지향
- 임베디드 System: C사용(CPU와 메모리의 한계 때문에 객체지향 언어 사용 어려움)
COM이 수행할 단계쩍 절차를 기술한 것
알고리즘은 어떤 PGming언어로도 동일하게 표현 가능
문제를 해결하는 절차(또는 방법)
알고리즘은 여러 개 존재할 수 있다
알고리즘 표현 방법: 순서도/ 흐름도/ FlowChart
자료구조, 알고리즘 분야..
소스 작성
컴파일과 링크
알고리즘의 개발
실행과 디버깅
요구사항 분석
유지 보수
사용자, 고객의 요구(정확히 파악 필요)
- 핵심적인 부분
- 순서도와 의사코드
*.c
- *.obj
- 문법적 오류 주의
- *.exe
- 논리적 오류 주의
- 버그 수정
- 사용자의 요청