1. 프로그래밍의 개념

  1. 알고리즘이란?
  1. 스크래치
  1. 프로그램 개발 과정

2.프로그래밍 언어

  1. C언어의 소개

고급언어
(C,C++,Java..)

어셈블리어

기계어

  1. 프로그래밍의 개념

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
  • 논리적 오류 주의
  • 버그 수정
  • 사용자의 요청