기초 프로그래밍 Yang-Sae Moon Department of Computer Science

Slides:



Advertisements
Similar presentations
Copyright © 2015 Pearson Education, Inc. 6 장 : 프로그래밍 언어.
Advertisements

Tcl/Tk 민 인학 한국 Tcl/Tk 커뮤니티.
멘토링 2 주차 장 프로그래밍을 위한 자바의 자료형  값이 변하지 않는 상수  메모리 기억공간인 변수.
Copyright © 2006 The McGraw-Hill Companies, Inc. 프로그래밍 언어론 2nd edition Tucker and Noonan 5 장 타입 “ 타입은 컴퓨터 프로그래밍의 효소이다 ; 프로그래밍은 타입을 통해 소화할만한 것이 된다.” 로빈.
C 언어 컴퓨터학과 C 언어 ( STS ) (Chap5. Selection-Making Decisions ) C 언어.
프로그래밍1 및 실습 (C언어) - 3장 기본자료형 (3.6부터 끝까지) -
제 1장 자바스크립트란 ?.
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
PHP programming 2000년 11월 13일 데이터베이스 연구실 김호숙.
C++ Espresso 제1장 기초 사항.
제 1장 C 언어의 소개.
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
시스템 생명 주기(System Life Cycle)(1/2)
제 6 장 데이터 타입 6.1 데이터 타입 및 타입 정보 6.2 타입의 용도 6.3 타입 구성자 6.4 사례 연구
Ruby 프로그래밍 1 문자열 입출력 제어구조 looping 함수 정의
2주 실습강의 Java의 기본문법(1) 인공지능연구실.
Chapter 02 자바 기본구조 자바 프로그래밍의 기초적인 문법을 소개
Power Java 제4장 자바 프로그래밍 기초.
시스템 생명 주기(System Life Cycle)(1/2)
프로그래밍언어론 2nd edition Tucker and Noonan
2. PHP 프로그래밍 웹 브라우저로 데이터 전송 주석 작성하기 변수/상수 문자열/숫자형 HTML 폼 만들기
Ch2-2. VHDL Basic VHDL lexical element VHDL description
명품 Java Programming.
2장 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
IS lab. 김건영 Awk, Posting list IS lab. 김건영
제 2 장 변수와 상수.
Chapter 3 Flow of Control
7부 WMLScript 다이나믹 폰페이지 만들기
5장. JSP 페이지의 스크립트 요소 이 장에서 배울 내용 : JSP페이지를 구성하는 구성요소중 하나인 스크립트요소를 학습하는 장으로 JSP페이지의 스크립트의 3가지 요소인 선언문(Declaration), 스크립트릿(Scriptlet), 표현식(Expression)에 대해.
프로그래밍 원리 Chapter 05 자바스크립트 기초 신한대학교 IT융합공학부 박 호 균.
데이터의 표현과 컴퓨터 연산 Prof. Jae Young Choi (최재영 교수)
5장 이름, 바인딩, 영역(2) 순천향대학교 컴퓨터공학과 하상호.
adopted from KNK C Programming : A Modern Approach
(Web Programming & Practice)
Chapter 2 Lexical Elements, Operators, and the C System
컴퓨터 개론 및 실습 Dept. Computer Eng. Hankuk University of Foreign Studies
JavaScript 기초 Chapter 8 Part II
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
제 2장 어휘구조와 자료형 토 큰 리 터 럴 주 석 자 료 형 배 열 형.
Introduction to Programming Language
Java의 정석 제 2 장 변수(Variable) Java 정석 남궁성 강의
CGI (Common Gateway Interface)
프로그래밍 원리 Chapter 04 자료 처리와 연산자 신한대학교 IT융합공학부 박 호 균.
4장 - PHP의 표현식과 흐름 제어-.
[INA470] Java Programming Youn-Hee Han
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
프로그래밍언어론 2nd edition Tucker and Noonan
Java의 정석 제 4 장 조건문과 반복문 Java 정석 남궁성 강의
DataScience Lab. 박사과정 김희찬 (화)
스크립트 작성.
자바 5.0 프로그래밍.
제 3장 데이터형과 연산자 Hello!! C 언어 강성호 김학배 최우영.
루프와 카운트 Looping and counting
작성일 참고서적 – Programing Game AI by Example
Java 3장. 자바의 기본 구조 I : 변수, 자료형, 연산자 public class SumTest {
Hello, Python! #3 <부제: 코딩은 혼자하는 것이다>
Signature, Strong Typing
Signature, Strong Typing
(Web Programming & Practice)
세션 (Session) Yang-Sae Moon Department of Computer Science
자바 5.0 프로그래밍.
Signature, Strong Typing
Chapter 08 조건문.
1학기 정리 지난 학기에 배운 내용을 복습해 본다..
이번 시간에는... 지난 시간까지 2회차에 걸쳐 WML의 택스트 포맷, 이미지 처리, 페이지 이동, 태스크 수행과 이벤트 처리 및 WML 사용자 Input 처리 태그 등, WML 개발에 대해서 알아보았습니다. 이번 시간에는 2회차에 걸쳐, WML 스크립트 개발에 대해서.
Lecture 05 문자열, 배열, 디버깅 Kwang-Man Ko
DataScience Lab. 박사과정 김희찬 (화)
C 4장. 연산자 #include <stdio.h> int main(void) { int num;
PHP 기초문법 PHP를 공부하는데 있어 가장 기초가 되는 PHP기초문법에 대해서 배워 봅니다.
Python 기본.
Presentation transcript:

기초 프로그래밍 Yang-Sae Moon Department of Computer Science Kangwon National University, Korea

Hello PHP 구성 (1/2) Source Code 기초 프로그래밍 Source Code 모든 PHP 프로그램은 <?PHP … ?> 혹은 <? … ?> 안에서 사용해야 함 모든 문장은 ; 으로 끝남 웹서버가 www.kangwon.ac.kr이고, 파일 이름이 print_test.php 라 하면, http://www.kangwon.ac.kr/print_test.php를 호출 print 함수의 경우 ()를 생략하기도 함 <?PHP print (“Hello PHP”); print “Hello PHP”; ?>

Hello PHP 구성 (2/2) 기초 프로그래밍 수행 결과 (hello1.php)

에러 발생 (1/2) Source Code 두 번째 줄에 ; 표기가 빠져 있음 기초 프로그래밍 Source Code 두 번째 줄에 ; 표기가 빠져 있음 print라는 함수가 prin으로 잘못 코딩되어 있음  Parse error 발생 <?PHP prin “Hello PHP” ?>

에러 발생 (2/2) 기초 프로그래밍 수행 결과 (hello2.php, hello3.php)

주석(Comment) (1/2) 프로그램에 대한 이해를 돕기 위한 글을 적음  comment1.php 기초 프로그래밍 프로그램에 대한 이해를 돕기 위한 글을 적음  comment1.php 프로그램 작성자, 프로그램 작성 의도, 프로그램 동작 형태 등을 적음 <?PHP print “Hello PHP”; // 이 문장은 Hello PHP를 출력하는 문장입니다 /* 이 문장은 Hello PHP를 출력하는 문장입니다. */ ?> C/C++와 매우 유사함 한 줄 Comment: // 혹은 #를 사용 여러 줄 Comment: /* 표기와 */ 표기 사용 Comment를 잘 활용하여 프로그램의 가치를 높일 수 있음

주석(Comment) (2/2) 잘못된 Comment의 예 (Nesting이 허용되지 않는 경우)  comment2.php 기초 프로그래밍 잘못된 Comment의 예 (Nesting이 허용되지 않는 경우)  comment2.php <?PHP /* 처음 주석의 시작입니다. /* 두번째 주석의 시작입니다. 두번째 주석의 끝입니다. */ 처음 주석의 끝입니다. */ ?> 올바른 Comment의 예 (Nesting이 허용되는 경우)  comment3.php <?PHP /* 처음 주석의 시작입니다. // 두번째 주석입니다. // 세번째 주석입니다. // 네번째 주석입니다. 처음 주석의 끝입니다. */ ?>

변수(Variables) (1/5) 변수 PHP에서 변수의 특성 정보(값)를 저장 기초 프로그래밍 변수 정보(값)를 저장 이름과 형식을 가지고 있음 (e.g., $age) PHP에서 변수의 특성 변수는 ‘$’ 문자로 시작한다. 변수의 이름은 영문 대문자(A-Z), 소문자(a-z), 숫자(0-9), ‘_’으로 이루어진다. ‘$’ 다음의 첫 문자로 숫자를 사용할 수 없다. PHP에서는 변수 형을 선언(declaration)하지 않고 사용한다. PHP 변수의 예 $age $cyber21 $Student_Name $a_b_c $_NUMBER PHP 변수가 아닌 예 $21c cyber $Student-id $Tiger@sun

변수(Variables) (2/5) 변수의 종류 변수형 강도 (strength) 변수형 변환 (casting) 기초 프로그래밍 변수의 종류 불리언 (Boolean) 정수형 (integer) 실수형 (floating point numbers, real numbers) 문자열 (string) 배열 (array) 객체 (object) 변수형 강도 (strength) PHP는 형 강도가 매우 약하며, 변수에 할당되는 값에 따라 형이 결정됨 예: $totalamount = 300 + 500; // integer type $totalamount = “hello”; // string type 변수형 변환 (casting) Casting operator 사용: (int), (float), (double), (string), (array), (ojbect) 예: $totalqty = 0; $totalamount = (double)$totalqty;

변수(Variables) (3/5) 변수형 검사 및 설정 기초 프로그래밍 변수형 검사 및 설정 gettype() 함수는 변수형을 스트링(“integer”, “double”, …)으로 반환함 settype() 함수는 변수의 형을 주어진 형으로 바꾸어 줌 예: $a = 56;  var_type1.php print gettype($a); // integer settype($a, “double”); print gettype($a); // double 변수형 확인 함수 (true or false를 리턴함)  var_type2.php is_array() is_double(), is_float(), is_real() // 모두 같은 함수임 is_long(), is_int(), is_integer() // 모두 같은 함수임 is_string() is_object() string gettype(mixed var); bool settype(mixed var, string type);

변수(Variables) (4/5) 변수에 값 대입 <?PHP $sum = 12 + 23; // integer type 기초 프로그래밍 변수에 값 대입 <?PHP $sum = 12 + 23; // integer type print $sum; ?> <?PHP $sum = 12.3 – 42.72; // real(float) type) print $sum; ?>

변수(Variables) (5/5) 정수형 변수의 표현 (int_rep.php) <?PHP 기초 프로그래밍 정수형 변수의 표현 (int_rep.php) <?PHP $value = 99999999999997; print $value . “<br>”; $value = $value + 1; // $value = 99999999999998 $value = $value + 1; // $value = 99999999999999 $value = $value + 1; // $value = 100000000000000 $value = $value + 1; // $value = 100000000000001 $value = $value + 1; // $value = 100000000000002 ?>

연산자 및 수식 계산 (1/2) 연산자의 종류 및 의미 사용법 의 미 oprd1 + oprd2 orpd1에 ordp2를 더하기 기초 프로그래밍 연산자의 종류 및 의미 사용법 의 미 oprd1 + oprd2 orpd1에 ordp2를 더하기 oprd1 – orpd2 orpd1에서 ordp2를 빼기 oprd1 * orpd2 orpd1에 ordp2를 곱하기 orpd1 / orpd2 orpd1에서 ordp2를 나누기 orpd1 % orpd2 orpd1에서 ordp2를 나눈 나머지

연산자 및 수식 계산 (2/2) 사칙 연산자와 나머지 연산자의 사용 예  oprd.php <?PHP 기초 프로그래밍 사칙 연산자와 나머지 연산자의 사용 예  oprd.php <?PHP $result = 9 + 5; print “9 + 5 = $result<br>”; $result = 9 – 5; print “9 – 5 = $result<br>”; $result = 9 * 5; print “9 * 5 = $result<br>”; $result = 9 / 5; print “9 / 5 = $result<br>”; $result = 9 % 5; print “9 % 5 = $result<br>”; ?>

기타 연산자 (1/2) 증가 연산자, 감소 연산자 대입 연산자 <?PHP 기초 프로그래밍 증가 연산자, 감소 연산자 <?PHP $temp++; // $temp = $temp + 1; --$i; // $i = $i – 1; $k++; // $k = $k + 1; ?> 대입 연산자 += -= *= /= %= (e.g., $temp += 3;  $temp = $temp + 3;)

기타 연산자 (2/2) 증가 연산자의 사용 예 (inc_dec.php) <?PHP $temp = 1; 기초 프로그래밍 증가 연산자의 사용 예 (inc_dec.php) <?PHP $temp = 1; if($temp++ == 1) print "temp in the 1st if() is 1"; else print "temp in the 1st if() is 2"; if(++$temp == 1) print ", and temp in 2nd if() is 1."; else print ", and temp in the 2nd if() is 2."; ?>

스트링 연산자 Concatenation을 수행하는 “.” 연산자 사용 두 문자열을 연결하는 연산자임 (concat.php) 기초 프로그래밍 Concatenation을 수행하는 “.” 연산자 사용 두 문자열을 연결하는 연산자임 (concat.php) <? $city = “in Chunchon”; $name1 = “Kangwon ”; $name2 = “National University “; print $name1.$name2.$city; ?>

수학적 함수 (1/2) 삼각함수(sin, cos, …)는 기본적으로 Radian 사용 (2 = 360) 기초 프로그래밍 삼각함수(sin, cos, …)는 기본적으로 Radian 사용 (2 = 360) 로그함수 log()는 기본적으로 자연 로그(밑이 e)이며, 대수 로그(밑이 10)는 log10()을 사용한다. 삼각함수의 사용 예 (sin_cos1.php) <?PHP $result = sin(M_PI / 6); print “sin(30) = $result<br>”; $result = cos(M_PI / 6); print “cos(30) = $result<br>”; $result = tan(M_PI / 6); print “tan(30) = $result<br>”; $result = asin(0.5); print “asin(0.5) = $result<br>”; $result = acos(0.866025); print “acos(0.866025) = $result<br>”; $result = atan(0.57735); print “atan (0.57735) = $result<br>”; ?>

수학적 함수 (2/2) Degree 값(360도 기준 값) 사용  deg2rad() 함수 활용  sin_cos2.php 기초 프로그래밍 Degree 값(360도 기준 값) 사용  deg2rad() 함수 활용  sin_cos2.php <?PHP $degree = 30; $radian = deg2rad($degree); $result = sin($radian); print “sin(30) = $result”; ?> log(), log10(), sqrt() 사용 예  sin_cos2.php <?PHP $result = log (10); print “log(10) = $result<br>”; $result = log10 (10); print “log10(10) = $result<br>”; $result = sqrt (49); print “sqrt(49) = $result”; ?>

Bitwise 연산자 사용법 이 름 의 미 orpd1 & orpd2 AND orpd1 | orpd2 OR 기초 프로그래밍 사용법 이 름 의 미 orpd1 & orpd2 AND orpd1과 orpd2의 비트 모두 1이면 연산의 결과는 1이다. orpd1 | orpd2 OR orpd1 또는 orpd2의 비트가 1이면 연산의 결과는 1이다. orpd1 ^ orpd2 XOR 한 Operand의 비트는 1이고 나머지 Operand의 비트가 0이면 연산의 결과는 1이다. ~orpd1 NOT orpd1의 비트가 0이면 연산의 결과는 1이고, oprd1의 비트가 1이면 연산의 결과는 0이다. orpd1 << orpd2 Shift Left orpd1을 왼쪽으로 orpd2번 Shift한다. orpd1 >> orpd2 Shift Right orpd1을 오른쪽으로 orpd2번 Shift한다.

연산자 우선순위 결합성 연산자 left , or xor and 기초 프로그래밍 결합성 연산자 left , or xor and = += -= *= /= .= %= != ~= <<= >>= ?: || && | ^ & non-associative == != < <= > >= << >> + - . * / % right ! ~ ++ -- (int) (double) (string) (array) (object) @ [ new

if-else 구문 (1/2) 주어진 조건에 따라서 서로 다른 문장을 수행 문법 if(condition) statement; 기초 프로그래밍 주어진 조건에 따라서 서로 다른 문장을 수행 문법 if(condition) statement; if(condition) { statement1; statement2; } if(condition1) statement; elseif(condition2) elseif(condition3) elseif(condition4) else if(condition) statement; else

if-else 구문 (2/2) if-else 구문의 예 (ifelse.php) <?PHP $temp1 = 1; 기초 프로그래밍 if-else 구문의 예 (ifelse.php) <?PHP $temp1 = 1; $temp2 = 2; if($temp1 == 1 && $temp2 == 1) print "condition of if() is true."; elseif($temp1 == 1 && $temp2 == 2) { print "condition of elseif() is true.<br>"; print "temp 1 is 1 and temp2 is 2."; } else print "condition of else is true."; ?>

비교 연산자 (1/2) 연산자 의 미 == 같다(equal). != 같지 않다(not equal). < 기초 프로그래밍 연산자 의 미 == 같다(equal). != 같지 않다(not equal). < 작다(less than). > 크다(greater than). <= 작거나 같다(less than or equal to). >= 크거나 같다(greater than or equal to). === 동일하다(identical). 두 Operand가 서로 같고 형식(type)이 같다.

비교 연산자 (2/2) 비교 연산자 사용 예 (comp_op.php) <?PHP $a = 123; $b = 456; 기초 프로그래밍 비교 연산자 사용 예 (comp_op.php) <?PHP $a = 123; $b = 456; if ($a == $b) print “두 값이 같습니다.<br>”; if ($a != $b) print “두 값이 같지 않습니다.<br>”; if ($a < $b) print “$a 값이 $b 값보다 작습니다.<br>”; if ($a > $b) print “$a 값이 $b 값보다 큽니다.<br>”; if ($a <= $b) print “$a 값이 $b 값보다 작거나 같습니다.<br>”; if ($a >= $b) print “$a 값이 $b 값보다 크거나 같습니다.<br>”; if ($a === $b) print “$a 값이 $b 값과 동일합니다.<br>”; ?>

삼항 연산자 (? :) 기초 프로그래밍 (condition) ? statement_true : statement_false; (cond_st.php) <?PHP $num = 5; (($num % 2) == 1) ? print “홀수” : print “짝수”; print “<br>”; $num = 8; ?>

논리 연산자 사용법 이름 의 미 not and or xor !orpd orpd1 && orpd2 orpd1 || orpd2 기초 프로그래밍 사용법 이름 의 미 !orpd not Operand의 값이 FALSE이면 연산 결과가 TRUE, Operand의 값이 TRUE이면 연산 결과가 FALSE orpd1 && orpd2 and 두 Operand의 값이 모두 TRUE일 때만 연산 결과가 TRUE, 그 외에는 연산 결과가 FALSE orpd1 || orpd2 or 두 Operand의 값이 모두 FALSE일 때만 연산 결과가 FALSE, 그 외에는 연산 결과가 TRUE orpd1 xor orpd2 xor 하나의 Operand는 TRUE 나머지 Operand는 FALSE일 때 연산 결과가 TRUE, 그 외에는 연산 결과가 FALSE

while 구문 (1/2) 문법 while 구문의 사용 예 (while.php) while (expression) 기초 프로그래밍 문법 while 구문의 사용 예 (while.php) while (expression) statement <?PHP $i = 1; $sum = 0; while ($i < 101) { $sum = $sum + $i; $i = $i + 1; } print “The sum from 1 to 100 is $sum”; ?>

while 구문 (2/2) 무한 루프의 예 <?PHP $i = 0; $value = 1; while (TRUE) { 기초 프로그래밍 무한 루프의 예 <?PHP $i = 0; $value = 1; while (TRUE) { $value = $value * 3; $i = $i + 1; if ($value > 10000) break; } print $i; ?>

do-while 구문 문법 do-while 구문의 사용 예 (do-while.php) do statement 기초 프로그래밍 문법 do-while 구문의 사용 예 (do-while.php) do statement while (expression); <?PHP $i = 1; do { $j = $i * 5; $i = $i + 1; print $j. “<br>”; } while ($j < 100); ?>

함수 정의 (1/3) 문법 add() 함수의 정의  func_add.php 기초 프로그래밍 문법 add() 함수의 정의  func_add.php function func_name($var1, $var2, ...) { statements; } <?PHP function add($x, $y) { $sum = $x + $y; return $sum; } $result = add (3, 5); print $result; ?>

함수 정의 (2/3) Default Values (func_def.php) <?PHP 기초 프로그래밍 Default Values (func_def.php) <?PHP function my_log ($arg, $base = 2) { $result = log ($arg) / log ($base); return $result; } print “log2(10) = ” . my_log(10, 2) . “<br>”; print “log10(100) = ” . my_log(100, 10) . “<br>”; print “log2(8) = ” . my_log(8, 2) . “<br>”; print “<br>”; print “log2(8) = ” . my_log(8) . “<br>”; ?>

함수 정의 (3/3) func_get_args() 함수 활용 (func_arg.php) <?PHP 기초 프로그래밍 func_get_args() 함수 활용 (func_arg.php) <?PHP function my_print () { $args = func_get_args (); foreach ($args as $arg) print “파라미터: $arg<br>”; } my_print (“Apple”, “Orange”, “Pear”, “Banana”, “Cherry”); ?>