วันพฤหัสบดีที่ 30 มิถุนายน พ.ศ. 2554

บทที่ 3 Array

Array ตามปกติ โครงสร้างข้อมูลแบ่งออกเป็น 2 ประเภทใหญ่ๆ ด้วยกัน คือ

1.โครงสร้างข้อมูลแบบเชิงเส้น (Linear Lists) เป็นรายการต่อเนื่อง ข้อมูลที่จัดเก็บมีลักษณะเป็นแถวลำดับต่อเนื่องกันไป เช่น Array,Stack,Queues เป็นต้น

2.โครงสร้างข้อมูลแบบไม่เป็นเชิงเส้น (Non-Linear Lists) ตรงกันข้ามกับโครงสร้างแบบเชิงเส้น เช่น Trees และ Graphs เป็นต้น

โครงสร้างข้อมูลแบบArray

อาร์เรย์ หรือ แถวลำดับ คือการวมกลุ่มของตัวแปรที่สามารถใช้ตัวแปรชื่อเดียวแทนข้อมูลสมาชิกได้หลายๆตัวใช้เลขดรรชนี(Index)หรือซับสคริปต์(Subscript)เป็นตัวอ้างอิงตำแหน่งสมาชิกบนแถวลำดับ

score[1] คือ คะแนนทดสอบของนักศึกษา
score[50] คือ คะแนนทดสอบของนักศึกษาคนสุดท้าย

คุณสมบัติสำสคัญของอาร์เรย์

1. อาร์เรย์เป็นตัวแทนของกลุ่มของมูลที่มีความสัมพันธ์กันเช่น เดือน 12 เดือน ซึ่งประกอบด้วยเดือนมกราคมถึงเดือนธันนวาคม ราคาหุ้นในรอบ 30 วัน เป็นต้น

2. สมาชิกในอาร์เรย์จะมีคุณสมบัติเหมือนๆกัน เช่น ชนิดของข้อมูลของตัวแปร

3. ขนาดของอาร์เราย์จะมีขนาดลดลงคงที่

4. ผู้ใช้สามารถอ้างอิงเพื่อเข้าถึงข้อมูลที่ต้องการได้ทันที

การอ้างอิงตำแหน่งสมาชิกในอาร์เรย์
     ต้องเริ่มต้นด้วยชื่ออาร์เรย์และตามด้วยเลขลำดับกำกับไว้ด้วย ซึ่งลำดับเหล่านี้สามารถเรียกได้หลายชื่อด้วยกัน เช่น ซัปสคริปต์ หรือเลขดรรชนี

ขอบเขตของอาร์เรย์ [Bounds]

1. ภาษา C,C++,C#,JAVA    จะถูกกำหนดขอบเขตล่างสุดเท่ากับ 0

2. ภาษา FRONTRAN      จะถูกกำหนดขอบเขตล่างสุดเท่ากับ 1

3. ADA,PL/1,PASCAL สามารถทำการกำหนดขอบเขตล่างสุดและขอบเขตบนสุดของอาร์เรย์ได้ รวมถึงกำหนดขอบเขตค่าติดลบได้

การคำนวณจำนวนสามาชิกของอาร์เรย์ 1 มิติ

จำนวนสมาชิก  = U + L + 1

การคำนวณจำนวนสามาชิกของอาร์เรย์ 2 มิติ

จำนวนสมาชิก = (U1 – L1 + 1) x (U2 – L2 + 1)

การคำนวณจำนวนสามาชิกของอาร์เรย์ 3 มิติ

จำนวนสมาชิก = (U1 – L1 + 1) x (U2 – L2 + 1) x (U3 – L3 + 1)

การจัดเก็บอาร์เรย์ในหน่วยความจำ
รูปแบบทั่วไปของโครงสร้างข้อมูลอาร์เรย์   
อาร์เรย์ 1 มิติ ใช้สูตร ArrayName [ L:U ]                         
ตัวอย่าง   a[1:10] = a[10]                                          
อาร์เรย์ 2 มิติ ใช้สูตร ArrayName [ L1:U1,L2:U2 ]
ตัวอย่าง a[4,5] = a[0:3,0:4]                         
อาร์เรย์ 3 มิติ ใช้สูตร ArrayName [ L1:U1,L2:U2 ,L3:U3 ]
ตัวอย่าง a[6,5,4] = a[0:5,0:4,0:3]
การคำนวณหาตำแหน่งแอดเดรสในหน่วยความจำ
อาร์เรย์ 1 มิติ ใช้สูตร LOC(a[i]) = B + w(i – L)
โดยที่                                                                                 
LOC(a[i]) คือ ตำแหน่งแอดเดรสที่เก็บ a[i] ในหน่วยความจำ                      
B คือ แอดเดรสเริ่มต้นของ a                                                
w  คือ ขนาดของข้อมูลในการจัดเก็บ                                   
i คือ ตำแหน่งของสมาชิกในอาร์เรย์                                    
L คือ ขอบเขตล่างสุด                                                           
ตัวอย่าง อยากทราบอาร์เรย์ a[10] (ภาษา C ) ถูกจัดเก็บในหน่วยความจพเดรสใด กำหนดให้ :  แอดเดรสเริ่มต้น = 1000      w =  1 ไบต์
LOC(a[i]) = B + w(i – L)                 
                  = 1000 + 1(10-0)
                  = 1000 + 10
                  = 1010
อาร์เรย์ 2 มิติ                                                                      
การจัดเก็บด้วยการเรียงคอลัมน์เป็นหลัก  
ใช้สูตร      LOC(a[i]) = B + w[C(i – L1) + ( j – L2)]
โดยที่ C  คือตำแหน่งคอลัมน์ของแถวลำดับ ( R*C )           
ตัวอย่าง ต้องการทราบตำแหน่งที่เก็บข้อมูลอาร์เรย์ K แถวที่ 2 คอลัมน์ 1 กำหนด B = 500, w = 4 ( ภาษา C )
LOC(K[i,j]     = B + w[C(i – L1) + ( j – L2)]
LOC(K[2,1])  = 500 + 4[3(2– 0) + ( 1 – 0)]
                        = 500 + 4[6 +1]
                        = 500 +28
                        = 528
อาร์เรย์ 3 มิติ                                                                           
การจัดเก็บด้วยการเรียงแถวเป็นหลัก       ใช้สูตร
      LOC(s[i,j,k])  = B + [ w * R * C( i - L1)                 
                                     + [w * C( j – L2 )] + [w(k-L3)]
ตัวอย่าง ต้องการทราบตำแหน่งที่เก็บข้อมูลอาร์เรย์ S ชั้นที่ 0 แถวที่ 3 คอลัมน์ 4 กำหนดให้ B = 500, w =4 (ภาษา C S[3][4][5] )
LOC(s[i,j,k])  = B + [ w * R * C( i - L1)                 
                               + [w * C( j – L2 )] + [w(k-L3)]
LOC(s[0,3,4])  = 500 + [ 4 * 4 * 5( 0 - 0)                 
                                     + [4 * 5( 3– 0 )] + [4(4-0)]
                           = 500 + 0 + 60 + 16
                          = 576
อาร์เรย์ 3 มิติ                                                                           
การจัดเก็บด้วยการเรียงคอลัมน์เป็นหลัก       ใช้สูตร
LOC( S[i,j,k]) = B + [w * K * R * C(j – L2) ]
                                + [ w * K * R(i – L1 )]  + [k – L3]

วันจันทร์ที่ 27 มิถุนายน พ.ศ. 2554

WordPress

WordPress เป็นบล็อกที่มีทั้งฟรีและไม่ฟรี

.org เป็นเว็บที่ใช้โหลด
.comใช้ในกาารเปิดเว็บ

WordPressเป็นเว็บที่ใช้ในการทำเว็บไซต์แบบง่ายและเป็นที่นิยมทำกันโดยต้องใช้โปรแกรม Apache2.2 1.กดปุ่มSCM…-->Apache2.2-->ดับเบิ้ลคลิก—>เปลี่ยนStart type เป็น Manual
2.กด Mysql—>ดับเบิ้ลคลิก—>เปลี่ยน Start type เป็น Manual—>Apply—>Ok
เพื่อไม่ให้มันเริ่มต้นตอนเปิดWindows

เข้าเพื่อ test Web Sebverของเราว่าใช้ได้ไหม  ไปที่ http://locolhost หรือ http://127.0.0.1

เลือก phpMyAddmin Database Maneger Version 2.10.2 ตัวข้างบน   การเตรียมฐานข้อมูล
1.สร้างฐานข้อมูลใหม่—>พิมพ์ wordpress –->font มาตรฐานใช้ utf_8ganeral_ci –> คลิกสร้าง
2.จากนั้น ไปที่ Folder WordPress แล้วไปใส่ในC:\appserv เป็นที่เก็ยเว็บไซต์ทั้งหมด   แล้วไปที่ drive ที่เก็บข้อมูลเมื่อสักครู่ ไปที่ www—>wordpress—>wp-config-sample จากนั้น Copy แล้ววาง จากนั้นเปลี่ยนชื่อเหลือแค่ wp-config
3.ดับเบิ้ลคลิกที่ wp-config แล้วใช้ Dremweaver 8 ในการเปิดเพื่อที่จะแก้ชื่อแสดงเว็บเราและชื่อเข้าใช้ระบบและPasswordโดยเปลี่ยนฝยบรรทัดที่ 19,22,23จากนั้นก็ปิดโปรแกรมไป

วันพฤหัสบดีที่ 23 มิถุนายน พ.ศ. 2554

บทที่ 2 ทบทวนภาษา C (Review C Language

1.คำสั่งพื้นฐานต่างๆ
-printf : ใช้แสดงผล ข้อความ ข้อมูลจากค่าคงที่ หรือตัวแปรที่จอภาพ

เช่น printf(“abc”);
printf(“%s”,”abc”);
-scanf : ใช้รับข้อมูลจากแป้นพิมพ์ แล้วจัดเก็บลงในหน่วยความจำของข้อมูล
เช่น scanf(“%d”,&x);
Format Code ใช้ในการแสดงผลที่นิยมใช้ ได้แก่
Format Codeความหมาย
%dใช้กับข้อมูลแบบ integer(เก็บข้อมูลแบบตัวเลขจำนวนเต็ม)
%cใช้กับข้อมูลแบบ character(เก็บข้อมูลแบบอักขระ)
%fใช้กับข้อมูลแบบ floating(เก็บข้อมูลแบบตัวเลขทศนิยม),double
%sใช้กับข้อมูลแบบ string
2.Operatorแบ่งออกเป็น 3 ชนิด คือ
  • Arithmetic Operators ได้แก่  +, - , *, /, % , -- , ++
  • Relational and Equality Operators ได้แก่ < , > , <= , >= , == , !=
  •    - Logical Operators ได้แก่ ! , && , ||
3. ทางเลือก/ลักษณะ [Selection/Condition] มีทั้งหมด 4 ทางเลือกหรือลักษณะ ได้แก่
3.1.  If Statement คือ เป็นคำสั่งที่ใช้เพื่อการตัดสินใจเลือกทำงานอย่างใดอย่างหนึ่ง โดยอาศัยการทดสอบเงื่อนไขบางประการ รูปแบบ : "... if (เงื่อนไข) คำสั่ง ; ..." 3.2. if-else statement คือ ผลลัพธ์ที่ได้จะมีค่าจริงกับเท็จเท่านั้น รูปแบบ : "... if (เงื่อนไข)
                          { คำสั่งต่างๆ เมื่อเงื่อนไขเป็นจริง ; }
                          else
                          { คำสั่งต่างๆ เมื่อเงื่อนไขเป็นเท็จ ; } ..."
3.3. If-Else Statement (Nested If) คือ มีรูปแบบโดยที่เงื่อนไขซ้อนเงื่อนไขเช่นในกรณีเปรียบเทียบเงื่อนไขแรก (condition1) แล้วปรากฏว่าเป็นจริง โปรแกรมจะเลือกทำคำสั่งหลังอักขระ : แต่หลังอักขระ : มีเงื่อนไขที่สอง (condition2) ที่ต้องตรวจสอบ เช่นเดียวกันถ้าเงื่อนไขตัวแรกเปรียบเทียบกันแล้วปรากฏว่าได้ผลลัพธ์ออกมาเป็นเท็จ โปรแกรมจะเลือกทำคำสั่งหลัง else : แต่ต้องไปพบกับเงื่อนไขที่สาม (condition3) ที่ซ้อนอยู่อีกเช่นกัน
รูปแบบ :
"... if (เงื่อนไขที่1)
คำสั่งชุดที่1; (กรณีเงื่อนไขที่ 1 เป็นจริง)
                  else if (เงื่อนไขที่2)
คำสั่งชุดที่2; (กรณีเงื่อนไขที่ 2 เป็นจริง)
                  else
คำสั่งชุดที่3; ..."
3.4. Switch Statement คือ จะคล้ายกับคำสั่ง If แต่ว่าเงื่อนไขจะมีมากกว่า 2 เงื่อนไข คือตรวจสอบเงื่อนไข โดยดูจากค่าของตัวแปร โดยนำค่าจากตัวแปรที่อยู่ในคำสั่ง switch มาตรวจสอบกับค่าที่อยู่หลังคำสั่ง case แต่ละคำสั่ง ถ้าตรงกัน ก็จะทำงานตามคำสั่งใน case นั้น ถ้าไม่ตรงกับ case ไหนเลยจะมาทำงานในคำสั่ง default แทน
รูปแบบ :
".... switch ( ตัวแปร ) {
case ค่าที่ 1 : คำสั่งที่ 1 ;
break; 
case ค่าที่ 2 : คำสั่งที่ 2 ;
break;
default : คำสั่งที่ไม่ตรงกับค่าที่ 1 และ 2 ;
} .... "
ไม่รู้จบ
4. การทำซ้ำ(Repetition/Loop) -while statement Format :

           while (เงื่อนไข) {
                  statement-1;
                  statement-2;
                       ……
                  statement-n;
     }
-for statement Format :

  for (ตัวแปร = ค่าเริ่มต้น ; นิพจน์ตรรกะ ; ค่าเพิ่มหรือค่าลด)
{
                statement -1 ;
                statement -2 ;
                     …..
                statement -n ;
  }
ข้อควรจำ : ตัวแปรที่ใช้งานในคำสั่ง for ต้องเป็นตัวแปรประเภทจำนวนเต็มเท่านั้น -do-while statement Format :

                          do {
                                  statement -1 ;
                                  statement -2 ;
                                        …..
                                 statement -n ;
            } while (นิพจน์ตรรกะ);

5. ฟังก์ชัน [Function]
ข้อดี คือ
          - เขียนโค้ดครั้งเดียว แต่สามารถเรียกใช้ได้หลายครั้ง
          - สามารถนำหลับมาใช้ใหม่ในโปรแกรมอื่นได้
          - ถ้าต้องการเปลี่ยนแปลงแก้ไขเพียงที่เดียว
          - ทำให้โปรแกรมมีความเป็นโครงสร้าง
          - สามารถแบ่งเป็นโมดูลย่อยๆได้
ฟังก์ชันแบ่งได้เป็น 2 ประเภท ได้แก่
5.1 ฟังก์ชันมาตรฐานหรือไลบรารีฟังก์ชัน [Library Function]  คือ ฟังก์ชันที่ใช้ในงานนี้ เป็นรูปแบบฟังก์ชันที่ต้องมีการส่งค่ากลับ ดังนั้นตัวแปรที่จะใช้งานต้องเป็นตัวเลข กลุ่มทศนิยม เช่น float, double เป็นต้น
รูปแบบ :                          ".... #include<file-name> ...."
ตัวอย่างเช่น :
                        "... #include<stdio.h>
                             #include<conio.h >                              etc.  ...." วิธีเรียกการใช้งาน Library Function                     - เรียกชื่อของฟังก์ชันที่ต้องการใช้งาน                     - เอาค่าที่จะส่งไปทำงานในฟังก์ชัน ใส่ลงในวงเล็บตามหลังชื่อฟังก์ชันนั้น แบบที่ 1 : ".... strcpy () ..."                    - อยู่ในแฟ้มข้อมูล string.h                   - ทำหน้าที่คัดลอกข้อมูลจาก string หนึ่งไปยัง string หนึ่ง รูปแบบ :
"... strcpy (str1, str2); ..."
แบบที่2 :
".... strcat() ..."
                  - อยู่ในแฟ้มข้อมูล string.h
                  - ทำหน้าที่ใช้เชื่อมต่อข้อความ 2 ข้อความเข้าด้วยกัน
รูปแบบ :
"... strcat (str1, str2); ..."
แบบที่ 3 :
".... strlen () ..."
                  - อยู่ในแฟ้มข้อมูล string.h
                  - ทำหน้าที่หาความยาวของข้อความ
รูปแบบ :
"... strlen (string); ..."
แบบที่ 4 :
".... getchar () ..."
                  - อยู่ในแฟ้มข้อมูล stdio.h
                  - ทำหน้าที่เป็นพังก์ชั่นรับข้อมูลเข้าทางคีย์บอร์ดครั้งละ 1 อักขระโดยต้องกด enter  และข้อมูลที่ป้อนเข้าจะปรากฏทางจอภาพ
รูปแบบ :
"... getchar (); ..."
แบบที่ 5 :
".... getch() ..."
                  - อยู่ในแฟ้มข้อมูล stdio.h
                  - ทำหน้าที่เป็นฟังก์ชั่นรับข้อมูลเข้าทางคีย์บอร์ดครั้งละ 1 อักขระ โดยไม่ต้องกด enter  และข้อมูลที่ป้อนเข้าจะไม่ปรากฏทางจอภาพ
รูปแบบ :
"... getch (); ..."
แบบที่ 6 :
".... gets() ..."
                  - อยู่ในแฟ้มข้อมูล stdio.h
                  - ทำหน้าที่เป็นฟังก์ชั่นรับข้อมูลที่เป็นข้อความจากแป้นพิมพ์ เข้ามาเก็บไว้ในตัวแปรชุด (อาร์เรย์)
รูปแบบ :
"... gets (); ..."
แบบที่ 7 :
".... putchar(); ..."
                  - อยู่ในแฟ้มข้อมูล stdio.h
                  - ทำหน้าที่เป็นฟังก์ชั่นให้แสดงผลทางจอภาพครั้งละ 1 อักขระ (อาร์เรย์)
รูปแบบ :
"... putchar (); ..." 5.2. การสร้างฟังก์ชันใช้เอง [User Defined Function] คือ เป็นฟังก์ชันที่ผู้เขียนโปรแกรมนิยามขึ้นใหม่ โดยอาจจะเขียนรวมไว้ในตัวโปรแกรมต้นฉบับเดียวกัน หรือเขียนแยกไว้ในไฟล์อื่น ซึ่งจะนำมาแปลร่วมโดยการใช้ Include Directives เช่นเดียวกับฟังก์ชันมาตรฐานการสร้าง Function ประกอบด้วย 5.2.1. Function Definition หรือนิยามฟังก์ชัน รายละเอียดในการทำงานของฟังก์ชัน คือ
รูปแบบ : "...     /* ………………….. */ heading comment                                  data-type function-name (type argument argument)                              {                                   declaration;                                   statement;                                return(value);                              }  ...."
Function Prototype คือ การประกาศฟังก์ชันโดยระบุทั้งชนิดของ function และ arguments ทั้งหมด เพื่อ ให้ compiler มีการตรวจสอบการเรียกใช้ชนิดของ arguments ให้ถูกต้องในขั้นตอนของการ compile ถ้า หากว่ามีการเรียกใช้ arguments ที่ไม่ถูกต้องก็จะมี message แจ้งตอนcompile ทำให้ไม่ผิด
พลาดในการเรียกใช้ฟังก์ชัน
-Invocation คือการเรียกใช้ฟังก์ชัน ลักษณะของฟังก์ชัน -ฟังก์ชันที่ไม่มีการส่งค่ากลับ การเรียกใช้ทำได้โดยอ้างถึงชื่อฟังก์ชัน            ...........   Print_banner () ; -ฟังก์ชันที่มีการส่งค่ากลับ การเรียกใช้ทำได้เหมือนแบบแรก แต่ต้องมีตัวแปรมารับค่าด้วย การเรียกใช้ทำได้โดย
int main(void) {
   int k, j;
   j = prompt ();
   k = prompt ();
printf(“j = %d and k = %d”, j, k);
-ฟังก์ชันที่มีการรับค่า argument การเรียกใช้ฟังก์ชันทำได้โดยอ้างถึงชื่อของฟังก์ชันพร้อมทั้งส่งค่าของตัวแปร(parameter)ไปด้วย โดยจะ ต้องมีชนิดสอดคล้องกับ argument ของฟังก์ชัน ที่เรียกใช้ การผ่านค่า argument ให้ฟังก์ชัน ทำได้ 2 แบบ คือ 1) Pass by Value คือ การส่งค่าไปยังฟังก์ชันที่ถูกเรียกใช้โดยส่งค่าของตัวแปรหรือค่าที่ส่งไปโดยค่าคง ที่ผ่านให้กับค่าฟังก์ชันจะถูกคัดลอกส่งให้กับ ฟังก์ชันและจะถูกเลี่ยนแปลงเฉพาะภายในฟังก์ชัน โดยค่า ของ argumentในโปรแกรมที่เรียกใช้จะไม่เปลี่ยนแปลง ตัวอย่าง :
void swap(int num1, int num2) {
          int tmp;
tmp = num1;
num1 = num2;
num2 = tmp;
print(“A is %d B is %d\n”, num1, num2);
}
2) Pass by Reference คือ การส่งค่าไปยังฟังก์ชันที่ถูกเรียกใช้โดยส่งเป็นตำแหน่งที่อยู่ของตัวแปรไป ซึ่งหากภายในฟังก์ชันมีการเปลี่ยนแปลงค่าของ argument ที่ส่งไป ก็จะมีผลทำให้ค่าของ argument นั้นใน โปรแกรมที่เรียกใช้เปลี่ยนไปด้วย ตัวอย่าง :
void swap(int * num1, int * num2) {
       int tmp;
tmp = *num1;
*num1 =* num2;
*num2 = tmp;
}

บทที่ 1 การทบทวนความรู้พื้นฐาน (Review)

ขั้นตอนการพัฒนาโปรแกรม
  1. กำหนดปัญหา (Define the Problem)
  2. ร่างรายละเอียดแนวทางการแก้ไขปัญหา (Outline the Solution)
  3. พัฒนาอัลกอลิทึ่ม (Develop and Algorithm)
  4. ตรวจสอบความถูกต้องของอัลกอลิทึ่ม (Test the Algorithm for Correctness)
  5. เขียนโปรแกรม (Programming)
  6. ทดสอบโปรแกรม(Testing)
  7. จัดทำเอกสารและบำรุงรักษาโปรแกรม (Document and Maintain the Program)
ขั้นตอนการพัฒนาโปรแกรมจะต้องมีการทำที่เป็นขั้นตอนลงไปเรื่อยๆเป็นลำดับตั้งแต่ขั้นตอนที่ 1-7

Program Design Methodology
  1. การออกแบบโปรแกรมแบบ Procedure-Driven
    • แนวคววามคิด - มีกระบวนการ (Processes) หรือฟังก์ชัน (Functions)
  2. การออกแบบโปรแกรมแบบ Event – Deiven
    • แนวความคิด - เหตุการณ์หรือการโต้ตอบจากภายนอกเป็ฯสำคัญ ที่ส่งผลต่อการโปรแกรมในด้ารการเปลี่ยนแปลงในแต่ละสถานะ
  3. การออกแบบโปรแกรมแบบ Data – Driven
    • แนวความคิด - ข้อมูลในโปรแกรมมากกว่ากระบวนการ โดยเริ่มต้นจากการวิเคราะห์ข้อมูลและควาสัมพันธ์ระหว่างข้อมูล มีการกำหนดโครงสร้างเบื้องต้น และเมื่อโครงสร้างข้อมูลได้ถูกกำหนดขึ้น ความต้องการในผลลัพธ์ของข้อมูลก็จะถูกพิจารณาในลำดับถัดไปว่ามีกระบวนการใดที่จะทำการแปลงข้อมูลนำเข้าเพื่อไปสู่ผลลัพธ์หรือเอาต์พุตที่ต้องการ
การเขียนโปรแกรมแบบ Procedural และ Object – Oriented
  1. การเขียนโปรแกรมแบบบนลงล่าง (Top-Down Development)
    • ตัวอย่างเช่น
    • image
    • ตัวอย่าง คลาสไดอะแกรมที่ออกแบบขึ้นเพื่อการโปรแกรม
    • image
Objective of Structured Program Design Techniques
  1. ต้องการให้โปรแกรมมีคุณภาพและคาดหมายพฤติกรรมการทำงานของโปรแกรมได้
  2. โปรแกรมสามารถที่จะแก้ไข ปรับปรุง หรือดัดแปลงได้ง่ายในอนาคต
  3. ทำให้ขั้นตอนของการเขียนโปรแกรมเป็ฯไปอย่างมีระบบ มีความสะดวกและง่ายขึ้น
  4. ลดเวลาในการพัฒนาโปรแกรม
Introduction to Algorithm and Pseudo Code
  1. Algorithm
    • คือ กลุ่มของขั้นตอนหรือกฏเกณฑ์ที่จะนำพาไปสู่การแก้ไขปัญหาได้
    • คือ ขั้นตอนวิธี ซึ่งจะใช้อธิบายว่างานนั้นๆทำอย่างไร โดยจะประด้วยชุดลำดับเป็นขั้นตอนที่ชัดเจน และรับประกันว่าเมื่อได้ปฏิบัติถูกต้องตามขั้นตอนจนครบ ก็จะได้ผลลัพธ์ที่ถูกต้องตามต้องการ
ExampleAlgorithm
อัลกอริทึ่มในการใช้เครื่องคิดเลขรวมตัวเลข
  1. turn on calculator
    clear calculator
    repeat the following instructions
    key in baht amount
    key in decimal point (.)
    key in satang amount
    press addition(+) key
    until all prices have been entered
    write down total price
    turn off calculator
Introduction to Algorithm and Pseudo Code (Cont.)  
Pseudo Code
  1. นำมาใช้แทนอัลกอริทึ่ม
  2. โปรแกรมเมอร์สามารถนำอัลกอลิทึ่มที่นำเสนอในรูปแบบซูโดโค้ดไปเขียนเป็นชุดคำสั่งภษาฌปรแกรมได้ทันที
หลักกการเขียนซูโดโค้ด
  1. ถ้อยคำหรือประโยคคำสุั่ง (Statement) ให้เขียนอยู่ในรูปแบบของภาษาอังกฤษอย่างง่าย
  2. ในหนึ่งบรรทัดให้เขียนประโยคคำสั่งเพียงคำสั่งเดียว
    ควรใช้ย่อออหน้าให้เป็นประโยชน์เพื่อแยกคำเฉพาะ (Keyword) ได้อย่างชัดเจนรวมถึงจัดโครงสร้าง การควบคุมให้เป็ฯสัดส่วน ซึ่งการกระทำดังกล่าวจะทำให้อ่านง่าย
  3. แต่ละประโยคคำสั่งให้เขียนลำดับจากบนลงล่าง โดยเพียงทางเข้าทางเดียวและมีทางออกทางเดียวเท่านั้น
  4. กลุ่มของประโยคคำสั่งต่างๆอาจจัดรวมกลุ่มเข้าด้วยกันในรูปแบบของโมดุล แต่ต้องกำหนดชื่อโมดุูลเหล่านั้นด้วย เพื่อสามารถเรียกใช้งานโมดูลนั้นได้
Six Basic Computer Operations
  1. คอมพิเตอร์สามารถรับข้อมูลได้
    • read ใช้เมื่อมีการรับหรืออ่านเรคอร์ดจากไฟล์ข้อมูล
    • get ใช้สำหรับข้อมูลจากแป้นคีย์บอร์ด   เช่น                                                                                   
    •  read studentName
      get systemDate
      read number1, number2
      get taxCode
  2. คอมพิวเตอร์สามารถแสดงผลลัพธ์ได้
    • print มช้สำหรับการส่งผลลัพธ์ออกทางเครื่องพิมพ์
    • write ใช้สำหรับการส่งเอาต์พุตเพื่อเก็บบันทึกลงในไฟล์
    • put,output หรือ display จะใช้สำหรับการส่งเอาต์พุตออกไปแสดงผลทางจอภาพ เช่น                  
    •  print “Program Completed”
      write customer record to master file
      put name, address and postcode
      output totalTax
      display “End of data”
    • คำสั่ง prompt ที่ใช้สำหรับแสดงข้อมความก่อนที่จะใช้คำสั่ง get, เพื่อจะสามารถสื่อสารโต้ตอบกับยูสเซอร์ได้อย่างสมบูรณ์ยิ่งขึ้น         เช่น
    •  promt for studentMark
      get studentMark
  3. คอมพิวเตอร์สามารถคำนวณได้
    • สัญลักษณ์ที่ใช้ในการคำนวณ
      • สัญลักษณ์ + ใช้แทนการบวก (Add)
      • สัญลักษณ์ - ใช้แทนการลบ (subtract)
      • lสัญลักษณ์ * ใช้แทนการคูณ (multiply)
      • สัญลักษณ์ / ใช้แทนการหาร (divide)
    • คำกริยาที่ใช้ในการคำนวณจะใช้คำว่า compute และ culculate เช่น  divide totalMarks by studentCount
      salesTax costPrice * 0.10
    • compute C = (F – 32) * 5 / 9
  4. คอมพิวเตอร์สามารถกำหนดค่าตัวแปรได้
    • สามารถทำได้ 3 รูปแบบ ดังนี้
      1. ใช้คำกริยา initialize หรือคำว่า set เพื่อกำหนดค่าเริ่มต้นให้กับตัวแปร
      2. ใช้สัญลักษณ์เครื่องหมาย = หรือเครื่องหมาย <-- เพื่อกำหนดค่าให้กับตัวแปร
      3. ใช้คำกริยา store ในการเก็บข้อมูลให้กับตัวแปร
      4. initialize totalPrice to zero
      5. set studentCount to 0
      6. totalPrice = costPrice + salesTax
      7. totalPricecostPrice + salesTaxstore customerId in lastCustomerID
  5. คอมพิวเตอร์สามารถเปรียบเทียบและเลือกการทำงานได้
    • ใช้คำ if…then…else และจบด้วย cnd if เสมอ
    • if employeeStatus is partTime then add 1 to partTimeCount else Mr.Warawut Chapter 1 Review 35 add 1 to fullTimeCount end if
  6. คอมพิวเตอร์สามารถทำงานซ้ำๆได้
    1. ใช้คำ dowhile…end หรือ repeat…until
    2. dowhile file_flag <> “eof” read student record print studentName, address to report Mr.Warawut Chapter 1 Review 36 add 1 to studentTotal enddoeof        eof – End Of File
The Three Basic Control Structures
  1.  The Three Basic Control Structures แบบเรียงลำดับ (Sequence) ทำงานตามชุดคำสั่งแบบลำดับ จากบนลงล่าง 
  2. แบบเลือกการทำงาน (Selection) เปรียบเทียบเงื่อนไขโดยใช้คำสั่ง
 if…
then….
else ….
end if
แบบทำงานซ้ำ (Repetition)

dowhile จะทำงานซ้ำไปเรื่อยๆ เมื่อตรงกับเงื่อนไขจนกระทั่งเงื่อนไขเป็นเท็จ ก็จะหลุดออกจากลูป
dowhile condition p is true
statement block
enddo

ส่วน repeat …. until จะทำการ execute statement
ก่อนเช็คเงื่อนไข
repeat
statement
statement
until condition is true

วันจันทร์ที่ 20 มิถุนายน พ.ศ. 2554

คุณธรรมนำความรู้ ( เกราะ 5 ชั้น และคุณธรรม 4 ประการ )

   การบรรยายโดย พระอาจารย์ ศรศิริ   ติสรโณ
   ผู้ช่วยเจ้าอาวาสวัดสันติวัน   จ.พิษณุโลก
เกราะ 5 ชั้น คืออะไร
เกราะ 5 ชั้น คือ "ศีล"
ดังคำกล่าวที่ว่า
"ศีลเป็นกำลังไม่มีที่เปรียบ   ศีลเป็นอาวุธสูงสุด
ศีลเป็นเครื่องประดับอย่างประเสริฐสุด     ศีลเป็นเเกราะอย่างอัศจรรย์"
ศีล หรือ เบญจศีล   คือความปกติของมนุษย์
ข้อ 1 ปาณาติปาตา   เวรมณี   เว้นจากทำชีวิตสัตว์ให้ตกล่วงไป หรือตาย (การไม่ฆ่าสัตว์)
ข้อ 2 อทินนาทานา   เวรมณี   เว้นจากการถือเอาสิ่งของที่เจ้าของ   ไม่ได้ให้ด้วยการแห่งขโมย
ข้อ 3 กาเมสุมิจฉาจารา   เวรมณี   เว้นจากประพฤติผิดในกาม
ข้อ 4 มุสาวาทา   เวรมณี   เว้นจากการพูดเท็จ
ข้อ 5 สุราเมรยมัชชปมาทัฏฐานา   เวรมณี   เว้นจากดื่มน้ำเมา คือสุราเมรัย อันเป็นที่สิ่งที่ทำให้เรา     ประมาท
ทำไมต้องมีศีล
ข้อ 1 เพระาใครๆก็รักชีวิตตัวเอง
ข้อ 2 เพราะใครๆก็อยู่เป็ฯสุขด้วยสมบัติของตนเอง
ข้อ 3 เพราะใครๆก็รักพี่น้องพวกพ้องของเขา
ข้อ 4 เพราะใครๆก็รักความจริงใจด้วยกันทั้งนั้น
ข้อ 5 เพราะว่าเมื่อดื่มเข้าไปแล้วก็จะทำลายสติของเรา เมื่อสติของเราเสียหายไปแล้ว
ศีลข้ออื่นๆก็พร้อมที่จะขาดหายไปหมด
วิบากกรรมของการผิดสีล
ข้อ 1 ฆ่าสัตว์ วิบากกรรมคือ อายุสั้น
ข้อ 2 ลักทรัพย์ วิบากกรรมคือ ทรัพย์สมบัติพินาศ
ข้อ 3 ประพฤติผิดในกาม วิบากกรรมคือ ครอบครัวแตกแยก
ข้อ 4 โกหก วิบากกรรมคือ โรคภายในช่องปาก, มะเร็งช่องปาก, ฟันไม่สวย
ข้อ 5 ดื่มน้ำเมา วิบากกรรมคือ เกิดมาโง่เขลา, ปัญญาอ่อน
วิธีสร้างเกราะภายในตน  คือการตั้งใจงดเว้นจากการประพฤติผิดทางกายและวาจา
1. งดเว้นโดยไม่ตั้งใจไว้ก่อน
2. งดเว้นโดยตั้งใจและปฏิญาณไว้ก่อน
3. งดเว้นด้วยตัดขาดได้
ธรรมที่เกื้อกูลต่อการรักษาศีล
        "หิริ โอตตัปปะ"
หิริ   คือความละอายต่อบาป เกิดขึ้นด้วยการพิจารณาถึงฐานะของตนเอง
โอตตัปปะ คือความเกรงกลัวต่อบาป เกิดขึ้นได้ เพราะกลัวว่าตนเองจะเดือดร้อนในภายหลัง
        "เมื่อมีหิริโอตตัปปะ   ศีลก็เกิดขึ้นและตั้งอยู่ได้
         เมื่อไม่มีหิริโอตตัปปะ   ศีลก็ไม่เกิดและตั้งอยู่ไม่ได้"
สุดท้ายคุณธรรม 4 ประการ คือ"ฆราวาสธรรม" คือ
1. สัจจะ  คือ นิสัยความรับผิดชอบ
2. ทมะ   คือ นิสัยรักการฝึกฝนตนเอง
3. ขันติ   คือ นิสัยอดทน
4. จาคะ  คือ นิสัยเสียสละ

ทั้งหมดนี้หากว่าคนไทยทุกคนมีคุณธรรมที่ใช้เป็นเครื่องชี้นำใรการดำเนินชีวิตแล้ว ทุกชีวิตที่อาศัยอยู่ร่วมกันก็จะมีแต่ความสุข ความสงบ   และมีความสามัคคีกันหมด

วันศุกร์ที่ 17 มิถุนายน พ.ศ. 2554

ทดสอบการเขียนข้อความ

เริ่มต้นการเรียนโครงสร้างข้อมูล  วันนี้เป็นการสอนในเรื่องของการใช้ Blogger
โดยเป็นการสอนในเรื่องของการเข้าใช้งานของ Blogger แค่บางส่วน
ในเรื่องของส่วนลึกกว่านี้ จะต้องเป็นคนไปศึกษาเองเพิ่มเติม