writeln(thongbao, thanhtien:10:2);
cho mình hỏi :10:2 trong câu lệnh trên có nghĩa là gì? (Pascal 8)
Chương trình có những biến, hằng gì? Có mấy kiểu dữ liệu của biến được dùng trong chương trình? Câu lệnh writeln(thongbao, thanhtien:10:2) có ý nghĩa thế nào?
Biến: Kiểu nguyên, kiểu thực, kiểu mảng,kiểu chuỗi
Hằng: hằng nguyên, hằng logic, hằng thực
Cho chương trình viết trong Pascal:
Program Tinh_tien;
Var soluong: integer;
Dongia, thanhtien: real;
Const phi = 10000;
Begin
Writeln (‘Don gia: ’);
readln (Dongia);
Writeln (‘So luong : ’);
readln (soluong);
thanhtien:= soluong*Dongia + phi;
Writeln (‘So tien khach hang phai tra la: ’, thanhtien);
End.
Hãy phân biệt hằng, biến trong chương trình trên và đánh dấu X vào bảng sau:
Hằng Biến Không phải hằng hoặc biến
soluong
Dongia
thanhtien
phi
10000
Tinh_tien
Cho chương trình viết trong Pascal:
Program Tinh_tien;
Var soluong: integer;
Dongia, thanhtien: real;
Const phi = 10000;
Begin
Writeln (‘Don gia: ’);
readln (Dongia);
Writeln (‘So luong : ’);
readln (soluong);
thanhtien:= soluong*Dongia + phi;
Writeln (‘So tien khach hang phai tra la: ’, thanhtien);
End.
Hãy phân biệt hằng, biến trong chương trình trên và đánh dấu X vào bảng sau:
|
Hằng |
Biến |
Không phải hằng hoặc biến |
soluong |
|
|
|
Dongia |
|
|
|
thanhtien |
|
|
|
phi |
|
|
|
10000 |
|
|
|
Tinh_tien |
|
|
|
soluong: Biến
Dongia: Biến
thanhtien: Biến
phi: Hằng
Tinh_tien: Không phải hằng hoặc biến
|
Hằng |
Biến |
Không phải hằng hoặc biến |
soluong |
|
x |
|
Dongia |
|
x |
|
thanhtien |
|
x |
|
phi |
x |
|
|
10000 |
|
|
x |
Tinh_tien |
|
|
x |
Bạn Tuấn viết chương trình như sau:
program Tinh toan
uses crt;
var
x, y : integer;
tb = real;
thongbao : integer;
const a := 2;
begin
clrscr;
thongbao := ‘Trung binh cong cua hai so x va y la: ‘;
write(‘Nhap gai tri cho x = ‘); readln(x);
write(‘Nhap gia tri cho y = ‘); readln(y);
tb = (x+y)/a;
writeln(thongbao, tb:2:1);
readln;
end.
a. Có một vài câu lệnh bạn Tuấn viết sai, em hãy viết lại cho đúng.
b. Hãy phân biệt tên biến, tên hằng trong chương trình trên.
A)
program Tinh_toan;
uses crt;
var x,y: integer;
tb: real;
thongbao: string;
const a = 2;
begin
clrscr;
thongbao:= 'Trung binh cong cua hai so x va y la: ';
write('Nhap gia tri cho x= ');readln(x);
write('Nhap gia tri cho y= ');readln(y);
tb:= (x + y) / a;
writeln(thongbao, tb:2:1);
readln
end.
B)
- Các tên biến là: x, y, tb, thongbao
_ Tên hằng là: a
Câu 1: Câu lệnh Writeln( ‘36 div 3’); cho kết quả gì?
A. 36 div 3 B. ‘36 div 3’ C. 12 D. 0
Câu 2: Câu lệnh in kết quả tính toán của 10 chia 3?
A. Writeln(‘10/3’); B. Writeln(10/3); C. Writeln(‘10/3=’, 10:3); D. Writeln(‘10/3=’, ‘10/3’);
Câu 3: Chọn kết quả đúng của các phép toán sau?
A. 8 MOD 2=0 B. 8 MOD 2=4 C. 8 DIV 2 =0 D. 8 DIV 2 =2
Câu 4: Chọn kết quả đúng của các phép toán sau?
A. 9 DIV 3=3 B. 9 MOD 3=1 C. 12 MOD 3=4 D. 12 DIV 3=0
Câu 5: Phạm vi giá trị của kiểu dữ liệu integer?
A. −2 15 − 1 đến 2 15 B. −2 15 đến 2 15 C. −2 15 đến 2 15 − 1 D. −2 15 − 1 đế n 2 15 − 1
Câu 6: Kiểu dữ liệu Char có độ dài?
A. 255 kí tự B. 256 kí tự C. 0 kí tự D. 1 kí tự
Câu 7: Ý nghĩa của câu lệnh Writeln(‘ dien tich HCN=’,6*4); là gì?
A. ‘dien tich HCN=’,24 B. ‘dien tich HCN=’,6*4 C. dien tich HCN=24 D. dien tich HCN=6x4
Câu 8: Chọn phép toán đúng trong các phép toán viết bằng ngôn ngữ lập trình Pascal dưới đây?
A. x < (m+5)*(2a) B. x > (m+5)(2*a) C. x > (m+5)/2 D. x < (m+5)/2a
Câu 9: Phép toán 100 >= 5*x đúng với trường hợp nào?
A. x=20 B. x>20 C. x ≥ 21 D. x ≤ 21
Câu 10: Chọn phép toán sai trong các phép toán viết bằng ngôn ngữ lập trình Pascal dưới đây?
A. y ≥ 5*x B. y>= 5/x C. y>5*x D. y<5*x
Câu 1: A
Câu 2: B
Câu 3: A
Câu 4: A
A. Phần trắc nghiệm: Hãy chọn một đáp án đúng nhất
Câu 1. Trong Pascal, câu lệnh nào sau đây được viết đúng?
A. for i:= 4 to 1 do writeln(‘A’); B. for i= 1 to 10 writeln(‘A’);
C. for i:= 1 to 10 do writeln(‘A’); D. for i to 10 do writeln(‘A’);
Câu 2. Trong câu lệnh lặp: For i := 1 to 10 do j:= j + 2; write( j );
Khi kết thúc câu lệnh lặp trên, câu lệnh write( j ); được thực hiện bao nhiêu lần?
A. 10 lần B. 5 lần C. 1 lần D. Không thực hiện.
Câu 3. Cho đoạn chương trình: J:= 0;
For i:= 1 to 5 do J:= j + i;
Sau khi thực hiện đoạn chương trình trên, giá trị của biến j bằng bao nhiêu?
A. 12 B. 22 C. 15 D. 42.
Câu 4. Trong Pascal, câu lệnh nào sau đây là đúng?
A. S:=1; B. i:=0; S:=1;
While S<10 do write(S); while s<10 do S:=S+i; i:=i+1;
C. n:=2; while n<5 do write(‘A’); D. Cả A và B.
Câu 5. Khi thực hiện đoạn chương trình sau: n:=1; T:=50;
While n < 20 do begin n:= n+5; T:=T- n end;
Hãy cho biết giá trị của biến T bằng bao nhiêu?
A. 14 B. 15 C. 16 D. 17
Câu 6. Khai báo biến mảng: A : array[1..7] of real;. Sử dụng câu lệnh For i:= 1 to 5 do readln(A[i]); để gán giá trị cho các phần tử trong biến A từ bàn phím, ta sẽ nhập được bao nhiêu giá trị?
A. 4 B. 5 C. 6 D. 7
Câu 7. Trong câu lệnh khai báo biến mảng, phát biểu nào sau đây đúng:
A. Chỉ số đầu và chỉ số cuối là 2 số nguyên. B. Chỉ số đầu chỉ số cuối.
C. Kiểu dữ liệu có thể là integer hoặc real. D. Cả ba ý trên.
Câu 8. Giả sử biến mảng A có 5 phần tử và giá trị của các phần tử lần lượt là 1, 4, 7, 2, 6. Khi thực hiện câu lệnh sau: tb:= 0; For i:= 1 to 5 do tb := tb + A[i]; Giá trị của biến tb là bao nhiêu?
A. 20 B. 18 C. 21 D. 22
Câu 1: B
Câu 2: A
Câu 3: C
Câu 4: B
Câu 5: D
Câu 6: B
Câu 7: A
Câu 8: C
program bt3;
uses crt;
var n: integer;
dem: byte;
chucngan,ngan,tram,chuc,donvi: byte;
begin
writeln('Nhap n = :'); read(n);
if n < 0 then repeat writeln('Nhap n > 0'); read(n) until n >=0;
while n >= 0 do
dem:=0;
begin
n:=n div 10; dem:=dem+1;
end;
case dem of
1: begin
if n = 1 then writeln('mot');
if n = 2 then writeln('hai');
if n = 3 then writeln('ba');
if n = 4 then writeln('bon');
if n = 5 then writeln('nam');
if n = 6 then writeln('sau');
if n = 7 then writeln('bay');
if n = 8 then writeln('tam');
if n = 9 then writeln('chin');
end;
2: begin
chuc:= n div 10;
case chuc of
1: writeln('muoi');
2: writeln('hai muoi ');
3: writeln('ba muoi ');
4: writeln('bon muoi ');
5: writeln('nam muoi');
6: writeln('sau muoi');
7: writeln('bay muoi');
8: writeln('tam muoi');
9: writeln('chin muoi ');
donvi:=n mod 10;
case donvi of
0: writeln(' ');
1: writeln('mot');
2: writeln('hai');
3: writeln('ba');
4: writeln('bon');
5: writeln('lam');
6: writeln('sau');
7: writeln('bay');
8: writeln('tam');
9: writeln('chin');
end;
3: begin
tram:= n div 100;
case tram of
1: writeln('mot tram ');
2: writeln('hai tram');
3: writeln('ba tram');
4: writeln('bon tram');
5: writeln('lam tram');
6: writeln('sau tram');
7: writeln('bay tram');
8: writeln('tam tram');
9: writeln('chin tram');
n:= n mod 100;
chuc:= n div 10;
case chuc of
1: writeln('muoi');
2: writeln('hai muoi ');
3: writeln('ba muoi ');
4: writeln('bon muoi ');
5: writeln('nam muoi');
6: writeln('sau muoi');
7: writeln('bay muoi');
8: writeln('tam muoi');
9: writeln('chin muoi ');
donvi:=n mod 10;
case donvi of
0: writeln(' ');
1: writeln('mot');
2: writeln('hai');
3: writeln('ba');
4: writeln('bon');
5: writeln('lam');
6: writeln('sau');
7: writeln('bay');
8: writeln('tam');
9: writeln('chin');
4: begin
ngan:=n div 1000;
case ngan of
1: writeln('mot ngan');
2: writeln('hai ngan');
3: writeln('ba ngan');
4: writeln('bon ngan');
5: writeln('nam ngan');
6: writeln('sau ngan');
7: writeln('bay ngan');
8: writeln('tam ngan');
9: writeln('chin ngan');
n:= n mod 1000;
tram:= n div 100;
case tram of
1: writeln('mot tram ');
2: writeln('hai tram');
3: writeln('ba tram');
4: writeln('bon tram');
5: writeln('nam tram');
6: writeln('sau tram');
7: writeln('bay tram');
8: writeln('tam tram');
9: writeln('chin tram');
n:=n mod 100;
chuc:= n div 10;
case chuc of
1: writeln('muoi');
2: writeln('hai muoi ');
3: writeln('ba muoi ');
4: writeln('bon muoi ');
5: writeln('nam muoi');
6: writeln('sau muoi');
7: writeln('bay muoi');
8: writeln('tam muoi');
9: writeln('chin muoi ');
donvi:= n mod 10;
case donvi of
0: writeln(' ');
1: writeln('mot');
2: writeln('hai');
3: writeln('ba');
4: writeln('bon');
5: writeln('lam');
6: writeln('sau');
7: writeln('bay');
8: writeln('tam');
9: writeln('chin');
end;
5: begin
chucngan:=n div 10000;
case chucngan of
1: writeln('muoi ngan');
2: writeln('hai muoi');
3: writeln('ba muoi');
4: writeln('bon muoi');
5: writeln('nam muoi');
6: writeln('sau muoi');
7: writeln('bay muoi');
8: writeln('tam muoi ');
9: writeln('chin muoi');
n:= n mod 10000;
ngan:=n div 1000;
case ngan of
1: writeln('mot ngan');
2: writeln('hai ngan');
3: writeln('ba ngan');
4: writeln('bon ngan');
5: writeln('nam ngan');
6: writeln('sau ngan');
7: writeln('bay ngan');
8: writeln('tam ngan');
9: writeln('chin ngan');
n:= n mod 1000;
tram:= n div 100;
case tram of
1: writeln('mot tram ');
2: writeln('hai tram');
3: writeln('ba tram');
4: writeln('bon tram');
5: writeln('nam tram');
6: writeln('sau tram');
7: writeln('bay tram');
8: writeln('tam tram');
9: writeln('chin tram');
n:= n mod 100;
chuc:= n div 10;
case chuc of
1: writeln('muoi');
2: writeln('hai muoi ');
3: writeln('ba muoi ');
4: writeln('bon muoi ');
5: writeln('nam muoi');
6: writeln('sau muoi');
7: writeln('bay muoi');
8: writeln('tam muoi');
9: writeln('chin muoi ');
donvi:= n mod 10;
case donvi of
0: writeln(' ');
1: writeln('mot');
2: writeln('hai');
3: writeln('ba');
4: writeln('bon');
5: writeln('lam');
6: writeln('sau');
7: writeln('bay');
8: writeln('tam');
9: writeln('chin');
end;
6: writelnngan:=n div 1000;
case ngan of
1: writeln('mot ngan');
2: writeln('hai ngan');
3: writeln('ba ngan');
4: writeln('bon ngan');
5: writeln('nam ngan');
6: writeln('sau ngan');
7: writeln('bay ngan');
8: writeln('tam ngan');
9: writeln('chin ngan');
tram:= n div 100;
case tram of
1: writeln('mot tram ');
2: writeln('hai tram');
3: writeln('ba tram');
4: writeln('bon tram');
5: writeln('nam tram');
6: writeln('sau tram');
7: writeln('bay tram');
8: writeln('tam tram');
9: writeln('chin tram');
chuc:= n div 10;
case chuc of
1: writeln('muoi');
2: writeln('hai muoi ');
3: writeln('ba muoi ');
4: writeln('bon muoi ');
5: writeln('nam muoi');
6: writeln('sau muoi');
7: writeln('bay muoi');
8: writeln('tam muoi');
9: writeln('chin muoi ');
case donvi of
0: writeln(' ');
1: writeln('mot');
2: writeln('hai');
3: writeln('ba');
4: writeln('bon');
5: writeln('lam');
6: writeln('sau');
7: writeln('bay');
8: writeln('tam');
9: writeln('chin');
end;
6: writeln('Mot tram ngan');
readln
end.
LỖI:
source.pas(41,1) Error: Constant and CASE types do not match
source.pas(41,1) Error: Constant Expression expected
source.pas(41,1) Fatal: Syntax error, ":" expected but "CASE" found
program bt3;
uses crt;
var n: longint;
dem: byte;
chucngan,ngan,tram,chuc,donvi: byte;
begin
writeln('Nhap n ='); read(n);
if n < 0 then repeat writeln('Nhap n > 0'); read(n) until n <= 100000;
chucngan:=0; ngan:=0; tram:=0; chuc:=0; donvi:=0;
while n >= 0 do begin
dem:=0;
n:=n div 10; dem:=dem+1;
end;
case dem of
1: begin
if n = 0 then writeln('khong');
if n = 1 then writeln('mot');
if n = 2 then writeln('hai');
if n = 3 then writeln('ba');
if n = 4 then writeln('bon');
if n = 5 then writeln('nam');
if n = 6 then writeln('sau');
if n = 7 then writeln('bay');
if n = 8 then writeln('tam');
if n = 9 then writeln('chin');
end;
2: begin
chuc:=0;
chuc:= n div 10;
case chuc of
1: writeln('muoi');
2: writeln('hai muoi ');
3: writeln('ba muoi ');
4: writeln('bon muoi ');
5: writeln('nam muoi');
6: writeln('sau muoi');
7: writeln('bay muoi');
8: writeln('tam muoi');
9: writeln('chin muoi ');
end;
donvi:=0;
donvi:=n mod 10;
case donvi of
0: writeln(' ');
1: writeln('mot');
2: writeln('hai');
3: writeln('ba');
4: writeln('bon');
5: writeln('lam');
6: writeln('sau');
7: writeln('bay');
8: writeln('tam');
9: writeln('chin');
end;
end;
3: begin
tram:=0;
tram:= n div 100;
case tram of
1: writeln('mot tram ');
2: writeln('hai tram');
3: writeln('ba tram');
4: writeln('bon tram');
5: writeln('lam tram');
6: writeln('sau tram');
7: writeln('bay tram');
8: writeln('tam tram');
9: writeln('chin tram');
end;
chuc:=0;
n:= n mod 100;
chuc:= n div 10;
case chuc of
1: writeln('muoi');
2: writeln('hai muoi ');
3: writeln('ba muoi ');
4: writeln('bon muoi ');
5: writeln('nam muoi');
6: writeln('sau muoi');
7: writeln('bay muoi');
8: writeln('tam muoi');
9: writeln('chin muoi ');
end;
donvi:=0;
donvi:=n mod 10;
case donvi of
0: writeln(' ');
1: writeln('mot');
2: writeln('hai');
3: writeln('ba');
4: writeln('bon');
5: writeln('lam');
6: writeln('sau');
7: writeln('bay');
8: writeln('tam');
9: writeln('chin');
end;
end;
4: begin
ngan:=0;
ngan:=n div 1000;
case ngan of
1: writeln('mot ngan');
2: writeln('hai ngan');
3: writeln('ba ngan');
4: writeln('bon ngan');
5: writeln('nam ngan');
6: writeln('sau ngan');
7: writeln('bay ngan');
8: writeln('tam ngan');
9: writeln('chin ngan');
end;
tram:=0;
n:= n mod 1000;
tram:= n div 100;
case tram of
1: writeln('mot tram ');
2: writeln('hai tram');
3: writeln('ba tram');
4: writeln('bon tram');
5: writeln('nam tram');
6: writeln('sau tram');
7: writeln('bay tram');
8: writeln('tam tram');
9: writeln('chin tram');
end;
chuc:=0;
n:=n mod 100;
chuc:= n div 10;
case chuc of
1: writeln('muoi');
2: writeln('hai muoi ');
3: writeln('ba muoi ');
4: writeln('bon muoi ');
5: writeln('nam muoi');
6: writeln('sau muoi');
7: writeln('bay muoi');
8: writeln('tam muoi');
9: writeln('chin muoi ');
end;
donvi:=0;
donvi:= n mod 10;
case donvi of
0: writeln(' ');
1: writeln('mot');
2: writeln('hai');
3: writeln('ba');
4: writeln('bon');
5: writeln('lam');
6: writeln('sau');
7: writeln('bay');
8: writeln('tam');
9: writeln('chin');
end;
end;
5: begin
chucngan:=0;
chucngan:=n div 10000;
case chucngan of
1: writeln('muoi');
2: writeln('hai muoi');
3: writeln('ba muoi');
4: writeln('bon muoi');
5: writeln('nam muoi');
6: writeln('sau muoi');
7: writeln('bay muoi');
8: writeln('tam muoi ');
9: writeln('chin muoi');
end;
ngan:=0;
n:= n mod 10000;
ngan:=n div 1000;
case ngan of
1: writeln('mot ngan');
2: writeln('hai ngan');
3: writeln('ba ngan');
4: writeln('bon ngan');
5: writeln('nam ngan');
6: writeln('sau ngan');
7: writeln('bay ngan');
8: writeln('tam ngan');
9: writeln('chin ngan');
end;
tram:=0;
n:= n mod 1000;
tram:= n div 100;
case tram of
1: writeln('mot tram ');
2: writeln('hai tram');
3: writeln('ba tram');
4: writeln('bon tram');
5: writeln('nam tram');
6: writeln('sau tram');
7: writeln('bay tram');
8: writeln('tam tram');
9: writeln('chin tram');
end;
chuc:=0;
n:= n mod 100;
chuc:= n div 10;
case chuc of
1: writeln('muoi');
2: writeln('hai muoi ');
3: writeln('ba muoi ');
4: writeln('bon muoi ');
5: writeln('nam muoi');
6: writeln('sau muoi');
7: writeln('bay muoi');
8: writeln('tam muoi');
9: writeln('chin muoi ');
end;
donvi:=0;
donvi:= n mod 10;
case donvi of
0: writeln(' ');
1: writeln('mot');
2: writeln('hai');
3: writeln('ba');
4: writeln('bon');
5: writeln('lam');
6: writeln('sau');
7: writeln('bay');
8: writeln('tam');
9: writeln('chin');
end;
end;
6: writeln('Mot tram ngan');
end;
readln;
end.
Sao chạy không đc, kiểm tra giúp (đã chỉnh sửa, nhập đc rồi)
Câu 1: Câu lệnh pascal nào sau đây là hợp lệ?
a) For i:=100 to 1 do writeln(‘A’);
b) For i:=1.5 to 10.5 do writeln(‘A’);
c) For i= 1 to 10 do writeln(‘A’);
d) For i:= 1 to 10 do writeln(‘A’);
Câu 2: Lệnh lặp For, mỗi lần lặp giá trị của biến đếm thay đổi như thế nào?
A. Tăng 1
B. Tăng 2
C. Tăng 3
D. Tăng 4
Câu 4: Vòng lặp for ..do là vòng lặp:
A. Biết trước số lần lặp
B. Chưa biết trước số lần lặp
C. Biết trước số lần lặp nhưng giới hạn là <=50
D. Biết trước số lần lặp nhưng giới hạn là >=50
Câu 5: Với ngôn ngữ lập trình Pascal câu lệnh lặp for i:=1 to 10 do x:=x+1;
thì biến đếm i phải được khai báo là kiểu dữ liệu: *
A. Integer
B. Real
C. String
D. Tất cả các kiểu trên đều được
Câu 6: Cho S và i là biến nguyên. Khi chạy đoạn chương trình :
s:=0;
for i:=1 to 5 do
s := s+i;
writeln(s);
Kết quả in lên màn hình là của s là :
a) 11
b) 55
c) 101
d) 15
Câu 7: Để tính tổng S=1+3 + 5 + … + n; em chọn đoạn lệnh:
a) for i:=1 to n do
if ( i mod 2)=0 then S:=S + 1/i; c) for i:=1 to n do if ( i mod 2) < > 0 then S:=S + i;
b) for i:=1 to n do
if ( i mod 2)=0 then S:=S + i
Else S:= S + i; d) for i:=1 to n do if ( i mod 2)=0 then S:=S + i;
Câu 8: Để đếm có bao nhiêu số lẻ nhỏ hơn hay bằng n ; em chọn đoạn lệnh:
a) for i:=1 to n do
if ( i mod 2)< >0 then S:=S + 1; c) for i:=1 to n do if ( i mod 2) =0 then S:=S + 1;
b) for i:=1 to n do
if ( i mod 2)=0 then S:=S + i ; d) for i:=1 to n do if ( i mod 2)=0 then S:=S + i;
III. Bài tập thực hành: Viết chương trình nhập vào 1 số nguyên n. Viết ra 20 các số chẳn tiếp theo lớn hơn số n.
GIÚP VỚI !!!
1.C
2.A
4.A
5.A
6.D
7.C
8.A
III.
Program HOC24;
var n,d: integer;
begin
write('Nhap N: '); readln(n);
if n mod 2=1 then
begin
begin
n:=n+1;
write(n,' ');
end;
d:=1;
while d<20 do
begin
n:=n+2;
write(n,' ');
d:=d+1;
end;
end else
begin
d:=1;
while d<=20 do
begin
n:=n+2;
write(n,' ');
d:=d+1;
end;
end;
readln
end.