Lớp 11

Tin học 11 Bài tập và thực hành 2

Nội dung của bài thực hành số 2 dưới đây, các em sẽ cùng tìm hiểu về cách xây dựng một chương trình có sử dụng cấu trúc rẽ nhánh, thông qua đó bước đầu giúp các em làm quen với việc hiệu chỉnh chương trình. Mời các em cùng theo dõi nội dung chi tiết của bài thực hành.

1.1. Mục đích, yêu cầu

  • Xây dựng chương trình có sử dụng cấu trúc rẽ nhánh;
  • Làm quen với việc hiệu chỉnh chương trình.

1.2. Nội dung

Bài toán. Bộ số Pi-ta-go

Biết rằng bộ ba số nguyên dương a, b, c được gọi là bộ số Pi-ta-go nếu tổng các bình phương của hai số bằng bình phương của số còn lại. Viết chương trình nhập từ bàn phím ba số nguyên dương a, b, c và kiểm tra xem chúng có là bộ số Pi_ta_go hay không.

Bạn đang xem: Tin học 11 Bài tập và thực hành 2

Gợi ý làm bài:

Ý tưởng: Kiểm tra xem có đẳng thức nào trong ba đẳng thức sau đây được thực hiện hay không:

  • a2 = b2 + c2;
  • b2 = a2 + c2;
  • c2 = a2 + b2.

Xác định bài toán:

  • Input: Các số a,b,c nhập từ bàn phím.
  • Output: Đưa ra màn hình câu thông báo: ba số a, b, c có phải là bộ số Pi – ta – go hay không?

Thiết kết bài toán:

  • Đơn vị dữ liệu:
    • Các số a, b, c, a2, b2, c2.
    • Loại số: số nguyên dương.
    • Kiểu: a, b, c: interger.
  • Đơn vị xử lý:
    • Nhập vào 3 số nguyên dương a, b, c.
    • Tính các bình phương của a, b, c.
    • Kiểm tra: nếu tổng các bình phương của 2 số bằng bình phương của số còn lại thì kết luận: ba số là bộ số Pi_ta_go.
    • Ngược lại: không phải là bộ số Pi_ta_go.  

Thuật giải chương trình:

Program Pi_ta_go

Khai báo sử dụng a, b, c, a2, b2, c2(a, b, c nguyên dương)

Gán: a2:=a; b2:=b; c2:=c;

Tính:   

  • a2:= a2*a;
  • b2:= b2*b;
  • c2:= c2*c;

Nếu  a2= b2+ c2 hoặc b2= a2+ c2 hoặc c2= a2+ b2 thì:

  • Xuất ra “a, b, c là bộ số Pi_ta_go”
  • Ngược lại: “a, b, c không là bộ số Pi_ta_go” 

Những công việc cần thực hiện:

a)

  • Khởi động chương trình Turbo Pascal bằng cách: Nháy đúp chuột vào biểu tượng  trên màn hình Desktop.
  • Gõ chương trình sau:

program Pi_ta_go;

uses crt;

var a, b, c: integer;

        a2, b2, c2: longint;

begin

clrscr;

       write(‘a, b, c: ‘);

       readln(a, b, c);

       a2:= a;

       b2:= b;

       c2:= c;

       a2:= a2*a;

       b2:= b2*b;

       c2:= c2*c;

       if(a2 = b2 + c2) or (b2 = a2 + c2) or (c2 = a2 + b2)

                       then writeln(‘Ba so da nhap la bo so Pi-ta-go’)

                       else writeln(‘Ba so da nhap khong la bo so Pi-ta-go’);

       readln

end.

Chú ý: Trước else không có dấu chấm phẩy (;).

b) Sau khi gõ xong, lưu chương trình vào đĩa bằng cách nhấn phím F2 (hoặc vào File → Save), nhập tên tệp rồi nhấn phím Enter (phần mở rộng của tệp ngầm định là .pas).

c) Gõ phím F7 để thực hiện từng câu lệnh chương trình, nhập các giá trị a = 3, b = 4, c = 5.

d) Vào bảng chọn Debug mở cửa sổ hiệu chỉnh để xem giá trị a2, b2, c2.

e) Gõ phím F7 để thực hiện các câu lệnh tính những giá trị nói trên, so sánh với kết quả a2 = 9, b2 = 16, c2 = 25.

f) Tiếp tục nhấn F7 để theo dõi quá trình rẽ nhánh.

g) Lặp lại các bước trên với bộ dữ liệu a = 700, b = 1000, c = 800.

h) Nếu thay dãy lệnh

       a2:= a;

       b2:= b;

       c2:= c;

       a2:= a*a;

       b2:= b*b;

       c2:= c*c;

bằng dãy lệnh

       a2:= a*a;

       b2:= b*b;

       c2:= c*c;

Thì kết quả có gì thay đổi ở bộ dữ liệu a = 700, b = 1000, c=800.

2. Luyện tập Bài tập và thực hành 2 Tin học 11

Sau khi học xong Bài tập và thực hành 2, hi vọng các em sẽ biết cách xây dựng một chương trình bài toán đơn giản có sử dụng cấu trúc rẽ nhánh và thành thạo các thao tác hiệu chỉnh chương trình.

2.1. Trắc nghiệm

Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 11 Bài tập và thực hành 2 cực hay có đáp án và lời giải chi tiết. 

  • Câu 1:

    Cho chương trình viết bằng PASCAL sau đây:

    PROGRAM giaiPT;

    uses crt;

    var A, B, C : real;

    DELTA, X1, X2 : real;

    BEGIN

    write(‘ Nhap cac he so A, B, C : ’);

    readln(A, B, C);

    DELTA := B*B – 4*A*C;

    if DELTA > 0 then

                begin

                            X1 := ( – B – SQRT(DELTA) ) / (2*A);

                            X2 :=  – B  / A – X1;

                            writeln(‘ X1 = ’, X1);

                            writeln(‘ X2 = ’, X2);

                end;

    readln

    END.

    Hãy chọn phát biểu sai trong các phát biểu sau đây:

    • A.
      Đây là chương trình giải phương trình bậc hai nhưng chưa xét hết các trường hợp
    • B.
      Đây là chương trình giải phương trình bậc hai nhưng không đưa ra thông báo gì khi chương trình có nghiệm kép
    • C.
      Đây là chương trình giải và thông báo nghiệm của một phương trình bậc hai nếu phương trình đó có nghiệm
    • D.
      Đây là chương trình giải phương trình bậc hai, nhưng không đưa ra thông báo gì khi phương trình vô nghiệm
  • Câu 2:

    Cho chương trình viết bằng PASCAL sau đây:

    PROGRAM GiaiPTBac2;

    uses crt;

    var A, B, C : real;

    DELTA, X1, X2 : real;

    BEGIN

                write(‘ Nhap cac he so A, B, C : ’);

    readln(A, B, C);

    DELTA := B*B – 4*A*C ;

    if  DELTA

    X1 := ( – B – SQRT(DELTA) ) / (2 *A) ;

    X2 :=  – B / A – X1 ;

    writeln(‘ X1 = ’, X1);

    writeln(‘ X2 = ’, X2);

    readln

    END.

    Hãy chọn phát biểu đúng trong các phát biểu sau đây:

    • A.
      Đây là chương trình giải phương trình bậc hai hoàn chỉnh
    • B.
      Đây là chương trình giải phương trình bậc hai sai vì không thông báo nghiệm trong trường hợp có nghiệm kép
    • C.
      Đây là chương trình giải phương trình bậc hai sai vì với trường hợp phương trình vô nghiệm, chương trình vẫn thực hiện tính nghiệm thực
    • D.
      Đây là chương trình giải phương trình bậc hai sai vì chỉ xét trường hợp DELTA 

Câu 3-5: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!

2.2. Bài tập SGK

Các em có thể xem thêm phần hướng dẫn Giải bài tập Tin học 11 Bài tập và thực hành 2 để giúp các em nắm vững bài học và các phương pháp giải bài tập.

3. Hỏi đáp Bài tập và thực hành 2 Tin học 11

Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học Trường Cao Đẳng Sư Phạm Hà Nội sẽ hỗ trợ cho các em một cách nhanh chóng!

Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!

Đăng bởi: Trường Cao Đẳng Sư Phạm Hà Nội

Chuyên mục: Giáo Dục Lớp 11

Trả lời

Email của bạn sẽ không được hiển thị công khai.

Back to top button

Bạn đang dùng trình chặn quảng cáo!

Bạn đang dùng trình chặn quảng cáo!