Để 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:

Xem thêm các sách tham khảo liên quan:

  • 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ó].

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

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.

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.

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.

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.

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[

Video liên quan

Chủ Đề