Cho đoạn chương trình:
a. Chương trình trên có lỗi không? Nếu có hãy chỉ ra mã lỗi và sửa lại.
b. Sửa lỗi đoạn chương trình và đưa ra yêu cầu bài toán phù hợp với chương trình đã sửa lỗi.
Cho đoạn chương trình:
a. Chương trình trên có lỗi không? Nếu có hãy chỉ ra mã lỗi và sửa lại.
Lỗi: List index out of range
A=[1,3,10,0]
for i in range(4):
print(A[i],end = " ")
Khởi động phần mềm Turbo Pascal rồi viết chương trình nhận biết một số tự nhiên N được nhập vào từ bàn phím có phải số nguyên tố hay không? *Yêu cầu: 1) viết chương trình như trên 2) em hãy dịch và sửa lỗi chương trình(nếu có)
uses crt;
var i,n,kt:integer;
begin
clrscr;
readln(n);
kt:=0;
for i=2 to trunc(sqrt(n)) do
if n mod i=0 then kt:=1;
if (kt=0) and (n>1) then write('phai')
else write('Khong phai');
readln;
end.
Var i,n,souoc:integer;
Begin
While n <= 1 do
Begin
Write('Nhap n = ');readln(n);
End;
For i:=1 to n do
If n mod i = 0 then souoc:=souoc+1;
If souoc = 2 then write(n,' la so nguyen to')
Else write(n,' khong la so nguyen to');
Readln;
End.
Cho chương trình Pascal sau:
Program dientich_duongtron;
uses : crt;
const pi = 3.14;
var dt, r = real;
Hãy chỉ ra bốn lỗi có trong chương trình, sau đó hãy sửa lại cho đúng
a) uses crt;
b) var dt, r: real;
c) Thiếu readln(r);
d) dt:= pi*sqr(r);
Lỗi 1: Dòng uses : crt; - Lỗi cú pháp do dấu hai chấm : không cần thiết. Sửa lại thành uses crt;.
Lỗi 2: Dòng var dt, r = real; - Lỗi khai báo biến không đúng cú pháp. Sửa lại thành var dt, r: real;.
Lỗi 3: Dòng clrscr; - Lỗi cú pháp do sử dụng hàm clrscr trong môi trường không hỗ trợ. Nếu muốn xóa màn hình, có thể sử dụng clrscr trong IDE hoặc xóa dòng này nếu không cần thiết.
Lỗi 4: Dòng writeln('Dien tich hinh tron co ban kinh ', r:0:2, ' la: ', dt:0:2); - Lỗi cú pháp do sử dụng sai định dạng khi in giá trị. Sửa lại thành writeln('Dien tich hinh tron co ban kinh ', r:0:2, ' la: ', dt:0:2:2); để in diện tích với đúng định dạng số thập phân.
Hãy tìm lỗi trong đoạn chương trình sau và sửa lại cho đúng:
Program Tinhoc | Program Tinhoc; |
Var i,n,S:real | Var i,n,S:real |
Begin | Begin |
Write(nhap so); | Write("nhap so"); |
readln(n); | readln(n); |
i=1; | i:=1; |
while i<n | while i<n do |
begin | begin |
s:=s+i | s:=s+i; |
i:=i+1 | i:=i+1; |
end; | end; |
write('Ket qua la: ' S); | write('Ket qua la: ' ,S); |
readln; | readln; |
end | end. |
II/ TỰ LUẬN:
1/ Nêu ý nghĩa các từ khóa sau và các quy tắc đặt tên trong chương trình?
2/ Để chương trình dịch sửa lỗi và chạy chương trình thì ta làm như thế nào?
3/ Hãy chỉ ra các tên không hợp lệ trong Pascal và giải thích vì sao?
a/ Bai toan
b/ Giai-toán
c/ 8A
d/ hoc_sinh
e/ Bang_diem@
Viết chương trình Pascal có khai báo và sử dụng biến
Nhập vào chiều cao, cân nặng của một bạn. Hãy viết chương trình Pascal để tính chỉ số BMI của bạn đó.
a. Gõ chương trình, giải thích câu lệnh. Lưu chương trình với tên BMI_TenHS.pas. Dịch và sửa lỗi gõ (nếu có).
b.Chạy chương trình với bộ dữ liệu (Cân nặng, Chiều cao) như sau (68; 1.75); (56;1.67; (75; 1.89). Chú ý: khôngsửdụnglệnhclrscr.
câu 1
Viết - chạy - sửa lỗi ( nếu có ) chương trình in ra trên màn hình dòng chữ " lớp 8A chào bạn ! "
câu 2
Viết chương trình ghi và in ra màn hình kết quả tổng 2 số tự nhận a, b nhập vào từ bàn phím
câu 3
Viết chương trình tính s và chu vi hình chữ nhật biết 2 cạnh nhập từ bàn phím . Lưu tệp với tên HCN . Pas
Câu 3:
program cauba;
int chieudai, chieurong, chuvi, dientich :real;
begin
write('Chieu dai la: '); Readln(chieudai);
write('Chieu rong la: '); Readln(chieurong);
chuvi = (chieudai + chieu rong)*2;
dientich= chieudai*chieurong;
writeln('Chu vi la: ',chuvi);
writeln('Dien tich la: ',dientich);
end.
Caua1:
program caumot;
begin
writeln('lop 8A chao ban!');
end.
Câu 2:
program cauhai;
int a,b,c :real;
begin
write('a='); readln(a);
write('b='); readln(b);
c= a+b;
write('Tong hai so a b la:',c);
end.
Em hãy chọn một cách khác với cách đã nêu trong phần b) Sửa lỗi của mục 2 để sửa lỗi của chương trình được cho trong Hình 15.1.
- Lỗi xảy ra ở biểu thức điều kiện. Vì mỗi người không đoán quá 7 lần, nên vòng lặp (6) - ( 10) sẽ kết thúc khi số lần đoán bằng 7.
Cho chương trình Tính Tổng Các Số Tự Nhiên Từ S=1+2+3+ ...... (Khi Tổng S đầu tiên > 1000 thì dừng). Hỏi cộng bao nhiêu số?
Hãy Tìm lỗi trong chương trình và sửa lỗi viết lại chương trình cho đúng:
Program tinh_tong;
Var n S: Integer
Begin
n: 0;
S = 0;
While S< 1000 do
n:= n + 1;
S:= S + n
Writeln(‘Can cong’,n-1,’so va tong dau tien > 1000 la’, S);
Readln;
End.