Câu 1: Hãy cho biết sự khác nhau giữa hằng có đặt tên và biến?Trả lời:Xét về mặt lưu trữ giá trị của hằng và biến trong RAM thì: giá trị trong ô nhớ của hằng có đặt tên là không thay đổi, còn giá trị trong ỏ nhớ của biến thì cỏ thể thay đổi tại từng thời điểm thực hiện chương trình.
Câu 2: Tại sao phải khai báo biến?Trả lời:Khai báo biến nhằm các mục đích sau:
- Xác định kiểu của biến. Trình dịch sẽ biết cách tổ chức ô nhớ chứa giá trị của biến. Đưa tên biến vào danh sách các đối tượng được chương trình quản lí.
- Đưa tên biến vào danh sách các đối tượng được chương trình quản lí.
- Trình dịch biết cách truy cập giá trị của biến và áp dụng thao tác thích hợp cho biến.
Câu 3: Trong Pascal, nếu một biến chỉ nhận giá trị nguyên trong phạm vi từ 10 đến 25532 thì biến đó có thể được khai báo bằng các kiểu dữ liệu nào?Trả lời:Trong Pascal, nếu một biến chỉ nhận giá trị nguyên trong phạm vi từ 10 đến 25532 thi biến đó có thể được khai báo bằng các kiểu dữ liệu: integer, real, extended, longint.
Câu 4: Biến P có thể nhận các giá trị 5; 10; 15; 20; 30; 60: 90 và biến A có thể nhận các giá trị 0,1 ; 0,2; 0,3; 0,4; 0,5. Khai báo nào trong các khai báo sau là đúng?a) var X, P: byte;
b) var p, X: real;
c) var p : real;
d) var X: real,
X: byte;
P: byte;
Trả lời:Trong các khai báo trên thì khai báo ờ các câu b và d là đúng, tuy nhiên khai báo của câu d là tốt hơn.
Câu 5: Để tính diện tích S của hình vuông có các cạnh A với giá trị nguyên nằm trong phạm vi từ 100 đến 200, cách khai báo S nào dưới đây là đúng và tốn ít bộ nhớ nhất?a) var S: integer;
b)var S: real;
c) var S: word;
d) var S: longit:,
e) var S: boolean;
Trả lời:Để tính diện tích của hình vuông có các cạnh A với giá trị nguyên nằm trong phạm vi từ 100 đến 200, thì các khai báo b, c, d là đều đúng. Nhưng kia báo C là tốt nhất và tổn ít bộ nhớ cần lưu trữ.
Câu 6: Hãy viết biểu thức toán học dưới đây trong Pascal: Trả lời:Câu 7: Hãy chuyển các biểu thức trong Pascal dưới đây sang biểu thức toán học tương ứng:
a) a/b*2;
b)a*b*c/2;
a) 1/a*b/c;
d) b/sqrt (a*a+b) ;
Trả lời:
a) 2a/b
b) abc/2
c) b/ac
d) b/(√(a2 + b)
Câu 8: Hãy viết biểu thức lôgic cho kết quả true khi tọa độ (x;y) là điểm nằm trong vùng gạch chéo kể cả biên của các hình 9.a và 9.b.
Trả lời:((y<1) or (y >1) and ((y > abs(x)) or (y <abs(x))
Hoặc
(y<1) and (y > abs(x))
Câu 9: Hãy viết chương trình nhập số a (a>0) rồi tính và đưa ra diện tích phần được gạch chéo trong hình 3 (kết quả làm tròn đến bốn chữ số thập phân).
Trả lời:Qua hình vẽ . ta nhận thấy rằng diện tích phần gạch chéo bằng 1/2 diện tích hình tròn tâm
O(0:0), Bán kính R a. Ta lại biết rằng, diện tích hình tròn được tính theo công thức: S = R*R*/Pi; Pi≈3,1416. Khi đó, chương trình tính diện tích phần gạch là như sau:
Program dien_tich_phan_gach;
Uses crt;
Var a: real; Conts pi = 3,1416,
Begin
Clrscr,
Write('Nhap ban kinh duong tron a (a>0): ')
Readln(a) ,
write('Dien tich phan gach cheo la: ',a*a*pi/2:20:4);
Readln End .
Khi chạy chương trình, nếu a = 2 thì diện tích phần gạch là 6.2832;
nếu a = 3 thì diện tích phần gạch là 14.1372;
nếu a = 5 thì diện tích phần gạch là 3 1.8086
Kết quả chương trình như hình 11 dưới đây:
Câu 10: Lập trình tính và đưa ra màn hình vận tốc V khi chạm đất của một vật rơi từ độ cao h, biết rằng V = √2gh , trong đó g là gia tốc rơi tự do và g = 9.8 m/s2. Độ cao h (m) được nhập vào từ bàn phím.Trả lời:Chương trình tính và đưa ra màn hình vận tốc v:
Program tinh_van_toc;
Uses crt,
Constt g = 9.8;
Var v,h: real
Begin
Write('Nhap vao do cao h= ');
readln(h);
V:=sqrt(2*g*h);
write ('Van toc khi cham dat la V = ' , V: 10 : 2 ' , in/ s' )
readln
End.
Khi chạy chương trình, nếu h = 0.45 m thì vận tốc khi chạm đất V = 2.97m/s
nếu h = 1 m thì vận tốc khi chạm đất V = 4.4m/s
nếu h = 1.5 m thì vận tốc khi chạm đất V= 5.42m/s
nếu h = 2 m thì vận tốc khi chạm đất V = 6.26m/s
nếu h = 3 m thì vận tốc khi chạm đất V = 7.67m/s;
Kết quả chương trinh như hình 12 dưới đây: