23
2.5 ตตตตตตตตตตตตตตตตตต ตตตตตตตตตตตตตตตตตตต ตตตตตตตตตตตตตตตตตตตตตตตต ตตตตตตตตตตตต ตตตตตตตตตตตตตตตตตตตตตตตตต ตตตตตตตตต ตตตตต 1 ตตตตตต ตตตตตตตต ตตตต A , B , X , TOT, NAME ตตตตตตต ตตตตตตตตต (ARRAY) ตตตตตตตตตตตตตตตตตตตตตตตตตตตต ตตตตตตตตตตตตตตตตตตตตตตตตตต

2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ

  • Upload
    kurt

  • View
    53

  • Download
    0

Embed Size (px)

DESCRIPTION

2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ. ตัวแปรที่ใช้ในผังโปรแกรม ตัวแปรเดี่ยว การตั้งชื่อตัวแปรเพื่อใช้แทนข้อมูล เพียง 1 จำนวน เท่านั้น เช่น A , B , X , TOT, NAME เป็นต้น ตัวแปรชุด (ARRAY) การตั้งชื่อตัวแปรในหน่วยความจำที่ใช้ชื่อเพียงตัวเดียว - PowerPoint PPT Presentation

Citation preview

Page 1: 2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ

2.5 ตั�วแปรชุ�ดมิ�ตั�เด ยวและตั�วแปรชุ�ดสองมิ�ตั�ตั�วแปรที่ �ใชุ�ในผั�งโปรแกรมิ

• ตั�วแปรเด �ยว การตั��งชุ��อตั�วแปรเพื่��อใชุ�แที่นข้�อมิ!ล

เพื่ ยง 1 จำ$านวน เที่%าน��น เชุ%น A , B , X , TOT,

NAME เป&นตั�น• ตั�วแปรชุ�ด (ARRAY)

การตั��งชุ��อตั�วแปรในหน%วยความิจำ$าที่ �ใชุ�ชุ��อเพื่ ยงตั�วเด ยวแตั%มิ ตั�วเลข้แสดงตั$าแหน%งก$าก�บไว�เพื่��อเป&นการบอกว%า

เป&นตั�วแปรตั�วที่ �เที่%าไร เชุ%น X(1) , X(2), X(3) เป&นตั�น

Page 2: 2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ

ตั�วแปรชุ�ดมิ�ตั�เด ยว (ONE-DIMENSION ARRAY)เป&นตั�วแปรชุ�ดที่ �มิ ตั�วเลข้แสดงตั$าแหน%งเพื่ ยงตั�วเด ยวX

X(3)

X(5)

12345

X X(3)

X(5)

โครงสร�างภายในเคร��องคอมิพื่�วเตัอร,จำะถื�อว%าที่��งหมิดน �เป&นเน��อที่ �ที่ �ถื!กจำองตั%อเน��องก�นไปเป&น

ล$าด�บ ซึ่/�งสามิารถืระบ�ตั$าแหน%งข้�อมิ!ลที่ � ตั�องการได� โดยระบ�ตั�วพื่%วง

(Subscript)

Page 3: 2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ

ตั�วแปรชุ�ดสองมิ�ตั� (TWO-DIMENSION ARRAY)เป&นตั�วแปรชุ�ดที่ �มิ การจำ�ดข้�อมิ!ลเป&นแถืวเป&น

คอล�มิน, เชุ%นข้�อมิ!ลแบบ Matrix จำะมิ ตั�วเลข้ ที่ �แสดงตั$าแหน%ง 2 ตั�ว โดยตั�วแรกจำะเป&น

ตั�วเลข้ที่ �แสดงตั$าแหน%งแถืว ตั�วที่ �สองจำะเป&นตั�วเลข้ที่ �แสดงตั$าแหน%งคอล�มิน,

X 123456

1

2

3 X(2,3)

X(5,3)

Page 4: 2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ

การเข้ ยนผั�งโปรแกรมิโดยใชุ�ตั�วแปรชุ�ดตั�วอย%างการเข้ ยนผั�งโปรแกรมิเพื่��อแก�

ป0ญหาโดยใชุ�ตั�วแปรชุ�ด ที่ �พื่บเห2นบ%อย ค�อ การค$านวณเมิตัร�กซึ่, เชุ%น

[C]mxn = [A]mxn + [B]mxn

หร�อ [C]mxn = [A]mxn * [B]mxn

จำ$าเป&นตั�องใชุ�ตั�วแปรชุ�ดในการค$านวณด�งกล%าว

ผั�งโปรแกรมิแสดงการอ%านข้�อมิ!ลที่ � เป&นเมิตัร�กซึ่, เชุ%น

a[3][2]

a11 a12a21 a22a31 a32

Page 5: 2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ

READM,N

I = 0

J = 0

I = I + 1

J = J + 1

ReadA(I,J)

J = N?

I = M?

noyesnoyes

แปรค%า I ตั��งแตั% 1 ถื/ง M

อ%านข้�อมิ!ล A(I,J) โดย เปล �ยนค%า J ตั��งแตั% 1 จำนถื/ง N

ส%วนค%า I เป&นค%าเตั2มิตัลอด

อ%านข้�อมิ!ล A[I,J] เร ยบร�อย

Flowchart

Page 6: 2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ

การเข้ ยนผั�งโปรแกรมิเพื่��อความิสะดวกสามิารถืที่ �จำะเข้ ยนร!ปที่ �ง%ายแสดงการอ%านหร�อการพื่�มิพื่,เมิตัร�กซึ่,หร�อตั�วแปรชุ�ดได�ด�งน �ตั�วแปรชุ�ดมิ�ตั�เด ยว

ReadX(I)

I = 1…10 จำะหมิายถื/ง การอ%านข้�อมิ!ลจำากอ�ปกรณ,อ%าน

ข้�อมิ!ล 10 จำ$านวนไปไว�ที่ � X(1) ถื/งX(10) ตัามิล$าด�บPrint

X(I)I = 1…10

หมิายถื/ง การน$าเอาค%าตั�วแปรชุ�ดตั��งแตั%X(1) ถื/ง X(10) แสดงที่างอ�ปกรณ,แสดงผัล

Page 7: 2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ

ตั�วแปรชุ�ด 2 มิ�ตั� Read

A(I,J)I = 1,2…MJ = 1,2….N

จำะหมิายถื/ง การอ%านข้�อมิ!ลจำากอ�ปกรณ,อ%าน ข้�อมิ!ล M จำ$านวนไปไว�ที่ � X(1) ถื/ง X(M)

ตัามิล$าด�บ

หมิายถื/ง การน$าเอาค%าตั�วแปรชุ�ดตั��งแตั%X(1) ถื/ง X(M) แสดงที่างอ�ปกรณ,แสดงผัล

PrintA(I,J)

I = 1,2…MJ = 1,2….N

Page 8: 2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ

ตั�วอย%างที่ �12 อ%านข้�อมิ!ลเข้�ามิา N จำ$านวน แล�วหา

ค%าที่ �มิากที่ �ส�ดและน�อยที่ �ส�ดอธิ�บาย 3 3 5 1

3 5 1

MINMAX

3 5 1

MAXMIN

3 5 1

MINMAX

3 5 1

MAXMIN

1 2

3 4

Page 9: 2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ

ตั�วแปรและความิหมิายข้องตั�วแปรที่ �ใชุ�มิ ด�งน �

N = เก2บค%าข้องจำ$านวนข้�อมิ!ลที่ �จำะอ%านเข้�ามิาX(I) = เก2บค%าข้องข้�อมิ!ลตั�วที่ � IMAX = เก2บค%าที่ �มิากที่ �ส�ดที่ �พื่บ(Maximum)MIN = เก2บค%าที่ �น�อยที่ �ส�ดที่ �พื่บ(Minimum)

Page 10: 2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ

STARTRead

NRead X(I)i = 1…N

i = 1

MAX=X(i)

MIN=X(i)

Flowchart

1

2

(ตั%อ)

Page 11: 2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ

i < N

X(i)>MAX?

i = i + 1

X(i)<MIN?

MIN=X(i)

MAX=X(i)

PrintMAXMIN

STOP

YesNo

YesNo

YesNo

2

1

Page 12: 2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ

ตั�วอย%างที่ �13โปรแกรมิอ%านข้�อมิ!ลไมิ%ที่ราบจำ$านวนมิาเก2บไว�แล�วที่$าการเร ยงล$าด�บ(Sort) ข้�อมิ!ล

เหล%าน � เร ยงจำากน�อยไปมิาก โดยตัรวจำสอบ ข้�อมิ!ลตั�วส�ดที่�ายด�วยเลข้999

อธิ�บาย การสล�บ เราจำะที่$าการสล�บค%าใน ตั�วแปรชุ�ด

เด�มิ มิ ค%าในตั�วแปรชุ�ด 5 1

ผัลที่ �ตั�องการค�อ 1 5 5 1 a[L]a[L+1]

Temp = a[L]

น$า a[L] มิา ไว�ที่ � temp 1 1

น$า a[L+1]--> a[L]

a[L] = a[L+1]

1 5

น$า -- temp > a[L+1]

a[L+1]=tempTemp5

Page 13: 2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ

ตั�วแปรและความิหมิายข้องตั�วแปรที่ �ใชุ�มิ ด�งน �a(i) = เก2บข้�อมิ!ลตั�วที่ � ii = เป&นตั�วพื่%วงและเป&นจำ$านวนน�บจำ$านวนข้�อมิ!ลCHECK = เป&นตั�วชุ �ว%าข้�อมิ!ลเร ยงล$าด�บหร�อย�ง

ถื�า CHECK = 1 แสดงว%ามิ การสล�บที่ �อย%างน�อย 1 คร��ง(ข้�อมิ!ลย�งไมิ%เร ยง )

ถื�า CHECK = 0 แสดงว%าไมิ%เก�ดการสล�บที่ � (ข้�อมิ!ลเร ยงล$าด�บแล�ว)

Temp = เก2บค%าข้�อมิ!ลชุ��วคราวในการสล�บที่ �ข้�อมิ!ลN = จำ$านวนข้�อมิ!ลที่��งหมิดL = เป&นตั�วพื่%วงและเป&นตั�วน�บจำ$านวนข้�อมิ!ล

Page 14: 2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ

Flowchart START i = 0

a[i]=999

Printa[L]

i = i + 1Read a[i]

N= i - 1CHECK = 1

Check=1

STOP

L = 1 TO N

1 YN 2

(ตั%อ)

Page 15: 2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ

L=1CHECK = 0

L < Na[L]>a[L+1]

Temp=a[L]a[L]=a[L+1]

a[L+1]=Temp

CHECK = 1

L = L + 11

YNYN

2

Page 16: 2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ

ตั�วอย%างที่ �14จำงเข้ ยนผั�งโปรแกรมิเพื่��อบวกเมิตัร�

กซึ่, 2 เมิตัร�กซึ่, ค�อ[A]mxn = [B]mxn + [C]mxn

อธิ�บาย เชุ%น เมิตัร�กซึ่,ข้นาด 2*3

มิ ว�ธิ การบวกด�งน � เมิ��อ aij = bij + cij จำะได�a11 a12 a13

a21 a22 a23b11 b12 b13b21 b22 b23

c11 c12 c13c21 c22 c23+=

2*3 2*3 2*3

Page 17: 2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ

START

j = 0

Read m,n

Read Aij i = 1,…,m j = 1,…,n

Read Bij i = 1…m j = 1…n

1

Flowchart

(ตั%อ)

Page 18: 2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ

Flowchart

j = j + 1

i = 0

1

STOPi = i + 1 Cij = Aij + Bij

i = m?

j = n?

Print Cij i = 1…m j = 1…n

2

2

i = i + 1

Y

Y

N

N

Page 19: 2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ

ตั�วอย%างที่ � 15 จำงเข้ ยนผั�งงานโปรแกรมิเพื่��อหาค%าความิแปรปรวนข้องคะแนนสอบข้องน�กศึ/กษาไมิ%ที่ราบจำ$านวน

โดย SD2 = - (Xi X)2 -1N เมิ��อ Xi ค�อ คะแนนข้องน�กศึ/กษาแตั%ละคน

X ค�อ คะแนนเฉล �ย N ค�อ จำ$านวนน�กศึ/กษาที่��งหมิดที่ �น�บได�การว�เคราะห,

Input : คะแนนสอบข้องน�กศึ/กษาแตั%ละคนOutput : ค%าความิแปรปรวนการค$านวณ: - หาคะแนนเฉล �ย - ค%าความิแปรปรวน

Page 20: 2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ

ตั�วแปรi = ตั�วแปรที่ �ใชุ�น�บจำ$านวนน�กศึ/กษาscore = คะแนนสอบข้องน�กศึ/กษาSUM = ผัลรวมิข้องคะแนนน�กศึ/กษาX = คะแนนเฉล �ยTOT = ผัลรวมิก%อนหาความิ

แปรปรวน( - (Xi X)2)

SD2 = ค%าความิแปรปรวน

Page 21: 2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ

ว�ธิ การ 1 อ%านคะแนนด�บ (score)

โดยการวน loop เก2บค%า sum และเก2บคะแนนลง array ไว�

2. หาคะแนนเฉล �ย 3 . วน loop ค$านวณ

SUM(Xi - X)2 4. ค$านวณ - (Xi X)2

-1N 5 . พื่�มิพื่, ค%าความิแปรปรวน

Page 22: 2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ

FlowchartSTARTi = 0

SUM = 0TOT =0

Read score

Score<>999?

X(i) = scoreSUM = SUM+score

Read score

i = i + 1

N = i

X=SUM/N

1

YesNo

(ตั%อ)

Page 23: 2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ

1i = 0

i = i + 1

TOT=TOT+(X(i)-X)2

i = N?

SD2=TOT/(N-1)

Print SD2

END

YesNo