Em hay mô tả thuật toán và viết chương trình Pascal theo yêu câu của bài tập số 7 SGK 51

Bài 1 (trang 26 sgk Tin học lớp 8): Luyện tập gõ các biểu thức số học trong chương trình Pascal.

a. Viết các biểu thức toán học sau đây dưới dạng biểu thức trong Pascal:

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

- Biểu thức trong Pascal:

1. 15*4-30+12

2. (10+5)/(3+1)-18/(5+1)

3. (10+2)*(10+2)/(3+1)

4. ((10+2)*(10+2) – 24 )/(3+1)

- Chương trình tính:

- Kết quả:

Bài 2 (trang 26 sgk Tin học lớp 8): Tìm hiểu các phép chia lấy phần nguyên và phép chia lấy phần dư với số nguyên. Sử dụng các câu lệnh tạm dừng chương trình:

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

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 div 3=', 16 –(16 div 3)*3); writeln('16 mod 3=', (16-(16 mod 3))/3); end.

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

c. Thêm các câu lệnh delay(5000) vào sau mỗi câu lệnh writeln trong chương trình. Dịch và chạy chương trình. Quan sát chương trình tạm dừng 5 giây sau khi in từng kết quả ra màn hình.

d. Thêm câu lệnh readln vào trước từ khóa end. Dạy và chạy lại chương trình. Quan sát kết quả hoạt động của chương trình. Nhấn phím Enter để tiếp tục hoạt động.

Trả lời:

a. Chương trình:

b. Kết quả:

- Ta có thể thấy rằng kết quả ở hai phép tính ở đầu và cuối là một dãy dài số 0 đằng sau, do kết quả là một số hữu tỉ vô hạn.

c. Với câu lệnh delay(5000)

d. Kết quả hoạt động chương trình sau khi thêm lệnh readln trước end.

Bài 3 (trang 27 sgk Tin học lớp 8): Tìm hiểu thêm về cách ghi dữ liệu ra màn hình

Trả lời:

 Chương trình Pascal:

- Kết quả:


Xem toàn bộ tài liệu Lớp 11: tại đây

Giải Bài Tập Tin Học 11 – Sách Giải bài tập Tin học 11 trang 50, 51 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

    Bài 1 (trang 50 sgk Tin học lớp 11): Hãy cho biết sự giống và khác nhau của hai dạng câu lệnh if-then.

    Trả lời:

    Nhắc lại hai dạng câu lệnh if-then.

    Dạng thiếu: if<điều kiện> then <câu lệnh>;

    Dạng đầy đủ: if<điều kiện> then <câu lệnh 1> else <câu lệnh 2>;

    Sự giống nhau: Điều kiện được tính và kiểm tra. Nếu điều kiện đúng thì nhánh câu lệnh sau then (<câu lệnh > trong dạng thiếu và <câu lệnh 1> trong dạng đầy đủ)

    Sự khác nhau:

    + Ở dạng thiếu thì nếu điều kiện sai thì nó sẽ thoát khỏi cấu trúc rẽ nhánh .Thực hiện câu lệnh tiếp theo của chương trình.

    + Ở dạng đầy đủ thì nếu điều kiện sai nó sẽ thực hiện nhánh câu lệnh sau else (<câu lệnh 2> trong dạng đầy đủ). Sau đó mới thoát khỏi rẽ nhánh rồi thực hiện các câu lệnh tiếp theo của chương trình.

    Bài 2 (trang 50 sgk Tin học lớp 11): Câu lệnh ghép là gì? Tại sao lại phải có câu lệnh ghép?

    Trả lời:

    – Câu lệnh ghép là: Gộp một dãy các câu lệnh lại với nhau Trong Pascal câu lệnh ghép có dạng:

    Begin <các câu lệnh>; End;

    – Lý do có câu lệnh ghép: Vì sau một số từ khóa (như then hoặc else) phải là một câu lệnh. Nhưng trong nhiều trường hợp, các thao tác sau những tên dành riêng phức tạp, đòi hỏi không phải chỉ một mà là nhiều câu lệnh để mô tả. Trong những trường hợp như vậy ta phải sử dụng câu lệnh ghép.

    Bài 3 (trang 51 sgk Tin học lớp 11): Có thể dùng cậu lệnh while-do để thay cho câu lệnh for-do được không? Nếu được hãy thực hiện điều đó với chương trình Tong_1a.

    Trả lời:

    – Có thể sử dụng câu lệnh while-do để thay cho câu lệnh for-do được. Vì ta có thể sử dụng các câu lệnh giúp thoát khỏi vòng lặp, hoặc có thể sử dụng những câu lệnh để thoát lặp.

    – Sửa chương trình tong_1a;

    program Tongtien; uses crt; var S:real; a,n: integer; begin clrscr; writeln('hay nhap gia tri cua a '); readln(a); S:=1.0/a; while N<=100 do begin S:=S+1.0/(a+N); N:=N+1; end; writeln('Tong S la:',S:8:4); readln; end.

    Kết quả:

    Giống với kết quả của chương trình sử dụng for

    Bài 4 (trang 51 sgk Tin học lớp 11):


    Trả lời:

    Câu lệnh rẽ nhánh như sau:

    a)

    If (sqr(x)+sqr(y))<=1 Then z:=sqr(x)+sqr(y) else if y>=x then z:=x+y else z:=0.5;

    b)

    If sqr(x-a)+sqr(y-b)<=sqr(r) Then z:=abs(x)+abs(y); Else z:=x+y;

    Bài 5 (trang 51 sgk Tin học lớp 11):

    Trả lời:

    b)

    program bai5; uses crt; var n:integer; y:real; begin clrscr; y:=0; for n:=1 to 50 do y:=y+n/(n+1); writeln('y=',y:8:4); readln; end.

    Kết quả:

    b)

    program bai5; uses crt; var n,dem:integer; e:real; gt:longint; begin clrscr; e:=1; gt:=1; dem:=1; while 1.0/gt >2*0.000001 do begin e:=e+1.0/gt; gt:=gt*dem; dem:=dem+1; end; writeln('e=',e:8:4); readln; end.

    Kết quả:

    Bài 6 (trang 51 sgk Tin học lớp 11): Lập trình để giải bài toán cổ sau:

    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 mỗi loại có bao nhiêu con ?

    Trả lời:

    Ta có tổng 2 loại là 36 con . Như vậy số con gà sẽ nằm trong khoảng từ 0 đến 36. Số còn lại sẽ là chó.

    Theo giả thiết đề bài ta có số gà*2+số chó *4 =100.

    Như vậy ta sẽ có code như sau:

    program bai6; uses crt; var ga,cho:integer; begin clrscr; for ga:=0 to 36 do if ga*2+(36-ga)*4=100 then writeln('so ga la ',ga,' so cho la ',36-ga); readln; end.

    Kết quả:

    Bài 7 (trang 51 sgk Tin học lớp 11): Nhập từ bàn phím tuổi của cha và con (hiện tại tuổi cha lớn hơn hai lần tuổi con và tuổi cha hơn tuổi con ít nhất là 25 ). Đưa ra màn hình câu trả lời cho câu hỏi “Bao nhiêu năm nữa thì tuổi cha gấp đôi tuổi con ?”.

    Trả lời:

    program bai7; uses crt; var tcha,tcon,nam:integer; begin clrscr; writeln('nhap vao tuoi cha va tuoi con '); readln(tcha,tcon); nam:=0; while(tcha<>tcon*2) do begin tcha:=tcha+1; tcon:=tcon+1; nam:=nam+1; end; writeln('sau ',nam,' nam nua thi tuoi cha gap 2 lan tuoi con'); readln; end.

    Kết quả:

    Video liên quan

    Chủ đề