전체 글 436

컴퓨터C프로그래밍 06 배열

배열 개요와 선언 1. 배열(array) 1) 배열 개요- 여러 변수들이 같은 배열이름으로 일정한 크기의 연속된 메모리에 저장되는 구조- 배열을 이용하면 변수를 일일이 선언하는 번거로움 해소- 배열을 구성하는 각각의 변수를 반복 구문으로 쉽게 참조 가능 2) 배열의 정의- 저장공간인 원소를 동일한 크기로 지정된 배열크기만큼 확보한 연속된 저장공간- 배열의 중요 요소: 원소 자료유형, 배열이름, 배열크기 3) 배열 선언 구문원소_자료유형 배열이름[배열크기]- 배열크기는 리터럴 상수, 매크로 상수 또는 이들의 연산식이 허용되나 변수는 사용할 수 없다- 매크로 상수는 결국 리터럴 상수로 바뀌어 컴파일되므로 문제 없이 선언 가능 4) 배열 선언 문법 오류- 변수와 const 상수는 배열크기로 사용 불가능변수와..

컴퓨터C프로그래밍 05 반복

반복 1. 반복: 순환 또는 루프(loop) - 반복 몸체(repetition body)- 반복 조건을 만족하면 일정하게 반복되는 블록- 중괄호 { } 사용 2. while / do while / for while () { // 반복몸체(loop body);;}do { // 반복몸체(loop body);; } while ();for (; ; ) {// 반복몸체(loop body);;} 3. 함수 printf() 3번 반복 호출 예제 1) 섭씨 온도는 12.46도에서 10씩 2번 증가- 각각의 화씨 온도 출력섭씨(C)화씨(F)12.4654.4322.4672.4332.4690.43 2) 화씨->섭씨 변환연산식F(화씨온도) = 9/5C(섭씨온도)+32 3) 변환연산식을 코드로 작성double celsi..

컴퓨터C프로그래밍 04 연산자와 조건

연산자 1. 연산식 & 연산자 1) 연산식 (expression) - 변수와 다양한 리터럴 상수, 함수의 호출 등으로 구성되는 표현식- 연산식은 항상 하나의 결과값을 가짐3+4피연산자연산자피연산자연산식(표현식, 수식)-> 연산식의 결과값: 7 2) 연산자(operator)+, -, *, /, % 3) 피연산자(operand)- 연산(operation)에 참여하는 변수나 상수 2. 대입연산자 - 오른쪽 연산식 결과값을 왼쪽 변수에 저장하는 연산자- 왼쪽 부분에는 반드시 하나의 변수만이 올 수 있음- l-value, r-valuevar=exp왼쪽은 반드시 값을 저장할 수 있는 변수여야 한다 오른쪽은 연산식으로 결과값이 왼쪽 변수에 저장된다ex.n=2;n=n+1; // 2+1=3을 n에 저장n=n+3*4;..

컴퓨터C프로그래밍 03 C 프로그래밍 기초

예약어와 식별자 1. 예약어 1) 예약어: 문법적으로 고유한 의미를 갖는 예약된 단어- 이 단어들은 다른 용도(변수 등)로 사용해서는 안 됨- 키워드(keyword)라고도 부름- C에서 사용되는 기본 키워드로 문법적인 고유한 의미가 있다autodogotosignedunsignedbreakdoubleifsizeofvoidcaseelseintstaticvolatilecharenumlongstructwhileconstfloatreturntypedef defaultforshortunion : 프로그래밍 언어를 학습한다는 것은 이러한 예약어를 사용한다는 뜻 2. 식별자(identifiers) 1) 식별자: 프로그래머가 스스로 선정(정의)해 사용하는 단어- 변수명, 함수명 등으로 사용 1) 식별자 제한 조건- ..

컴퓨터C프로그래밍 02 C 프로그래밍 첫걸음

프로그래밍 절차 1. 프로그램 구현 과정(SW 개발 5단계) 1) 요구 분석: 기능 분석2) 설계3) 구현: 코드 작성4) 검증5) 유지보수 -> SW 개발 과정 연구 분야: 소프트웨어 공학 2. C프로그램 구현 과정 1) 프로구램 구상2) 소스 편집3) 컴파일4) 링크5) 실행 : 3), 4), 5)는 IDE에서 한번에 가능 3. 소스 편집 1) 소스 파일(source file) 또는 소스코드(source code)- 프로그래밍 언어로 일련의 명령어가 저장된 파일- 텍스트 파일 2) 소스 파일 확장자- C언어: *.c- 자바: *.java- C++: *.cpp 4. 컴파일 1) 컴파일러(compiler): 고급언어에서 기계어를 생성하는 프로그램- 소스파일에서 기계어로 작성된 목적파일(object..

컴퓨터C프로그래밍 01 C 언어 개요와 개발환경 설치

프로그래밍 언어 개요 1. 프로그램의 개요 프로그램: 컴퓨터, 스마트폰에서 특정 목적의 작업을 수행하기 위한 관련 파일의 모임- 특정 작업을 수행하기 위해 그 처리 방법과 순서를 기술한 명령어와 자료로 구성- 컴퓨터에게 지시할 일련의 처리 작업 내용을 저장- 즉, 사용자의 프로그램 조작에 따라 컴퓨터에게 적절한 명령을 지시 ex.스마트폰의 카카오톡, 일기예보 등 다양한 앱(app)컴퓨터의 MS워드나 아래아한글 등 2. 프로그래밍 언어 - 프로그램을 개발하기 위해 사용하는 언어- 사람과 컴퓨터가 서로 의사 교환을 하기 위한 언어- 사람이 컴퓨터에게 지시할 명령어를 기술하기 위해 만들어진 언어 1) 다양한 프로그래밍 언어- C언어: 윈도우 운영체제를 개발한 주력 언어이며 시스템에 들어가는 임베디드 소프트..

컴퓨터C프로그래밍 00 C 언어 개발환경 설치

Visual Studio 설치 1. 통합개발환경(IDE) - IDE(Integrated Development Environment): 프로그램 개발에 필요한 편집기(editor), 컴파일러(compliler), 링커(linker), 디버거(debugger) 등을 통합하여 편리하고 효율적으로 제공하는 개발 환경 2. Visual Studio - 마이크로소프트(MS) 사에서 개발 - 여러 프로그래밍 언어와 환경을 지원하는 통합개발환경- 프로그램 언어 C/C++ 뿐만 아니라 C#, JavaScript, Python, Visual Basic 등 여러 프로그램 언어를 이용 - 응용 프로그램 및 앱을 개발할 수 있는 다중 플랫폼 개발 도구- 비주얼 스튜디오 프로페셔널(professional)- 비주얼 스튜디오 ..

인공지능시스템 03 문제풀이 (2)

경험적 탐색 1. 경험적 탐색: 목표상태를 보다 신속하게 탐색하기 위해 경험적인 정보를 활용하는 탐색 방법 - 경험적 탐색은 목표상태를 보다 효과적으로 탐색하기 위해 경험적 지식을 평가함수에 반영* 평가함수: 어떤 상태가 주어졌을 떄 그 상태를 거쳐 가는 것이 목표상태로 가는 데 얼마나 바랍직한가를 나타내는 함수-> 해를 향해 가는 데 필요한 비용, 해로 향하는 경로 상에 존재할 가능성 등 2. 평가함수 1) 평가함수의 구성 요소: 출발노드 S에서 출발해 노드 n까지 도착했을 때,노드 n의 평가함수의 정의에 포함될 수 있는 비용- g(n): 출발 노드 S로부터 현재상태를 나타내는 노드 n까지 도달하는 데 소비한 경로비용- h(n): 노드 n으로부터 목표노드 G까지 도달하는 데 필요한 경로비용-> ĥ(..

인공지능시스템 02 문제풀이 (1)

문제풀이 1. 문제풀이의 개념 :직관적으로 단순하게 해결할 수 없는 문제에 대해문제를 파악하고 문제의 해에 이르는 방법을 찾아내는 일련의 과정 문제풀이에 사용될 수 있는 전략: 경험적 방법 EX 1. 8-퍼즐 문제 EX 2. 하노이 탑 문제 문제의 표현 1. 문제의 상태를 컴퓨터로 표현 상태(state): 퍼즐 조각 배치 형태↓* 상태묘사(state description): 풀이하고자 하는 문제의 상태를 컴퓨터로 처리하기 위한 적절한 자료구조로 표현한 것↓초기상태: 최초에 주어진 문제의 상태↓목표상태: 풀이된 결과에 해당되는 문제의 상태↓연산자(operator): 문제의 어느 한 상태로부터 변화할 수 있는 다른 상태로 변환하는 도구로서, 변환 테이블이나 변환 함수로 구현함 2. 상태묘사: 풀이하..

인공지능시스템 01 인공지능 개요

지능이란 무엇인가 : 인공지능 시스템에서 필요한 '지능'의 개념에 대한 이해 1. 지능의 사전적 정의 1) Webster 사전: the ability to learn or understand or to deal with new or trying situations 2) 표준국어대사전: 새로운 대상이나 상황에 부딪혀 그 의미를 이해하고 합리적인 적응 방법을 알아내는 지적 활동의 능력 => 문제해결 능력, 학습 능력, 지식 활용 능력, 인지 능력, 다양한 상황에 대한 적응 능력 등 2. 지능이 사용되는 문제의 예 EX 1. 알파벳 배열EX 2. 도형의 배열EX 3. 필기 숫자 인식 문제(MNIST 데이터 집합) 지능 게임: 컴퓨터의 지능적 행동 능력 평가 1. 튜링 테스트(Turing Test): ..