ชิ้นงานการเขียนโปรแกรม...

21
ชชชชชชชชชชชชชชชชชชชชชช ชชชชชชชชชชช ชชชชชชชชชชชชชช ชชชชชชชชชชชชชชชชชชชชชชชชชชชชชช ( The project of Computer Programming. In the Program Molecular. ) ชชชชชชชชช ชชชชชชชช ชชชชชชช ชชช ชชช 7 ชชชชชชชชชชชชชชช ชชชชชชชชช ชชชชชช 29 ชชชชชชชชชชชชชช ชชชชชช ชชชชชช 42 ชชชชช D2 ชชชชชชชชชชชชชชชชชชช 5/2 ชชชชชชชชชชชชชชชช : ชชชชชชชช ชชชชชช ชชชชชชชชชชชชชชชชชชชชชชชชชชชชชชชชชชชชชช ชชชชชชช 2 ชชชชชชชชชชช 2 ชชชชชชชชชช 2551

Upload: others

Post on 25-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ชิ้นงานการเขียนโปรแกรม ...tps.comsci.info/programming/project2551/D2_T2_V1.d… · Web viewแบบฟอร มช นงานการเข

ชนงานการเขยนโปรแกรมคอมพวเตอรในหวขอเรอง

โปรแกรมหารปรางโมเลกลเสนตรง( The project of Computer

Programming.In the Program Molecular. )

จดทำาโดยนายอศรา นวมป น เลขท 7นางสาวธญญรตนหรญวงษ เลขท 29นางสาวเปรมฤทย อนม เลขท 42กลม D2 ชนมธยมศกษาปท 5/2

อาจารยทปรกษา : นายวชระ วงษด

ชนงานนเปนสวนหนงของวชาการเขยนโปรแกรม 2ภาคเรยนท 2 ปการศกษา 2551

โรงเรยนตากพทยาคม

Page 2: ชิ้นงานการเขียนโปรแกรม ...tps.comsci.info/programming/project2551/D2_T2_V1.d… · Web viewแบบฟอร มช นงานการเข

แบบฟอรมชนงานการเขยนโปรแกรมคอมพวเตอร (ทำาเฉพาะในเวลาเรยน)

ชอโครงงาน (ภาษาไทย) โปรแกรมหารปรางโมเลกลเสนตรงชอโครงงาน (ภาษาองกฤษ) Program Molecularชอกลมโครงงาน D2

ระดบชนมธยมศกษาปท 5/2

โรงเรยนตากพทยาคมชอผทำาโครงงาน

1. นายอศรา นวมปน เลขท 12

2. นางสาวธำยยรตน หรญวงษ เลขท 13

3. นางสาวเปรมฤทยอนม เลขท 41

ชออาจารยทปรกษา 1. นายวชระ วงษด2. นายนรนทร เงนด

ทปรกษาพเศษ 1. นางตะวน หรญวงษ 2.นายดเรก อนม

ระยะเวลาดำาเนนงาน 1. ชนงานภาคเรยนท 1 (SA - ออกแบบจอภาพ)

ตงแตวนท 15 พฤษภาคม 2551 ถงวนท 31 สงหาคม 2551 (3 เดอน 15 วน)

2. ชนงานภาคเรยนท 1 (ออกแบบจอภาพ - Source Code หรอ คมอเอกสารการใชงาน )

ตงแตวนท 1 กนยายน 2551 ถงวนท 30 มกราคม 2552 ( 5 เดอน ) รวมระยะเวลาทงสน 8 เดอน 15 วน

1. แนวคด ทมา และความสำาคญเนองจากในปจจบนการเรยนการสอนเรองรปรางโมเลกลในวชาเคมนน ยากแก

การอธบายใหผเรยนเขาใจในเรองรปรางโมเลกลไดยาก ซงมสาเหตมาจากรปรางโมเลกลนนมหลากหลายรปแบบ และเปนทรงสามมต ทำาใหเวลาอานชอสารนนแลวไมสามารถเขาใจไดวาเปนรปรางโมเลกลแบบใด จงไดมการคดคนวธทจะทำาใหเขาใจงายขน จงไดคดโปรแกรมหารปทรงโมเลกลนขนมา

2. วตถประสงค

Page 3: ชิ้นงานการเขียนโปรแกรม ...tps.comsci.info/programming/project2551/D2_T2_V1.d… · Web viewแบบฟอร มช นงานการเข

1. ไดโปรแกรมทมคณภาพการใชงานตรงตามทตองการ 2. สามารถนำาโปรแกรมไปใชในการเรยนการสอนได 3.สามารถนำาไปใชงานแลวทำาใหผใชงานเกดความเขาใจมากขน

3. หลกการและทฤษฎ นำาหลกการเรองรปรางโมเลกลในวชาเคมในเรองสารประกอบโคเวเลนซมาประยกตใชในการสรางโปรแกรม

รปรางเสนตรง  ( Linear)

                     โมเลกล  BeCl2    มสตรโครงสรางแบบจดและแบบเสนดงน

                   อะตอมกลาง  Be  ในโมเลกล  BeCl2  มเวเลนตอเลกตรอนทงหมด  2  ค  และทงสองคเปนอเลกตรอนครวมพนธะ  ซงจะเกดการผลกกนใหหางกนมากทสด  ทำาใหโมเลกลเปนรปรางเสนตรง  มมมระหวางพนธะเปน  180 0  ดงรป

 

                ในโมเลกล  CO2   มสตรแบบจดและแบบเสนดงน

                อะตอมกลาง  C  ในโมเลกล  CO2   มเวเลนตอเลกตรอนทงหมด  4  ค  และทง  4  ค  เปอเลกตรอนครวมพนธะค  2  พนธะ  ซงจะเกดแรงผลกกนใหมากทสด  ทำาใหโมเลกลเปนรปเสนตรง  มมมระหวางพนธะเปน   180 0  ดงรป

                               

Page 4: ชิ้นงานการเขียนโปรแกรม ...tps.comsci.info/programming/project2551/D2_T2_V1.d… · Web viewแบบฟอร มช นงานการเข

สรป  

                โมเลกลหรอไอออนโคเวเลนตใด ๆ  ถาอะตอมกลางม  2  พนธะ  จะเปนพนธะชนดใดกได  และไมมอเลกตรอนคโดดเดยว  โมเลกลหรอไอออนนนจะมรปรางเปน  เสนตรง

4. วธดำาเนนงาน

วสดอปกรณ เครองคอมพวเตอรพรอมอปกรณตอพวง ขนตอนการดำาเนนงาน

1. ศกษาการใชโปรแกรมภาษาซ จากเอกสารประกอบการเรยน2. คนควาหาขอมลและสตรในการคำานวณ เพอนำามาใชในการสรางโปรแกรม3. แบงหนาทของสมาชกในกลม ตามความสามารถและความถนดของแตละคน4. จดทำาโปรแกรมการแปลงอณหภมจากองศาเซลเซยสเปนองศาเคลวน

สถานท หองปฏบตการคอมพวเตอร 1 โรงเรยนตากพทยาคม

5. ขนตอนการปฏบต

ตลาคม 2551 เสนอหวขอโครงงานเพอนำามาใชจดทำาโปรแกรม ตลาคม 2551 อาจารยประจำาวชาอนมตการทำาโครงงาน

ตลาคม 2551 ศกษาการใชโปรแกรมภาษาซ จากเอกสารประกอบการเรยนตลาคม 2551 คนควาหาขอมลและสตรในการคำานวณ เพอนำามาใชในการสรางโปรแกรมตลาคม 2551 แบงหนาทของสมาชกในกลม ตามความสามารถและความถนดของแตละคน

Page 5: ชิ้นงานการเขียนโปรแกรม ...tps.comsci.info/programming/project2551/D2_T2_V1.d… · Web viewแบบฟอร มช นงานการเข

ตลาคม 2551 จดทำาโปรแกรมการแปลงอณหภมจากองศาเซลเซยสเปนองศาเคลวน

พฤศจกายน 2551 ขอคำาแนะนำาจากอาจารยทปรกษา พฤศจกายน 2551 แกไขและปรบปรง พฤศจกายน 2551 จดทำารปเลมรายงาน

6.ผลทคาดวาจะไดรบ1. โปรแกรมทไดมคณภาพตามความตองการ

2. รหลกการและขนตอนการสรางโปรแกรมคอมพวเตอรและนำาไปใชไดจรง 3. เกดความสามคคภายในกลม และรจกการวางแผนการทำางานอยางมระบบ

7.เอกสารอางอง

http://school.obec.go.th/banluang/Vit/Rob/Rob.htm ( เอกสารอางองไมถกตองตามหลกบรรณานกรม )

1. การวเคราะหและออกแบบระบบของโปรแกรม หา รปรางโมเลกลเสนตรง ( S ystem a nalysis and design or SA of Program Molecular. )

1.1 Context diagram

Page 6: ชิ้นงานการเขียนโปรแกรม ...tps.comsci.info/programming/project2551/D2_T2_V1.d… · Web viewแบบฟอร มช นงานการเข

1.2 Level 0

หมายเหต ( Comment ) * SA > Level 0 > Process 2 ชอวเคราะหสถานะของสาร ซงขดแยงกบวเคราะหปญหา

1.3 การวเคราะหปญหา (Problem Analysis)

1.3.1 การวเคราะหปญหาของระดบ 0 > การประมวลผลท 1(The problem analysis of Level 0 > Process 1 )

วเคราะหหารปรางโมเลกลเสนตรงพรอมหามวลโมเลกล

ของสารประกอบ

นกเรยน ชอสารประกอบ

ผลลพธมวลโมเลกล ของสารประกอบ

1หารปราง

โมเลกลเสนตรง

2. วเคราะหสถานะ

ของสาร จาก

องศาเคลวน (K)

ชอสารประกอบ

ผลลพธมวลโมเลกล ของ

ผลลพธรปรางโมเลกลเสนตรง ชออะตอมกลางจำานวนอะตอมทลอมรอบอะตอมกลาง

นกเรยน

นกเรยน

นกเรยน

นกเรยน

นกเรยน

Page 7: ชิ้นงานการเขียนโปรแกรม ...tps.comsci.info/programming/project2551/D2_T2_V1.d… · Web viewแบบฟอร มช นงานการเข

ชอขอบเขตของระบบ (Context diagram) : วเคราะหสถานะของสารจากองศาเคลวน ทแปลงคาแลว

ชอปญหาความตองการของระบบท : Level 0 > Process 1

ชอความตองการของระบบ (Level 0) : หารปรางโมเลกลเสนตรงกำาหนดจดประสงค : ตองการหารปรางโมเลกลเสนตรงผลลพธ (ชอ Data Flow ของลกศรทออกจากระบบน) : ผลลพธรปรางโมเลกลเสนตรง

Program Molecular

Input Substance: CO2

Result of molecular: O-C-O

กำาหนดตวแปร

ลำาดบท

รายการขอมลนำาเขาหรอขอมลสารสนเทศ

(ชอ Data Flow ของ SA ทงหมดของระบบน )

ตงชอตวแปร(ภาษาองกฤษ)

ชนดตวแปร(ตวเลข....,

อกขระ ,ขอความ)

ขนาดขอมล (ขนาดสงสดกหลก, กตวอกขระ)

ตวอยางขอมล(มาจากออกแบบจอภาพ)

1. ชอสารประกอบ Substance ขอความ 3 CO22. ผลลพธรปราง

โมเลกลเสนตรงmolecular ขอความ 6 O-C-O

3. ชออะตอมกลาง atom_center

ตวอกษร 1 C

4. ธาตทลอมรอบอะตอมกลาง

around

ตวอกษร 1 O

5. จำานวนอะตอมของธาตทลอมรอบอะตอมกลาง

number_around

ตวเลขจำานวนเตม

1 2

Page 8: ชิ้นงานการเขียนโปรแกรม ...tps.comsci.info/programming/project2551/D2_T2_V1.d… · Web viewแบบฟอร มช นงานการเข

1.3.2 การวเคราะหปญหาของระดบ 0 > การประมวลผลท 2(The problem analysis of Level 0 > Process 2 )

ชอขอบเขตของระบบ (Context diagram) : คำานวณหามวลโมเลกลของสารประกอบชอปญหาความตองการของระบบท : Level 0 > Process 2

ชอความตองการของระบบ (Level 0) : หามวลโมเลกลของสารประกอบจากรปรางโมเลกลเสนตรง

ขดแยงกบ SA > Level 0 > Process 2

กำาหนดจดประสงค : ตองการวเคราะหหามวลโมเลกลของสารประกอบจากรปรางโมเลกลเสนตรงผลลพธ (ชอ Data Flow ของลกศรทออกจากระบบน ) : ผลลพธมวลโมเลกลของสารประกอบ

Molecule weight of substance = 44

กำาหนดตวแปรลำาดบท

รายการขอมลนำาเขาหรอ

ขอมลสารสนเทศ

(ชอ Data Flow

ของ SA ทงหมดของระบบน )

ตงชอตวแปร(ภาษาองกฤษ)

ชนดตวแปร(ตวเลข....,

อกขระ ,ขอความ)

ขนาดขอมล (ขนาดสงสดกหลก, กตวอกขระ)

ตวอยางขอมล(มาจากออกแบบจอภาพ)

1. ชออะตอมกลาง atom_center

ตวอกษร 1 C

2. ธาตทลอมรอบอะตอมกลาง

around ตวอกษร 1 O

3. จำานวนอะตอมของธาตทลอมรอบอะตอมกลาง

number_around

ตวเลขจำานวนเตม

1 2

Page 9: ชิ้นงานการเขียนโปรแกรม ...tps.comsci.info/programming/project2551/D2_T2_V1.d… · Web viewแบบฟอร มช นงานการเข

4. ผลลพธมวลโมเลกล

Molecule_weight

ตวเลขจำานวนเตม

2 44

5. เลขมวลของชออะตอมกลาง

m_atom_center

ตวเลขจำานวนเตม

2 12

6.

เลขมวลของชอธาตทลอมรอบอะตอมกลาง

m_around

ตวเลขจำานวนเตม

2 16

คำาอธบายการแกปญหาทละขนตอน ( อลกอรท ม ) ของระดบ 0 > การประมวลผล ท 1

(Algorithm of Level 0 > Process 1 )

การวเคราะหปญหาของ Level 0 > Process 1

ปญหาของงาน : การหารปรางโมเลกลเสนตรง

1. เรมการทำางาน2. กำาหนดตวแปร substance = “ ” , molecular = “ ”,atom_center = “ ”,around = “ ”, Number_around = 0,molecular_weight = 03. แสดงขอความวา “ Program molecular ”

4. แสดงขอความวา “ Input substance ”

5. รบขอมลตวเลขมา 1 คา แลวเกบทตวแปร substance

6. แสดงขอความวา “result of molecular”

7. ใชฟงกชนตรวจสอบอกษรตวท 2 จากตวแปร substance วาเปนธาตอะไร และนำาไปเกบทตวแปล around

8. ใชฟงกชนตรวจสอบอกษรตวท 1 จากตวแปร substance วาเปนธาตอะไร และนำาไปเกบทตวแปล atom_center

9. ใชฟงกชนตรวจสอบอกษรตวท 3 จากตวแปร substance วาเปนธาตอะไร และนำาไปเกบทตวแปล number_around

10. แสดงธาตจากตวแปร around, “ _ ”, atom_center = “ _ ”, around,11. จบการทำางาน

Page 10: ชิ้นงานการเขียนโปรแกรม ...tps.comsci.info/programming/project2551/D2_T2_V1.d… · Web viewแบบฟอร มช นงานการเข

คำาอธบายการแกปญหาทละขนตอน ( อลกอรท ม ) ของระดบ 0 > การประมวลผล ท 2

(Algorithm of Level 0 > Process 2 )

การวเคราะหปญหาของ Level 0 > Process 2

ปญหาของงาน : การหารปรางโมเลกลเสนตรง

1. เรมการทำางาน2. กำาหนดคาตวแปร m_atom_center =0,m_around = 0

3. หาจำานวนมวลอะตอมของธาตทลอมรอบอะตอมกลางตามเงอนไข ดงน 3.1) ถา around = ‘ O ‘

3.1.1 ถาเปนจรง m_ around = 16 แลวไปทำางานทขอ 53.1.2 ถาเปนเทจใหไปทำางานทขอ 3.2

3.2) ถา around = ‘ F ‘

3.2.1 ถาเปนจรง m_around = 19 แลวไปทำางานทขอ 53.2.2 ถาเปนเทจใหไปทำางานทขอ 4

3.3) ถาไมตรงเงอนไขใดๆเลย3.3.1 ใหแสดงขอความวา “none around of atom”3.3.2 ใหไปทำางานขอท 4

Page 11: ชิ้นงานการเขียนโปรแกรม ...tps.comsci.info/programming/project2551/D2_T2_V1.d… · Web viewแบบฟอร มช นงานการเข

4. หาจำานวนมวลอะตอมกลางตามเงอนไข ดงน 4.1) ถา atom_center =’c’

4.1.1 ถาเปนเทจ m_atom_center =12 แลวไปทำางานทขอ 54.1.2 ถาเปนเทจ ใหไปทำางานขอ 4.2

4.2) ถา atom_center =’Be’แลวไปทำางานทขอ 54.2.1 ถาเปนจรง m_atom_center =9

4.2.2 ถาเปนเทจ ใหไปทำางานขอ 4.3

4.3) ถาไมตรงเงอนไขใดๆเลย 4.3.1 ใหแสดงขอความวา “none around_center”

4.3.2 ใหไปทำางานทขอ 55.คำานวณหาโมเลกลโดยใชสตร (around * number_around) + atom_center แลวเกบทตวแปร molecular_weight

6.แสดงคำาวา “molecular weight of substance”

7.แสดงคำาวา molecular_weight

8.จบการทำางาน

ผงงาน ( โฟลวชารต ) ของระดบ 0 > การประมวลผล ท 1 ( Flowchart of Level 0 > Process 1 )

Level 0 >Process 1ปญหาของงาน : แปลงอณหภมจากองศาเซลเซยสเปนองศาเคลวน (ขดแยงกบ SA Lvel 0 > Process 1)

Start

substance = “ ” , molecular = “ ”,atom_center = “ ”,around = “ ”, Number_around = 0,molecular_weight = 0

Display “Program molecular”

Process1Step1

Page 12: ชิ้นงานการเขียนโปรแกรม ...tps.comsci.info/programming/project2551/D2_T2_V1.d… · Web viewแบบฟอร มช นงานการเข

ผงงาน ( โฟลวชารต ) ของระดบ 0 > การประมวลผล ท 2( Flowchart of Level 0 > Process 2 )

Level 0 > Process 2ปญหาของงาน : วเคราะหสถานะของสารจากองศาเคลวน

Display “ Input substance ”

input around

End

Display around,”_”,atom_center,”_”,around

Display “ Result of moiecular ”

Input atom_center

Input Number_around

Start

m_atom_center =0,m_around = 0

around = ‘ O ‘

m_around = 16

true

false

truearound = ‘ O

‘m_around

= 16

Page 13: ชิ้นงานการเขียนโปรแกรม ...tps.comsci.info/programming/project2551/D2_T2_V1.d… · Web viewแบบฟอร มช นงานการเข

false

Display element

m_around = 16 atom_center=’

C’

atom_center=’B’

m_around = 16

Display “none atom_center “

A

true

true

End

A

molecule_weight = (around * number_around) + atom_center

Display molecule_weight

Page 14: ชิ้นงานการเขียนโปรแกรม ...tps.comsci.info/programming/project2551/D2_T2_V1.d… · Web viewแบบฟอร มช นงานการเข

การลงรหสโปรแกรม > การประมวลผล ท 1 ( Coding of Level 0 > Process 1 )

# include<stdio.h># include<conio.h>

//---process 1---

void main( ){clrscr( );char substsnce[3] = ” ” ;char molecular[6] = “ ” ;char atom_center = ‘ ’ ;char around = ‘ ’ ;int number_around = 0,molecule_weight = 0 ;printf (“program molecular”) ;

Page 15: ชิ้นงานการเขียนโปรแกรม ...tps.comsci.info/programming/project2551/D2_T2_V1.d… · Web viewแบบฟอร มช นงานการเข

printf (“\input substance”) ;//scanf (“%s”,&substance) ;//printf (“Result of molecular”) ;printf (“atom_center = ”) ;scanf (“%c”,&atom_center) ;//atom_center = getchar( ) ;printf (“around = ”) ;scanf (“%c”,&around) ;around = getchar( ) ;printf (“number_around = ”) ;scanf (“%d”,&number_around) ;//number_around = getchar( ) ;

printf (“%c-%c-%c\n”,around,atom_center,around) ;

การลงรหสโปรแกรม > การประมวลผล ท 2 ( Coding of Level 0 > Process 2 )

//---process 2---

int m_atom_center = 0,m_around = 0 ;if (around = = ‘0’){m_around = 16 ;}else if (around = =’F’){m_around = 19 ;}else {printf (“none around of atom”) ;}if (atom_center = =’C’){m_atom_center = 12 ;}else if (atom_center = =’B’){m_atom_center = 9 ;}

Page 16: ชิ้นงานการเขียนโปรแกรม ...tps.comsci.info/programming/project2551/D2_T2_V1.d… · Web viewแบบฟอร มช นงานการเข

else{printf (“none atom_center”) ;}molecule-weight = (m_around * number_around + m_atom_center) ;printf (“molecule_weight_of_substance = %d”,molecule_weight) ;getch ( ) ;}

คมอ

Program Molecular

Input Substance: _

Page 17: ชิ้นงานการเขียนโปรแกรม ...tps.comsci.info/programming/project2551/D2_T2_V1.d… · Web viewแบบฟอร มช นงานการเข

1.โปรแกรมแสดงคำาวา Input Substance: ใหทานปอนชอสารประกอบทตองการทราบวาเปนรปรางโมเลกลเสนตรง แลวกด Enter

Program Molecular

Input Substance: CO2

Result of molecular: O-C-O

2. โปรแกรมแสดงชอสารและแสดงผลลพธเปนรปรางโมเลกลเสนตรง

Molecule weight of substance = 44

Page 18: ชิ้นงานการเขียนโปรแกรม ...tps.comsci.info/programming/project2551/D2_T2_V1.d… · Web viewแบบฟอร มช นงานการเข

3.โปรแกรมจะแสดงผลลพธมวลโมเลกลของสารประกอบ