Để quan sát màn hình kết quả em Làm như thế nào

Giải Bài Tập Tin Học 11 – Bài tập và thực hành 1 giúp HS giải bài tập, giúp cho các em hình thành và phát triển năng lực sử dụng công nghệ thông tin và truyền thông:

  • Sách Giáo Viên Tin Học Lớp 11

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

+ Giới thiệu một chương trình Pascal hoàn chỉnh đơn giản.

+ Làm quen với một số dịch vụ cơ bản của Turbo Pascal hoặc Free Pascal trong việc soạn thảo, lưu trữ, dịch và thực hiện chương trình.

2. Nội dung

a) Gõ chương trình sau:

program Giai_PTB2; uses crt; var a,b,c,D: real; x1,x2:real; begin clrscr; write(‘a,b,c:’); readln(a,b,c); x1:=(-b-sqrt(b*b-4*a*c))/(2*a); X2:=-b/a-x1; Write(‘x1=’,x1:6:2,’x2=’,x2:6:2); readln end.

b) Nhấn phím F2 và lưu chương trình với tên là hello1.pas lên đĩa.

c) Nhấn tổ hợp phím Alt+F9 để dịch và sửa lỗi cú pháp (nếu có).

Để quan sát màn hình kết quả em Làm như thế nào

Nếu thành công sẽ hiện Compile successful như hình trên.

Để quan sát màn hình kết quả em Làm như thế nào

Nếu thất bạn sẽ thông báo Compile failed

d) Nhấn tổ hợp phím Ctrl+F9 để thực hiện chương trình.Nhập các giá trị 1;-3,2 .Quan sát kết quả trên màn hình.

Để quan sát màn hình kết quả em Làm như thế nào

e) Nhấn tổ hợp phím Ctrl+F9 để thực hiện chương trình.Nhập các giá trị 1;0,-2 . Quan sát kết quả trên màn hình.

Để quan sát màn hình kết quả em Làm như thế nào

f) Thực hiện chương trình trên mà không dung biến trung gian D.

Cách làm: những chỗ nào sử dụng biến trung gian D ta thay thẳng giá trị b*b-4*a*c vào.

program Giai_PTB2; uses crt; var a,b,c,D: real; x1,x2:real; begin clrscr; write(‘a,b,c:’); readln(a,b,c); x1:=(-b-sqrt(b*b-4*a*c))/(2*a); X2:=-b/a-x1; Write(‘x1=’,x1:6:2,’x2=’,x2:6:2); readln end.

g) Sửa lại chương trình nhận được ở câu c) bằng cách thay đổi công thức tính x2(Có 2 cách để tính x2)

Cách làm: ta có a*2=a+a

Như vậy ta sẽ thay 2*a=a+a vẫn sẽ cho cùng kết quả.

program Giai_PTB2; uses crt; var a,b,c,D: real; x1,x2:real; begin clrscr; write(‘a,b,c:’); readln(a,b,c); x1:=(-b-sqrt(b*b-4*a*c))/(a+a); X2:=-b/a-x1; Write(‘x1=’,x1:6:2,’x2=’,x2:6:2); readln end.

h) Thực hiện chương trình đã sửa với bộ dữ liệu 1; 5; -6. Quan sát kết quả trên màn hình.

Để quan sát màn hình kết quả em Làm như thế nào

i)Thực hiện chương trình với bộ dữ liệu 1;1;1 và quan sát kết quả trên màn hình.

Để quan sát màn hình kết quả em Làm như thế nào

Lỗi vì khi ta tính b*b-4*a*c với a=b=c=1 thì giá trị này sẽ là 1-4=-3

Mà không thể lấy căn bậc 2 của số âm nên chương trình này gây lỗi.

  • Luyện tập soạn thảo, chỉnh sửa chương trình, biên dịch, chạy và xem kết quả hoạt động của chương trình trong môi trường Turbo Pascal.

  • Thực hành với các biểu thức số học trong chương trình Pascal.

Hoạt động 1: Luyện gõ các biểu thức số học trong môi trường Pascal.

a) Viết các biểu thức sau dưới dạng biểu thức trong Pascal.

a. \(15 \times4 – 30+12 ;\)

b. \(\frac{15 + 5 }{3+1}-\frac{18}{5+1};\)

c. \(\frac{(10+2)^{2}}{(3+1)};\)

d. \(\frac{(10+2)^{2}-24}{(3+1)};\)

Lưu ý: chỉ sử dụng dấu ngoặc đơn để nhóm các phép toán.

b) Khởi động Pascal và gõ chương trình sau để tính các biểu thức trên.

Begin

writeln (’15*4 – 30 + 12 = ‘, 15*4-30+12);

writeln (‘(10+5)/(3+1)-18/(5+1) = ‘, (10+5)/(3+1)-18/(5+1));

writeln (‘(10+2)*(10+2)/(3+6) = ‘ , (10+2)*(10+2)/(3+6));

End.

Lưu ý: Các biểu thức Pascal được đặt trong câu lệnh writeln để in ra kết quả. Em sẽ có cách viết khác sau khi làm quen với khái niệm biến ở bài 4.

c) Lưu chương trình với tên CT2.pas. Dịch, chạy chương trình và kiểm tra kết quả nhận được trên màn hình.

Hướng dẫn giải:

a) Viết các biểu thức trên dưới dạng biểu thức trong Pascal:

a. = 15*4 – 30 + 12 => Câu lệnh: Writeln(’15*4-30+12= ‘, 15*4-30+12);

b. = (10+5)/(3+1)-18/(5+1) => Câu lệnh: Writeln(‘(10+5)/(3+1) – 18/(5+1)= ‘,(10+5)/(3+1) – 18/(5+1));

c. = (10+2)*(10+2)/(3+6) => Câu lệnh: Writeln(‘(10+2)*(10+2)/(3+1)= ‘, (10+2)*(10+2)/(3+1));

d. = ((10+2)*(10+2)-24)/(3+1) => Câu lệnh: Writeln(‘((10+2)*(10+2)-24)/(3+1)= ‘, ((10+2)*(10+2)-24)/(3+1));

b) Khởi động Pascal và gõ chương trình mẫu ở trên:

Để khởi động Pascal, các em thực hiện một trong hai cách sau:

  • Cách 1: Nháy đúp chuột vào biểu tượng Turbo Pascal trên màn hình nền.

  • Cách 2: Nháy đúp chuột vào tên tệp Turbo. Exe trong thư mục chứa tệp này (thường là thư mục con TP\BIN).

Trước khi gõ chương trình mẫu, các em thực hiện: Vào bảng chọn File, chọn New để mở cửa sổ mới và bắt đầu soạn thảo chương trình.

c) Lưu chương trình với tên CT2.pas, dịch, chạy chương trình và kiểm tra kết quả nhận được trên màn hình.

  • Lưu chương trình: 

    • Cách 1: Nhấn F2.

    • Cách 2: Chọn File/ Save, hộp thoại hiện ra gõ tên cần lưu trong ô Name gõ tên CT2, chọn OK hoặc nhấn Enter.

  • ​Dịch chương trình: Nhấn tổ hợp phím Alt+F9.

  • Chạy chương trình: Nhấn tổ hợp phím Ctrl+F9.

  • Kiểm tra kết quả: Nhấn tổ hợp phím Alt+F5

Hoạt động 2: Tìm hiểu các phép chia lấy phần nguyên, chia lấy phần dư với số nguyên. Sử dụng các câu lệnh tạm ngừng chương trình.

a) Mở tệp mới và gõ chương trình sau:

Uses crt;

Begin

  clrscr;

  writeln (’16/3 = ‘ , 16/3);

  writeln (’16 div 3 = ‘ , 16 div 3);

  writeln (’16 mod 3 = ‘ , 16 mod 3);

  writeln (’16 mod 3 = ‘ , 16 – (16 div 3)*3);

  writeln (’16 div 3 = ‘ , (16-(16 mod 3))/3);

End.

b) Dịch, chạy chương trình. Quan sát các kết quả nhận được và cho nhận xét về các kết quả đó.

c) Thêm các câu lệnh tạm dừng màn hình sau mỗi câu lệnh writeln để xem kết quả.

d) Thêm câu lệnh Readln vào trước từ khóa end, chạy và kiểm tra kết quả hoạt động của chương trình.

Hướng dẫn giải:

a) Mở tệp mới và gõ chương trình mẫu: Tương tự câu b Bài 1 ở trên.

b) Dịch, chạy chương trình và kiểm tra kết quả: Tương tự câu c Bài 1 ở trên.

Nhận xét kết quả: 

writeln (’16/3 = ‘ , 16/3) => Kết quả = 5.333333333…

writeln (’16 div 3 = ‘ , 16 div 3) => Kết quả = 5;

writeln (’16 mod 3 = ‘ , 16 mod 3) => Kết quả = 1;

writeln (’16 mod 3 = ‘ , 16 – (16 div 3)*3) => Kết quả = 1;

writeln (’16 div 3 = ‘ , (16-(16 mod 3))/3) => Kết quả = 5.

DIV: phép chia lấy phần nguyên;

MOD: phép chia lấy phần dư.

c) Thêm các câu lệnh tạm dừng màn hình sau mỗi câu lệnh writeln

Uses Crt;

Begin

Clrscr;

Writeln (‘16/3=’,16/3); Delay(5000);

Writeln (’16 div 3 =’,16 div 3); Delay(5000);

Writeln (’16 mod 3 =’, 16 mod 3); Delay(5000);

Writeln (’16 mod 3 =’,16-(16 div 3)*3); Delay(5000);

Writeln (’16 div 3 =’,(16-(16 mod 3))/3); Delay(5000);

End.

Nhận xét: Lệnh Delay(5000): tạm ngừng chương trình trong 5000 phần nghìn giây, sau đó chạy tiếp.

d) Thêm câu lệnh Readln vào trước từ khóa end

Uses Crt;

Begin

Clrscr;

Writeln (‘16/3=’,16/3);

Writeln (’16 div 3 =’,16 div 3);

Writeln (’16 mod 3 =’, 16 mod 3);

Writeln (’16 mod 3 =’,16-(16 div 3)*3);

Writeln (’16 div 3 =’,(16-(16 mod 3))/3);

Readln

End.

Hoạt động 3: Tìm hiểu thêm về cách in dữ liệu ra màn hình.

Mở tệp CT2.pas và sửa 3 dòng lệnh cuối (trước từ khóa end) như bên dưới. Sau đó dịch, chạy lại chương trình xem kết quả.

writeln (’15*4 – 30 + 12 = ‘ , 15*4-30+12 : 4 : 2);

writeln (‘(10+5)/(3+1)-18/(5+1) = ‘ , (10+5)/(3+1)-18/(5+1) :4 : 2);

writeln (‘(10+2)*(10+2)/(3+6) = ‘ , (10+2)*(10+2)/(3+6) : 4 : 2);

Hướng dẫn giải:

Để mở tệp CT2.pas, các em thực hiện: Vào bảng chọn File, chọn Open mở tệp chương trình đã lưu trong đĩa.

3. Luyện tập

Câu 1: Biểu thức toán học (a2 + b)(1 + c)3 được biểu diễn trong Pascal như thế nào?

A. (a*a + b)(1+c)(1 + c)(1 + c)

B. (a.a  + b)(1 +  c)(1 + c)(1 + c)

C. (a*a + b)*(1 + c)*(1 + c)*(1 + c)

D. (a2 + b)(1 + c)3

Câu 2: Các phép toán nào sau đây không dùng cho kiểu số thực?

A. +, -, *, /  

B. , >=, , =

C. Mod và div

D. +, -, *, / và , >=, , =

Câu 3: Biểu thức toán học – được biễu diễn trong TURBO PASCAL:

A. x+5/a+3-y/b+5

B. x+5\a+3-y\b+5

C. (x+5)/(a+3)-y/(b+5)

D. (x+5)\(a+3)-y\(b+5)

Câu 4: Lệnh nào sử dụng để tạm ngừng chương trình trong x phần nghìn giây, sau đó chạy tiếp?

A. Delay(x);

B. Read (x);

C. Readln(x)

D. Writeln(n)

Câu 5: Lệnh nào tạm ngừng chương trình cho tới khi nhấn phím Enter?

A. Write hoặc Writeln

B. Read hoặc Readln

C. Cả câu A và B đều đúng

D. Cả câu A và B đều sai

4. Kết luận

Sau khi học xong Bài thực hành 2: Viết chương trình để tính toán, các em cần ghi nhớ các nội dung:

  • Các kí hiệu của các phép toán số học trong Pascal là: +, -, *, /, mod. Div.

  • Lệnh tạm dừng chương trình:

    • Delay(x): tạm ngừng chương trình trong x phần nghìn giây, sau đó chạy tiếp.

    • read hoặc readln tạm ngừng chương trình cho tới khi nhấn phím enter

  •  Câu lệnh writeln(