Chương trình tinh tong 2 phan so pascal

Viết chương trính cho các bài sau:

Bài 1: Gỉai PT bậc nhất một ẩn: ax+b=0.

Bài 2: Nhập ba số thực a, b và c từ bàn phím và máy tính, sau đó kiểm tra ba số đó, có thế là cạnh của tam giác đều, tam giác cân và tam giác vuong hay không và ghi kết quả.

Bài 3: Tính N! N= 1*2.3.n

Bài 4: Tính tổng S= 1+ 2!+ 3!+...+n!

Bài 5: Tính tổng S= 1+ 1/2!+ 1/3!+...+ 1/n!

Bài 6: Tính tổng S= 1+ 1/22 + 1/32+ ...+ 1/22

Bài 7: Tính tổng S= 1+1/1*3+ 1/2*4+...+ 1/n[n+2]

Bài 8: Gỉai bài toán sau:

Trăm trâu trăm cỏ

Trâu đứng ăn năm

Trâu nằm ăn ba

Lụ khụ trâu già

Ba con một bó

Tìm số trâu mỗi loại?

Bài 9:

Vừa gà vừa chó

Bó lại cho tròn

Ba mươi sáu con

Một trăm chân chẵn

Hỏi có bao nhiêu chó, bao nhiêu gà?

Bài 10: Viết PT nhập vào một mảng N số nguyên từ bàn phím và in ra màn hình số nhỏ nhất và số lớn nhập.

Bài 11: Nhập điểm số các bạn trong lớp sau đó in ra màn hình số bạn đạt kết quả loại giỏi, khá, TB

Bài 12: Nhâp n số nguyên từ bàn phím và tính tổng các dương

Bài 13: Cho một dãy số gồm n phần tử. Gía trị của các phần tử là sô nguyên. Thực hiên các chương trình sau:

a] Nhập từ bán phím số phần tử và giá trị của từng phần tử

b] Tính tổng các phần tử của dãy

c] Tính tổng âm các phần tử của dãy

d] Tính tổng và TBC của các phần tử chẵn của dãy

e] Tìm các phần tử có giá trị lớn nhất của dãy

f] Tìm các phần tử có giá trị nhỏ nhất của dãy

Bài 14: Tính tổng: S= 1/2+ 2/3+ 3/4+...+n/n+1 với n là số nguyên dương được nhập từ bàn phím

Bài 15: Tính tổng: S= -1+2-3+4-...+[-]nn với n là số nguyên dương được nhập từ bàn phím

HUHU CỨU VỚI T.T

Contact for work: 096.1014.106 [Mr. Tiến]

Đề bài: viết chương trình nhập vào 2 phân số a/b , c/d với a/b lớn hơn c/d và không âm. Hãy tính các phép toán cộng, trừ, nhân, chia và xuất ra màn hình.

Lưu ý: kết quả phải tối giản.

– Cơ sở đề mình viết các phép tính là do tính chất của toán học, xem hình để dễ hiểu hơn…

– ở code dưới đây mình sẽ ko chặn các trường hợp input cho ra kết quả vô nghĩa nên các bạn tự cải tiến nếu cần.

– ở phép tính chia, thật ra chỉ cần gọi procedure nhân rồi nghịch đảo lại là được, nhưng do xuất kết quả ở trong procedure luôn nên nó sẽ hiện dấu nhân, vì vậy mình sẽ viết lại cái khác.

– Để phân số có tính tối giản thì chỉ cần chia tử và mẫu cho ước chung lớn nhất của tử và mẫu.

– Nếu kết quả tu/mau có dạng tu/1 thì chỉ cần xuất tử. vì phân số có mẫu là 1 vô nghĩa.

….. còn ở phép nhân và chia, chỉ cần tử bằng 0 thì kết quả sẽ bằng 0.

Code cộng, trừ, nhân chia trong pascal

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

var

        a,b,c,d:longint;

functionucln[a,b:longint]:longint;

var     r:longint;

begin

        whileamodb0do

                begin

                        r:=a modb;

                        a:=b;

                        b:=r;

                end;

        exit[b];

end;

procedure cong[a,b,c,d:longint];

var     tu,mau,UC:longint;

begin

        tu:=a*d+b*c;

        mau:=b*d;

        UC:=ucln[tu,mau];

        tu:=tu div uc;

        mau:=mau div uc;

        ifmau=1then

                writeln[a,'/',b,' + ',c,'/',d,' = ',tu]

        else

                writeln[a,'/',b,' + ',c,'/',d,' = ',tu,'/',mau];

end;

procedure tru[a,b,c,d:longint];

var     tu,mau,UC:longint;

begin

        tu:=a*d-b*c;

        mau:=b*d;

        UC:=ucln[tu,mau];

        tu:=tu div uc;

        mau:=mau div uc;

        ifmau=1then

                writeln[a,'/',b,' - ',c,'/',d,' = ',tu]

        else

                writeln[a,'/',b,' - ',c,'/',d,' = ',tu,'/',mau];

end;

procedure nhan[a,b,c,d:longint];

var     tu,mau,UC:longint;

begin

        tu:=a*c;

        mau:=b*d;

        UC:=ucln[tu,mau];

        iftu=0then

                begin

                        writeln[a,'/',b,' * ',c,'/',d,' = ',0];

                        exit;

                end;

        tu:=tu div uc;

        mau:=mau div uc;

        if mau=1then

                writeln[a,'/',b,' * ',c,'/',d,' = ',tu]

        else

                writeln[a,'/',b,' * ',c,'/',d,' = ',tu,'/',mau];

end;

procedure chia[a,b,c,d:longint];

var     tu, mau,UC:longint;

begin

        tu:=a*d;

        mau:=b*c;

        UC:=ucln[tu,mau];

        iftu=0then

                begin

                        writeln[a,'/',b,' : ',c,'/',d,' = ',0];

                        exit;

                end;

        tu:=tu div uc;

        mau:=mau div uc;

        ifmau=1 then

                writeln[a,'/',b,' : ',c,'/',d,' = ',tu]

        else

                writeln[a,'/',b,' : ',c,'/',d,' = ',tu,'/',mau];

end;

begin

        read[a,b,c,d];

        cong[a,b,c,d];

        tru[a,b,c,d];

        nhan[a,b,c,d];

        chia[a,b,c,d];

        readln;

        readln;

end.

Bài viết liên quan

  • Phân tích một số bài tập Nhập môn lập trình C++
  • [C++] Đọc số thành chữ – hàng triệu
  • [C++] Bài 110: Chia 200000 bằng các loại giấy 1000đ, 2000đ, 5000đ
  • [C++] Chữ số chính giữa là lớn nhất
  • PTIT016E spoj PTIT – ACM PTIT 2016 E – Kỳ thi ACM/ICPC
  • [C++] Viết chương trình tính tổng các số nguyên tố nhỏ hơn N
  • [C++] Viết chương trình tìm UCLN, BCNN của 2 số a, b
  • PYTHA NTUcoder – Pythagoras
  • P145PROD spoj PTIT – Diện tích hình tròn
  • P141SUMA spoj PTIT – Đi đường nào

Chủ Đề