หลักการเข...

Post on 17-Jun-2020

3 views 0 download

Transcript of หลักการเข...

หลกการเขยนโปรแกรม

ใ โป1. การวเคราะหปญหา

ขนตอนในการเขยนโปรแกรม

ประกอบดวย 5 ขนตอน คอ

องคประกอบของการวเคราะหงาน ประกอบดวย

1.1 ผลลพธ(Output) ตองมอวาโจทยหรองานทเราทา1. การวเคราะหปญหา

2. การกาหนดแผนในการแกปญหา

( p )

ตองการผลลพธอยางไร เพอตรวจสอบวาไดผลลพธไปตาม

ตองการหรอไม

3. การลงรหสโปรแกรม

4. การทดสอบและตรวจสอบโปรแกรม

1.2 ขอมลทรบเขา(Input) เปนการรบขอมลเขามาทาการ

ประมวลผล ตองคดแยกวาขอมลสวนใดเปนขอมลนาเขา 4. การทดสอบและตรวจสอบโปรแกรม

5. การจดทาคมอเอกสารในการใชโปรแกรม

หรอขอมลนาออก

1.3 การประมวลผม(Process) คอ การนาขอมลทรบเขามา ( )

มาทาการประมวลผลใหไดผลลพธตามทตองการ

1.4 ตวแปล(Variable) เปนตวสาหรบเกนคาขอมลเพอใช( )

ในการอางองในการประมวลผลและแสดงผมขอมล

การกาหนดแผนผงในการแกปญหาการกาหนดแผนผงในการแกปญหา2 1 การเขยนผงงาน เปนการลาดบขนตอนใน 2 1 1 การเขยนผงงานตามลาดบ(Sequential)2.1 การเขยนผงงาน เปนการลาดบขนตอนใน

การเขยนโปรแกรม เรมตงแตกระบวนการ

ทางานแรกจนถงกระบวนการสนสดของงาน ซง

2.1.1 การเขยนผงงานตามลาดบ(Sequential)

เรมตนทางานแรกจนถงกระบวนการสนสดของงาน ซง

การเขยนผงงานมรปแบบการเขยนผงงานแบง

ออกเปน 3 รปแบบ

เรมตน

ออกเปน 3 รปแบบ อานขอมล

ประมวลผล

แสดงผลขอมล

จบการทางาน

2.1.2 การเขยนผงงานแบบมเงอนไข

(Condition)

2.1.3 การเขยนผงงานแบบวนรอบในการทางาน(Loop)

เรมตน เรมตน

อานขอมล อานขอมล

ตรวจสอบ ประมวลผล

ประมวลผล ประมวลผล แสดงผลประมวลผล ประมวลผล

แสดงผล แสดงผล เพมตวนบ

ตรวจสอบ

จบการทางาน จบการทางาน

สญลกษณของผงงาน (Flowchart Symbol) 1. การเรมตน/สนสดการทางาน 6. ตวเชอมตอ

2. กระบวนการ 7. ทศทางการทางาน2. กระบวนการ 7. ทศทางการทางาน

3. การตดสนใจ 8. ทางจอภาพ

4. การอาน/การเขยน

5 การพมพ5. การพมพ

2.2การเขยนคาสงเทยม(PSUEDO CODE)CODE)

2 2 3 การเขยนแบบวนรอบในการทางาน (Loop) 2.2.1 การเขยนคาสงตามลาดบ (Sequential)

Read Num1, Num24O t t N

2.2.3 การเขยนแบบวนรอบในการทางาน (Loop)

If I have moer value than or equal 10 goto ExitRead Num1, Num24Output_Num =

Num1+Num2Write Output Num

Read Num1, Num24Output_Num = Num1+Num2Write Output NumWrite Output_Num

2.2.2 การเขยนคาสงแบบมเงอนไข(Condition)

p _Increment I

Exit( )Read Num1, Num24

If Num> Num22Num= Num1+Num2

Write NumElseElse

Num = Num1-Num2Write Num

3. การลงรหสโปรแกรมหลงจากใชผงงานหรอคาสงเทยม ในการกาหนด

5. การจดทาคมอเอกสารการใชโปรแกรม

โป ไ สหลงจากใชผงงานหรอคาสงเทยม ในการกาหนดแผนในการแกปญหาแลว ขนตอนตอไปเปนการลงรหสโปรแกรม โดยใชภาษาทตองการลงรหส

เมอโปรแกรมไดผานกระบวนการทดสอบและ

ตรวจสอบเรยบรอยแลว ขนตอนตอไปเปนการจดทา

ส ป ใ โป ส เชน ภาษา Pascal, ภาษา C, ภาษา Cobol เปนตน

คมอและเอกสารประกอบการใชโปรแกรม สาหรบ

ทางานตอไป

4. การทดสอบและตรวจโปรแกรม โป เมอโปรแกรมเขยนเสรจเรยบรอยแลว ขนตอน

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

โปรแกรม Stock สนคารานหนงสอโปรแกรม Stock สนคารานหนงสอโจทย : จงเขยนโปรแกรม Stock รานหนงสอ ซงมขอมลดงน รหสสนคาหนงสอ ซอหนงสอ ผแตงหนงสอ ราคาหนงสอ บวกภาษมลคาเพม

(Vat) และแสดงขอมลออกทางจอภาพ

การวเคราะหงาน

1. ผลลพธ (Output) รหสสนคาหนงสอ ชอหนงสอ ผแตงหนงสอ และราคา

2 ขอมลทรบเขา (Input) รหสสนคาหนงสอ ชอหนงสอ ผแตงหนงสอ และราคาหนงสอ2. ขอมลทรบเขา (Input) รหสสนคาหนงสอ ชอหนงสอ ผแตงหนงสอ และราคาหนงสอ

3. การประมวลผล (Process)

ภาษ = ราคาหนงสอ คณ ภาษมลคาเพมภาษ  ราคาหนงสอ คณ ภาษมลคาเพม

ราคา= ราคาหนงสอ บวก ภาษ

4 ตวแปร (Variable)4.ตวแปร (Variable)

รหสสนคา =code ชอหนงสอ =titleผแตงหนงสอ =author ราคา =priceผแตงหนงสอ author ราคา priceราคาหนงสอ =price_Book ภาษ =taxภาษมลคาเพม =vat ภาษมลคาเพม vat

การเขยนผงงาน(Flowchart)

เรมตน

d( d l )Read(code,title…)

Tax = Price_Book x vat

Price = Price_Book + tax

C d Ti l A h iCode, Title, Author, price

จบการทางาน

โปรแกรมโปรแกรม

#include <stdio.h>#include <conio.h> printf(“code %s\n”, code);main(){

h d [5] titl [15] th [25]

Printf(“title %s\n”, title);Printf(“author %s\n” author);

char code[5],title[15],author[25]float price,price_book,tax,vat;clrscr();

Printf(price %2f\n”,price);getch();

clrscr();vat :=0.07;printf(“enter code\n”)scanf(“%s”,&code);p ( \ ) ( , );printf(“enter title\n”)scanf(“%s”,&title);printf(“enter

h \ ”) f(“% ” & h )author\n”)scanf(“%s”,&author);printf(“enter price\n”)scanf(“%s” &price book);price\n )scanf( %s ,&price_book);tax := price_book * vat;price := price book + tax;price : price_book + tax;

ผลลพธ (Output)

enter code 001enter title C Ianguageenter anthor Mr.Kittisak Suleewomenter price 500code 001code 001title C languageauthor Mr Kittisak Suleewomauthor Mr.Kittisak Suleewomprice 535

โปรแกรมหาคาสงสด

โจทย : จงเขยนโปรแกรมเพอหาจานวนเลขคาสงสด ในการรบจานวนตวเลขผานทางแปนพมพ (Keyboard)

การวเคราะหงาน

1. ผลลพธ (Output) จานวนเลขคาสงสด2. ขอมลทรบเขา (Input) จานวนตวเลข3. การประมวลผล (Process)( )

1. จานวนเลขคาสงสด

2 รบจานวนตวเลข2. รบจานวนตวเลข

3. ตรวจสอบเงอนไข

ส ส ใ ส ส ถา ตานวนตวเลข มากกวา จานวนคาสงสด ใหจานวนตวเลขคาสงสด เทากบ จานวน

ตวเลข

4. ถาไมใช ใหไปขอท 2

4.ตวแปร (Variable)

max_number , num

การเขยนผงงาน (Flowchart)เรมตนเรมตน

max = 100max   100

Read (num)

num > max max = num

Not greater than max

i = i+1

i <= 3

จบการทางาน

โปรแกรมโปรแกรม#include <stdio.h> else#include <conio.h>main ( )

printf(yNot greater than \n{);getch();

{

int I,max,num;l ()

}

Clrscr();max = 100;f (i 1 i 3 i )for (i=1 ; i<=3 ; i++){

printf(yEnter number \n{) scanf (y%d{ &num)printf(yEnter number \n{); scanf (y%d{, &num);if (num > max)max = num;max = num;printf(ymax_num %d \n{, max);

ผลลพธ (Output)( p )

benter number 150max 150

โปรแกรมการหาคารากทสอง (Square Root)

โจทย : จงเขยนโปรแกรมหาคารากทสอง(Square root) ในการเรยกใชฟงกชน (Function)

calculate() เพอสคาพารามเตอร(parameter) ไปหาคารากทสอง แลวแสดงคาออกทางจอภาพcalculate() เพอสคาพารามเตอร(parameter) ไปหาคารากทสอง แลวแสดงคาออกทางจอภาพ

การวเคราะหงาน1. ผลลพธ (Output) คารากทสอง2. ขอมลทรบเขา (Input) จานวนตวเลข3. การประมวลผล(Process)

คารากทสอง = spr (จานวนตวเลขX4. ตวแปร (Variable)

คารากทสอง = valueจานวนตวเลข = number

การเขยนผงงาน (Flowchart)

เรมตน

Read (number)

value = sqrt (number)q ( )

valuevalue

จบการทางาน

โปรแกรมโปรแกรม

#include <stdio.h> Int qrt(int s2)#include <conio.h>#include <math.h>I (i )

{

return sqrt(s2);()Int qrt(int);

main ( ){

}ประกาศฟงกชน qtr()

{

int number,sum;clrscr();clrscr();printf(yEnter number \n{); scanf(y%d{, &number);&number);sum = qrt(number);printf(yvalue %d\n{ sum);

เรยกใชฟงกชน qrt()printf(yvalue %d\n{, sum);getch();}}

ผลลพธ (Output)

Enter number 100Enter number 100Value 10

โปรแกรมหายอดขายของพนกงาน

โจทย : จงเขยนโปรแกรมเพอหายอดขายของพนกงานแตละคนในรอบ 12 เดอน และแสดงผลออกทางจอภาพ

การวเคราะหงาน

1.ผลลพธ (Output) ยอดขายของพนกงาน 2.ขอมลทรบเขา (Input) ชอพนงงานและยอดขายแตละเดอน

3.การประมวลผล(Process)1.อานชอพนกงานและยอดแตละเดอนขาย

2.ยอดขายของพนกงาน=ยอดขายของพนกงาน+ ยอดขายแตละเดอน 2.ยอดขายของพนกงาน ยอดขายของพนกงาน  ยอดขายแตละเดอน 3.แสดงชอพนกงานและยอดขายของพนกงาน

4 ถาอานชอพนกงานไมครบใหกลบไปท 14.ถาอานชอพนกงานไมครบใหกลบไปท 1

4.ตวแปร(Variable)

lชอพนกงาน = name  ยอดขายแตละเดอน = saleยอดขายของพนกงาน = sum

การเขยนผงงาน (Flowchart)

เรมตน

i=i+1 ,j=1จบการทางาน

อานชอพนกงาน

จบการทางาน

อานยอดขายแตละเดอน i>= 100

หาคารวมยยอดขายของพนกงานi=i+1

j=j+1

แสดงชอพนกงาน

ยอดขายพนกงานJ>=12

ยอดขายพนกงาน

โปรแกรม

#i l d di h

โปรแกรม

#include <stdio.h>#include <conio.h>main ( ){

for (j=1 ; j>=12 ; j++){

printf(yEnter sales \n{); scanf(y%d{ &sale);{

char name[15];int I,j,sum,sale;clrscr();

printf(yEnter sales \n{); scanf(y%d{, &sale);sum = sum + sale;}

clrscr();for (i=1 ; i >=100 ; i++){

sum = 0;

printf(yName %s{, name);printf(ySum %d \n{, sum);}sum = 0;

printf(yEnter Name \n{); scanf(y%s{, &name);

}

getch();}

ผลลพธ (Output)ผลลพธ (Output)

Enter name Mr.SurachaiEnter sales 1000Enter sales  1000Enter sales  2000Enter name Miss SomjaiEnter name  Miss.SomjaiEnter sales  1500E l 1200Enter sales  1200Name  Mr.SurachaiSum  3000Name Miss.SomchaiSum  2700

โปรแกรมอารย(Array) ขนาด 1 มต

โจทย : จงเขยนโปรแกรมแบบอารเรย เกยวกบคาใชจายประจาเดอน ขนาด 1 มต ขอมลประกอบดงนชอเจาของบาน คานา คาไฟ คาเชาบาน และแสดงผลออกทางจอภาพ ชอเจาของบาน คานา คาไฟ คาเชาบาน และแสดงผลออกทางจอภาพ

การวเคราะหงาน

1. ผลลพธ (Output)2. ขอมลทรบ (Input) ( p )3. การประมวล (Process)

1 อานชอเจาของบาน คานา คาไฟ คาเชาบาน 1. อานชอเจาของบาน คานา คาไฟ คาเชาบาน

2. คาใชจายประจาเดอน = คานา+คาไฟ+คาเชาบาน3 ไ ใ ไป 13. ถาอานชอเจาของบานไมครบ ใหกลบไปขอท1

4. แสดงชอเจาของบาน คาใชจายประดาเดอน

4. ตวแปร(Varible)ชอเจาของบาน = name คานา = water คาไฟ = weterคาเชาบาน = rent  คาใชจายประจาเดอน = expend 

การเขยนผงงาน (Flowchart)เรมตน

i = l

อานชอเจาของบาน....

หาคาใชจายประจาเดอนจบการทางาน

i > 100

j=j+ l

i > 100 i >=100

i >=100

แสดงชอเจาของบานและ

คาใชจายประจาเดอนi = i+1

โปรแกรม

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

for (i=1 ; i >=100 ; i++){

main ( ){

h [15]

{

printf(yname %s \n{, name[i]);printf(ywater %d \n{, water[i]);

char name[15];int i,water[100],elec[100],rent[100],sum[100];clrscr();

printf(yelectric %d \n{, elec[i]);printf(yrent %d \n{, rent[i]);printf(ysum %d \n{ sum[i]);();

for (i=1 ; i >=100 ; i++){

i tf( E t \ {) f( % { & [i])

printf(ysum %d \n{, sum[i]);}

getch();printf(yEnter name \n{); scanf(y%s{, &name[i]);printf(yEnter water \n{); scanf(y%d{, &water[i]);printf(yEnter electric \n{); scanf(y%d{, &elec[i]);

}

p (y \ {); (y {, [ ]);printf(yEnter rent \n{); scanf(y%d{, &rent[i]);sum[i] = water[i] + elec[i] + rent[i];}}

ผลลพธ (Output)ผลลพธ (Output)Enter name MrWanchai name MissWandeeEnter name  Mr.WanchaiEnter water  120Enter electric 150

name  Miss.Wandeewater  200electric 100Enter electric  150

Enter rent  1500Enter name MissWandee

electric  100rent  1500sum 1800Enter name  Miss.Wandee

Enter water  200Enter electric 100

sum  1800

Enter electric  100Enter rent  1500name MrWanchainame  Mr.Wanchaiwater  120electric 150electric  150rent  1500Sum 1770Sum 1770

โปรแกรมอารเรย(Array)ขนาด 2 มต

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

การวเคราะหงาน

1.ผลลพธ (Output) คะแนนทดสอบรวม2.ขอมลทรบเขา (Input) ชอนกศกษา คะแนนทดสอบ 3 ครง ( p )3.การประมวลผล(Process)

1 1 อานชอนกศกษา และคะแนนทดสอบ 3 ครง1.1.อานชอนกศกษา และคะแนนทดสอบ 3 ครง

1.2.คะแนนทดสอบรวม = คะแนนทดสอบรวม + คะแนนทดสอบ 3 ครง1 3 ช ศ ไ ใ ไป 11.3.ถาอานชอนกศกษาไมครบ ใหกลบไปทขอท1

1.4.แสดงชอนกศกษา คะแนนทดสอบรวม

ตวแปร (Variable)ชอนกศกษา = name คะแนนทดอบ 3ครง = score คะแนนสอบรวม = sum

การเขยนผงงาน (Flowchart)

เรมตน

i=i , j=1

อานชอนกศกษา

อานคะแนน3ครง

หาคะแนนทดสอบรวมหาคะแนนทดสอบรวม

j = j+1 i 100j = j+1 i >=100ตอหนา

ถดไปi = i+1 j >=3

ถดไป

การเขยนผงงาน (Flowchart)ตอจาก

หนาแรกหนาแรก

j = j+1

แสดงชอนกศกษา

แสดงคะแนนทดสอบ

และคะแนนทดสอบรวม

i >=100

และคะแนนทดสอบรวม

j = j+1 จบการทางาน i > 100

j > 3

j  j+1

i i+1

จบการทางาน

j >=3 i = i+1

โปรแกรม#include <stdio.h>#include <conio.h>

}

}main ( ){

for ( i=1 ; i<=100 ; i++ );{

int i, j, score[100][3], sum[3];char name[50];

printf(yName %s\n{, name[i]);for ( j=1 ; j<=3 ; j++);[ ];

clrscr();for ( i=1 ; i<=100 ; i++ );

( j ; j ; j );{

printf(yScore %d\n{, score[i][j];( ; ; );{

printf(yEnter name\n{); scanf(ys{, &name[i]);

p (y \ {, [ ][j];}

printf(ySum %d \n{, sum[i]);p (y \ {); (y {, [ ]);sum[i]=0;for ( j=1 ; j<=3 ; j++);

p (y \ {, [ ]);}

getch();( j ; j ; j );{

printf(yEnter score \n{); scanf(y%d{, &score[i][j]);

g ();}

p (y \ {); (y {, [ ][j]);sum[i] = sum[i] + score[i][j];

ผลลพธ(Output)ผลลพธ(Output)Enter name  Miss AruneeEnter score  70Enter score 80Enter name  Mr. PomchaiEnter score  90Enter score  60Name Miss  AruneeScore  70Score 80Sume 150Name  Mr.PomchaiScore  90Score  60Sume 150

โปรแกรมหาคาเลขยกกาลง (Exponential)โจทย :  จงเขยนโปรแกรมหาคาเลขยกกาลงโดยแบงฟงกชน(Function) ออกเปน 3ฟงกชน

(Function) ไดแก (Function) ไดแก

ฟงกชน itile() ใชแสดงหวขอความ (Text)ฟงกชน exp() ใชแสดงการรบขอมลฟงกชน exp() ใชแสดงการรบขอมล

ฟงกชน cal() ใชในการหาคาเลขยกกาลง (Exponential) และแสดงผลออกทางจอภาพการวเคราะหงาน

1.ผลลพธ (Output) คาเลขยกกาลง 2.ขอมลทรบเขา (Input) ตวเลขจานวนเตม 3.การประมวลผล(Process)( )

1.อานตวเลข2 หาคาเลขยกกาลง2.หาคาเลขยกกาลง

3.แสดงคาเลขยกกาลง

ป (V i bl )4. ตวแปร(Variable)คาเลขยกกกาลง = exponential

การเขยนผงงาน(Flowchart)

เรมตนเรมตน

อานตวเลข

หาคาเลขยกกาลง

แสดงคาเลขยกกาลง

จบการทางาน

โปรแกรม#include <stdio.h>#include <conio.h>

void exp(){

#include <math.h>main ( )

int number=0;float exponential;( )

{

clrscr();

pprintf(yEnter value exponential \n{);scanf(y%d{, &number);()

title();exp();

(y { )exponential = cal(number);printf(yValue %.2f \n{, exponential);p()

return 0;}

p (y { p )getch();}

เรยกใชฟงกชนcal()เพอสงคาพารามเตอร(parameter)

void title(){

float cal(int a){

พารามเตอร(parameter)

clrscr();printf(y Calculate Exponential \n{);

return exp(n);}

สงคาเลขยกกาลง(Exponential)กลบไปยงฟงกชนทเรยกp (y p {)

}กลบไปยงฟงกชนทเรยก

(O t t)ผลลพธ (Output)

Calculate  ExponentialpEnter  value  exponential  10Value  22026.47

โปรแกรมประวตพนกงานโจทย :  จงเขยนโปรแกรมประวตของพนกงานเพอไหโบนส(Bonus) ประจาป ประกอบดวย ชอพนกงาน

ตาแหนงพนกงาน และเงนเดอน โดยเขยนเปนฟงกชน(Function) ประกอบดวย ตาแหนงพนกงาน และเงนเดอน โดยเขยนเปนฟงกชน(Function) ประกอบดวย

1. ฟงกชน entry() ในการรบขอมล2 ฟงกชน display() ในการแสดงผล2. ฟงกชน display() ในการแสดงผล

การวเคราะหงาน

(O t t) โ 1. ผลลพธ (Output) ชอพนกงาน ตาแหนงงาน เงนเดอน และโบนส

2. ขอมลทรบเขา (Input) ชอพนกงาน ตาแหนงงาน และเงนเดอน

3. การประมวลผล(Process)1. อานชอพนกงาน ตาแหนงงาน และเงนเดอน โบนส = คด10% ของเงนเดอน2. ถาเงนดอนอยระหวาง 10,000 ถง 15,000 บาท โบนส = คด15% ของเงนเดอน3 ถาเงนเดอนมากกวา 20,000 บาท โบนส = คด20% ของเงนเดอน3. ถาเงนเดอนมากกวา 20,000 บาท โบนส  คด20% ของเงนเดอน

4. ตวแปร (Variable)ชอพนกงาน = name ตาแหนงงาน = positionชอพนกงาน = name ตาแหนงงาน = positionเงนเดอน =   salary โบนส = bonus

การเขยนผงงาน(Flowchart)เรมตน

อานตวเลอกเมน

เงอนไขเลอก (1) Display เลอก (2) Display

อานขอมล ส อานขอมล แสดงคาเลขยกกาลง

ตอหนา

ถดไปreturn

ถดไป

การเขยนผงงาน(Flowchart)ตอจาก

หนาแรก

10000 ‐ 1500

คดโบนส 10%

1500 ‐ 2000

คดโบนส 15%

>20000

คดโบนส 15%

คดโบนส 20%โปรแกรม

โปรแกรม#include <stdio.h>#include <conio.h>

ch = getche();switch(ch) {

void entry (void);void display (void);

( ) {case  1 : entry();break;p y ( );

char ch, name[15], position [15];int bonus, salary, sum;

;case  1 : display();break;, y, ;

main ( ){

;default: printf(yError \n{);}

clrscr();do {

}while (ch !=  0 );}{

printf(yM a i n M e n u \n{);printf(y0] Retrun to system \n{);

void entry(){p (y ] y \ {);

printf(y1] Entry data \n{);printf(y2] Display data \n{);

clrscr();printf(yEnter name \n{); scanf(y%s{, p (y ] p y \ {);

printf(y Select choice \n{);p (y \ {); (y {,&name);

โปรแกรมprintf(yEnter position{); scanf(y%s{, &position);

else{&position);

printf(yEnter salary \n{); scanf(y%d{, &salary);

{

if (salary > 20001){&salary);

if (salary > 10000 && salary < 15000){

{

bonus = salary * 20/100;sum = salary + bonus;{

bonus = salary * 10/100;sum = salary + bonus;

sum   salary + bonus;}

}sum   salary + bonus;}

else

}

getch();}else

if (salary > 15001 && salary < 20000){

}

void display(){{

bonus = salary * 15/100;sum = salary + bonus;

{

clrscr();printf(yName %s \n{, name);sum   salary + bonus;

}

printf(yName %s \n{, name);

โปรแกรมโปรแกรม

printf(yPosition %s \n{, position);printf(ySalary %d \n{ salary);printf(ySalary %d \n{, salary);printf(yNet_Salary %.2f \n{,sum);getch();getch();}

ผลลพธ(Output)ผลลพธ(Output)

M i M N Mi P t h lM a i n M e n u0] Return to system1] E t d t

Name Miss. PatchaleePosition ProgrammerS l 120001] Entry data

2] Display dataS l t h i

Salary 12000Net_Salary 13200

Select choiceเลอก 1 ไปท Entry data 1 ไป Display dataเลอก 1 ไปท Display data

ไมเลอก 1 และ 2 ปรากฏขอความวา ErrorE t Mi P t h lEnter name Miss. PatchaleeEnter position ProgrammerEnter salary 12000Enter salary 12000

โปรแกรม stock สนคาโ : โป โ ส (Record) ส ป ส ส โจทย : จงเขยนโปรแกรมโครงสราง(Record) เพอชอสนคา ประกอบดวย ชอสนคา จานวนสนคา ราคาสนคา และแสดงผลออกทางจอภาพ

การวเคราะหงาน

1. ผลลพธ (Output) ชอสนคา จานวนสนคา และราคาสนคา( p ) 2. ขอมลทรบเขา (Input) ชอสนคา จานวนสนคา และราคาสนคา 3. การประมวลผล(Process)( )

1. อานชอสนคา จานวนสนคา ราคาสนคา

2. แสดงชอสนคา จานวนสนคา ราคาสนคา

3. ถาอานชอสนคาไมครบ ใหดกลบไปขอ 1

4. ตวแปร(Variable)( )ชอสนคา = product_name จานวนสนคา = unitราคาสนคา = pricep

การเขยนผงงาน(Flowchart)เรมตน

I = 1

อานชอสนคา

แสดงผล

I = i+1

I >= 10 จบการทางานI >= 10 จบการทางาน

โปรแกรมโปรแกรม#include <stdio.h>#i l d i h

printf(yEnter price \n{); #include <conio.h>{

d {

p (y p \ {);scanf(y%f{, &price);printf(yProduct name %s \n{, 

stuct product {char name[15];i i i

p (y _ \ {,pro.name);printf(yUnit %d \n{, pro.unit);

int unit, price;}; stuct product pro;i i

p (y \ {, p );printf(yPrice %f \n{, price);}

int i;clrscr();f ( i 1 i 10 i )

getch();}

for ( i=1 ; i<=10 ; i++){

i f( E P d \ {)printf(yEnter Product_name \n{);scanf(y%s{, &pro_name):i tf( E t it \ {) f( %d{ & it)printf(yEnter unit \n{); scanf(y%d{, &pro.unit);

ผลลพธ(Output)ผลลพธ(Output)

Enter product_name TelevisionEnter unit 1Enter price 9000Product name Television_Unit 1Price 9000

โปรแกรมแสดงคาทอย (Address)ของขอมลโจทย :  จงเขยนโปรแกรมเพอแสดงคาทอย(Address)ของขอมล

การวเคราะหงาน

1 ผลลพธ (Output) แสดงคาทอย (Address)1. ผลลพธ (Output) แสดงคาทอย (Address) 2. ขอมลทรบเขา (Input) จานวนตวเลข 3 การประมวลผล(Process) 3. การประมวลผล(Process)

1. อานจานวนตวเลข

2 ตวแปรพอยนเตอร(Pointre) ชไปท จานวนตวเลข2. ตวแปรพอยนเตอร(Pointre) ชไปท จานวนตวเลข

3. แสดงคาทอย (Address)4 ตวแปร (Variable)4. ตวแปร (Variable)

จานวนตวเลข =  numberพอยนเตอร = ptrพอยนเตอร   ptr

การเขยนผงงาน(Flowchart)

เรมตน

อานตวเลข

กาหนดคาพอยนเตอร

แสดงคาทอย,ขอมล

จบการทางานจบการทางาน

โปรแกรมโปรแกรม

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

int *ptr;int number;;clrscr();printf(yEnter Number \n{); scanf(y%d{, &number);p (y \ {); (y {, );ptr = &number;printf(yAddress %p\n{, &ptr);p (y p\ {, p );printf(yData %d \n{, *ptr);getch();g ();}

ผลลพธ(Output)ผลลพธ(Output)

Enter Number 100Address FFF4Data 100

โปรแกรมสลบคา (Swap)โจทย :  จงเขยนโปรแกรมเพอสลบคา(Swap) ระหวางคา A=100 B=200 แลวแสดงคาออกทางจอภาพ

การวเคราะหงาน

( )1. ผลลพธ (Output) คา A และคา B 2. ขอมลทรบเขา (Input) คา A และคา B

( ) 3. การประมวลผล(Process)temp  =  AA  =  BB  =  Temp( bl )4. ตวแปร (Varisble)A, B, Temp

การเขยนผงงาน(Flowchart)เรมตน

A = 1000B = 2000B = 2000

Temp = AA = B

B= temp

Print A,B

จบการทางาน

โปรแกรมโปรแกรม#include <stdio.h>#include <conio.h>{

clrscr();int A, B, Temp;A = 1000;B = 2000;Temp = A;A = B;B = Temp;printf(y Value A %d \n{, A);printf(y Value B %d \n{, B);getch();}

ผลลพธ(Output)ผลลพธ(Output)

Value  A  2000Value B 1000Value  B  1000

โปรแกรมจดเรยงขอมล(Sort Data) ( )โจทย :   จงเขยนโปรแกรมเพอจดเรยงขอมล(Sort Data)แบบ Buble Sort แลวแสดงผลออกทางจอภาพ

การวเคราะหงาน

1 ผลลพธ(Output)จานวนตวเลขทจดเรยง1.ผลลพธ(Output)จานวนตวเลขทจดเรยง2.ขอมลทรบเขา(input)ขอมลแบบอารเรย(Array)

ป (P )3.การประมวลผล(Process)1.จบตวเลขขนมา 1 ค

2.นามาเปรยบเทยบดวาคาตวเลขไหนมากกวา

3.ถาเลขบนมากกวาเลขลางใหสลบทไปเรอยๆ

4.ตวแปร(Variable)temp=เกบคาชวคราวp

number=ตวเลข

การเขยนผงงาน(Flowchart)เรมตน

Number [5] = {7,4, 3,2,8}

if number[i]>number[i+l]Temp =number[i]

Number[i]=number[i+l]Number[i] number[i l]Number[i+l]=temp

Display number[i]

จบการทางาน

โปรแกรม#include <stdio.h>#include <conio.h>

printf(yData Sorted \n{);for ( i=1 ; i<=max ; i++ )#include <conio.h>

{

int i, temp, max=5, number[5] =

for ( i 1 ; i< max ; i++ ){

printf(y%d {, number[i]);int i, temp, max 5, number[5]   {7,4,3,2,8};clrscr();

printf(y%d {, number[i]);}

getch();clrscr();for ( i=1 : i<=max ; i++ ){

getch();}

{

if ( number[i] > number[i+1] ){{

temp = number[i];number[i] = number[i+1];number[i]   number[i+1];number[i+1] = temp;}}

}

ผลลพธ(Output)ผลลพธ(Output)

Data Sorted2 3 4 7 82 3 4 7 8

โปรแกรมสตรคณโปรแกรมสตรคณ

โจทย : จงเขยนโปรแกรมสตรแลวแสดงผลออกทางจอภาพ

(V i bl )การวเคราะหงาน 4.ตวแปร (Variable)1.ผลลพธ (Output) สตรคณ number = แมสตรคณ

(Input) ใ 2.ขอมลทรบเขา (Input) ใสแมสตรคณทตองการ3.การประมวลผล (Process)

รบแมสตรคณรบแมสตรคณfor (i=แมสตรคณ ; i<=12 ; i++) (แถว){{

for (j=1 ; j<=12 ; j++) (คอลมน){{printf(“%dx.%d = %d\n” , I,j,i*j);}

}}

การเขยนผงงาน(Flowchart) เรมตน

Read(number)

i = number, j = 1จบการทางาน

i x jจบการทางาน

j = j+1i <= 12

j <= 12 i i+1j <= 12 i = i+1

โปรแกรม#include <stdio.h>#include <conio h>#include <conio.h>{

int i j number;int i, j, number;printf(yEnter Number\n{); scanf(y%d{, &number);&number);for ( i=number ; i<=12 ; i++ ){{

for ( j=1 ; j<=12 ; j++){{

printf(y%d x %d{, i, j, i*j);}}

}

getch();getch();}

ผลลพธ(Output)ผลลพธ(Output)Enter Number 22 x 1 = 22 x 2 = 42 x 3 = 62 x 4 = 82 x 4   82 x 5 = 102 x 6 = 122 x 6 = 122 x 7 = 142 8 162 x 8 = 162 x 9 = 182 x 10 = 202 x 11 = 222 x 12 = 24

โปรแกรมสม (Random) ตวเลขโจทย : จงเขยนโปรแกรมสมหาคาสงสด แลวแสดงผลออกทางจอภาพ

การวเคราะหงาน

(O ) 4 ตวแปร (Variable)1.ผลลพธ (Output) คาสงสด2.ขอมลทรบเขา (Input) รบตวแปรเปนเลขจานวนเตม

4. ตวแปร (Variable)temp = เกบคาสงสด

2 3 3.การประมวลผล (Process)รบตวแปรเปนเลขจานวนเตม s1, s2 s3

s1, s2, s3 = เลขจานวนเตม,

temp = s1if s2 > tempif s2 > temp

temp = s2if 3 tif s3 > temp

temp = s3 

การเขยนผงงาน(Flowchart)เรมตน

d ( )Read (s1, s2, s3)

temp = s1if s2 > tempif s2 > temptemp = s2fif s3 > temptemp = s3

Display tempDisplay temp

จบการทางาน

โปรแกรม#include <stdio.h>#include <conio h>#include <conio.h>{

int temp s1 s2 s3;int temp, s1, s2, s3;clrscr();printf(yEnter number \n{);printf(yEnter number \n{);scanf(y%d{, &s1, &s2, &s3);temp = s1;temp = s1;if s2 > temptemp = s2temp = s2if s3 > temptemp = s3temp = s3printf(y Output Maximum %d \n{, temp);getch();getch();}

ผลลพธ(Output)( p )

Enter number 12, 45, 30Output Maximum 45Output Maximum 45

โปรแกรมแสดงคา ASCII CODEโจทย :  จงเขยนโปรแกรมแสดง Ascii Code แลวแสดงผลออกทางจอภาพ

การวเคราะหงานการวเคราะหงาน

1.ผลลพธ (Output) คา ASCII2 (Input) 0 256

4. ตวแปร (Variable)I = แสดงคา ASCLL CODE2.ขอมลทรบเขา (Input) ตวเลข 0 ถง 256

3.การประมวลผล (Process)

I   แสดงคา ASCLL CODE

for ( i=0 ; i<=256 ; i++ ){ printf(“ %d = %c \n{, i, i);if i == 80if i  80break

} }

การเขยนผงงาน(Flowchart) เรมตน

i = 1

ASCII CODE

i i+1i = i+1

i <= 256

จบการทางานจบการทางาน

โปรแกรม

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

int i;printf(y ASCII CODE TABLE \n{);for ( i=70 ; i<=256 ; i++ ){

printf(y%d = %c \n{, i,i);if i == 80break;}

getch();}

ผลลพธ(Output)ASCII CODE TABLE70 F70  F71  G73 G73  G74  H75 I75  I76  J77 K77  K78  L79 M79  M82  N

โปรแกรมหาคาฟงกชน (Function)

โจทย :  จงเขยนโปรแกรมหาคาF(x) = x2 + y2 h 10 / 3 แลวแสดงผลออกทางจอภาพ

การวเคราะหงาน

1.ผลลพธ (Output) คา F(x)2 ขอมลทรบเขา (Input) x2 + y2 h 10 / 32.ขอมลทรบเขา (Input) x2 + y2 h 10 / 33.การประมวลผล (Process)

h /temp = x2 + y2 h 10 / 34. ตวแปร (Variable)

temp =  เกบคาฟงกชนx2 = คา x ยกกาลงy2 = คา y ยกกาลง

การเขยนผงงาน(Flowchart)เรมตน

Read (x y)Read (x,y)

temp = x2 + y2 o 10 / 3

Display temp

จบการทางาน

โปรแกรม#i l d tdi h#include <stdio.h>#include <conio.h>{{

int s1, s2, temp;l ()clrscr();printf(yEnter value X \n{); scanf(y%d{, &s1);i tf( E t l Y \ {) f( %d{ & 2)printf(yEnter value Y \n{); scanf(y%d{, &s2);

temp = F(x, y);i tf( V l %2f \ { t )printf(yValue %2f \n{, temp);

getch();}}

float F(int x, int y){{

return ( x * x + y * y h 10 / 3 )}}

ผลลพธ(Output)

Enter value X 3Enter value Y 3Enter value Y 3Value 2.66

โปรแกรมหาพนทวงกลมโจทย :  จงเขยนโปรแกรมหาพนทวงกลม¶r2แลวแสดงผลออกทางจอภาพ

การวเคราะหงาน1 ผลลพธ (Output) หาคาพนทวงกลม1.ผลลพธ (Output) หาคาพนทวงกลม2.ขอมลทรบเขา (Input) ¶r2

ป (P )3.การประมวลผล (Process)pi = 3.1428รบรศมวงกลม r2พนทวงกลม = pi x r2p

4. ตวแปร (Variable)pi = คา ¶r2pi = คา ¶r2r = รศมวงกลม

การเขยนผงงาน(Flowchart) เรมตน

Pi = 3.1428

Read (r)

พนทวงกลม = pi x r2

พนทวงกลม

บการทางานจบการทางาน

โปรแกรม#include <stdio.h>#include <conio.h>{

int r;clrscr();printf(yEnter redius \n{); scanf(y%d{, &r);p (y {) (y { )printf(yArea of cycle %.2f \n{, cycle(r) );getch();g ()}

float cycle(int r1)y ( ){

return (pi * r * r )(p )}

ผลลพธ(Output)

Enter radius 5Area of cycle 78 57Area of cycle 78.57

โปรแกรมหาพนทสามเหลยมโปรแกรมหาพนทสามเหลยมโจทย :  จงเขยนโปรแกรมพนทสามเหลยม แลวแสดงผลออกทางจอภาพ

การวเคราะหงาน1.ผลลพธ (Output) หาคาพนทสามเหลยม2 ขอมลทรบเขา (Input) ระยะฐาน ระยะสง2.ขอมลทรบเขา (Input) ระยะฐาน ระยะสง

3.การประมวลผล (Process)½ x ระยะฐาน x ระยะสง½ x  ระยะฐาน x  ระยะสง

4. ตวแปร (Variable)bbase = ระยะฐานheight = ระยะสง

การเขยนผงงาน(Flowchart)

เรมตน

Read (base height)Read (base, height)

1/2 x base x height

พนทสามเหลยม

จบการทางานจบการทางาน

โปรแกรม

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

float area(int b, int h){

float area(int, int);main ()

return (0.5 * b * h);}()

{

clrscr();()int base, height;printf(yEnter base \n{); scanf(y%d{, p (y {) (y {&base);printf(yEnter height \n{); scanf(y%d{, p (y g {) (y {&height);printf(yArea %.2f \n{, area(base, height) );p (y { ( g ) )getch();return 0;}

ผลลพธ(Output)

Enter base 3Enter height 4Area 6.00