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

Preview:

Citation preview

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

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

Programming.In the Program Molecular. )

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

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

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

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

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

ชอโครงงาน (ภาษาไทย) โปรแกรมหารปรางโมเลกลเสนตรงชอโครงงาน (ภาษาองกฤษ) 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. วตถประสงค

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

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

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

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

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

 

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

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

                               

สรป  

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

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

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

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

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

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

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

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

ตลาคม 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

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)

ชอสารประกอบ

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

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

นกเรยน

นกเรยน

นกเรยน

นกเรยน

นกเรยน

ชอขอบเขตของระบบ (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

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

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. จบการทำางาน

คำาอธบายการแกปญหาทละขนตอน ( อลกอรท ม ) ของระดบ 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

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

ผงงาน ( โฟลวชารต ) ของระดบ 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

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

การลงรหสโปรแกรม > การประมวลผล ท 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”) ;

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 ;}

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: _

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

Program Molecular

Input Substance: CO2

Result of molecular: O-C-O

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

Molecule weight of substance = 44

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

Recommended