ชิ้นงานการเขียนโปรแกรม...
Post on 25-Aug-2020
2 Views
Preview:
TRANSCRIPT
ชนงานการเขยนโปรแกรมคอมพวเตอรในหวขอเรอง
โปรแกรมหารปรางโมเลกลเสนตรง( 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.โปรแกรมจะแสดงผลลพธมวลโมเลกลของสารประกอบ
top related