ใบงานที่ 3 ตัวแปรและชนิดของข้อมูล

25
ใใใใใใใใ 3 ใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใ (Data Type and Operator) 1.ใใใใใใใใใใใใใใใใใใใใ 1) ฝฝฝฝฝฝฝฝฝฝฝฝ Literal 2) ฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝ 3) ฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝ ฝฝฝฝฝฝฝฝฝฝ ฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝ ฝ 4) ฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝ ฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝ 2. ใใใใใ (ฝฝฝฝฝฝฝฝฝฝฝฝฝฝ) 3.ใใใใใใใใใใ ฝ. ฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝ, ฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝ ฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝ 1) ฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝ ฝฝฝฝฝ (ฝฝฝฝฝฝ) - ฝฝฝฝฝฝฝฝฝฝฝฝฝฝ 2 ฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝฝ radius(ฝฝฝฝฝ) ฝฝฝ hight(ฝฝฝฝฝฝฝ) - ฝฝฝฝฝ Surface(ฝฝฝฝฝฝฝ) ฝฝฝฝฝฝฝฝ 2ฝrh + 2ฝr 2

Upload: api-3806463

Post on 14-Nov-2014

808 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ใบงานที่ 3 ตัวแปรและชนิดของข้อมูล

ใบงานที่�� 3 ชน�ดข้�อมู�ลและเครื่��องหมูายปฏิ�บ�ติ�การื่ (Data Type and Operator)

1. จุ!ดปรื่ะสงค#การื่ปฏิ�บ�ติ�1) ฝึ�กการใช้�งาน Literal

2) ฝึ�กการใช้�งานช้น�ดข้�อมู�ล 3) ฝึ�กการใช้�งานเคร��องหมูายทางคณิ�ตศาสตร� ตรรกศาสตร� และ

เคร��องหมูายอ��น ๆ4) ฝึ�กความูเข้�าใจถึ%งความูผิ�ดพลาดท(�จะเก�ดข้%)นจากช้น�ดข้�อมู�ลหร�อจาก

เคร��องหมูายปฏิ�บั-ต�การ2. ที่ฤษฎี� (สร.ปทฤษฎี(ใส2มูา)3. การื่ปฏิ�บ�ติ�

ก. จงว�เคราะห�ป3ญหา, ออกแบับัผิ-งงานและเข้(ยนโปรแกรมูเพ��อแก�ป3ญหาด-งต2อไปน()1) ค7านวณิพ�)นท(�ผิ�วและปร�มูาตรร�ปทรงกระบัอก

ทฤษฏิ( (อธิ�บัาย)

- ร-บัค2าอ�นพ.ตมูา 2 ค2าเก9บัไว�ท(�ต-วแปร radius(ร-ศมู() และ hight(ความูส�ง)

Page 2: ใบงานที่ 3 ตัวแปรและชนิดของข้อมูล

- หาค2า Surface(พ�)นผิ�ว) จากสมูการ 2๚rh + 2๚r2

- หาค2า Capacity(ปร�มูาตร) จาสมูการ ๚r2 * ส�ง

2

start

Read radius,hig

htsurface=2(22/7)*radiu

s*(hight+radius)capacity=(22/7)*radiu

Stop

import java.awt.*;import javax.swing.*;public class ข้�อ 1 { public static void main (String[]args) { int hight,radius; double a=3.14,surface,capacity;

String str; str=JOptionPane.showInputDialog(null,"ป;อนค2า ส�ง"); hight=Integer.parseInt(str); str=JOptionPane.showInputDialog(null,"ป;อนค2า ร-ศมู("); radius=Integer.parseInt(str);

radius = radius / 2; surface = 2*a*radius*(hight+radius); capacity = a*radius*radius*hight;

JOptionPane.showMessageDialog(null,"พ�)น

Page 3: ใบงานที่ 3 ตัวแปรและชนิดของข้อมูล

2) ค7านวณิจ7านวนธินบั-ตรและเหร(ยญ(ธินบั-ตรใบัละ 1000, 500, 100,

50 บัาท เหร(ยญ 10, 5 , 1, 0.50, 0.25 บัาท) เมู��อท7าการแลกเปล(�ยนจากเง�น US$ ก7าหนดอ-ตราแลกเปล(�ยนได�

ทฤษฏิ( (อธิ�บัาย)

ร-บัค2าอ�นพ.ต 2 ค2าเก9บัไว�ท(�ต-วแปร M(money) และ D(Dollar)

ค7านวณิหาจ7านวนเง�นท(�เป<นเง�นไทย โดยใช้�ส�ตร M = M * D

ค7านวณิหาธินบั-ตรใบั 1000 โดยใช้�ส�ตร M = M / 1000

ค7านวณิหาธินบั-ตรใบั 500,100,50,20 และเหร(ยญ 10,5,1,0.50,0.25 โดยใช้�ส�ตรเด(ยวก-บัธินบั-ตร 1000

3

Page 4: ใบงานที่ 3 ตัวแปรและชนิดของข้อมูล

4

Page 5: ใบงานที่ 3 ตัวแปรและชนิดของข้อมูล

5

public class ข้�อ 2 { public static void main (String[]args) { double M=2000, //M = เง�นดอลล2าห� D=32.23,S; //D = ค2าเง�นบัาท

S = M * D; M = S; System.out.println("เง�นไทย = "+S+" บัาท"); System.out.println("******************************"); M = M / 1000; M = (int)M % 1000; System.out.println("ธินบั-ตร 1000 = "+

(int)M+" ใบั"); M = S - (M*1000); System.out.println("คงเหล�อ = "+M+" บัาท"); S = M; M = M / 500; M = (int)M % 500; System.out.println("ธินบั-ตร 500 = "+(int)M+"

ใบั"); M = S - (M*500); System.out.println("คงเหล�อ = "+M+" บัาท"); S = M; M = M / 100; M = (int)M % 100; System.out.println("ธินบั-ตร 100 = "+(int)M+"

ใบั"); M = S - (M*100); System.out.println("คงเหล�อ = "+M+" บัาท"); S = M; M = M / 50; M = (int)M % 50; System.out.println("ธินบั-ตร 50 = "+(int)M+"

ใบั"); M = S - (M*59); System.out.println("คงเหล�อ = "+M+" บัาท"); S = M; M = M / 10; M = (int)M % 100; System.out.println("เหร(ยญ 10 = "+(int)M+"

เหร(ยญ"); M = S - (M*10);

M = S - (M*5); System.out.println("คงเหล�อ = "+M+" บัาท"); S = M; M = M / 1; M = (int)M % 1; System.out.println("เหร(ยญ 1 = "+(int)M+"

เหร(ยญ"); M = S - (M*1); System.out.println("คงเหล�อ = "+M+" บัาท"); M = M / 0.5; System.out.println("เหร(ยญ 0.5 = "+(int)M+"

เหร(ยญ"); M = S - 0.5; S = M; System.out.println("คงเหล�อ = "+M+" บัาท"); M = M / 0.25; System.out.println("เหร(ยญ 0.25 = "+

(int)M+" เหร(ยญ"); M = S - 0.25; System.out.println("คงเหล�อ = "+M+" บัาท");

Page 6: ใบงานที่ 3 ตัวแปรและชนิดของข้อมูล

3) หาค2า N Factorial (N!)

ทฤษฏิ( (อธิ�บัาย)

ร-บัข้�อมู�ลอ�นพ.ตเก9บัไว�ท(�ต-วแปร Nก7าหนด i = 1 และ s = 1

ใช้�ค7าส-�ง while ตรวจสอบัการวนล�ปจากต-วแปร i ถึ�าตรงตามูเง��อนไข้ ให�ท7าเง��อนไข้ต2อไปถึ�าไมู2ตรงตามูเง��อนไข้ให�ออกไป Print ต-วแปร s

ค7านวณิหาค2า s จากสมูการ s = s * i และ i = i + 1 แล�ววนกล-บัไปท7าล�ปบันใหมู2

6

Page 7: ใบงานที่ 3 ตัวแปรและชนิดของข้อมูล

7

import java.awt.*;import javax.swing.*;public class ข้�อ 3 { public static void main (String[]args) { int i=1,s=1,n; String str; str=JOptionPane.showInputDialog(null,"N = "); n=Integer.parseInt(str); while (i<=n) { s = s * i; i = i + 1; } JOptionPane.showMessageDialog(null,"Sum ="+s);

Page 8: ใบงานที่ 3 ตัวแปรและชนิดของข้อมูล

4) หาค2า X ยกก7าล-ง n ( Xn )

ทฤษฏิ( (อธิ�บัาย)

ร-บัค2าจากอ�นพ.ต 2 ค2าเก9บัไว�ท(�ต-วแปร x และ nก7าหนดค2าผิลล-พธิ� s = 1 และต-วก7าหนดการวนล�ป a = 1

ตรวจสอบัการวนล�ปจากต-วแปร a ถึ�าตรงตามูเง��อนไข้ ให�ท7าเง��อนไข้ต2อไปถึ�าไมู2ตรงตามูเง��อนไข้ให�ออกไป Print ต-วแปร s

หาผิลล-พธิ�จากสมูการ s * x จากน-)นให�เพ��มูค2า i อ(ก 1 และวนข้%)นไปท7าล�ปใหมู2

8

Page 9: ใบงานที่ 3 ตัวแปรและชนิดของข้อมูล

9

import java.awt.*;import javax.swing.*;public class ข้�อ 4 { public static void main (String[]args) { int s=1,a=1,x,n; String str; str=JOptionPane.showInputDialog(null,"ป;อนค2า X"); x=Integer.parseInt(str); str=JOptionPane.showInputDialog(null,"ป;อนค2า N"); n=Integer.parseInt(str); while (a<=n) { s = s * x; a = a + 1; } JOptionPane.showMessageDialog(null,"SUM =

Page 10: ใบงานที่ 3 ตัวแปรและชนิดของข้อมูล

5) ตรวจสอบัค2าท(�ร -บัเข้�ามูาว2าเป<นจ7านวนเฉพาะหร�อไมู2

ทฤษฏิ( (อธิ�บัาย)

ร-บัค2าอ�นพ.ตเก9บัไว�ท(�ต-วแปร xก7าหนด s = 1 , และประกาศต-วแปร a , b เป<น Integer

ใช้�ค7าส-�ง if ตรวจสอบัค2า x ถึ�าตรงตามูเง��อนไข้ให� Print “Yes!” ถึ�าไมู2ตรงลงมูาท7า Process ต2อไป

หาค2า a จากสมูการ x % 2 และ b จากสมูการ x % 3

ใช้�ค7าส-�ง if ตรวจสอบัค2า a และ b ถึ�าตรงตามูเง��อนไข้ให� Print “No!”

ถึ�าไมู2ตรงให� Print “Yes!”

10

Page 11: ใบงานที่ 3 ตัวแปรและชนิดของข้อมูล

11

import java.awt.*;import javax.crypto.NullCipher;import javax.swing.*;public class ข้�อ 5 {

public static void main (String[]args) { int s=1,x,a,b; String str; str=JOptionPane.showInputDialog(null,"ป;อนค2า x "); x=Integer.parseInt(str); if(x==2||x==3) { JOptionPane.showMessageDialog(null,x+" เป<นจ7านวนเฉพาะ"); } else { a = x % 2; b = x % 3; if(a==0||b==0) { JOptionPane.showMessageDialog(null,x+" ไมู2เป<นจ7านวนเฉพาะ"); } else JOptionPane.showMessageDialog(null,x+"

Page 12: ใบงานที่ 3 ตัวแปรและชนิดของข้อมูล

6) หาค2าผิลรวมูข้องเลข้จ7านวนเฉพาะท(�มู(ค2าไมู2เก�น N

ทฤษฏิ( (อธิ�บัาย)

ร-บัค2าจากอ�นพ.ต 1 ค2าเก9บัไว�ท(�ต-วแปร nก7าหนด s = 1 และ i = 1

ใช้� while ตรวจสอบัการวนล�ปจากต-วแปร i ถึ�าตรงตามูเง��อนไข้ ให�ท7าเง��อนไข้ต2อไปถึ�าไมู2ตรงตามูเง��อนไข้ให�ออกไป Print ต-วแปร s

ใช้�ค7าส-�ง if ตรวจสอบัค2า i ถึ�าตรงตามูเง��อนไข้ท7า Process ข้วา ถึ�าไมู2ตรงลงมูาท7า Process ล2าง

ใช้�ค7าส-�ง if ตรวจสอบัค2า a และ b ว2าเท2าก-บั 0 หร�อไมู2 ถึ�าใช้�ให�ท7า Process ข้วา ถึ�าไมู2ใช้2ให�ท7า Process ส.ดท�ายแล�ววนข้%)นไปท7าค7าส-�ง while

ใหมู2

12

Page 13: ใบงานที่ 3 ตัวแปรและชนิดของข้อมูล

13

public class ข้�อ 6 { public static void main (String[]args) { int s=0,i=1,a,b,n=12; while (i<=n) { if(i==2|i==3) { s = s + i; i = i + 1; } else { a = i % 2; b = i % 3; if(a==0|b==0) { i = i + 1; } else { s = s + i; i = i + 1; } } } System.out.print("SUM ="+s); }}

Page 14: ใบงานที่ 3 ตัวแปรและชนิดของข้อมูล

7) หาค2า Sin(X)

ทฤษฏิ( (อธิ�บัาย)

ร-บัค2าจากอ�นพ.ต 2 ค2าเก9บัไว�ท(�ต-วแปร x , n

ก7าหนดค2า s = 0 , i = 1 , a = 1 , f = 0

ตรวจสอบัการวนล�ปจาก a <= n ถึ�าตรงตามูเง��อนไข้ ให�ท7าเง��อนไข้ต2อไปถึ�าไมู2ตรงตามูเง��อนไข้ให�ออกไป Print ต-วแปร s

ตรวจสอบัค2า f = 0 ใช้2ให�ท7า Left Process ถึ�าไมู2ใช้2ให�ท7า Right Process

Left Process : s = s + [power(x,i) / Fac(i)]Right Process : s = s - [power(x,i) / Fac(i)]

จากน-)นลงไปท7า Process ส.ดท�าย i = i + 2 และ a = a + 1 แล�ววนไปท7าล�ปบันใหมู2

14

Page 15: ใบงานที่ 3 ตัวแปรและชนิดของข้อมูล

8) Cos(X)

ทฤษฏิ( (อธิ�บัาย)

ร-บัค2าจากอ�นพ.ต 2 ค2าเก9บัไว�ท(�ต-วแปร x , n

ก7าหนดค2า s = 0 , i = 1 , a = 0 , f = 0

ตรวจสอบัการวนล�ปจาก a <= n ถึ�าตรงตามูเง��อนไข้ ให�ท7าเง��อนไข้ต2อไปถึ�าไมู2ตรงตามูเง��อนไข้ให�ออกไป Print ต-วแปร s

ตรวจสอบัค2า f = 0 ใช้2ให�ท7า Left Process ถึ�าไมู2ใช้2ให�ท7า Right Process

Left Process : s = s + [power(x,i) / Fac(i)]Right Process : s = s - [power(x,i) / Fac(i)]

15

Page 16: ใบงานที่ 3 ตัวแปรและชนิดของข้อมูล

จากน-)นลงไปท7า Process ส.ดท�าย i = i + 2 และ a = a + 1 แล�ววนไปท7าล�ปบันใหมู2

Fac (n)

ทฤษฏิ( (อธิ�บัาย)

ร-บัค2าจากอ�นพ.ต 2 ค2าเก9บัไว�ท(�ต-วแปร x , n

ก7าหนดค2า s = 1 , k = 0 , a = 1

ตรวจสอบัการวนล�ปจาก a <= i ถึ�าตรงตามูเง��อนไข้ ให�ท7าเง��อนไข้ต2อไปถึ�าไมู2ตรงตามูเง��อนไข้ให�ออกไป Return s

ท7าสมูการ s = s + kk = k + 2

16

Page 17: ใบงานที่ 3 ตัวแปรและชนิดของข้อมูล

a = a + 1แล�ววนไปท7าล�ปบันใหมู2

Power (x , n)

ทฤษฏิ( (อธิ�บัาย)

ร-บัค2าจากอ�นพ.ต 2 ค2าเก9บัไว�ท(�ต-วแปร x และ nก7าหนดค2าผิลล-พธิ� s = 1 และต-วก7าหนดการวนล�ป a = 1

ตรวจสอบัการวนล�ปจากต-วแปร a ถึ�าตรงตามูเง��อนไข้ ให�ท7าเง��อนไข้ต2อไปถึ�าไมู2ตรงตามูเง��อนไข้ให�ออกไป Print ต-วแปร s

หาผิลล-พธิ�จากสมูการ s * x จากน-)นให�เพ��มูค2า i อ(ก 1 และวนข้%)นไปท7าล�ปใหมู2

17

Page 18: ใบงานที่ 3 ตัวแปรและชนิดของข้อมูล

9) ป3ญหา มู(กระต2ายต-วผิ��และต-วเมู(ยค�2หน%�งอาศ-ยอย�2บันเกาะร�าง โดยธิรรมูช้าต�ข้องกระต2ายในท(�น() มู(อาย.ครบั 2 เด�อนบัร�บั�รณิ�จะมู(ล�ก 1 ค�2ท.กเด�อนเป<นต-วผิ��ก-บัต-วเมู(ย และจะเป<นสามู(ภรรยาก-นต2อไป สมูมู.ต�ว2าไมู2มู(การตายข้องกระต2ายเก�ดข้%)น เมู��อเวลาผิ2านไป N เด�อนจะมู(จ7านวนกระต2ายท-)งหมูดก(�ค�2

ทฤษฏิ( (อธิ�บัาย)

ร-บัค2าจากอ�นพ.ตเก9บัไว�ท(�ต-วแปร nก7าหนดค2าผิลล-พธิ� s = 1 , a = 1 , i – 1 , b = 0

ตรวจสอบัการวนล�ปจากต-วแปร a <= n ถึ�าตรงตามูเง��อนไข้ ให�ท7าเง��อนไข้ต2อไปถึ�าไมู2ตรงตามูเง��อนไข้ให�ออกไป Print ต-วแปร s

18

Page 19: ใบงานที่ 3 ตัวแปรและชนิดของข้อมูล

หาผิลล-พธิ�จากสมูการ b = aa = ss = a + bi = i + 1

จากน-)นวนข้%)นไปท7าล�ปบันใหมู2จนเง��อนไข้เป<นเท9จจะออกไป Print s

1) ค7านวณิจ7านวนเง�นบัาทไทย(ธินบั-ตรใบัละ 1000, 500, 100, 50 บัาท เหร(ยญ 10, 5 , 1, 0.50, 0.25 บัาท) เมู��อท7าการแลกเปล(�ยนจากเง�น US$ ก7าหนดอ-ตราแลกเปล(�ยนได� (ห�ามูใช้�ค7าส-�งประเภท selection

หร�อ loop)

ข้. จงป;อน คอมูไพล� และร-นโปรแกรมูต2อไปน()แล�วท7าตามูโจทย�แต2ละข้�อ2) โปรแกรมูท(� 3.1 และว�เคราะห�ผิลล-พธิ�ว2าถึ�กต�องด-งท(�ควรจะเป<นหร�อไมู2

เพราะอะไรให�เหต.ผิล

19

Page 20: ใบงานที่ 3 ตัวแปรและชนิดของข้อมูล

3) โปรแกรมูท(� 3.2 และว�เคราะห�ผิลล-พธิ�ว2าถึ�กต�องด-งท(�ควรจะเป<นหร�อไมู2 เพราะอะไรให�เหต.ผิล

4) โปรแกรมูท(� 3.3 จงอธิ�บัายท(�มูาข้องผิลล-พธิ� 8 ข้�อ( (1) - (8)) ท(�ได�มูาว2าเพราะเหต.ใดผิลล-พธิ�จ%งเป<นเช้2นน-)น

5) โปรแกรมูท(� 3.4 คอมูไพล�ไมู2ผิ2าน มู( Error ท(�ไหนบั�างเพราะอะไร จงอธิ�บัาย

// โปรแกรมูท(� 3.1import java.text.DecimalFormat;class FloatDouble {

public static void main(String[] args) {double d=3.14159265;float f=(float) d;System.out.println("double \t\t\t float");System.out.println(d+"\t\t"+f);d=30.14159265;f=(float) d;System.out.println(d+"\t\t"+f);

d=300.14159265;f=(float) d;System.out.println(d+"\t\t"+f);d=3000.14159265;f=(float) d;System.out.println(d+"\t\t"+f);

d=30000.14159265;f=(float) d;System.out.println(d+"\t\t"+f);

d=300000.14159265;f=(float) d;System.out.println(d+"\t\t"+f);

d=3000000.14159265;f=(float) d;System.out.println(d+"\t"+f);

d=30000000.14159265;f=(float) d;

20

Page 21: ใบงานที่ 3 ตัวแปรและชนิดของข้อมูล

System.out.println(d+"\t"+f);

DecimalFormat def = new DecimalFormat("#,###.0000");

System.out.println("\nd ="+def.format(d));}

}

// โปรแกรมูท(� 3.2class PlusDoubleFloat {

public static void main(String[] args) {double d=0.0d;float f=0.0f;System.out.println("d\t\t\t\tf");for(int i=0;i<10;i++){ // วนล�ปบัวก 0.1 เป<นจ7านวน

10 รอบัd+=0.1; // d = d+ 0.1;f+=0.1;

}System.out.println(d+"\t\t\t\t"+f);

// ค2า d และ f ส.ดท�ายเท2าก-บั 1.0 ใช้2หร�อไมู2 เพราะอะไร

}}

}

// lab3.3class Lab3DataType {

public static void main(String[] args) {

int i,j=100000 ;i=j*100000/100000;System.out.println("(1) i = "+i);

j=10;i=++j + j-- - j--;System.out.println("(2) i = "+i+"\n j = "+j++);

System.out.println("(3) "+ (--i+-i>=j++));

21

Page 22: ใบงานที่ 3 ตัวแปรและชนิดของข้อมูล

System.out.println("(4) "+(i>j | i<j) );System.out.println("(5) "+(i>j & i==j & i<j |

i==j) );

j=0x1;i=0x80;System.out.println("(6) "+(i>>(j+3) | j<<2));

System.out.println("(7)"+(1/2*2.5-3%5));System.out.println("(8)"+j*-1.0/0);

}}

//โปรแกรมูท(� 3.4class Error {

public static void main(String[] args) {byte b = 127;b=b+1;

byte b2=127;b2+=1;

int i=10l;

float f=1e-1;float f2=1e-2f;

char ch = '1';

char ch2 = 'A';ch2 = 'A'+'B';

int i =1/0;

float f3=2+4.0;

double d = 1/2;

float fn = 0100;fn = fn >> 2;

}

22

Page 23: ใบงานที่ 3 ตัวแปรและชนิดของข้อมูล

}

23