Chapter 7 ฟังก์ชัน Function.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
INTRODUCTION TO C LANGUAGE
Advertisements

โครงสร้างภาษาซี เบื้องต้น
อัลกอริทึ่มทำงานวนซ้ำ
scanf(“%d”,&a); a = (2+3)*4/5; b= a*5/100; if(a<0) ……..
บทที่ 7 รีเคอร์ซีฟ ระหว่างการออกแบบเขียนโปรแกรมแบบบนลงล่าง (Top-down Design) จะมีงานย่อย(Subtask) เพื่อแก้ปัญหาในแต่ละเรื่อง และผู้เขียนโปรแกรมต้องการใช้งานย่อยในลักษณะที่เรียกตัวเองขึ้นมาทำงาน.
ครั้งที่ 8 Function.
Chapter 7 ขอบเขตของตัวแปร Variable Scope.
ข้อตกลงการใช้ Stack และ Recursion
Data Structures and Algorithms
ฟังก์ชัน (Function).
Structure Programming
Structure Programming
LAB # 4 Computer Programming 1 1. พิจารณาโปรแกรมต่อไปนี้
LAB # 4.
Week 15 C Programming.
คำสั่งเพื่อการกำหนดเงื่อนไข
โครงสร้างภาษาซี.
ฟังก์ชั่น function.
โปรแกรมย่อย : Pascal Procedure
ฟังก์ชัน (Function).
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
บทที่ 6 ตัวแปรอาร์เรย์ (Array of Variable)
Functions & Sub Program ฟังก์ชันและโปรแกรมย่อย
ตัวอย่างโปรแกรมคำนวณหาพื้นที่สี่เหลี่ยม
Lecture 4 องค์ประกอบภาษา C To do: Hand back assignments
การคำนวณทางคณิตศาสตร์ ตัวดำเนินการ
การเขียนโปรแกรมภาษาซี
Chapter 5 คำสั่งควบคุมการทำซ้ำ
การสร้างฟังก์ชั่นเพื่อพัฒนาโปรแกรม Interactive C
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
บทที่ 5 ฟังก์ชันกับอาร์เรย์ Function & Array
C language W.lilakiatsakun.
Week 2 Variables.
Call by reference.
Recursion การเรียกซ้ำ
หลักสูตรอบรมครู คอมพิวเตอร์ หลักสูตรอบรมครู คอมพิวเตอร์ หลักสูตรที่ ๑ ทักษะการโปรแกรม เบื้องต้น วันที่สาม.
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร
Function ธนวัฒน์ แซ่ เอียบ. What is a function ฟังก์ชันในภาษา C เป็นโปรแกรมที่ถูกออกแบบมาเพื่อ ใช้แก้ปัญหางานใดงานหนึ่งโดยเฉพาะ ฟังก์ชันจะเปลี่ยน input.
Function. วัตถุประสงค์การเรียนรู้ ให้รู้จักว่าฟังก์ชันคืออะไร ให้รู้จักว่าเราสร้างฟังก์ชันเพื่อจุดประสงค์ใด หรือ เพื่อประโยชน์ใด ให้รู้จักประเภทของฟังก์ชัน.
การทำซ้ำ Pisit Nakjai.
Computer Programming การเขียนโปรแกรม คอมพิวเตอร์ สัปดาห์ที่ 6 คำสั่งควบคุมการทำงานแบบ เงื่อนไขและคำสั่งควบคุมการ ทำงานแบบวนซ้ำ.
รูปแบบของการใช้คำสั่ง for for( ตัวแปร = ค่าเริ่มต้น ; นิพจน์ตรรกะ ; ค่าเพิ่มหรือค่าลด ) { statement(s); } ตัวอย่าง กรณีกำหนดการวนซ้ำเป็นค่าคงที่ For(n=1;n
ฟังก์ชันในภาษา C. ฟังก์ชัน (Functions) 2 การออกแบบโปรแกรมในภาษาซี จะอยู่บนพื้นฐานของการออกแบบ โมดูล (Module Design) โดยการแบ่ง โปรแกรมออกเป็นงานย่อย ๆ.
การเปรียบเทียบเงื่อนไข
โครงสร้างภาษาซี C ++ structure
Computer Programming I โดย อ.วิมลศรี เกตุโสภณ สาขาวิชาระบบสารสนเทศ
โปรแกรม ภาษา C ภาษาซี (C Language) เป็นภาษาหนึ่งสำหรับเขียนโปรแกรมคอมพิวเตอร์   พัฒนาขึ้นโดยนายเดนนิส  ริทชี่ (Dennis Ritche)  ในปี ค.ศ. 1972  เพื่อสร้างระบบปฏิบัติการยูนิกซ์
การเขียนโปรแกรมด้วยภาษา C
C Programming By Mr. Sanae Sukprung.
การควบคุมทิศทางการทำงาน
บทที่ 6 การเขียนโปรแกรมแบบมีเงื่อนไข
Chapter 9 ตัวชี้ pointer.
INC 161 , CPE 100 Computer Programming
Stack Sanchai Yeewiyom
ภาษา C เบื้องต้น.
การควบคุมการทำงานด้วยภาษา C
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
โครงสร้างโปรแกรมภาษา C
บทที่ 4 ตัวแปร (Variables)
หลักการเขียนโปรแกรมภาษาซี
introduction to Computer Programming
Chapter 2 ตัวดำเนินการ และนิพจน์.
โปรแกรมย่อย (Sub Program)
บทที่ 3 โครงสร้างภาษาซีเบื้องต้น
Overload Method and Poly Morphism
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
Introduction to Computer Programming
การสร้างผังงานโปรแกรม
Chapter 5: Function.
การประชุมคณะทำงานการจัดการพลังงาน อาคาร บก. ทท
ใบสำเนางานนำเสนอ:

Chapter 7 ฟังก์ชัน Function

โปรแกรมโครงสร้าง โปรแกรมถูกแบ่งออกเป็นหลายส่วน แต่ละส่วนถูกกระทำโดยอิสระจากกัน

ข้อดีของโปรแกรมโครงสร้าง การแบ่งโปรแกรมที่ซับซ้อน ให้เป็นส่วนย่อยหลายๆส่วน เมื่อนำแต่ละส่วนมาเขียนโปรแกรมสามารถเขียนได้ง่ายกว่า โดยที่แต่ละส่วนมีการทำงานที่แยกและเป็นอิสระจากกัน การแก้ไขข้อผิดพลาดในโปรแกรมย่อย ทำได้ง่ายกว่า สามารถนำโปรแกรมย่อยไปใช้ในงานอื่นที่มีลักษณะคล้ายกันได้ โดยอาจจะมีการแก้ไขเพียงเล็กน้อย

การวางแผนเขียนโปรแกรมโครงสร้าง แจกแจงงานที่ต้องทำมีอะไรบ้าง บันทึกชื่อ ที่อยู่ลูกค้า ปรับปรุงข้อมูลที่บันทึกไว้แล้ว เรียงลำดับข้อมูลตามตัวอักษร พิมพ์สติกเกอร์จ่าหน้าซองจดหมาย นำงานที่แจกแจง มาเขียนโปรแกรม แบ่งแต่ละงานเป็นหนึ่งฟังก์ชัน

Top-Down Approach main function a function b function c function w function x function y function z function d function e function f

ฟังก์ชัน (function) เป็นส่วนของโปรแกรม ในโปรแกรมซี อย่างน้อยต้องมี 1 ฟังก์ชัน คือ ฟังก์ชันหลัก(main function) ในการกระทำการ จะต้องเริ่มต้นที่ฟังก์ชันหลักเสมอ แต่ละฟังก์ชันจะทำงานโดยอิสระ จากฟังก์ชันอื่น ฟังก์ชันจะทำงาน เมื่อถูกเรียกให้ทำงานจากฟังก์ชันหลักหรือฟังก์ชันอื่น เมื่อฟังก์ชันทำงานเสร็จแล้ว จะส่งค่ากลับไปยังฟังก์ชันที่เรียก

การเขียนฟังก์ชัน การกำหนดฟังก์ชัน มี 2 ส่วน int sum (int x, int y) { int result; result = x + y; return (result); } การกำหนดฟังก์ชัน มี 2 ส่วน บรรทัดแรก รวมการประกาศพารามิเตอร์ (formal parameters) ประกอบด้วย ประเภทข้อมูลของค่าที่ส่งกลับไปยังฟังก์ชันที่เรียก ชื่อฟังก์ชัน ต้องไม่ซ้ำกับฟังก์ชันอื่น ประเภท และ พารามิเตอร์ ตัวฟังก์ชัน เป็นส่วนของข้อความสั่งต่างๆ อยู่ในปีกกา จบด้วยข้อความสั่ง return นิพจน์

การเขียนฟังก์ชัน ประเภทข้อมูล ชื่อฟังก์ชัน (ประเภท พารามิเตอร์, …, ประเภท พารามิเตอร์) ส่งกลับ int sum (int x, int y) { int result; result = x + y; return (result); }

การเรียกใช้ฟังก์ชัน Calling function โดยการเรียกชื่อฟังก์ชัน ตามด้วยพารามิเตอร์ในวงเล็บ หรือ วงเล็บเปล่า lowertoupper (m) factorial (x) print (x) โดยมักใส่ไว้ในข้อความสั่งกำหนดค่า(assignment statement) y = factorial(x); นำค่าที่ส่งกลับเก็บไว้ใน y

ตัวแปรเฉพาะที่ (Local variable) ตัวแปรที่ประกาศในฟังก์ชัน

ตัวแปรเฉพาะที่ (Local variable) ตัวแปรที่ประกาศในฟังก์ชัน

การทำงานของฟังก์ชัน functionA () {… } main() { call functionA … call functionB call functionC } functionB () {… } functionC () {… }

Function prototypes เป็นการบอกลักษณะของฟังก์ชันที่จะพบภายหลัง เพื่อให้คอมไพเลอร์รับทราบไว้ก่อน เขียนไว้ที่ต้นโปรแกรม ก่อนฟังก์ชันหลัก ประเภทของค่า ชื่อฟังก์ชัน (ประเภท พารามิเตอร์, …, ประเภท พารามิเตอร์ ) ; ที่ส่งกลับ ไปยังฟังก์ชัน ที่เรียก

#include <stdio.h> long int factorial(int n) { int I long int res = 1; if (n > 1) for (i=2; i<=n; ++i) res *= I; return (res); } main() { int n; printf (“\nn = ”); scanf (“%d”, &n); printf (“\nn! = %d”, factorial(n)); #include <stdio.h> long int factorial (int n); main() { int n; printf (“\nn = ”); scanf (“%d”, &n); printf (“\nn! = %d”, factorial(n)); } long int factorial(int n) { int I long int res = 1; if (n > 1) for (i=2; i<=n; ++i) res *= I; return (res);

Passing arguments to a function passing by value

Recursion การที่ฟังก์ชันเรียกตัวเองซ้ำหลายครั้ง return 3 * factorial(2) 3 * 2 return 2 * factorial(1) 2 * 1 return 1 * factorial(0) 1 * 1 การที่ฟังก์ชันเรียกตัวเองซ้ำหลายครั้ง จนกระทั่งเป็นไปตามเงื่อนไขที่กำหนดไว้ return 1

Global variable

Project building เพื่อกระทำการโปรแกรมหลายแฟ้ม ต้องสร้าง project

output เป็น extern storage-class จึงต้องถูกเรียกจากภายนอก ดังนั้นจึงต้องใช้ extern ทั้งใน function declaration(file1.cpp) และ function definition(file2.cpp) แต่เนื่องจาก extern เป็น default storage class จึงสามารถละได้

Variable definition in a multifile program ภายในโปรแกรมหลายแฟ้ม external variable ที่กำหนดไว้ในแฟ้มหนึ่ง สามารถถูกเข้าถึงจากแฟ้มอื่น external variable definition ปรากฎได้เพียงแฟ้มเดียว คือ ภายนอกของ function definition ปกติมักอยู่ที่จุดเริ่มต้นของแฟ้ม ก่อน function definition แรก external variable definition สามารถกำหนดค่าเริ่มต้นได้ แต่ถ้าไม่กำหนดจะมีค่าเริ่มต้นเป็น ศูนย์ ไม่ต้องใส่ extern ใน definition เพราะตัวแปรจะถูกรู้จักด้วยตำแหน่งของตัวแปรภายในแฟ้มที่กำหนด

Variable declaration in a multifile program ตัวแปรต้องถูกประกาศภายในแฟ้ม เพื่อให้สามารถเข้าถึง external variable ในอีกแฟ้มหนึ่ง โดยประกาศไว้ที่ใดก็ได้ภายในแฟ้ม แต่ปกติมักประกาศไว้ที่ต้นแฟ้ม ก่อน function definition แรก ต้องขึ้นต้นด้วย extern ไม่สามารถกำหนดค่าเริ่มต้น ค่าที่กำหนดสามารถเปลี่ยนแปลงได้ภายในแฟ้มที่รู้จักตัวแปร แฟ้มอื่นสามารถรับรู้การเปลี่ยนแปลงได้

FILEA กำหนดให้ a, b, c เป็น external variable มีค่าเริ่มต้น 1,2,3

กรณีที่ไม่เปิด project ไม่สามารถคอมไพล์ได้