학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

Similar documents
학습목표 배열에대해서안다. 언어통합질의 (LINQ) 에대해서안다. 2

Visual Basic 반복문

윈도우즈프로그래밍(1)

학습목표 텍스트파일을다룰수있다. 스트림읽기, 쓰기를안다. 2

Visual Basic 기본컨트롤

금오공대 컴퓨터공학전공 강의자료

중간고사

C 언어 프로그래밊 과제 풀이

Microsoft PowerPoint - e pptx

PowerPoint Template

11장 포인터

Microsoft PowerPoint - Computer - chapter04.ppt [호환 모드]

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

설계란 무엇인가?

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

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

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

쉽게 풀어쓴 C 프로그래밍

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

Java ...

비주얼프로그래밍 (Visual Basic .NET)

PowerPoint Presentation

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft PowerPoint - Java7.pptx

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

1 장 C 언어복습 표준입출력배열포인터배열과포인터함수 const와포인터구조체컴파일러사용방법 C++ 프로그래밍입문

<C6F7C6AEB6F5B1B3C0E72E687770>

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap-06.pptx

歯엑셀모델링

JUNIT 실습및발표

Visual Basic Visual Basic 소개

PowerPoint 프레젠테이션

JAVA PROGRAMMING 실습 02. 표준 입출력

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

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

JAVA PROGRAMMING 실습 08.다형성

제8장 자바 GUI 프로그래밍 II

쉽게 풀어쓴 C 프로그래밍

Data Structure

Microsoft PowerPoint - chap-11.pptx

PowerPoint Presentation

PowerPoint Presentation

Microsoft PowerPoint - es-arduino-lecture-03

Microsoft PowerPoint - VB.NET_06.pptx

EBS-PDF컴퓨터일반-07-오

Microsoft PowerPoint - chap05-제어문.pptx

13 주차 - MDI, Exception, WebBrowser, RichTextBox, AlarmProgram 대림대학 년도 1 학기홍명덕

OCaml

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf("hihi\n"); } warning: conflicting types for functiona

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

歯처리.PDF

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

C# Programming Guide - Types

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

기본문법2

슬라이드 1

Microsoft PowerPoint - 제11장 포인터(강의)

Microsoft PowerPoint - chap10-함수의활용.pptx

API 매뉴얼

컴파일러

EMBARCADERO TECHNOLOGIES (Humphery Kim) RAD Studio : h=p://tech.devgear.co.kr/ : h=p://blog.hjf.pe.kr/ Facebook : h=p://d.com/hjfactory :

PowerPoint 프레젠테이션


Microsoft PowerPoint - C++ 5 .pptx

HWP Document

목 록( 目 錄 )

03-1영역형( )

02-1기록도전( )

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

Microsoft PowerPoint - chap06-2pointer.ppt

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

(8) getpi() 함수는정적함수이므로 main() 에서호출할수있다. (9) class Circle private double radius; static final double PI= ; // PI 이름으로 로초기화된정적상수 public

제 11 장포인터 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.


주지스님의 이 달의 법문 성철 큰스님 기념관 불사를 회향하면서 20여 년 전 성철 큰스님 사리탑을 건립하려고 중국 석굴답사 연구팀을 따라 중국 불교성지를 탐방하였습 니다. 대동의 운강석굴, 용문석굴, 공의석굴, 맥적산석 굴, 대족석굴, 티벳 라싸의 포탈라궁과 주변의 큰

Microsoft PowerPoint - Chapter8.pptx

PowerPoint Presentation

OCW_C언어 기초

Microsoft PowerPoint - 제11장 포인터

쉽게 풀어쓴 C 프로그래밍

C++ Programming

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

C 프로그램의 기본

럭시스 IP-PBX 연동 SDK 설명서 Windows DLL SDK ver. 1.1 주식회사럭시스

자바 프로그래밍

Javascript.pages

y 0.5 9, 644 e = 10, y = ln = 3.6(%) , May. 20, 2005

PowerPoint Presentation

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

슬라이드 1

Microsoft PowerPoint - Chapter_05.pptx

Data Provisioning Services for mobile clients

C H A P T E R 2

UI TASK & KEY EVENT

untitled

윈도우즈 프로그래밍(1)

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

Transcription:

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 3

프로시저 (Procedure) 프로시저 (Procedure) 란무엇인가? 논리적으로묶여있는하나의처리단위 내장프로시저 이벤트프로시저, 속성프로시저, 메서드, 비주얼베이직내장함수등 개발자들을위해공통적으로많이사용되는기능들을사전에만들어놓은프로시저 모든개발자들이공유할수있다. sin() 함수는모든개발자가새로만들필요가없는내장프로시저이다. => 개발시간단축 사용자정의프로시저 비주얼베이직에서제공하는기본적인내장프로시저이외의사용자의필요에의해만들어진프로시저 리턴값 (return value) 의유무에따라구분 서브프로시저 (Sub Procedure) 함수프로시저 (Function Procedure) 4

함수프로시저 함수프로시저 (Function Procedure) 리턴값을가지는프로시저 형식 Function procedurename ( 매개변수리스트 ) As 반환형 statement(s) 처리코드 Return expression 반환할식 procedurename = 반환할값 ( 둘다가능 ) End Sub 5

예제 6-1 1 부터 10 까지의합을함수이용하여작성 6

예제 6-1 컨트롤속성설정 컨트롤이름속성설정 Form Text 함수이용 Label Label1 Text 1부터 10까지의합 TextBox TxtResult Text Button btnsum Text 서브덧셈 7

예제 6-1 코드작성 1. Function subsum(byval n As Integer) As Integer 2. Dim sum As Integer = 0 3. For i As Integer = 0 To n 4. sum = sum + i 5. Next i 6. Return sum 7. End Function 8. Private Sub Button1_Click(...) Handles Button1.Click 9. Dim input=10, resum As Integer 10. resum = subsum(input) 11. txtresult.text = CStr(reSum) 12. End Sub 8

예제 6-2 입력받은숫자까지의합을함수이용하여작성 9

예제 6-2 컨트롤속성설정 컨트롤이름속성설정 Form Text 함수를이용한합구하기 Label Text 숫자입력 Text 결과값 TextBox txtinput TabIndex 1 txtresult Button btnsum TabIndex 2 10

예제 6-2 코드작성 1. Function subsum(byval n As Integer) As Integer 2. Dim sum As Integer = 0 3. For i As Integer = 0 To n 4. sum = sum + i 5. Next i 6. Return sum 7. End Function 8. Private Sub Button1_Click(...) Handles Button1.Click 9. Dim input, resum As Integer 10. input = CInt(txtInput.Text) 11. resum = subsum(input) 12. txtresult.text = CStr(reSum) 13. End Sub 11

예제 6-3 함수를이용하여입력받은수의홀수, 짝수판단 12

예제 6-3 컨트롤속성설정 컨트롤이름속성설정 Form Text 함수이용 Label Text 수입력 lblresult Text 입력한수의짝홀수판단 TextBox txtinput TabIndex 1 Button BtnCheck TabIndex 2 Text 짝, 홀수알아보기 13

예제 6-3 코드작성 1. Function IsEven(ByVal su As Integer) As Integer 2. If su Mod 2 = 0 Then 3. IsEven = True 4. Else 5. IsEven = False 6. End If 7. End Function 1. Private Sub btncheck_click(...) Handles btncheck.click 2. Dim input As Integer 3. Dim result As Boolean 4. input = CInt(txtInput.Text) 5. result = IsEven(input) 6. If result = True Then 7. lblresult.text = " 입력한수는짝수입니다." 8. Else 9. lblresult.text = " 입력한수는홀수입니다. 10. End If 11. End Sub 14

6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 15

서브프로시저 서브프로시저 (Sub Procedure) 리턴값이없이주어진코드만을실행하는프로시저 형식 Sub procedurename ( 매개변수리스트 ) statement(s) 처리코드 End Sub 16

예제 6-4 숫자를입력받아서숫자만큼 * 를텍스트박스에출력하는프로그램을함수이용하여작성 17

예제 6-4 컨트롤속성설정 컨트롤이름속성설정 Form Text 서브프로시저 Label Text 숫자입력 TextBox txtinput TabIndex 1 txtresult Multiline Both ScrollBars 2 Button TabIndex 2 Text 별찍기 18

예제 6-4 코드작성 1. Sub subprint(byval input As Integer) 2. For i = 1 To input 3. txtresult.text = txtresult.text + "*" 4. Next i 5. txtresult.text = txtresult.text + vbcrlf 6. End Sub 7. Private Sub Button1_Click(...) Handles Button1.Click 8. Dim input As Integer 9. input = CInt(txtInput.Text) 10. subprint(input) 11. End Sub 19

6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 20

값에의한호출 (By Value) 데이터의주소값이아닌실제값을넘기는방식 원본데이터의값이복사되어넘어간다. 복사본을아무리수정해도원본은바뀌지않는것이특징 ByVal 키워드사용 Public Sub procedurename(byval a As Integer) : 처리코드 : End Sub 따라하며배우는 Visual Basic Programming 21

값에의한호출 예제 6-5 폼디자인 22

예제 6-5 코드작성 1. Private Sub btnsum_click(...) Handles btnsum.click 2. Dim a, b As Integer 3. GetNums(a, b) 4. AddSum(a, b) 5. End Sub 6. Sub GetNums(ByVal num1 As Integer, ByVal num2 As Integer) 7. num1 = CInt(txtNum1.Text) 8. num2 = CInt(txtNum2.Text) 9. End Sub 10. Sub AddSum(ByVal num1 As Integer, ByVal num2 As Integer) 11. Dim sum As Integer 12. sum = num1 + num2 13. txtresult.text = "hap of " & num1 & " and " & num2 & " is " & sum 14. End Sub 23

참조에의한호출 (By Reference) 호출하는측에서프로시저에게데이터를넘겨줄때, 데이터의주소를넘기는방식 매개변수앞에 ByRef 키워드를적어주어야함 비주얼베이직에서기본적으로참조에의한호출을이용 ByRef 는생략할수있음. Public Function procedurename(byref a As Integer) End Sub : 처리코드 : 따라하며배우는 Visual Basic Programming 24

참조에의한호출 예제 6-6 폼디자인 25

예제 6-6 코드작성 1. Private Sub btnsum_click(...) Handles btnsum.click 2. Dim a, b As Integer 3. GetNums(a, b) 4. AddSum(a, b) 5. End Sub 6. Sub GetNums(ByRef num1 As Integer, ByRef num2 As Integer) 7. num1 = CInt(txtNum1.Text) 8. num2 = CInt(txtNum2.Text) 9. End Sub 10. Sub AddSum(ByVal num1 As Integer, ByVal num2 As Integer) 11. Dim sum As Integer 12. sum = num1 + num2 13. txtresult.text = "hap of " & num1 & " and " & num2 & " is " & sum 14. End Sub 26

예제 6-7 폼디자인 참조에의한호출 그림 6.13: 실행화면 그림 6.14: 원본데이터의값으로 10 입력후 변경유무 버튼클릭시결과화면 27

예제 6-7 컨트롤속성설정 컨트롤이름속성설정 Form Text 참조에의한호출 Label Text 원본데이터의값은 : Text 변경후의원본데이터의값은 : TextBox txtbefore TabIndex 1 txtafter Button btncheck TabIndex 2 Text 변경유무 28

예제 6-7 코드작성 1. Dim k As Integer 2. Sub MySubTest(ByRef a As Integer) 3. a = 0 4. End Sub 5. Private Sub btncheck_click( ) Handles btncheck.click 6. k = CInt(txtBefore.Text) 7. Call MySubTest(k) 8. txtafter.text = CStr(k) 9. End Sub 29

예제 6-8 폼디자인 값에의한호출 그림 6.16: 실행화면 그림 6.17: 원본데이터의값으로 10 입력후 변경유무 버튼클릭시결과화면 30

예제 6-8 컨트롤속성설정 컨트롤이름속성설정 Form Text 값에의한호출 Label Text 원본데이터의값은 : Text 변경후의원본데이터의값은 : TextBox txtbefore TabIndex 1 txtafter Button btncheck TabIndex 2 Text 변경유무 31

예제 6-8 코드작성 1. Dim k As Integer 2. Sub MySubTest(ByVal a As Integer) 3. a = 0 4. End Sub 5. Private Sub btncheck_click( ) Handles btncheck.click 6. k = CInt(txtBefore.Text) 7. Call MySubTest(k) 8. txtafter.text = CStr(k) 9. End Sub 32

6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 33

예제 6-9 폼디자인 키를입력하면표준몸무게를출력해주는프로그램을함수이용하여작성 34

예제 6-9 컨트롤속성설정 컨트롤이름속성설정 Form Text 표준몸무게알아보기 Label Text 키 (Cm) : Text 당신의표준몸무게는 lblresult Text 표준 Text Kg입니다. TextBox TabIndex 1 Button btnresult TabIndex 2 Text 내표준몸무게는어떻게되나요? 35

예제 6-9 코드작성 1. ' 표준체중 (Kg)= ( 신장 (cm)-100) * 0.9 2. Function GetStandardWeight(ByVal Height As Double) As Double 3. Dim stdweight2 As Double 4. stdweight2 = (Height - 100) * 0.9 5. GetStandardWeight = stdweight2 6. End Function 7. Private Sub btnresult_click( ) Handles btnresult.click 8. Dim myheight, stdweight As Double 9. myheight = CDbl(txtHeight.Text) 10. stdweight = GetStandardWeight(myHeight) 11. lblresult.text = CStr(stdWeight) 12. End Sub 36