คณาจารย์ หลักสูตรวิทยาการคอมพิวเตอร์คณะวิทยาการสารสนเทศ

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Array ธนวัฒน์ แซ่ เอียบ. The concept of array อาเรย์ : กลุ่มของข้อมูลที่มีชนิดเดียวกันและถูก จัดเก็บเรียงลำดับต่อเนื่องกัน ตัวแปร x สามารถจัดเก็บค่ามากกว่า.
Advertisements

การเขียนคำสั่งควบคุม การทำงานขั้นพื้นฐาน
ณ ห้องปฏิบัติการคอมพิวเตอร์ คณะพยาบาลศาสตร์ มหาวิทยาลัยเชียงใหม่
1.NET Framework Class อุทัย เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร วิทยาเขต สารสนเทศพะเยา.
คอมพิวเตอร์ช่วยสอน (CAI)
การใช้งานโปรแกรม SPSS
Operator of String Data Type
LAB ตัวแปร : Variables ในการเขียนโปรแกรมเราต้องการให้โปรแกรม จดจำค่าต่างๆ ไว้ เช่นเมื่อรับค่าข้อมูลจาก ผู้ใช้ หรือค่าที่ได้จากการคำนวณใดๆ ค่า.
Chapter 10 Arrays Dept of Computer Engineering Khon Kaen University.
ความรู้เบื้องต้นเกี่ยวกับการเขียนโปรแกรม
ชนิดของข้อมูล และการคำนวณทางคณิตศาสตร์
หน่วยการเรียนรู้ที่ 2 หลักการแก้ปัญหาด้วยคอมพิวเตอร์
การเขียนโปรแกรมภาษาปาสคาล โดยใช้โครงสร้างหลักทั้ง 3 โครงสร้าง
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
หน่วยที่ 6 แถวลำดับ (Array)
การใช้งาน Microsoft Excel
ตัวแปร และชนิด ข้อมูล. ตัวแปร การกำหนดตัวแปรเป็นการใช้ ชื่อตัวแปรแทน ตำแหน่งบนหน่วยความจำ สำหรับเก็บ ข้อมูลระหว่างการ ประมวลผล ซึ่งอาจเป็นข้อมูลนำเข้า.
MEE 231 Computer Programming สัปดาห์ที่ 6 ภาษา C หลักการของโปรแกรม ชนิดของตัวแปร การดำเนินการ คำสั่งการรับค่าตัวแปร และการแสดงผล.
ARRAY & PRINTF สาขางานคอมพิวเตอร์ธุรกิจอาจารย์จิรา ภรณ์ เขตกุฎี
เรื่อง หลักการเขียนโปรแกรม เบื้องต้น จัดทำโดย นางสาวชาดา ศักดิ์บุญญารัตน์
เทคนิคการใช้ Microsoft Excel. 1. การตีตารางในรูปแบบต่าง ๆ 2. การแทรกภาพในตาราง 3. การตกแต่งข้อมูลด้วย Format Cells 4. การคำนวณ บวก ลบ คูณ หาร 5. การย่อ.
LOGO ภาษาซี 1.1 อ. กฤติเดช จินดาภัทร์. LOGO ตัวอย่างโค้ดภาษาซี
งานวิชา เทคโนโลยี สารสนเทศ 4/3 เรื่อง INPUT และ OUTPUT จัดทำโดย นาย ชาญชัย ศรีน้อย เลขที่ 3 นาย ณัฐดนัย จันทมาศ เลขที่ 4 นาย อุดมศักดิ์ เกื้อนะ เลขที่
ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts.
เกม คณิตคิดเร็ว.
Microsoft Access 2007 การสร้างฟอร์ม
โครงสร้างโปรแกรมภาษา C
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
การเขียนโปรแกรมแบบวนซ้ำ
บทที่ 5 อินพุตและเอาต์พุต
โปรแกรมย่อย อาจารย์สมเกียรติ ช่อเหมือน
โครงสร้างการทำงานแบบเรียงลำดับ
แนวข้อสอบ Final (จดด่วน)
ครูวีรธรรม เทศประสิทธิ์ แผนกวิชาคอมพิวเตอร์ธุรกิจ
การประยุกต์ Logic Gates ภาค 2
โครงสร้างโปรแกรมภาษา C
บทที่ 10 อาร์เรย์ (Array)
แล้วทำการเรียงลำดับข้อมูลใหม่โดยเรียงจากน้อยไปหามาก
STACK สแตก(stack) เป็นโครงสร้างข้อมูลแบบเชิงเส้น ที่มีการใส่ข้อมูลเข้า และนำข้อมูลออกเพียงด้านเดียว ดังนั้น ข้อมูลที่เข้าไปอยู่ใน stack ก่อนจะออกจาก stack.
ตัวแปรและชนิดของข้อมูล
BC320 Introduction to Computer Programming
การบันทึกรายการค้าในสมุดบัญชี
START INPUT R = 1 R = R Yes R*R <=2 No R = R PROCESS
โครงสร้างภาษา C Arduino
บทที่ 7 การเขียนโปรแกรม แบบวนรอบทำซ้ำ (Loop)
บทที่ 13 การจัดการไฟล์ (File Management)
Control Statement เงื่อนไขคำสั่งในโปรแกรม ภาษา C
ตัวแปรกับชนิดของข้อมูล
ขั้นตอนการออกแบบ ผังงาน (Flow Chart)
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
วิธีการกำหนดค่า Microsoft SharePoint ของคุณ เว็บไซต์ออนไลน์
Data storage II Introduction to Computer Science ( )
บริษัท พัฒนาวิชาการ (2535) จำกัด
การเขียนภาษาจาวาเบื้องต้น
Week 5 C Programming.
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
Data storage II Introduction to Computer Science ( )
หน่วยที่ 6 อะเรย์ของอักขระ
บทที่ 7 การประมวลผลอาร์เรย์
บทที่ 8 การแก้ไขข้อผิดพลาดโปรแกรม(Debugging)
2 โครงสร้างข้อมูลแบบสแตก (STACK).
กิจกรรมที่ 7 นายปรีชา ขอวางกลาง
บทที่ 2 โครงสร้างข้อมูลแบบแถวลำดับหรืออาร์เรย์ (Array)
Chapter 3 : Array.
Array: One Dimension Programming I 9.
ฟังก์ชันของโปรแกรม Computer Game Programming
การเขียนโปรแกรมด้วยภาษาไพทอน การเขียนโปรแกรมแบบทางเลือก
Decision: Single and Double Selection (if and if-else statement)
พอยเตอร์ #include <stdio.h> void main() { int age; int *pointer;
Computer Game Programming
ใบสำเนางานนำเสนอ:

คณาจารย์ หลักสูตรวิทยาการคอมพิวเตอร์คณะวิทยาการสารสนเทศ 1204 102 Problem Solving คณาจารย์ หลักสูตรวิทยาการคอมพิวเตอร์คณะวิทยาการสารสนเทศ

การทำงานกับข้อมูลข้อความ (String) กำหนดข้อมูลเป็นชนิดตัวอักษร (char) ประกาศตัวแปร โดยใช้อักษรที่ซ้ำๆ กันหลายๆ ตัว โดยใช้หลักของ Array ดังนี้ แบบที่ 1 (ประกาศตัวแปรก่อนแล้วจึงกำหนดค่าภายหลัง) char ชื่อตัวแปร[จำนวนตัวอักษร+1]; แบบที่ 2 (กำหนดข้อความพร้อมประกาศตัวแปร) char ชื่อตัวแปร[] = “ข้อความ”; การกำหนดค่าข้อความ จะต่างกับการกำหนดค่าตัวอักษรคือจะต้องเขียนอยู่ภายใต้ “…” (เครื่องหมาย Double Quote) การกำหนดข้อความภายหลังมีวิธีการทำงาน ดังนี้ ชื่อตัวแปร = “ข้อความ”; ขนาดของตัวแปร = จำนวนตัวอักษร+1 ซึ่งส่วนที่เพิ่มมาคือสัญลักษณ์จบข้อความ ได้แก่ “\0” นั่นเอง

Library ใน Header File ดูคำสั่ง และการใช้งานได้ที่ www.cppreference.com/index.html en.wikipedia.org/wiki/C_standard_library www.utas.edu.au/infosys/info/documentation/C/CStdLib.html ในที่นี้แนะนำเฉพาะที่ใช้บ่อยๆ โดยการเรียกใช้ Header File ด้วยคำสั่ง Include #include <stdio.h> คือ Library เกี่ยวกับ Standard Input/Output #include <conio.h> คือ Library เกี่ยวกับ Console Input/Output #include <math.h> คือ Library เกี่ยวกับการคำนวณทางคณิตศาสตร์ ฯลฯ

stdio.h printf() คำสั่ง แสดงผลตามรูปแบบออกทางหน้าจอ scanf() คำสั่ง รับค่า Input ตามรูปแบบจาก keyboard gets() คำสั่ง รับค่า String จาก keyboard puts() คำสั่ง แสดง String ออกทางหน้าจอ getchar() คำสั่ง รับค่า Character จาก keyboard putchar() คำสั่ง แสดงค่า Character ออกทางหน้าจอ ฯลฯ

ตัวอย่าง scanf, printf, ตัวแปรสตริง

การกำหนดค่า String ให้กับตัวแปร จากคำสั่ง char name[20] และ name1[]=“Algor” มีความต่างกันคือ name ตัวแรก มีเพียงขนาดไม่มี ค่าข้อมูล ดังนั้นต้องกำหนดค่าสตริง ให้ หรือ สั่งป้อนเข้าไปทางคีย์บอร์ด ดังคำสั่ง scanf(“%s”,&name); name1 มีการกำหนดค่าไว้แล้วคือ ข้อความ “Algor” ดังนั้นสามารถนำค่าไปใช้แสดงที่หน้าจอได้ ดังคำสั่ง printf(“K.%s :…..”,name1); บทที่ 8 Slide part II

จงเขียนโปรแกรมจากผังงานที่กำหนดให้ Start Stop Read WIDTH, LENGTH AREA = WIDTH * LENGTH Print AREA จาก flowchart มีการรับค่า ข้อมูล 2 ค่า WIDTH, LENGTH แต่ อย่าลืม!! ก่อนจะสั่งรับหรือ แสดงค่า ต้องประกาศตัวแปรก่อน คำสั่งรับคือ scanf แต่ควรจะ แสดงข้อความให้ผู้ใช้ทราบ ด้วยว่า จะต้องป้อนอะไร ดังนั้น ต้องมี printf ก่อน เสมอ Output

เอ้า! มาลองกันโจทย์นี้ ต้องการรับข้อมูลเงินโบนัสที่พ่อได้รับ โดยพ่อจะดำเนินการแบ่งเงินให้แม่ 30% ของเงินที่มีอยู่ และนำเงินที่เหลือแบ่งให้ลูก 3 คน คนละเท่าๆ กัน จงแสดงจำนวนเงินที่แม่ได้รับ จำนวนเงินที่ลูกแต่ละคนได้รับ Flowchart หน้าตาเป็นแบบไหน? ป้อนจำนวนเงินโบนัส (bonus) mom = bonus x 0.3 children = (bonus – mom) / 3 แสดง เงินที่ แม่ และ ลูกๆ ได้รับ (mom, children) บทที่ 8 Slide part II

Flowchart และ Source Code คำถาม? ทำไมต้องประกาศต้องแปรเป็น float #include<stdio.h> #include<conio.h> int main() { float bonus,mom,children; ป้อนจำนวนเงินโบนัส (bonus) mom = bonus x 0.3 children = (bonus – mom) / 3 แสดง เงินที่ แม่ และ ลูกๆ ได้รับ (mom, children) เริ่มต้น จบการทำงาน printf(“Input Father’s bonus:> “); scanf(“%f”,&bonus); mom = bonus * 0.3; children = (bonus – mom) / 3; printf(“Mother gets %.2f, Children get %.2f”,mom,children); สังเกต printf สีแดง เป็นการแสดงข้อความล้วน จึงไม่มีตัวแปร แต่ printf สีฟ้า ต้องการแสดงค่าตัวแปร mom และ children จึงต้องใช้ % และต้องใส่ชื่อตัวแปรหลังเครื่องหมาย “ ด้วย เรียงตามลำดับการแสดงจากซ้ายไปขวา

เช็ค! ถูกต้องไหม?

conio.h getch() คำสั่งรับค่า character จาก keyboard โดยไม่แสดงตัวอักษรทางหน้าจอ clrscr() คำสั่งลบข้อความบนหน้าจอทั้งหมด clreol() คำสั่งลบข้อความ ณ บรรทัดที่มี cursor ฯลฯ ปล. การลบหน้าจอ ใน Dev-C++ จะใช้คำสั่ง system(“cls”); ต้องเพิ่ม Header file ชื่อ การสั่งหยุด “iostream.h” เข้าไปด้วย system(“pause”); ดังตัวอย่าง

ผลจากการสั่ง “cls” และ pause

การนำข้อมูลเข้าทางแป้นพิมพ์ สามารถรับข้อมูลที่ป้อนเข้ามาทางแป้นพิมพ์ (Keyboard) ได้หลายวิธี เช่น การใช้ getch() อยู่ใน conio.h การใช้ gets() อยู่ใน stdio.h การใช้ scanf() อยู่ใน stdio.h

getch() รับข้อมูลตัวอักษรได้เพียง 1 ตัวอักษรเท่านั้น โดยไม่ต้องกด Enter และจะไม่เห็นตัวอักษรนั้นบนหน้าจอ ข้อมูลจะถูกแปลงไปเป็นรหัส ASCII โดยอัตโนมัติ ต้อง include ไฟล์ชื่อ “conio.h” การใช้งานมี 2 แบบ มีการส่งค่าตัวอักษรที่รับกลับมา ดังตัวอย่าง char ch; ch = getch(); ไม่ส่งค่าตัวอักษรที่รับกลับมา (ใช้กรณีต้องการให้กด Key ใดๆ แล้วทำงานต่อไป) ดังตัวอย่าง getch();

Example 11 #include <stdio.h> #include <conio.h> int main () { printf("Press any key to continue\n"); getch( ) ; char ch; printf("Input one character : "); ch = getch( ); //คำสั่งนี้ไม่แสดงอักขระที่หน้าจอขณะรับข้อมูล printf(“\nYour character is %c", ch); }

gets() รับข้อมูลข้อความ (String) ต้อง include ไฟล์ชื่อ “stdio.h” การใช้งาน สามารถเรียกใช้ได้ดังนี้ char ชื่อตัวแปรข้อความ[จำนวนตัวอักษร+1] gets(ชื่อตัวแปรข้อความ ); ตัวอย่าง char name[10]; gets(name);

Example 12 *** ให้ลองเอา comment ในบรรทัดที่ 8 ออกหลัง run ผลรอบแรก #include <stdio.h> int main() { char name[10]; printf("Input name : "); gets(name); // printf("Hello %s\n",name); return 0; } *** ให้ลองเอา comment ในบรรทัดที่ 8 ออกหลัง run ผลรอบแรก เพื่อดูความแตกต่าง

scanf(“%รูปแบบ”, &argument); รับข้อมูลได้หลากหลายชนิด ขึ้นอยู่กับรูปแบบที่กำหนด ต้อง include ไฟล์ชื่อ “stdio.h” การรับค่าจะรับค่าตามรูปแบบ ดังนี้ // & ต้องใส่เสมอ รูปแบบที่กำหนด %d รับ/อ่านตัวเลขจำนวนเต็มฐานสิบ %f รับ/อ่านตัวเลขทศนิยม %c รับ/อ่านตัวอักษรโดยกด Enter (ไม่แนะนำให้ใช้) %s รับ/อ่านข้อความ (String) %ld รับ/อ่านตัวเลขจำนวนเต็ม ขนาดไม่เกิน 4 ไบต์ %lf รับ/อ่านตัวเลขจำนวนทศนิยม ขนาดไม่เกิน 8 ไบต์ &argument argument คือ ค่าตัวแปร & คือ การอ้างอิง address หรือตำแหน่งหน่วยความจำของตัวแปรนั้นๆ scanf(“%รูปแบบ”, &argument);

Data type : long , double สังเกต ผลที่ได้จากการป้อนว่า ถูกต้อง หรือไม่? ให้ดูทั้งขนาดข้อมูลที่ป้อน และ รูปแบบคำสั่ง % ที่ใช้

%ld, %lf

Example 13 #include <stdio.h> #include <conio.h> int main() { char ch; char name[10]; int num; float score; printf("Input one char : "); scanf("%c", &ch); printf("Input string : "); scanf("%s", &name); printf("Input integer : "); scanf("%d", &num); printf("Input float : "); scanf("%f", &score); printf("char(%c) string(%s) integer(%d) float(%f)", ch,name, num,score); getch(); return 0; } ปล. %s ที่รับโดยใช้ scanf ไม่สามารถเว้นช่องว่างได้ ควรใช้คำสั่ง gets และเพิ่มตัวแปร

Example 14 (เพิ่มการแสดงผลจากตัวอย่างที่ 13) #include <stdio.h> int main() { char ch; char name[10]; int num; float score; // รับค่า Input printf("Input one char : "); scanf("%c", &ch); printf("Input string : "); scanf("%s", &name); printf("Input integer : "); scanf("%d", &num); printf("Input float : "); scanf("%f", &score); // แสดงผล Output ทางหน้าจอจากค่า Input ที่รับเข้ามา printf("Display one char is %c\n", ch); printf("Display string is %s\n", name); printf("Display integer is %d\n", num); printf("Display float is %f\n", score); return 0; }

การรับสตริงด้วย scanf, gets สังเกต การสั่งรับสตริง ชื่อ สกุล ทั้งสองแบบ แตก ต่างกันอย่างไร scanf(“%s%s”,&name, &surname); gets(name); ลองพิมพ์และดูผลลัพธ์ ที่ได้ รวมถึงลักษณะการ ป้อน มีเว้นวรรคได้หรือไม่ จำนวนตัวแปรที่ใช้ ชอบแบบไหนใช้แบบนั้น

Example 14 #include <stdio.h> int main() { char ch; char name[10]; int num; float score; printf("Input string : "); scanf("%s", &name); printf("Input one char : "); scanf("%c", &ch); printf("Input integer : "); scanf("%d", &num); printf("Input float : "); scanf("%f", &score); return 0; } *** จากตัวอย่างที่ 13 ลองสลับบรรทัด ที่ 9 และที่ 10 ดูใหม่ ให้สังเกตปัญหาที่เกิดขึ้น ให้อาจารย์แนะนำแนวทางการแก้ปัญหา

math.h คำสั่งต่างๆ abs() fabs() exp() fmod() log() log10() pow() คำสั่งหาค่า absolute สำหรับตัวเลขจำนวนเต็ม fabs() คำสั่งหาค่า absolute สำหรับตัวเลขจำนวนจริง exp() หาค่า exponential fmod() หาเศษ log() หาค่า natural logarithm log10() หาค่า logarithm ฐานสิบ pow() หาค่าเลขยกกำลัง sqrt() หาค่ารากที่ 2 (square root) ตัวอย่าง int ตัวแปร = abs(argu); float ตัวแปร = fabs(argu); float ตัวแปร = exp(argu); float ตัวแปร = fmod(argu); float ตัวแปร = log(argu); float ตัวแปร = pow(เลขฐาน, เลขกำลัง); float ตัวแปร = sqrt(argu);

Example 15 #include <iostream> #include <conio.h> #include <math.h> int main() { printf(“Press any key…”); getch(); // รับค่าใดๆ จาก keyboard system(“cls”); // ลบหน้าจอ int a, b, c; // ประกาศค่าตัวแปร printf(“Input a : “); scanf(“%d”, &a); // รับค่า a printf(“Input b : “); scanf(“%d”, &b); // รับค่า b printf(“a = %d\nb = %d”, a, b); // แสดงค่า a และ b c=abs(a); // หาสัมบูรณ์ของ a เก็บไว้ในตัวแปร c printf(“Show absolute of a = %d\n”, c); // แสดงค่า c printf(“Show absolute of %d = %d\n”, a, c); // แสดงค่า c c=pow(2,3); // หาค่า 2 ยกกำลัง 3 เก็บไว้ในตัวแปร c printf(“Show 2 power 3 = %d\n”, c); // แสดงค่า c c=pow(a, b); // หาค่า a ยกกำลัง b เก็บไว้ในตัวแปร c printf(“Show %d power %d = %d\n”, a, b, c); // แสดงค่า c getch(); return 0; }

Example 16 #include <stdio.h> #include <math.h> int main() { float x, y, z; printf("Input x : "); scanf("%f", &x); printf("Input y : "); scanf("%f", &y); printf(" x = %f\n y = %f\n", x, y); z=fabs(x); printf("Show absolute of %f = %f\n", x, z); z=pow(x, y); printf("Show %f power %f = %f\n", x, y, z); z=sqrt(x); printf("Show square root %f = %f\n", x, z); return 0; }

แบบฝึกหัด จงเขียนโปรแกรมจากโจทย์ที่กำหนดให้ ศูนย์หนังสือต้องการแจกคูปองลดราคาสินค้าให้ลูกค้าร้อยละ 10 บาท ซึ่งมีคูปองราคา 5 บาท และ 10 บาท จงเขียนโปรแกรมเพื่อรับจำนวนเงินที่ลูกค้าซื้อสินค้าทั้งหมด และคำนวณว่าจะต้องจ่ายคูปองราคาเท่าใด จำนวนเท่าใดให้กับลูกค้า จงแปลงหน่วยวัดพื้นที่จากไร่ เป็นตารางวา โดยให้อ่านค่าขนาดพื้นที่ซึ่งมีหน่วยเป็นไร่ แล้วแปลงเป็นตารางวา (1 ไร่ = 400 ตารางวา) ให้รับชื่อ สกุล และปี พ.ศ. เกิดของนักเรียนเพื่อคำนวณหาอายุจริง และแสดงออกที่หน้าจอตามรูปแบบ Name Surname, Birth Year[xxxx] Your age is xx

แบบฝึกหัด(ต่อ) จงเขียนโปรแกรมเพื่อคำนวณหาผลลัพธ์ของโจทย์ต่อไปนี้ P(x) = x5 – 3x4 + 2x3 – x + 6 เมื่อ x คือค่าจำนวนเต็มใดๆ ที่ป้อนเข้ามาจากคีย์บอร์ด จงหาปริมาตรทรงกระบอกที่มีเส้นผ่าศูนย์กลางและความสูงเท่ากับ R และ H ใดๆ ซึ่งรับค่าจากผู้ใช้ และแสดงผลลัพธ์ดังนี้ เส้นผ่าศูนย์กลาง[xx.xx] , ความสูง[xx.xx] ปริมาตรทรงกระบอก[xxx.xx] f(x) = x5 – 5x + 8 กำหนดให้ x = 3 3x2 บทที่ 8 Slide part II