Computer Programming การเขียนโปรแกรมคอมพิวเตอร์

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Structure Programming
Advertisements

Structure Programming
ฟังก์ชั่น function.
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร
Computer Programming การเขียนโปรแกรม คอมพิวเตอร์ สัปดาห์ที่ 6 คำสั่งควบคุมการทำงานแบบ เงื่อนไขและคำสั่งควบคุมการ ทำงานแบบวนซ้ำ.
Array ธนวัฒน์ แซ่ เอียบ. The concept of array อาเรย์ : กลุ่มของข้อมูลที่มีชนิดเดียวกันและถูก จัดเก็บเรียงลำดับต่อเนื่องกัน ตัวแปร x สามารถจัดเก็บค่ามากกว่า.
การเขียนคำสั่งควบคุม การทำงานขั้นพื้นฐาน
การเขียนโปรแกรมคอมพิวเตอร์ Computer programming
หลักการโปรแกรม 1 Lecture 14: โปรแกรมย่อย ( การส่งพารามิเตอร์ แบบ pass by reference)
Structure Programming การเขียนโปรแกรมเชิงโครงสร้าง
Operator of String Data Type
LAB ตัวแปร : Variables ในการเขียนโปรแกรมเราต้องการให้โปรแกรม จดจำค่าต่างๆ ไว้ เช่นเมื่อรับค่าข้อมูลจาก ผู้ใช้ หรือค่าที่ได้จากการคำนวณใดๆ ค่า.
บทที่ 4 คำสั่งควบคุม โปรแกรม. คำสั่งควบคุมโปรแกรมออกได้เป็น 2 ประเภท คือ คำสั่งแบบกำหนดเงื่อนไข (Conditional Statement) คำสั่งแบบทำงานซ้ำ (Repetitive.
หน่วยการเรียนรู้ที่ 2 หลักการแก้ปัญหาด้วยคอมพิวเตอร์
การเขียนโปรแกรมภาษาปาสคาล โดยใช้โครงสร้างหลักทั้ง 3 โครงสร้าง
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
1 exit() and break C++ provides a way to leave a program early (before its natural finish) with the exit() function. The format of exit() is as follows:
MEE 231 Computer Programming สัปดาห์ที่ 6 ภาษา C หลักการของโปรแกรม ชนิดของตัวแปร การดำเนินการ คำสั่งการรับค่าตัวแปร และการแสดงผล.
ARRAY & PRINTF สาขางานคอมพิวเตอร์ธุรกิจอาจารย์จิรา ภรณ์ เขตกุฎี
เรื่อง หลักการเขียนโปรแกรม เบื้องต้น จัดทำโดย นางสาวชาดา ศักดิ์บุญญารัตน์
LOGO ภาษาซี 1.1 อ. กฤติเดช จินดาภัทร์. LOGO ตัวอย่างโค้ดภาษาซี
ตอนที่ 2 โครงสร้างภาษา C Arduino เบื้องต้น
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
Computer Programming I โดย อ.วิมลศรี เกตุโสภณ สาขาวิชาระบบสารสนเทศ
โครงสร้างโปรแกรมภาษา C
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
หน่วยที่ 5 โปรแกรมแบบวนรอบทำซ้ำ
บทที่ 5 อินพุตและเอาต์พุต
โปรแกรมย่อย อาจารย์สมเกียรติ ช่อเหมือน
โครงสร้างการทำงานแบบเรียงลำดับ
แนวข้อสอบ Final (จดด่วน)
หน่วยการเรียนที่ 6 เรื่อง การจัดการฐานข้อมูลด้วย PHP Function
คำสั่งวนซ้ำ (Looping)
ครูวีรธรรม เทศประสิทธิ์ แผนกวิชาคอมพิวเตอร์ธุรกิจ
INC 161 , CPE 100 Computer Programming
Principles of Problem Solving and Basic Programming หลักการแก้ปัญหาและการเขียนโปรแกรมเบื้องต้น2(1-2-3) สัปดาห์ที่ 4 เครื่องหมาย ตรรกะศาสตร์ และการดำเนินการทางตรรกะศาสตร์
บทที่ 6 โครงสร้างและไวยากรณ์ภาษาซี
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
ภาษา C เบื้องต้น.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
โครงสร้างโปรแกรมภาษา C
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
บทที่ 10 อาร์เรย์ (Array)
BC320 Introduction to Computer Programming
บทที่ 4 ฟังก์ชัน Function
ฟังก์ชันในภาษา C.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
โครงสร้างภาษา C Arduino
บทที่ 4 ตัวแปร (Variables)
บทที่ 7 การเขียนโปรแกรม แบบวนรอบทำซ้ำ (Loop)
stack #1 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
Control Statement เงื่อนไขคำสั่งในโปรแกรม ภาษา C
ตัวแปรกับชนิดของข้อมูล
ภาษามาตรฐานสำหรับนิยามข้อมูล และการใช้ข้อมูล
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
บริษัท พัฒนาวิชาการ (2535) จำกัด
การเขียนภาษาจาวาเบื้องต้น
Week 5 C Programming.
ผู้ช่วยศาสตราจารย์จุฑาวุฒิ จันทรมาลี
หน่วยที่ 6 อะเรย์ของอักขระ
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
บทที่ 7 การประมวลผลอาร์เรย์
Chapter 3 : Array.
Array: One Dimension Programming I 9.
การเขียนโปรแกรมคอมพิวเตอร์ แบบภาษาเชิงวัตถุ
ฟังก์ชันของโปรแกรม Computer Game Programming
Chapter 5: Function.
พอยเตอร์ #include <stdio.h> void main() { int age; int *pointer;
Computer Game Programming
ใบสำเนางานนำเสนอ:

Computer Programming การเขียนโปรแกรมคอมพิวเตอร์ สัปดาห์ที่ 12 ฟังก์ชัน (Function)

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

C Standard Library Function Outline 1 C Standard Library Function 2 p Function Format 3 User-Defined Function 4 Passing Parameters

User-Defined Function (cont.) #include<file.h> type function_name(type); type variable int main() { type variable; statement-1; ... statement-n; return 0; } type function_name(type variable) return(var); พรีโปรเซสเซอร์ไดเร็คทีฟ ฟังก์ชันโพรโทรไทพ์ ส่วนหัวโปรแกรม ตัวแปรชนิดโกบอล ตัวแปรชนิดโลคอล ฟังก์ชันหลัก คำสั่ง ส่วนตัวโปรแกรม ฟังก์ชันย่อย

Mathematics Function Example #include<stdio.h> #include<math.h> void main() { printf(“square root 3 =”); printf(“%f\n”, sqrt(3)); printf(“5 power 3 =”); printf(“%f”, pow(5,4)); } Square root 3 = ? 5 power 4 = ?

String Function Example #include <stdio.h> #include <conio.h> #include <string.h> void main() { char str1[30] = "Current Date "; char str2[30] = "18 August 2008"; char str3[30]; strcpy(str3, str1); strcat(str1, str2); printf("str1 = %s\n", str1); printf("str3 = %s\n", str3); }

String Function Example (cont.) #include <stdio.h> #include <conio.h> #include <string.h> void main() { char buf1[] = "Nanometer", buf2[] = "Nanometer"; int ptr; printf("buffer 1 : \"%s\"\n",buf1); printf("buffer 2 : \"%s\"\n",buf2); ptr = strcmp(buf2, buf1); if(ptr == 0) printf("buffer 2 is equal to buffer 1\n"); printf("Length of buffer 1 : %d\n", strlen(buf1)); }

String Function Example (cont.) #include <stdio.h> #include <conio.h> #include <string.h> #include <ctype.h> void main() { int length, i; char string[] = "This Is a String"; length = strlen(string); for(i=0; i<length; i++) string[i] = toupper(string[i]); printf("%s\n",string); string[i] = tolower(string[i]); }

String Function Example (cont.) #include <stdio.h> #include <conio.h> void main() { char line1[] = "Ferguson wants Rooney for life"; char line2[] = "Henry pleading with Cole to stay"; char line3[] = "Mourinho not giving up on Gallas"; printf("%s\n", line1); printf("%s\n", line2); printf("%s\n", line3); gotoxy(14,1); clreol(); gotoxy(1,2); insline(); getch(); }

C Standard Library Function Outline 1 C Standard Library Function 2 p Function Format 3 User-Defined Function 4 Passing Parameters

User-Defined Function (cont.) ฟังก์ชัน : กลุ่มคำสั่งทำงานที่มีการรับค่าแล้วทำตามคำสั่งในฟังก์ชั่น และมีการส่งค่ากลับ (return) Process (ทำงาน) ส่งค่ากลับ รับค่ามา Function Return_Type Function_name(Type variable)

Function Declaration เป็นการประกาศการใช้งานฟังก์ชั่นที่อยู่หลัง main() type คือ ชนิดของฟังก์ชัน ว่าฟังชันที่ทำการสร้างจะส่งข้อมูลชนิดใดกลับ function_name คือ ชื่อฟังก์ชันที่จะสร้างขึ้น type-n คือ ชนิดของข้อมูลที่จะส่งให้ฟังก์ชัน type function_name(type-1,type-2,...,type-n);

Function Format #1 แบบที่ 1: ฟังก์ชันแบบไม่มีการส่งค่ากลับและไม่มีพารามิเตอร์ เป็นฟังก์ชันที่ไม่มีการส่งค่ากลับไปให้กับฟังก์ชันที่เรียกมา  และไม่มีการส่งค่าจากฟังก์ชันที่เรียกมาให้ด้วย  void main() { my_print(); } void my_print() printf(“Hello world”);

Function Format #2 แบบที่ 2 ฟังก์ชันแบบไม่มีการส่งค่ากลับแต่มีพารามิเตอร์  เป็นฟังก์ชันที่จะไม่มีการส่งค่ากลับไปให้ฟังก์ชันที่เรียกขึ้นมา   แต่มีการส่งค่าจากฟังก์ชันที่เรียกมาให้ด้วย  void main() { my_print(‘a’, 5); } void my_print(char ch, int x) while (x > 0) printf(“%c”, ch); x--; void main() { my_print(2); } void my_print(int x) printf(“%d”, x);

Function Format #3 แบบที่ 3 ฟังก์ชันแบบมีการส่งค่ากลับและไม่มีพารามิเตอร์  เป็นฟังก์ชันที่จะมีการส่งค่ากลับไปให้ฟังก์ชันที่เรียกมา   แต่ไม่มีการส่งค่าจากฟังก์ชันที่เรียกมาให้ด้วย  void main() { printf(“%d”,my_func()); } int my_func() int a; scanf(“%d”,&a); return (a*5);

Function Format #4 แบบที่ 4 ฟังก์ชันแบบมีการส่งค่ากลับและมีพารามิเตอร์ แบบที่ 4 ฟังก์ชันแบบมีการส่งค่ากลับและมีพารามิเตอร์  เป็นฟังก์ชันที่จะมีการส่งค่ากลับไปให้กับฟังก์ชันที่เรียกมา  แต่มีการส่งค่าจากฟังก์ชันที่เรียกมาให้ด้วย void main() { char ch; ch = my_print(5); printf(“%c\n”, ch); } char my_print(int x) { char lch; printf(“Enter your character: ”); scanf(“%c”, &lch); while (x > 0) printf(“%c”, lch); x--; } printf(“\n”); return lch;

C Standard Library Function Outline 1 C Standard Library Function 2 p Function Format 3 User-Defined Function 4 Passing Parameters

Pass by Value #include <stdio.h> void call_by_value(int x) { printf("Inside call_by_value x = %d before adding 10.\n", x); x += 10; printf("Inside call_by_value x = %d after adding 10.\n", x); } int main() int a=10; printf("a = %d before function call_by_value.\n", a); call_by_value(a); printf("a = %d after function call_by_value.\n", a); return 0;

Result a = 10 before function call_by_value. Inside call_by_value x = 10 before adding 10. Inside call_by_value x = 20 after adding 10. a = 10 after function call_by_value

Pass by Reference #include <stdio.h> void call_by_reference(int *y) { printf("Inside call_by_reference y = %d before adding 10.\n", *y); (*y) += 10; printf("Inside call_by_reference y = %d after adding 10.\n", *y); } int main() { int b=10; printf("b = %d before function call_by_reference.\n", b); call_by_reference(&b); printf("b = %d after function call_by_reference.\n", b); return 0;

Result b = 10 before function call_by_reference.Inside call_by_reference y = 10 before adding 10.Inside call_by_reference y = 20 after adding 10.b = 20 after function call_by_reference.  

คำสั่งเรียกใช้ฟังก์ชัน รับ 2 operand/ส่ง result Case Study I 2 รับ(1และ4)/ส่ง choice ส่วนหัวของโปรแกรมภาษา C ฟังก์ชัน getChoice ฟังก์ชัน main( ) คำสั่งเรียกใช้ฟังก์ชัน 1 3 ฟังก์ชัน menu ฟังก์ชัน getOperand ไม่รับ/ไม่ส่ง ไม่รับ/ส่ง 2 operand 4 ฟังก์ชัน add ฟังก์ชัน sub ฟังก์ชัน mul ฟังก์ชัน div รับ 2 operand/ส่ง result

1: /* Program: case1.c 2: Integer calculation menu 3: */ 4: #include <stdio.h> 5: 6: /* function prototypes */ 7: void showMenu(void); 8: char getChoice(char min, char max); 9: int getOperand(void); 10: int add(int a, int b); 11: int sub(int a, int b); 12: int mul(int a, int b); 13: int div(int a, int b); 14: 15: int main() 16: { 17: char choice; 18: int result, operand1, operand2; 19: 20: /* display menu and get a choice */ 21: showMenu(); 22: choice = getChoice('1', '4'); 23: 24: /* get operand values */ 25: operand1 = getOperand(); 26: operand2 = getOperand(); 27:

28: switch ( choice ) 29: { 30: case '1': 31: result = add(operand1, operand2); 31: printf("%d + %d = %d\n", operand1, operand2, result); 32: break; 33: 34: case '2': 35: result = sub(operand1, operand2); 36: printf("%d - %d = %d\n", operand1, operand2, result); 37: break; 38: 39: case '3': 40: result = mul(operand1, operand2); 41: printf("%d x %d = %d\n", operand1, operand2, result); 42: break; 43: 44: case '4': 45: result = div(operand1, operand2); 46: printf("%d / %d = %d\n", operand1, operand2, result); 47: 48: } 49: 50: return 0; 51: }

53: /* display a menu on screen */ 54: void showMenu(void) 55: { 56: printf("Integer calculation\n" 57: "1. Addition\n" 58: "2. Subtraction\n" 59: "3. Multiplication\n" 60: "4. Division\n"); 61: } 63: /* get a choice between min and max values */ 64: char getChoice(char min, char max) 65: { 66: char ch; 67: 68: do 69: { 70: printf("Enter your choice (%c-%c): ", min, max); 71: ch = getchar(); 72: } while ( ch < min || ch > max ); 73: 74: return ch; 75: } 77: /* get an operand as an integer value */ 78: int getOperand(void) 79: { 80: int iVal; 81: 82: printf("Enter an integer operand: "); 83: scanf("%d", &iVal); 84: 85: return iVal; 86: }

88: /* add 2 integer operands and return the result */ 89: int add(int a, int b) 90: { 91: return (a + b); 92: } 93: 94: /* subtract 2 integer operands and return the result */ 95: int sub(int a, int b) 96: { 97: return (a - b); 98: } 99: 100: /* multiply 2 integer operands and return the result */ 101: int mul(int a, int b) 102: { 103: return (a * b); 104: } 105: 106: /* divide 2 integer operands and return the result */ 107: int div(int a, int b) 108: { 109: return (a / b); 110: }

Result Integer calculation 1. Addition 2. Subtraction 3. Multiplication 4. Division Enter your choice (1-4): 0 Enter your choice (1-4): 5 Enter your choice (1-4): 3 Enter an integer operand: 2 Enter an integer operand: 3 2 x 3 = 6

Assignment #11 1. โปรแกรมเก็บข้อมูลสินค้า 1 ชนิด ภายในโปรแกรมประกอบด้วย ฟังก์ชันต่างๆดังนี้ ฟังก์ชันใส่ข้อมูลสินค้า getdata() ฟังก์ชันเพิ่มจำนวนสินค้า 10 ชิ้น add10() ฟังก์ชันลดจำนวนสินค้า 10 ชิ้น sub10() และฟังก์ชันแสดงจำนวนรายละเอียดภายในสินค้า โปรแกรมนี้ยังไม่สมบรูณ์ดี ให้นักศึกษาเขียนคำประกาศฟังก์ชัน getdata() และ add10 และคำสั่งภายในให้สมบรูณ์

Assignment #11 (cont.)

Assignment #11 (cont.) 2. ให้นิสิตอธิบายการทำงานของโปรแกรมนี้ พร้อมกับชี้ให้เห็นว่าจุดผิดของโปร แกรมคือจุดใด Hint: มีที่ผิด 1 จุด

Assignment #11 (cont.) 3. โปรแกรมต่อไปนี้แสดงผลเลขอะไรจอภาพ ใช้เวลาคิดไม่เกิน 10นาที เมื่อคิดเสร็จแล้วให้ลองพิมพ์ code ดังกล่าวลงคอมพิวเตอร์ และตรวจสอบคำตอบ

Assignment #11 (cont.)

Assignment #11 (cont.) 4. จงวิเคราะห์โจทย์ วิเคราะห์การทำงาน เขียนขั้นตอนการทำงานอย่างละเอียด เขียนรหัส เทียม เขียนแผนภาพการไหลของข้อมูล (Flowchart) พร้อมทั้งเขียนโปรแกรมการเรียงลำ ดับตัวเลข (Bubble sort) 10 จำนวน จากน้อยไปมาก กำหนดให้มีการรับค่าตัวเลข 10 จำนวนจากแป้นพิมพ์ ให้เขียนฟังก์ชันในการเรียงลำดับตัวเลขชื่อฟังก์ชัน “Sort_function” โดยฟังก์ชันนี้จะส่งผลลัพธ์ของการเรียงลำดับตัวเลขมาแสดงผลในฟังก์ชันหลัก (main function) และมีข้อกำหนดให้ฟังก์ชันดังกล่าวมีการส่งค่าในสองรูปแบบคือ pass by reference และ pass by value ตามลำดับ

Assignments #12 หัวหน้าแผนกฝ่ายบุคคลของบริษัทแห่งหนึ่งต้องการโปรแกรมเก็บข้อมูลของพนักงานภายในบริษัททั้งหมด ซึ่งโปรแกรมประกอบด้วย ฟังก์ชันต่างๆ ดังนี้ ฟังก์ชันแสดงการทำงานของเมนูหลัก Main_menu ( ) ฟังก์ชันบันทึกข้อมูลพนักงาน Data_record ( ) ฟังก์ชันเพิ่มข้อมูลพนักงานตามจำนวนพนักงานใหม่ Add_data( ) ฟังก์ชันลบข้อมูลพนักงานตาม ID Sub_data ( ) ฟังก์ชันเพิ่มและแก้ไขข้อมูลพนักงานตาม ID Change_data ( ) และฟังก์ชันแสดงจำนวนรายละเอียดของพนักงาน Show_detail ( ) ให้นิสิตวิเคราะห์โจทย์ วิเคราะห์ขั้นตอนการทำงาน เขียนรหัสเทียม เขียนแผนผังการไหลของข้อมูล รวมถึงให้เขียนโปรแกรมดังกล่าวให้เสร็จสมบรูณ์

Main Menu -----*** Welcome to main menu of employee record***----- -->Please select the menu that you need to process 1. Record all data of employee 2. Record date of the new employee 3. Delete some employee record 4. Update some employee record 5. Show all employee record ======================== +++++++========================= -->Please enter your choice (1-5): 0 Enter your choice (1-4): 6 Enter your choice (1-4): 3