프로그래밍언어 컴퓨터정보과권용광 CONTENT 1. 컴퓨터언어와프로그래밍의개념 2. 프로그래밍과정과컴퓨터언어의계층 3. 프로그래밍언어의발달과정과분류 4. 프로그래밍코딩의실제예 컴퓨터언어와프로그래밍의개념 프로그래밍과정과컴퓨터언어의계층구조 프로그래밍언어

Similar documents
Microsoft PowerPoint - chap01-C언어개요.pptx

untitled

Microsoft PowerPoint - 00_(C_Programming)_(Korean)_Computer_Systems

1

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

프입2-강의노트-C++배경

Microsoft PowerPoint - PL_03-04.pptx

쉽게 풀어쓴 C 프로그래밍

3차시.ppt


02 C h a p t e r Java

Microsoft PowerPoint - C프로그래밍-chap00.ppt [호환 모드]

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

프로그래밍 Company 서울대학교통계학과 2010년 2학기컴퓨터의개념및실습 ( 1

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

자료형 크기 값의범위 접미문자 Byte형 1바이트 0~255까지 없음 Boolean형 2바이트 True, False 없음 Integer형 2바이트 ~ 32767까지 % Long형 4바이트 -2,147,483,648 ~ 2,147,483,648까지 & Sin

Microsoft PowerPoint - chap-02.pptx

초보자를 위한 C++

PowerPoint 프레젠테이션

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - chap-02.pptx

No Slide Title

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

<4D F736F F F696E74202D204C BAB8C3E6BCB3B8ED202D20C7C1B7CEB1D7B7A1B9D6C0DBBCBAB0FAC1A42C C F>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

PowerPoint 프레젠테이션

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

1 처리능력 (Throughput) : 일정시간내에시스템이처리하는일의양 2 반환시간 (Turnaround time) : 시스템에작업을의뢰한시간부터처리가완료될때까지걸리는시간 3 사용가능도 (Availability) : 시스템을사용할필요가있을때즉시사용가능한정도 4 신뢰도

PowerPoint Presentation

C++ Programming

PowerPoint 프레젠테이션

Microsoft PowerPoint - 1C언어소개0.PPT

C 언어와 프로그래밍 개요

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,

PowerPoint 프레젠테이션

초보자를 위한 ASP.NET 21일 완성

Microsoft PowerPoint - 15-MARS

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

PowerPoint 프레젠테이션

Microsoft PowerPoint - Java7.pptx

PowerPoint Template

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

초보자를 위한 자바 2 21일 완성 - 최신개정판

PowerPoint 프레젠테이션

PowerPoint Template

쉽게 풀어쓴 C 프로그래밍

PowerPoint 프레젠테이션

OCW_C언어 기초

2002년 2학기 자료구조

PowerPoint 프레젠테이션

슬라이드 1

초보자를 위한 C# 21일 완성

JVM 메모리구조

<342EBAAFBCF620B9D720B9D9C0CEB5F92E687770>

쉽게

C++ Programming

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

3장

Microsoft PowerPoint - C++ 5 .pptx

Interstage5 SOAP서비스 설정 가이드

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint Presentation

Microsoft PowerPoint - chap01.pptx

슬라이드 1

슬라이드 1

17장 클래스와 메소드

Microsoft PowerPoint - 1장 C 프로그래밍 시작하기 pptx

Microsoft PowerPoint - aj-lecture1.ppt [호환 모드]

Chap 6: Graphs

C프로-3장c03逞풚

PowerPoint Presentation

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

PowerPoint Presentation

Javascript

PowerPoint 프레젠테이션

강의의목표 Compiled Language vs. Interpreted Language 차이이해 Compiling의의미이해 Compiling의결과물확인 통합개발환경구축 Eclipse 통합개발환경을통한예제의 Bulid 및실행 Formatter 등의편집지원기능, Refer

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F31C2F7BDC32E >

C언어 및 실습 C Language and Practice

강의10

Network Programming


강의개요

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

ThisJava ..

gnu-lee-oop-kor-lec06-3-chap7

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

3ÆÄÆ®-14

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

ISP and CodeVisionAVR C Compiler.hwp

Design Issues

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

Week1

PowerPoint 프레젠테이션

Chap7.PDF

Transcription:

프로그래밍언어 컴퓨터정보과권용광 CONTENT 1. 컴퓨터언어와프로그래밍의개념 2. 프로그래밍과정과컴퓨터언어의계층 3. 프로그래밍언어의발달과정과분류 4. 프로그래밍코딩의실제예 컴퓨터언어와프로그래밍의개념 프로그래밍과정과컴퓨터언어의계층구조 프로그래밍언어의발달과정과분류 프로그래밍코딩 2 1

컴퓨터언어와프로그래밍의개념 Chapter 5 프로그래밍언어 01 컴퓨터언어와프로그래밍의개념 컴퓨터언어와프로그래밍 컴퓨터언어 컴퓨터시스템에서작동하는소프트웨어를작성하기위한언어 컴퓨터와의의사소통을위한약속 프로그래밍언어 프로그램작성에필요한언어 정해진규칙에따라정의된인공적인언어 ( 예 ) C, Basic, Java 등 4 2

01 컴퓨터언어와프로그래밍의개념 컴퓨터언어와프로그래밍 컴퓨터언어 & 컴퓨터프로그래밍 C 언어와 C 언어의프로그래밍은다르다. C 언어 = 컴파일러. C 언어를프로그래밍할수있게하는컴파일러소프트웨어 C 언어프로그램 = C 언어를이용하여개발된소프트웨어 Test.cpp #include <stdio.h> main(){ int a=10, b=20; int sum; sum= a+b; : : } C 언어컴파일러 Test.exe 5 컴퓨터언어와프로그래밍의개념 소프트웨어개발과현실세계 소프트웨어개발작업 è 실제세상을추상화및구체화하는과정 현실세계 학생 수강정보 과목 데이터모델 학번이름전공 학기학번과목번호 과목번호과목명대상학년학점 6 3

컴퓨터언어와프로그래밍의개념 좋은디자인의조건 Good Design is simple. Good Design is hard. Good Design looks easy. Good Design resembles nature. 7 컴퓨터언어와프로그래밍의개념 Good 프로그래밍언어의조건 Good 프로그래밍언어란? 1. 언어의개념이명료하고, 문법적구조가일관성있으며단순해야한다. C à sum=a+b; COBOL à ADD A TO B GIVING C. 2. 좋은프로그래밍언어는만들어지기가어렵다. 3. 좋은프로그래밍언어는배우기쉬워야한다. 4. 프로그래머의생각을구현하기가용이해야한다. 5. 프로그램의호환성, 신뢰성, 모듈화, 효율성등이좋아야한다. 6. 언어의확장성이우수해야한다. 7. 검증이쉬워야한다. 8 4

컴퓨터언어와프로그래밍의개념 Good 프로그래머란? 잘운영되는소프트웨어를빠른시간내에만들수있는능력을갖는사람 9 Section 프로그래밍과정과언어의계층 Chapter 5 프로그래밍언어 5

프로그래밍과정과컴퓨터언어의계층 언어처리프로그램과종류 종류기능설명 Compiler 고급언어 컴파일러 저급언어 번역기 Linker 여러프로그램 링커 로드모듈 기계어로된여러프로그램을묶어서실행가능한기계어 ( 로드모듈 ) 로번역 Loader 로드모듈 로더 주기억장치 로더모듈을실행가능한기계어로번역하여주기억장치에적재 Preprocessor 고급언어 프리프로세서 고급언어 컴파일러이전에, 특정변수를그것에대응하는정의된문자열로치환 Interpreter 고급언어 인터프리터 실행언어 고급언어를적당한중간코드까지만번역해서곧바로실행하는언어 Assembler 어셈블리어 어셈블러 기계어 원시언어가어셈블리언어인번역기 11 프로그래밍과정과컴퓨터언어의계층 좁은의미의프로그래밍과정 프로그램작성과정, 번역과정, 실행과정등으로구분. 프로그램작성과정은프로그래밍언어마다작성 (coding, 코딩 ) 규칙이다름. 기계어 컴퓨터시스템 사용자 어셈블리프로그램 어셈블러 기계어 실행프로그램 결과 컴파일러프로그램 컴파일러 인터프리터프로그램 인터프리터 12 6

프로그래밍과정과컴퓨터언어의계층 기계어 기계어 컴퓨터가직접인식할수있는언어 CPU의명령과 2진코드를 1:1로매칭. ( 따라서 CPU별로명령어는다름 ) ( 예 ) 0000 0000 à A + B 0000 0001 à A B 0000 0010 à A의값을 B로옮겨라 등등 [Quiz] 만일, 컴퓨터가 32bit 방식에서 64bit 방식으로바뀌면 어셈블리어 2진부호를니모닉화한언어 ( 예 ) 0000 0000 à A + B à ADD A, B 0000 0001 à A B à SUB A, B 0000 0010 à A의값을 B로옮겨라 à MOV B, A 13 프로그래밍과정과컴퓨터언어의계층 컴파일기법을이용한변환과실행 원시프로그램 (Source) Syntax Error 목적프로그램 (Object) Linking Error 실행프로그램 Runtime Error 실행 Compile Link Load Library Compiler Linker Loader 14 7

프로그래밍과정과컴퓨터언어의계층 컴파일기법 : C 언어의변환과실행 소스파일소스파일리소스 Resource Scripts(.RC) C Preprocessor (CPP) C/C++ Compiler Object files Object files Resource Compiler (RC) Compiled Resource Files Library Compiler Object files Linker Final Executable / Binary 15 프로그래밍과정과컴퓨터언어의계층 인터프리터기법을이용한프로그램변환 & 실행 고급언어를적당한중간코드까지만번역해서곧바로실행 인터프리터 : 원시코드명령어들을한번에한줄씩읽어서실행하는프로그램. 프로그래밍언어 : BASIC 입력자료 고급언어로작성된원시프로그램 인터프리터 실행결과 장점 : 고급프로그램을대화식으로직접실행하여결과를알수있다. 따라서계발단계또는교육과정에서유용 16 8

프로그래밍과정과컴퓨터언어의계층 혼합기법을이용한프로그램변환과실행 혼합기법 : 컴파일러와인터프리터기법을혼용한형태 1. 프로그램을좀더실행시키기쉬운형태로번역한후, 2. 그번역된형태의프로그램을시뮬레이션으로실행하는구현기법 원시프로그램적당한번역과정중간형태코드 입력자료 인터프리터 실행결과 17 프로그래밍과정과컴퓨터언어의계층 혼합기법 : Java 의프로그램변환 & 실행 Java Class Name.java Java Compiler (javac) Java Class Name.class Java Interpreter (java) 실행결과 18 9

프로그래밍과정과컴퓨터언어의계층 프로그래밍언어와자바언어의비교 A 기종컴파일러 A 기종인터프리터 A 기종 Java 소스코드 B 기종컴파일러 BYTE 코드 ( 플랫폼독립 ) B 기종인터프리터 B 기종 A 기종컴파일러 A 기종기계어코드 A 기종 일반소스코드 B 기종컴파일러 B 기종기계어코드 B 기종 19 프로그래밍과정과컴퓨터언어의계층 기계어와어셈블리언어의실행과정 기계어 최초의컴퓨터언어 컴퓨터가번역과정을거치지않고직접인식할수있는유일한언어 어셈블리언어 기계어의명령을기호나연상코드 (mnemonic code) 를대신사용해서프로그램을작 성하기때문에 기호언어 (symbolic language) 라고도한다. 종류 기계어 (Machine Lang.) 어셈블리 (Assembly Lang.) 설명 0/1 의조합형태로작성 프로그램의작성과이해가어렵다. 프로그램의유지보수가힘들다. 컴퓨터에관한사전지식이필요 기호어 기계어의단점보완 기계어에비해프로그램작성이용이 기계어보다이해와유지보수가편리 어셈블러에의한번역이필수 20 10

프로그래밍과정과컴퓨터언어의계층 넓은의미의프로그래밍과정과소프트웨어공학 SW 에요구되는기능, 성능, 인터 페이스등사용자의요구사항을 구체적으로이해하는단계 설계단계에서만들어진설계사양서를바탕으로프로그램을작성코딩, 디버깅, 단위태스킹수행 문제분석 알고리듬설계 프로그램코딩 프로그램실험실행 프로그램문서와 / 유지보수 기본설계 : 개발될 SW에대한전체적인 HW 및 SW구조, 제어, 제어구조, 자료구조의개략설계를작성상세설계 : 각단위프로그램에대한사항을상세기술 단위프로그램으로구현된결과를통합시키며시험전체시스템이정확하게실행하는가를확인 21 03 프로그래밍과정과컴퓨터언어의계층 프로그래밍언어의계층과프로그램내장방식 프로그래밍언어의계층 High Level Lang. Assembly Lang. Machine Lang. Hardware 22 11

03 프로그래밍과정과컴퓨터언어의계층 프로그래밍언어의계층과프로그램내장방식 폰노이만의프로그램내장방식에서의번역기 1940 년대중반미국프린스턴대학의폰노이만 (Von Neumann) 교수가컴퓨터에 계산명령을기억시키는프로그램내장방식제시 23 Section 03 Chapter 5 프로그래밍언어 Image from http://duduchina.co.kr 12

01 프로그래밍언어의초기와발달과정 프로그래밍언어의발달과정 년도 발달과정과특징 1930~1940 프로그래밍표기의창조적인방법들소개 (Tuning, Flow diagram) 1950년대 기계어 / 어셈블리어등장 1954~1957 Fortran ( 공학계산용 ) 1958~1960 알골60 1959~1960 Cobol ( 사무처리용 ) 1950년후반 LISP ( 인공지능분야관련 ) 1964 BASIC ( 교육용, 가정용 ) 1971 C언어 ( 하드웨어에근접된언어 ) 1970년대 자료추상화, 병행성, 증명등의메커니즘을집중시도 1980년대 Smalltalk 등객체지향언어개발 1990년대 WEB 활성화. Java 등장 25 01 고급프로그래밍언어의초기와발달과정 Fortran (1954) COBOL(1959) ALGOL(1958) LISP(1958) PL/1(1964) BASIC(1964) Simula(1964) PASCAL (1970) C (1971) SmallTalk (1971) Ada (1980) Perl (1987) C++ (1983) Visual Basic (1991) HTML(1990) Delphi (1995) Javascript (1995) PHP (1995) Java(1994) XML (1996) C# (2000) VB.NET (20) 26 13

프로그래밍언어의계층별분류 구분 특징 기계어 2 진수를사용하는기계중심의언어 저급언어 어셈블리어 기계어와 1:1 로대응하는기호로이루어진언어기계어보다는쉽다. 고급언어 컴파일러언어 인터프리터언어 고급언어로작성된프로그램으로, 고급명령어를기계어로번역 FORTAN, COBOL, C 프로그래밍언어의소스코드를바로실행하는컴퓨터프로그램또는환경원시코드를한줄씩실행 BASIC, LISP 27 FORTRAN (Formular Translator) 1954 년 IBM 컴퓨터에서과학계산을위해개발된고급언어 수학연산식의기술이용이 Fortran 77 (~1990 년대 ), Fortran 90/95, Fortran 2003, Fortran 2008 최신버전에서는 VS2008 에서 Visual Fortran 실행 Source.f90 PROGRAN power READ (*,*) x,y Z=x**y WRITE (*,*) z END PROGRAN 28 14

COBOL (COmmon Business-Oriented Language) 제 3 세대프로그래밍언어이고, 1959 년일반사무처리언어로개발되어지금도사용 코볼 20(COBOL 20) 부터객체지향프로그래밍도포함 29 BASIC (Beginner's All-purpose Symbolic Instruction Code) 1964 년에교육용으로개발된절차형언어 인터프리터방식또는컴파일러방식 10 PRINT "Hello, world! 20 END INPUT " 이름을입력하세요 "; UserName$ PRINT " 안녕하세요 "; UserName$ DO INPUT " 별이몇개필요하세요? "; NumStars Stars$ = " Stars$ = REPEAT$("*", NumStars) '<-ANSI BASIC PRINT Stars$ DO INPUT " 별이더필요하세요 (Y/N)?"; Answer$ LOOP UNTIL Answer$ <> " LOOP WHILE UCASE$(LEFT$(Answer$, 1)) = "Y PRINT " 안녕히가세요 "; FOR A = 1 TO 200 PRINT UserName$; " "; NEXT A PRINT 30 15

C (Beginner's All-purpose Symbolic Instruction Code) 1972 년에유닉스운영체제에서사용하기위해개발된프로그래밍언어 시스템프로그램개발에적합 ( 하드웨어에대한직접제어가가능 ) #include <stdio.h> int main(void) { printf("hello, world\n"); return 0; } 31 03 세대별분류 세대 종류 1 세대 1945 년기계어 2 세대 1950 년대중어셈블리어 3 세대 1960 년대초 4 세대 1970 년대초 고급언어. Fortran, COBOL, BASIC, C 초고급언어, C++, VB, Delphi 5 세대 1980 년대초자연언어 절차적언어 문제해결형언어 ( 비절차적언어 ) ( 예 ) 마우스나키보드이벤트가일어나면절차에상관없이비절차적으로실행 시각적그래픽인터페이스를통해 3G/4G 언어컴파일러로컴파일할수있는원시코드를작성 C++, VC++, Boland C++, VB, Java, JavaScript, ASP, PHP,JSP, C#, Eclipse 32 16

03 패러다임에따른분류 네트워크가중심이되는시대를맞아자바처럼분산처리가가능하며, 웹을기반으로 하는프로그래밍언어시대가도래함 패러다임 (Paradigm) : 한시대의사람들의견해나사고를근본적으로규정하고있는인식의체계 분류 객체지향형 (OOP) 함수형 특징 구조적프로그래밍의문제해결 객체 - 기능이유사한것끼리모아놓은집합체로속성 (property) 과메소드 (method) 를포함 C++, Java, VB, C# 함수호출에기반한프로그래밍접근 계산적측면에서효율적 선언형 목표를명시 ( 전통적인명령형은알고리듬을명시 ) 웹페이지 ( 선언형 ) 는제목, 글꼴, 그림과같이 무엇 이나타나야하는지를묘사하고, 어떤방법으로 화면에출력하는지를묘사하지는않음 33 C++ 그리고 Visual C++ C++ C 언어의확장 (C 언어 + 객체지향성 ) 이므로시스템프로그래밍에적합 Class, 연산자중복, 가상함수와상속성 비야네스트롭스트룹 Visual C++, Visual.NET MS 사가개발한 C++ 언어와 windows 의개발통합환경을결합하여 Windows 시스 템을쉽게개발할수있는소프트웨어언어및도구 # include <iostream> // std::cout을제공 using namespace std; // std namespace를사용할수있게함 int main() { cout << "Hello, world!" << endl; return 0; } 34 17

Visual Basic MS사가 Basic과 Windows 통합개발환경을통합하여 Windows 시스템을쉽게개발할수있게만든소프트웨어언어및도구 이벤트기반프로그래밍언어 Private Sub Form_Load() ' Hello, World 라는내용의메시지상자를띄웁니다. End Sub MsgBox "Hello, World! 35 James Gosling Java 가전제품의네트워크제어를목적으로탄생 (SUN Microsystem 社 ) 현재웹어플리케이션개발과모바일기기용소프트웨어개발에널리사용 문법적으로 C 언어에매우유사 Java 언어로작성된프로그램을컴파일러는바이트코드라는바이너리형태로변환이를실행하기위해서는 JVM(Java Virtual Machine) 이필요따라서, 바이트코드는 CPU나운영체제의제한이없음 결과적으로, 플랫폼에독립적인객체지향언어가탄생 Eclipse, J builder는자바와 Windows 통합개발환경을결합한소프트웨어언어및도구 애플릿 (Applet) - HTML에포함되어웹브라우저에서실행되는자바프로그램 HelloWorldApp.java public class HelloWorldApp { public static void main(string[ ] args) { System.out.println("Hello World!"); // Hello World 를출력 } } 36 18

Tim Berners HTML (Hyper Text Markup Language) 웹문서를작성할수있도록한표준형식 ( 일종의서식언어 ) 기능의한계 Flash 웹애니메이션 VRML 3D 구현 JAVA 다양한효과 JavaScript 동적인효과 ASP 게시판방명록 <html> <head> <title>hello HTML</title> </head> <body> <p>hello World!</p> </body> </html> 37 JavaScript 상호작용하는동적웹문서를작성할수있도록개발된웹用스크립트언어 JAVA 와직접적인연관성은없다. 최신버전 : JavaScript 1.8.5 (2013년 1월기준 ) brendan eich <html> <head> <meta http-equiv="content-type" content="text/html" charset="utf-8" /> <title> 자바스크립트페이지 </title> </head> <body> <script type="text/javascript">document.write("<p>hello World!</p>"); </script> <noscript><p> 자바스크립트테스트 </p></noscript> </body> </html> 38 19

ASP (Active Server Page) MS사가동적인웹페이지생성을위해개발한서버측스크립트엔진 ASP à ASP.NET Client의요구를받아 Web Server에서처리하여그결과를 HTML document 형태로생성하여 Client에게회송 다른웹서버용프로그래밍언어 : PHP, JSP <html> <body> <% Response.Write "Hello World!" %> </body> </html> 39 웹페이지의동작 정적페이지 동적페이지 40 20

JSP (Java Server Pages) Sun Microsystem에서만든웹언어 HTML 내에 JAVA 코드를삽입하여웹서버에서동적으로웹페이지를생성하여웹브라우저로돌려주는언어웹어플리케이션서버에서동작 특징 JAVA 의장점을사용 다양한 servlet 간데이터공유 많은사용자의원활한접속처리 41 03 인기있는프로그래밍언어와선택기준 프로그래밍언어는컴퓨터를제어하기위해서사용된다. 프로그래밍언어도자연어와같이의미를정의하기위해서구문적, 의미적인규칙을사용한다. 현재다양한프로그래밍언어들이존재하고, 매년새로운것들이생겨나고있으나, 대부분의언어는많은사람들이사용하는일반적인언어로발전하지못하며, 많은전문프로그래머들은몇개의다른언어를사용한다. 최근에인기있는프로그래밍언어에대한조사사용자와개발자, 산업현장의사용측면등바라보는관점과조사방법, 조사시점에서차이에따라어떤프로그래밍언어가가장인기있는지널리사용되는측면에대한비교가여러가지있다. 여기에서는 TIOBE라는회사에서내는인덱스이며, 검색엔진을이용해인기도를측정 42 21

03 TIOBE Index 2014 TIOBE Index for May 2017 43 03 TIOBE Programming Community Index 44 22

Section 04 프로그래밍코딩의실제예 Chapter 5 프로그래밍언어 Image from http://duduchina.co.kr 01 프로그래밍코딩의실제예 절차적프로그래밍언어 C 언어프로그래밍실행결과 #include<stdio.h> main() { int a=10; int b=20; int sum,avg; sum=a+b; avg=sum/2; printf("this is the C language test program.\n\n"); printf("a=%d\n",a); printf("b=%d\n",b); printf(" 합 =%d\n",sum); printf(" 평균 =%d\n",avg); printf("good Bye.\n\n"); } 46 23

프로그래밍코딩의실제예 객체지향형프로그래밍언어 자바언어프로그래밍실행결과 public class Jv_3_2 { public static void main(string[] arg) { int x=100, y=30; } } System.out.printIn( ***** result ***** ); System.out.printIn( x+y = + (x+y)); System.out.printIn( x-y = + (x-y)); System.out.printIn( x*y = + (x*y)); System.out.printIn( x/y = + (x/y)); System.out.printIn( x%y = + (x%y)); System.out.printIn( x^3 = + (y*y*y)); 47 프로그래밍코딩의실제예 객체지향형프로그래밍언어 자바어플리케이션의프로그래밍과정 JavaClassName. Java Javac ( 자바컴파일러 ) JavaClassName.class Java ( 자바인터프리터 ) 실행결과 48 24

03 프로그래밍코딩의실제예 <html> <head> <title> 자바스크립트 </title> HTML 머리부분 <br> <script language="javascript"> // 자바스크립트머리시작 웹기반프로그래밍언어 document.write ("JavaScript head part<br><br>") // 자바스크립트머리끝 </script> </head> <body> HTML body part<br> <script language="javascript"> /* 자바스크립트 body start */ document.write ("JavaScript head part<br><br>") /* 자바스크립트 body end */ </script> </body> </html> 49 04 프로그래밍코딩의실제예 비절차적프로그래밍언어 Project1_1.vbp Option Explicit Private Sub Command1_Click() Text1.FontSize = 24 Text1.Text = 비베 6.0 에오심을환영!!! End Sub Private Sub Command2_Click() Text1.Text = End Sub Private Sub Command3_Click() End End Sub 50 25

04 프로그래밍코딩의실제예 비절차적프로그래밍언어 비주얼베이직 6.0 의통합개발환경구성요소 51 04 프로그래밍코딩의실제예 비절차적프로그래밍언어 비주얼베이직 6.0 의개략적인프로그래밍과정 프로젝트 생성 새로운폼에 컨트롤개체 배치 컨트롤개체 속성및지정 컨트롤개체이벤트프로시저작성 저장 실행 테스트 52 26

03 프로그래밍코딩의실제예 비절차적프로그래밍언어 비주얼베이직 6.0 의통합개발환경구성요소 53 감사합니다 27