K
Khách

Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.

9 tháng 11 2022

1 tỷ =

10 tháng 11 2022

program vd2;
uses crt;
var x,y:integer;
S:real;
begin
readln(x,y,S);
S:=(x+y+5)/3;
write(S);
readln;

End.

13 tháng 11 2018

Uses crt;

Var x: real; y: Integer;

Begin

x:= 10;

y:= 5/2;

y:= x+y;

Write('Y=',Y);

Bài này bạn làm sai nhiều lắm, k có End. r mấy câu gán x và y bị lặp nhau nói chung là bài làm này chưa đúng. Nếu k hiểu thì bạn đặt câu hỏi ra luôn r mình giải hộ cho. Chúc bạn học tốt !

13 tháng 11 2018

lỗi thứ 1:

uses ; crt ; ➝ uses crt;

lỗi thứ 2:

bạn đã khai báo y là số nguyên thì không thể thực hiện được phép chia 5/2 được nên phải khai báo y là số thực( mình chỉ giải thích thêm thôi)

nên sửa lại:

var x,y;real; hay Var x:real; y:real;

và thêm dấu chấm phẩy vào sau y:=5/2

lỗi thứ 3

phải thêm dấu hai chấm và dáu chấm phẩy vào y:=x+y;

nếu bạn để trùng cũng được bởi vì pascal chạy tuần tự từng câu lệnh

lỗi thứ 4:

thêm end vào cuối bài nữa nhé (nếu bạn muốn xem chương trình thì thêm readln trên end nhé)

nếu thiếu bỏ qua cho mình nhéhihi

ĐÁP ÁN VÒNG 2 CUỘC THI TIN HỌC: * ĐỀ 1: Câu 1: CÂU 1: const fi='uc.inp'; fo='uc.out'; var f: text; a,b,c : integer; function uc(x,y): integer; var z: integer; begin while y<>0 do begin z:=x mod y; x:=y; y:=z; end; uc:=x; end; procedure ip; begin assign(f,fi); reset(f); read(f,a,b,c); close(f); end; procedure out; begin assign(f,fo); rewrite(f); write(f,uc(uc(a,b),c); close(f); end; begin ip; out; end. Câu 2: const fi='SN.inp'; ...
Đọc tiếp

ĐÁP ÁN VÒNG 2 CUỘC THI TIN HỌC:

* ĐỀ 1:

Câu 1:

CÂU 1:
const fi='uc.inp';
fo='uc.out';
var f: text;
a,b,c : integer;
function uc(x,y): integer;
var z: integer;
begin
while y<>0 do
begin
z:=x mod y;
x:=y;
y:=z;
end;
uc:=x;
end;
procedure ip;
begin
assign(f,fi);
reset(f);
read(f,a,b,c);
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
write(f,uc(uc(a,b),c);
close(f);
end;
begin
ip;
out;
end.

Câu 2:

const fi='SN.inp';
fo='SN.out';
var
f:text;
i,n:integer;
s:real;
procedure ip;
begin
assign(f,fi);
reset(f);
read(f,n);
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
s:=0;
for i:= 1 to n do
begin
if i mod 2 <> 0 then
s:=s+(i/(i+1));
if i mod 2 = 0 then
s:=s-(i/(i+1));
end;
write(f,s:0:2);
close(f);
end;
BEGIN
ip;
out;
END.

Câu 3:

const fi='SSNT.inp';
fo='SSNT.out';
var
f:text;
n,i,max,j:integer;
s:string;
a:array[1..32000] of integer;
function nt(x:integer):boolean;
var
i:integer;
begin
nt:=false;
if x < 2 then exit;
for i:= 2 to trunc(sqrt(x)) do
if x mod i = 0 then exit;
nt:=true;
end;
function snt(x:integer):boolean;
begin
snt:=false;
if x= 0 then exit;
while nt(x) = true do
x := x div 10;
if x = 0 then snt:=true;
end;
procedure ip;
begin
assign(f,fi);
reset(f);
max:=a[1];
readln(f,n);
for i:= 1 to n do
begin
read(f,a[i]);
if( a[i] < max ) and (nt(a[i]) = true) then
max:=a[i];
end;
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
writeln(f,max);
max:=0;
for i:= 1 to n do
begin
if snt(a[i]) = true then
begin
str(a[i],s);
if length(s) = 2 then
max:=max+a[i];
s:='';
end
else
a[i]:=-32000;
end;
writeln(f,max);
for i:= 1 to n-1 do
for j :=i+1 to n do
if a[i] > a[j] then
begin
max:=a[i];
a[i]:=a[j];
a[j]:=max;
end;
for i:= 1 to n do
if (a[i] > 0) and (a[i] <> a[i-1]) then write(f,a[i],' ');
close(f);
end;
BEGIN
ip;
out;
END.

CÂU 4:

const fi='TUOI.INP';
fo='TUOI.OUT';
var f: text;
a,b: byte;
procedure ip;
begin
assign(f,fi);
reset(f);
read(f,a,b);
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
if (x=y*2) and (x>18) and (x-y>=18) then write(f,'CO') else write(f,x-y*2);
close(f);
end;
begin
ip;
out;
end.

const fi='CM.INP';

fo='CM.OUT';

var f: text;

a,n,b,k: integer;

a1: array[1..32000] of integer;

function nt(x: integer): boolean;

var i: integer;

begin

nt:=false;

if x<2 then exit;

for i:=2 to trunc(sqrt(x)) do if x mod i=0 then exit;

nt:=true;

end;

procedure ip;

begin

assign(f,fi);

reset(f);

read(f,n);

close(f);

end;

procedure out;

begin

assign(f,fo);

rewrite(f);

d:=0;

for a:=1 to k do

if nt(a) then

begin

inc(d);

a1[d]:=a;

end;

for a:=1 to d do

for b:=x to d do

if a1[a]+a1[b]=k then writeln(f,a1[a],'+',a1[b]);

end;

close(f);

end;

begin

ip;

out;

end.

*ĐỀ 2 :

BÀI LÀM CỦA BẠN LÊ HOÀNG THẮNG:

//----------------------------CAU 1--------------------------------

var s,d,n,i,u:longint;
a:array[0..32001] of longint;
f:text;
function ucln(x,y:longint):longint;
begin
if y=0 then exit(x) else exit(ucln(y,x mod y));
end;
begin
assign(f,'ucln.inp');reset(f);
readln(f,n);
for i:=1 to n do read(f,a[i]); close(f);
u:=a[1];
for i:=2 to n do u:=ucln(u,a[i]);
assign(f,'ucln.out');rewrite(f);
write(f,'UCLN: ',u,'; UC: ');
for i:=1 to u do if u mod i=0 then
begin
if i<>u then write(f,i,',') else write(f,i);
if i<10 then inc(d) else inc(s,i);
end;
writeln(f);
writeln(f,d); write(f,s);
close(f);
end.

//----------------------------CAU 2--------------------------------

var n,i:longint;
s:real;
f:text;
begin
assign(f,'sn.inp');reset(f);
readln(f,n); close(f);
for i:=1 to n do if odd(i) then s:=s-i/(i+1) else s:=s+i/(i+1);
assign(f,'sn.out');rewrite(f);
write(f,s:0:2);
close(f);
end.

//----------------------------CAU 3--------------------------------

var a:array[0..1000000] of boolean;
b:array[0..1000000] of longint;
i,j,k,n,d:longint;
f:text;
procedure taosang(n:longint);
var i,j:longint;
begin
for i:=2 to trunc(sqrt(n)) do if not(a[i]) then
begin
j:=i*i;
while j<=n do begin a[j]:=true; inc(j,i); end;
end;
end;
begin
assign(f,'boso.inp');reset(f);
readln(f,n); taosang(n); close(f);
assign(f,'boso.out');rewrite(f);
for i:=2 to n do if not(a[i]) then
begin
inc(d);
b[d]:=i;
end;
for i:=1 to d do
for j:=i to d do
if (n-b[i]-b[j]>=b[j]) and not(a[n-b[i]-b[j]]) then
writeln(f,b[i],' ',b[j],' ',n-b[i]-b[j]);
close(f);
end.

//----------------------------CAU 4--------------------------------

THAM KHẢO ĐỀ 1.

//----------------------------CAU 5--------------------------------

var n,i,s,t:longint;
f:text;
begin
assign(f,'u.inp');reset(f);
readln(f,n); t:=n; close(f);
assign(f,'u.out');rewrite(f);
for i:=2 to trunc(sqrt(n)) do
begin
if n mod i=0 then
begin
write(f,i,' ');
repeat n:=n div i until n mod i>0;
end;
if t mod (i*i)=0 then inc(s,i*i);
end;
writeln(f);
write(f,s+1);
close(f);
end.

*ĐỀ CHUNG:

BÀI LÀM CỦA BẠN ĐÀO XUÂN SƠN :

Câu 1:

const fi='TCS.inp';
fo='TCS.out';
var
f:text;
x:char;
tg:byte;
s:integer;
CODE:integer;
procedure ip;
begin
assign(f,fi);
reset(f);
s:=0;
while not(eof(f)) do
begin
read(f,x);
if x in ['0'..'9'] then
begin
val(x,tg,CODE);
s:=s+tg;
end;
end;
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
write(f,s);
close(f);
end;
BEGIN
ip;
out;
END.

Câu 2:

const fi='t.inp';
fo='t.out';
var
f:text;
s:string;
i:byte;
procedure ip;
begin
assign(f,fi);
reset(f);
read(f,s);
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
s[1]:=upcase(s[1]);
for i:= 2 to length(s) do
if s[i-1] <> #32 then
s[i]:=lowercase(s[i]) else
s[i]:=upcase(s[i]);
write(f,s);
close(f);
end;
BEGIN
ip;
out;
END.

1
8 tháng 1 2020

Em dốt tin lắm cô ơi, cô tạo khóa học nào đi, cô còn kèm em học yeu

28 tháng 9 2020

Bạn làm thiếu begin và end nhé. Vì ở dòng 12 bạn dùng else nhưng trước nó không có câu lệnh điều kiện.

program CTT5;
uses crt;
var a,b : integer;
begin
writeln('Nhap so hang dau tien : ');readln(a);
writeln('Nhap so hang thu hai : ');readln(b);
if b=0 then

Begin

writeln('Ket qua phep cong la : ',a+b);
writeln('Ket qua phap tru la : ',a-b);
writeln('Ket qua phep nhan la : ',a*b);
writeln('Khong the chia cho 0');

end
else

begin
writeln('Ket qua phep cong la : ',a+b);
writeln('Ket qua phap tru la : ',a-b);
writeln('Ket qua phep nhan la : ',a*b);
writeln('Ket qua phep chia la : ',a div b);

end;
readln;
end.

10 tháng 11 2021

Cho em hỏi writeln('ket qua phep cong la: ',a+b); có ý nghĩa gì vậy ạ 

1.Câu lệnh Write('5'+'6') cho kết quả gì? 2.Khai báo Var a: integer; b: Char; có ý nghĩa gì? 3.Khai báo Var a: integer; b: String; có ý nghĩa gì? 4.Sau khi thực hiện đoạn lệnh Begin c:=a; a:=b; b:=c; End.Cho biết kết quả. 5.Giả sử a và b là 2 biến số.Hãy cho biết kết quả của việc thực hiện chương trình: a:=a+b; b:=a-b; a:=a-b; 6.Sau khi thực hiện đoạn lệnh: Begin a:=a+b; b:=a-b; a:=a-b; End.Cho biết kết quả 7.Kết quả của...
Đọc tiếp
1.Câu lệnh Write('5'+'6') cho kết quả gì?
2.Khai báo Var a: integer; b: Char; có ý nghĩa gì?
3.Khai báo Var a: integer; b: String; có ý nghĩa gì?
4.Sau khi thực hiện đoạn lệnh Begin c:=a; a:=b; b:=c; End.Cho biết kết quả.
5.Giả sử a và b là 2 biến số.Hãy cho biết kết quả của việc thực hiện chương trình: a:=a+b; b:=a-b; a:=a-b;
6.Sau khi thực hiện đoạn lệnh: Begin a:=a+b; b:=a-b; a:=a-b; End.Cho biết kết quả
7.Kết quả của phép toán a/b là...?
8.Trong câu lệnh điều kiện if....then....else có thể sử dụng ... lần?
9.Điều kiện sử dụng trong câu lệnh if...then...else có kết quả là ?
A.Chỉ đúng không sai B.Chỉ sai không đúng C.Chỉ có thể đúng hoặc sai D.Không đúng không sai
10.Sửa lỗi cho chương trình tính diện tích hình vuông sau:
Program bai1;
Uses crt;
Var canh integer;
Begin
Clscrs;
Writeln ('nhap canh:') reandln(canh)
dientich =canh*canh;
Writeln ('dien tich hinh vuong la:, dientich);
Readln;
End.

11.Sửa lỗi cho chương trình tính tổng
Program bai1;
Uses crt;
var a. b:integer;
Begin
Clscrs;
Writeln ('nhap a:') readln(a);
Writeln ('nhap b:'); readln(b)
Tong =a+b;
Writeln ('tong hai so a va b la:, tong);
Readln;
End.

12.viết câu lệnh so sánh 2 số a và b
13.Cho trước 3 số dương a,b,c.Viết chuong trình in ra ba số a,b,c có phải là độ dài của 1 tam giác hay không
14.Viết chương trình xét xem một tam giác có là tam giác cân hay không khi biết 3 cạnh của tam giác
15.Nhập 3 số a,b,c.Hãy viết chương trình tìm giá trị lớn nhất của
chúng và gắn giá trị lớn nhất đó cho biến MAX
16.Cho 3 biến a,b,c.Hãy viết chương trình hoán đổi 3 biến nói trên để a,b,c có thứ tự không tăng
17,Giải phương trình bậc nhất bx+c+0(với b,c được nhập từ bàn phím)
18,Cho 3 biến a,b,c.Hãy viết chương trình hoán đổi 3 biến nói trên để a,b,c có thứ tự không giảm
1
29 tháng 12 2017

c1: 5+6

c2: a là 1 số nguyên

b là 1 kí tự

c3: a là 1 số nguyên

b là 1 xâu kí tự

c4: hai số a,b được hoán vị cho nhau như vậy lúc này a mang giá trị của b, b mang giá trị của a. a=b,b=a

c5,6: tương tự câu 4

c7: kết quả là:a/b

c8: 1

c9: c

c10:

sai lệnh ' clscrs ' đúng là 'clrscr;

sau lệnh readln(canh) thiếu dấu ";"

chưa khai báo biến "dientich"

dòng writeln thứ 2 thiếu dấu " ' " ở trước dấu phẩy.

c11:

phần khai báo sai chỗ "a.b" đúng là "a,b"

sai lệnh clrscr;

thiếu ";" sau lệnh readln(b)

chưa khai báo biến tổng

câu lệnh in kết quả sai ( thiếu " ' ")

c12:

if a>b then { a lớn hơn b } else

if a<b then { a nhỏ hơn b } else

{ a bằng b }

c13: dễ nhưng hơi dài chỉ cần so sánh từng biến với tổng 2 biến còn lại là đươc

c14: bạn viết tương tự như c13 bổ sung thêm điều kiện

nếu có 2 trong 3 cạnh bằng nhau thì in ra là tam giác cân

c15:

max:=a;

if (max>b) and(max >c) then max:=a else

if b>c then max:=b else max:=c;

write(max)

c16: làm tương tự c4,5,6

c17: bx+x+0 ???

c18: làm tương tự c16

ĐÁP ÁN VÒNG 1 CUỘC THI TIN HỌC Câu 1: const fi='tong.inp'; fo='tong.out'; var f:text;i,n:integer;t:real; procedure ip; begin assign(f,fi); reset(f); readln(f,n); t:=abs(sqrt(4)*1/2); for i:= 1 to n do t:=t+(i/(i+1)); close(f); end; procedure out; begin assign(f,fo); rewrite(f); write(f,t:0:3); close(f); end; BEGIN ip; out; END. Câu 2: Bài làm của bạn Lê Hoàng Thắng : var a:array[1..10000000] of longint; min,vtmin,vtmax,n,i,k,demk,max,sum:longint;...
Đọc tiếp

ĐÁP ÁN VÒNG 1 CUỘC THI TIN HỌC

Câu 1:

const fi='tong.inp';

fo='tong.out';

var

f:text;i,n:integer;t:real;

procedure ip;

begin

assign(f,fi);

reset(f);

readln(f,n);

t:=abs(sqrt(4)*1/2);

for i:= 1 to n do

t:=t+(i/(i+1));

close(f);

end;

procedure out;

begin

assign(f,fo);

rewrite(f);

write(f,t:0:3);

close(f);

end;

BEGIN

ip;

out;

END.

Câu 2: Bài làm của bạn Lê Hoàng Thắng :

var a:array[1..10000000] of longint; min,vtmin,vtmax,n,i,k,demk,max,sum:longint; sm:boolean;
function nguyento(x:longint):boolean;
var demuoc,t:longint;
begin
demuoc:=0;
for t:=1 to x do if (x mod t = 0) then inc(demuoc);
if demuoc=2 then nguyento:=true else nguyento:=false;
end;
function hoanhao(y:longint):boolean;
var tong,g:longint;
begin
tong:=0;
for g:=1 to y-1 do if (y mod g=0) then tong:=tong+g;
if tong=y then hoanhao:=true else hoanhao:=false;
end;
begin
assign(input,'mang.inp'); reset(input);
assign(output,'mang.out'); rewrite(output);
readln(n); readln(k); demk:=0;
for i:=1 to n do read(a[i]);
min:=a[n];
for i:=n downto 1 do if a[i]<min then begin min:=a[i]; vtmin:=i; end;
max:=abs(a[1]);
for i:=1 to n do if abs(a[i])>max then begin max:=abs(a[i]); vtmax:=i; if a[i]<0 then sm:=true else sm:=false; end;
for i:=1 to n do if (k=a[i]) then inc(demk);
sum:=0;
for i:=1 to n do
begin
if (nguyento(a[i]) or hoanhao(a[i])) then sum:=sum+a[i];
end;
writeln(vtmin);
if sm=false then writeln(max,' ,vi tri: ',vtmax) else writeln('-',max,' ,vi tri: ',vtmax);
if (demk=0) then writeln('khong, so lan xuat hien :0') else writeln('co, so lan xuat hien :',demk);
write(sum);
close(input); close(output);
end.

Câu 3: Bài làm của bạn Lê Hoàng Thắng:

const fi='xau.inp';

fo='xau.out';

var s1,s2:string; match,i:longint; f: text;

procedure ip;

begin
assign(f,fi); reset(f);
readln(s1); read(s2);

close(f);

end;

procedure out;

begin

assign(f,fo); rewrite(f);
match:=0;
if s1=s2 then begin write('KHONG'); exit; end;
for i:=1 to length(s1) do
begin
if s1[i]=s2[i] then inc(match);
end;
if match=length(s1)-2 then write('CO') else write('KHONG');
close(f);

end;

Begin

ip;

out;
end.

Câu 4: Bài làm của bạn Đào Xuân Sơn :

const fi='STN.inp';
fo='STN.out';
var
f:text;
s:string;
n,t,i:integer;
function dx(x:string):boolean;
var
i:byte;
begin
dx:=false;
for i:= 1 to length(x) div 2 do
if x[i] <> x[length(x)-i+1] then
exit;
dx:=true;
end;
procedure ip;
begin
assign(f,fi);
reset(f);
read(f,n);
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
str(n,s);
if dx(s) = true then writeln(f,'CO') else writeln(f,'KHONG');
t:=0;
for i:= 1 to n div 2 do
if n mod i = 0 then t:=t+i;
if t=n then
begin
write(f,'CO,');
t:=0;
while n<>0 do
begin
t:=t+(n mod 10);
n:=n div 10;
end;
writeln(f,' ',t);
end else
writeln(f,'KHONG');
write(f,length(s));
close(f);
end;
BEGIN
ip;
out;
END.

Bài 5: Bài làm của bạn Vinh Lê:

const fi=’tich.inp’;

fo=’tich.out’;

var f: text;

a,b: integer;

procedure ip;

begin

assign(f,fi);

reset(f);

readln(f,a);

read(b);

close(f);

procedure out;

begin

assign(f,fo);

rewite(f);

t:=a;

t:=t*b;

write(f,t);

close(f);

end;

Begin

ip;

out;

end.

Đây là các bộ code sử dụng thuật toán hoàn chỉnh nhất và tối ưu.

1
25 tháng 7 2019

thiệt ko vậy

Câu 1: Trong các tên dưới đây, tên nào là không hợp lệ trong Pascal? A. Bai tap. B. Lop8A; C. Hinh_binh_hanh; D. Chuong_tình; Câu 2: Để chạy chương trình Pascal ta sử dụng tổ hợp phím nào? A. Alt+F4 B. Ctrl+F9 C. Ctrl+shift+F9 D. Shift+F3 Câu 3: Trong Pascal, ở các câu lệnh sau thì câu lệnh khai báo nào đúng? A. var 3A: integer; B. const Pi:=3.14; C. var a,b: integer; D. var CV= real; Câu 4: Trong các câu sau, câu...
Đọc tiếp

Câu 1: Trong các tên dưới đây, tên nào là không hợp lệ trong Pascal?
A. Bai tap. B. Lop8A; C. Hinh_binh_hanh; D. Chuong_tình;
Câu 2: Để chạy chương trình Pascal ta sử dụng tổ hợp phím nào?
A. Alt+F4 B. Ctrl+F9 C. Ctrl+shift+F9 D. Shift+F3
Câu 3: Trong Pascal, ở các câu lệnh sau thì câu lệnh khai báo nào đúng?
A. var 3A: integer; B. const Pi:=3.14;
C. var a,b: integer; D. var CV= real;
Câu 4: Trong các câu sau, câu nào đúng?
A. 17 div 2 =5 B. 17 div 2 = 8 C. 14 mod 5 =2 D. 14 mod 5 = 2.8
Câu 5: Hãy phân biệt từ khóa và tên trong chương trình trên và đánh dấu "x" vào ô cột tương ứng trong bảng dưới đây?
Từ khóa Tên
Program .............. ........
CT_dau_tien .............. .........
begin ............. .........
Lop8A ............. ..........
Câu 6: Con người ra lệnh cho máy tính như thế nào? Chương trình máy tính là gì?
Câu 7: Viết các biểu thức toán học sau đây thành biểu thức trong Pascal?
Trong toán học -------------> Trong Pascal
a. 15.(4+30) ........................
b. ax+b+2 .........................
c. (a+b)^2+(c+d)^2 ..........................
d. x-y/2x ..........................
Câu 8: Tìm và sửa các lỗi sai trong chương trình Pascal sau:
Dòng 1 program Chuong_trinh; ......................
Dòng 2 uses crt; ......................
Dòng 3 var a,b:= integer; ......................
Dòng 4 c: real; ......................
Dòng 5 const phi:= 100; ........................
Dòng 6 begin .........................
Dòng 7 writeln('Nhap vao ........................
so a va b');
Dòng 8 realn(a,b); ........................
Dòng 9 c= a+b+phi; ........................
Dòng 10 writeln('Ket .......................
qua:' , c);
Dòng 11 end .......................
Câu 9: Viết chương trình tính diện tích hình chữ nhật có chiều rộng cạnh a, chiều dài cạnh b và diện tích là S. Gợi ý S=a.b

1
27 tháng 10 2020

Câu 1: D

Câu 2: B

Câu 3: C

Câu 4: B

Câu 5: Từ khóa: Program, begin. Tên: Ct_dau_tien, Lop8A

Câu 6:

- Con người ra lệnh cho máy tính bằng cách nhập các câu lệnh lên máy tính.

- Chương trình máy tính là một tập hợp các câu lệnh để thực hiện các công việc trên máy tính.

Câu 7:

a)15*(4+30)

b) a*x+b+2

c) sqr(a+b)+ sqr(c+d)

d) x-y/2*x

Câu 8:

Dòng 1: Không có lỗi sai.

Dòng 2: Không có lỗi sai.

Dòng 3: Sai. Sửa thành: var a,b:integer; ( var thì chỉ dùng ':' )

Dòng 4: Không có lỗi sai.

Dòng 5: Sai. Sửa thành: const phi=100; ( const thì chỉ dùng '=' )

Dòng 6: Không có lỗi sai.

Dòng 7: Sai. Sửa thành: readln(a,b); (viết sai chính tả từ 'readln')

Dòng 8: Sai. Sửa thành: c:=a+b+phi; (c được gán bằng a+b+phi thì phải dùng dấu':=')

Dòng 9: Không có lỗi sai.

Dòng 10: Sai. Sửa thành: end. (sau end cuối cùng phải có dấu '.')

Câu 9:

program dientich;

uses crt;

var a,b,S:integer;

Begin

clrscr;

write('nhap a,b: '); readln(a,b);

S:=a*b;

writeln('dien tich hinh chu nhat la: ',S);

readln;

end.

Program Game_Bong_Da; uses crt,dos; const ChieuRong = 60; ChieuCao = 23; KhoangCachDong = 1; KhoangCachCot = 0; ChieuRongKhungThanh = 8; SoCauThu = 8; Front = 1; BeHind = 2; Left = 3; Right = 4; Tocdo = 15; type TSanBong = object Procedure VeSanBong; Procedure KhoiTaoCauThu; end; TViTri = object X, Y : integer; Procedure SetViTri(vtX, vtY: integer); end; TGioiHan = object X1, X2, Y1, Y2 : integer; Procedure SetGioiHan(vtX1, vtY1, vtX2, vtY2 : integer); end; TBong = object Sohuu : array[0..2,0..SoCauThu] of...
Đọc tiếp

Program Game_Bong_Da;
uses crt,dos;
const
ChieuRong = 60;
ChieuCao = 23;
KhoangCachDong = 1;
KhoangCachCot = 0;
ChieuRongKhungThanh = 8;

SoCauThu = 8;

Front = 1;
BeHind = 2;
Left = 3;
Right = 4;

Tocdo = 15;

type
TSanBong = object
Procedure VeSanBong;
Procedure KhoiTaoCauThu;
end;
TViTri = object
X, Y : integer;
Procedure SetViTri(vtX, vtY: integer);
end;
TGioiHan = object
X1, X2, Y1, Y2 : integer;
Procedure SetGioiHan(vtX1, vtY1, vtX2, vtY2 : integer);
end;

TBong = object
Sohuu : array[0..2,0..SoCauThu] of Boolean;
Vitri : TVitri;
Procedure SetSoHuu(doi, ten : integer);
Procedure InBong(doi, caut, Huong : integer);
Procedure CanBong;
Procedure SutBong(Huong : integer);
Function HuongChuyenBong(doi, caut : integer) : integer;
Procedure XuLi;
end;

TCauThu = object
Doi : integer;
Ten : integer;
GioiHan : TGioiHan;
Vitri : TVitri;
MauAo : Word;
KeyPress : Char;

Procedure SetCauThuHT;
Procedure InHinh(vtX,vtY : integer);
Procedure GianhBong;
Procedure DichuyenNgauNhien;
Procedure DiChuyen(Key : char);
end;
TMayTinh = object
CauThuHT : array[1..2] of integer;
PT : Boolean;
Procedure KiemTra;
Procedure TanCong;
Procedure PhongThu;
end;

var
LastHuong,HuongChuyen,CauThuHT : integer;
san : TSanBong;
cauthu : array[1..2,1..SoCauThu] of TCauThu;
QBong : TBong;
DangSut,vtMax,DangChuyen : Boolean;
DiemSo : array[1..2] of integer;
MayTinh : TMayTinh;

procedure setcusor(bot,top: byte);
var regs : registers;
begin
regs.ah := 1;
regs.ch:= bot;
regs.cl:= top;
intr($10, regs);
end;

Procedure TViTri.SetVitri(vtX, vtY : integer);
Begin
X := vtX;
Y := vtY;
End;

Procedure TGioiHan.SetGioiHan(vtX1, vtY1, vtX2, vtY2 : integer);
Begin
X1 := vtX1;
Y1 := vtY1;
X2 := vtX2;
Y2 := vtY2;
End;

(*==============S Bong===============================*)
Procedure TBong.SetSoHuu(doi, ten: integer);
var d,t : integer;
Begin
for d := 0 to 2 do
for t := 0 to SoCauThu do
begin
if (d = doi) and (t = ten) then
SoHuu[d, t] := True
else
SoHuu[d, t] := False;
end;
End;

Procedure TBong.InBong(doi, caut, Huong : integer);
Begin
if (QBong.SoHuu[doi, caut]) and (not DangSut) then
begin
if LastHuong <> Huong then
begin
GotoXy(Vitri.X,Vitri.Y);
Write(#32);
end;
case Huong of
Front : begin
TextColor(white);
Vitri.X := CauThu[doi,caut].Vitri.X;
Vitri.Y := CauThu[doi,caut].Vitri.Y-1;
GotoXy(Vitri.X,Vitri.Y);
Write(#265);
end;
BeHind : begin
TextColor(white);
Vitri.X := CauThu[doi,caut].Vitri.X;
Vitri.Y := CauThu[doi,caut].Vitri.Y+1;
GotoXy(Vitri.X,Vitri.Y);
Write(#265);
end;
Left : begin
TextColor(white);
Vitri.X := CauThu[doi,caut].Vitri.X - 1;
Vitri.Y := CauThu[doi,caut].Vitri.Y;
GotoXy(Vitri.X,Vitri.Y);
Write(#265);
end;
Right : begin
TextColor(white);
Vitri.X := CauThu[doi,caut].Vitri.X + 1;
Vitri.Y := CauThu[doi,caut].Vitri.Y;
GotoXy(Vitri.X,Vitri.Y);
Write(#265);
end;
end;
LastHuong := Huong;
if (Vitri.Y <= Khoangcachdong+1) or
(Vitri.Y >= KhoangCachDong+ChieuCao) or
(Vitri.X <= KhoangCachcot+1) or
(Vitri.X >= KhoangCachcot + chieurong) then
begin
vtMax := True;
DangSut := True;
end;
CanBong;
end;
End;

Procedure TBong.SutBong(Huong : integer);
Begin
if not vtMax then
begin
GotoXy(Vitri.X,Vitri.Y);
Write(#32);
end;
case Huong of
Front : if Vitri.Y > Khoangcachdong+1 then
begin
TextColor(white);
Vitri.X := Vitri.X;
Vitri.Y := Vitri.Y-2;
GotoXy(Vitri.X,Vitri.Y);
Write(#265);
end;
BeHind :if Vitri.Y < Khoangcachdong+ChieuCao then
begin
TextColor(white);
Vitri.X := Vitri.X;
Vitri.Y := Vitri.Y+2;
GotoXy(Vitri.X,Vitri.Y);
Write(#265);
end;
Left :if Vitri.X > KhoangcachCot+1 then
begin
TextColor(white);
Vitri.X := Vitri.X - 2;
Vitri.Y := Vitri.Y;
GotoXy(Vitri.X,Vitri.Y);
Write(#265);
end;
Right :if Vitri.X < KhoangcachCot+ChieuRong then
begin
TextColor(white);
Vitri.X := Vitri.X + 2;
Vitri.Y := Vitri.Y;
GotoXy(Vitri.X,Vitri.Y);
Write(#265);
end;
end;
if (Vitri.Y <= Khoangcachdong+1) or
(Vitri.Y >= KhoangCachDong+ChieuCao) or
(Vitri.X <= KhoangCachcot+1) or
(Vitri.X >= KhoangCachcot + chieurong) then
begin
vtMax := True;
end;
CanBong;
Cauthu[1,1].SetCauThuHT;
End;

Procedure TBong.CanBong;
var doi,caut : integer;
Begin
for doi := 1 to 2 do
for caut := 1 to Socauthu do
begin
if (CauThu[doi,caut].Vitri.X = Vitri.X)
and (CauThu[doi,caut].Vitri.Y = Vitri.Y) then
begin
SetSoHuu(doi,caut);
if CauThu[doi,caut].Vitri.Y > ChieuCao div 2 then
begin
InBong(doi,caut,Front);
Cauthu[doi,caut].Vitri.Y := Cauthu[doi,caut].Vitri.Y-1;
end
else
begin
InBong(doi,caut,Behind);
Cauthu[doi,caut].Vitri.Y := Cauthu[doi,caut].Vitri.Y+1;
end;
TextColor(Cauthu[doi,caut].MauAo);
GotoXy(Cauthu[doi,caut].Vitri.X,CauThu[doi,caut].Vitri.Y);
Write(#258);
DangSut := False;
DangChuyen := False;
end;
end;
end;

Function TBong.HuongChuyenBong(doi, caut : integer) : integer;

var ct,Min,Tam,Huong : integer;
Begin
Min := ChieuRong+ChieuCao;
for ct := 1 to SoCauThu do
if ct <> caut then
begin
Tam := Cauthu[doi, ct].Vitri.X - Cauthu[doi, caut].Vitri.X;
if Abs(Min) > Abs(Tam) then
begin
Min := Tam;
if Min < 0 then Huong := Left
else if Min > 0 then Huong := Right;
end;
Tam := Cauthu[doi, ct].Vitri.Y - Cauthu[doi, caut].Vitri.Y;
if Abs(Min) > Abs(Tam) then
begin
Min := Tam;
if Min < 0 then Huong := Front
else if Min > 0 then Huong := BeHind;
end;
HuongChuyenBong := Huong;
end;

End;

Procedure TBong.XuLi;
Begin
if (vtMax) and (Vitri.X >= CauThu[1,1].GioiHan.X1)
and (Vitri.X <= CauThu[1,1].GioiHan.X2)
and (DangSut or Dangchuyen) then
begin
DangSut := False;
DangChuyen := False;
vtMax := False;

if (Vitri.Y > ChieuCao div 2) then
begin
Inc(DiemSo[2]);
SetSoHuu(1,1);
Cauthu[1,CauThuHT].MauAo := Green;
CauThuHT:=1;
InBong(1,CauThuHT,Front);
end
else
begin
Inc(DiemSo[1]);
SetSoHuu(2,1);
InBong(2,1,BeHind);
end;
San.VeSanBong;
TextColor(Cyan);
GoToXy(65,7); Write(' Cau Thu : ',CauThuHT);
goToxy(65,9); Write(' May : ',DiemSo[2]);
goToxy(65,11);Write('Nguoi Choi : ',DiemSo[1]);
end
else
if vtMax then
begin
SetSoHuu(0,0);
ViTri.SetVitri(ChieuRong div 2 + KhoangCachCot,
chieuCao div 2 + KhoangCachDong);
Textcolor(White);
GotoXy(Vitri.X,Vitri.Y);write(#265);
San.VeSanBong;
DangSut := False;
DangChuyen := False;
vtMax := False;
end;
Textcolor(Red);
GotoXy((ChieuRong + KhoangCachCot - 20) div 2,(ChieuCao + KhoangCachDong) div 2);
if diemSo[1] >= 10 then
begin
Write('Nguoi Choi Thang Roi.');
readln;
Cauthu[1,CauThuHT].KeyPress := #27;
end
else if diemso[2] >= 10 then
begin
Write('May Thang Roi.');
readln;
Cauthu[1,CauThuHT].KeyPress := #27;
end;
end;
(*==============E Bong===============================*)

(*==============S San Bong===========================*)
Procedure TSanBong.KhoiTaoCauThu;
var Vt : TViTri;
i : integer;
Begin
CauThu[2,1].Doi := 2;
CauThu[1,1].Doi := 1;
CauThu[1,1].Ten := 1;
CauThu[2,1].Ten := 1;
for i := 2 to SoCauThu do
begin
CauThu[1,i].GioiHan.SetGioiHan(KhoangCachCot+2,KhoangCachDong+2,
KhoangCachCot+ChieuRong-1,KhoangCachDong+ChieuCao-1);
CauThu[1,i].MauAo := Green;
Cauthu[1,i].Doi := 1;
CauThu[1,i].Ten := i;
CauThu[2,i].GioiHan.SetGioiHan(KhoangCachCot+2,KhoangCachDong+2,
KhoangCachCot+ChieuRong-1,KhoangCachDong+ChieuCao-1);
CauThu[2,i].MauAo := Blue;
Cauthu[2,i].Doi := 2;
CauThu[2,i].Ten := i;
end;
for i := 1 to SoCauThu do
begin
repeat
Vt.X := RanDom(Cauthu[1,i].GioiHan.X2+1) + KhoangCachCot;
Vt.Y := Random(CauThu[1,i].GioiHan.Y2+1) + KhoangCachDong;
until (Vt.X >= Cauthu[1,i].GioiHan.X1)
and (Vt.X <= CauThu[1,i].GioiHan.X2)
and (Vt.Y >= CauThu[1,i].GioiHan.Y1)
and (Vt.Y <= Cauthu[1,i].GioiHan.Y2);
CauThu[1,i].Vitri := Vt;
Vt.SetViTri(0, 0);
end;

for i := 1 to SoCauThu do
begin
repeat
Vt.X := RanDom(Cauthu[2,i].GioiHan.X2+1) + KhoangCachCot;
Vt.Y := Random(Cauthu[2,i].GioiHan.Y2+1) + KhoangCachDong;
until (Vt.X >= Cauthu[2,i].GioiHan.X1)
and (Vt.X <= CauThu[2,i].GioiHan.X2)
and (Vt.Y >= CauThu[2,i].GioiHan.Y1)
and (Vt.Y <= Cauthu[2,i].GioiHan.Y2);
CauThu[2,i].Vitri := Vt;
Vt.SetViTri(0, 0);
end;
for i := 1 to SoCauThu do
begin
TextColor(cauthu[1,i].MauAo);
gotoxy(cauthu[1,i].vitri.X,cauthu[1,i].Vitri.Y);
Write(#258);
TextColor(cauthu[2,i].MauAo);
gotoxy(cauthu[2,i].vitri.X,cauthu[2,i].Vitri.Y);
Write(#258);
end;
End;

Procedure TSanBong.VeSanBong;
var i: integer;
Begin
clrscr;
TextColor(Yellow);
for i := 1 to ChieuRong do
begin
GotoXy(KhoangCachCot + i,KhoangCachDong);
Write(#177);
GotoXy(KhoangCachCot + i,KhoangCachDong+ChieuCao+1);
Write(#177);
end; { Ve Khung Ngang }

for i := 1 to ChieuCao do
begin
GotoXy(KhoangCachCot + 1,KhoangCachDong + i);
Write(#177);
GotoXy(KhoangCachCot + ChieuRong,KhoangCachDong+i);
Write(#177);
end; { Ve Khung Doc }

TextColor(LightGreen);
i := (ChieuRong - ChieuRongKhungThanh) div 2 + KhoangCachCot;
GotoXy(i,KhoangCachDong+1);
CauThu[1,1].GioiHan.SetGioiHan(i,KhoangCachDong+ChieuCao -
1 - ChieuRongKhungThanh div 2,
i+ChieuRongKhungThanh-1,KhoangCachDong+ChieuCao - 1);
{ Set Gioi Han Thu Mon}
CauThu[1,1].MauAo := LightGreen;
for i := 1 to ChieuRongKhungThanh do
Write(#177);
{ Ve Khung Thanh May}
TextColor(Cyan);
i := (ChieuRong - ChieuRongKhungThanh) div 2 + KhoangCachCot;
GotoXy(i,KhoangCachDong+ChieuCao);
CauThu[2,1].GioiHan.SetGioiHan(i,KhoangCachDong+2,
i+ChieuRongKhungthanh-1,ChieuRongKhungThanh div 2+KhoangCachDong+2);
{Set Gioi Han Thu Mon}
CauThu[2,1].MauAo := Cyan;
for i := 1 to ChieuRongKhungThanh do
Write(#177); { Ve Khung Thanh Nguoi Choi}
KhoiTaoCauThu;
TextColor(Cyan);
GoToXy(65,7); Write(' Cau Thu : ',CauThuHT);
goToxy(65,9); Write(' May : ',DiemSo[1]);
goToxy(65,11);Write('Nguoi Choi : ',DiemSo[2]);
Delay(1000);
End;
(*==============E San Bong===========================*)

(*==============S Cau Thu============================*)
Procedure TCauThu.SetCauThuHT;
var i,min,tamthoi1,tamthoi2,cautht: integer;
TroLai : boolean;
Begin
TroLai := True;
if (not Qbong.Sohuu[1,CauThuHT]) or (QBong.soHuu[0,0]) then
TroLai := False;
if not TroLai then
begin
Min := ChieuRong + ChieuCao;
cautht := CauThuHT;
for i := 1 to SoCauThu do
begin
tamthoi1 := Cauthu[doi,i].Vitri.X - QBong.Vitri.X;
tamthoi2 := Cauthu[doi,i].Vitri.Y - QBong.Vitri.Y;
if ABs(Min) > (ABs(TamThoi1)+Abs(Tamthoi2)) then
begin
Min := TamThoi1+Tamthoi2;
cautht := i;
end;
end;
if (cautht = 1) and ((QBong.Vitri.X < Cauthu[doi,cautht].GioiHan.X1)
or (QBong.Vitri.X > Cauthu[doi,cautht].GioiHan.X2) or
(QBong.Vitri.Y < Cauthu[doi,cautht].GioiHan.Y1) or
(QBong.Vitri.Y > Cauthu[doi,cautht].GioiHan.Y2)) then
cautht := 2;

if (CauThuHT = 1) and (doi = 2) then
CauThu[doi,CauThuHT].MauAo := Cyan
else if (CauThuHT <> 1) and (doi = 2) then
CauThu[doi,CauThuHT].MauAo := Blue
else if (CauThuHT = 1) and (doi = 1) then
CauThu[doi,CauThuHT].MauAo := LightGreen
else if (CauThuHT <> 1) and (doi = 1) then
CauThu[doi,CauThuHT].MauAo := Green;
CauThuHT := cautht;
TextColor(Cyan);
GoToXy(65,7);Write(' Cau Thu : ',CauThuHT);
end;
end;

Procedure TCauThu.InHinh(vtX, vtY : integer);
Begin
GotoXy(Vitri.X,Vitri.Y);
Write(#32);
Vitri.X := vtX;
Vitri.Y := vtY;
TextColor(MauAo);
GotoXy(Vitri.X,Vitri.Y);
Write(#258);
End;

Procedure TCauThu.GianhBong;
Begin
if not Qbong.SoHuu[Doi,Ten] then
begin
if (Qbong.Vitri.X = Vitri.X-1) and (Qbong.Vitri.Y = Vitri.Y) then
begin
SetCauthuHT;
Qbong.SetSoHuu(Doi,Ten);
Qbong.InBong(Doi,Ten,Front);
end
else if (Qbong.Vitri.X = Vitri.X+1) and (Qbong.Vitri.Y = Vitri.Y) then
begin
SetCauthuHT;
Qbong.SetSoHuu(Doi,Ten);
Qbong.InBong(Doi,Ten,Front);
end
else if (Qbong.Vitri.X = Vitri.X) and (Qbong.Vitri.Y = Vitri.Y-1) then
begin
SetCauthuHT;
Qbong.SetSoHuu(Doi,Ten);
Qbong.InBong(Doi,Ten,Front);
end
else if (Qbong.Vitri.X = Vitri.X) and (Qbong.Vitri.Y = Vitri.Y+1) then
begin
SetCauthuHT;
Qbong.SetSoHuu(Doi,Ten);
Qbong.InBong(Doi,Ten,Front);
end;
end;
end;

Procedure TCauThu.DiChuyenNgauNhien;
var Phim : integer;
Key : Char;
Begin
Phim := Random(7);
case Phim of
1 : begin
Key := #72;
end;
2 : begin
Key := #75;
end;
3 : begin
Key := #77;
end;
4 : begin
Key := #80;
end;
5 : begin
Key := #32;
end;
6 : begin
Key := #13;
end;
end;
KeyPress := Key;
End;

Procedure TCauThu.DiChuyen(Key : char);
Begin
case Key of
#72,#119:if (vitri.Y > GioiHan.Y1) then
begin
InHinh(Vitri.X,ViTri.Y - 1);
QBong.InBong(Doi,Ten, Front);
GianhBong;
delay(Tocdo);
end;
#80,#115:if (Vitri.Y < GioiHan.Y2) then
begin
InHinh(Vitri.X,Vitri.Y+1);
QBong.InBong(Doi,Ten, BeHind);
GianhBong;
delay(Tocdo);
end;
#75,#97: if (vitri.X > GioiHan.X1) then
begin
InHinh(Vitri.X-1,vitri.Y);
QBong.InBong(Doi,Ten, Left);
GianhBong;
delay(Tocdo);
end;
#77,#100:if (Vitri.X < GioiHan.X2) then
begin
InHinh(ViTri.X+1,ViTri.Y);
QBong.InBong(Doi,Ten, Right);
GianhBong;
delay(Tocdo);
end;
#13 : if QBong.SoHuu[doi,ten] then begin
QBong.SetSoHuu(0, 0);
DangSut := True;
end;
#32 : if QBong.SoHuu[doi,ten] then begin
QBong.SetSoHuu(0, 0);
DangChuyen := True;
HuongChuyen := QBong.HuongChuyenBong(doi,ten);
end;
end;
End;
(*==============E Cau Thu============================*)
(*==============S May Tinh===========================*)
Procedure TMayTinh.KiemTra;
var ct,Min,Tamthoi,caut : integer;
Begin
Min := ChieuCao + ChieuRong;
for ct := 1 to SoCauThu do
begin
TamThoi := Abs(CauThu[2,ct].Vitri.X - QBong.Vitri.X)
+ Abs(CauThu[2,ct].Vitri.Y - QBong.Vitri.Y);
if (Min) > TamThoi then
begin
Min := TamThoi;
caut := ct;
end;
end;
CauThuHT[1] := caut;

Min := ChieuCao + ChieuRong;
for ct := 1 to SoCauThu do
if (ct <> CauthuHT[1]) then
begin
TamThoi := Abs(CauThu[2,ct].Vitri.X - QBong.Vitri.X)
+ Abs(CauThu[2,ct].Vitri.Y - QBong.Vitri.Y);
if (Min > TamThoi) then
begin
Min := TamThoi;
caut := ct;
end;
end;
CauThuHT[2] := caut;
end;

Procedure TMayTinh.TanCong;
var i,ct,j : integer;
begin
ct := 0;
KiemTra;
for i := 1 to 2 do
if QBong.Sohuu[2,CauThuHT[i]] then
ct := i;
i := ct;
PT := True;
if i <> 0 then
begin
PT := False;
if (CauThu[2,CauThuHT[i]].Vitri.Y < CauThu[1,1].GioiHan.Y2) then
begin
CauThu[2,CauThuHT[i]].DiChuyen(#80);
end
else
if (CauThu[2,CauThuHT[i]].Vitri.X < (CauThu[1,1].GioiHan.X2
+ CauThu[1,1].GioiHan.X1) div 2) then
begin
CauThu[2,CauThuHT[i]].DiChuyen(#77);
end
else
if (CauThu[2,CauThuHT[i]].Vitri.X > (CauThu[1,1].GioiHan.X2
+ CauThu[1,1].GioiHan.X1) div 2) then
begin
CauThu[2,CauThuHT[i]].DiChuyen(#75);
end;
for j := 1 to SoCauthu do
if j <> i then
Begin
CauThu[2,j].DiChuyenNgauNhien;
CauThu[2,j].Dichuyen(Cauthu[2,j].KeyPress)
end;
end;
end;

Procedure TMayTinh.PhongThu;
var i,j: integer;
Begin
KiemTra;
PT := False;
for i := 1 to 2 do
if (not QBong.Sohuu[2,CauThuHT[i]]) and (not QBong.SoHuu[1,1]) then
begin
if (CauThu[2,CauThuHT[i]].Vitri.Y < QBong.Vitri.Y) then
begin
CauThu[2,CauThuHT[i]].DiChuyen(#80);
end
else
if (CauThu[2,CauThuHT[i]].Vitri.Y > QBong.Vitri.Y) then
begin
CauThu[2,CauThuHT[i]].DiChuyen(#72);
end
else
if (CauThu[2,CauThuHT[i]].Vitri.X < QBong.Vitri.X-1) then
begin
CauThu[2,CauThuHT[i]].DiChuyen(#77);
end
else
if (CauThu[2,CauThuHT[i]].Vitri.X > QBong.Vitri.X+1) then
begin
CauThu[2,CauThuHT[i]].DiChuyen(#75);
end;
PT := True;
for j := 1 to SoCauthu do
if j <> i then
Begin
CauThu[2,j].DiChuyenNgauNhien;
CauThu[2,j].Dichuyen(Cauthu[2,j].KeyPress)
end;
end;
end;

(*==============E May Tinh===========================*)

Procedure NewGame;
Begin
clrscr;
SetCusor(32,0);
San.VeSanBong;
QBong.SetSoHuu(0, 0);
TextColor(White);
Qbong.vitri.SetVitri(ChieuRong div 2 + KhoangCachCot,
chieuCao div 2 + KhoangCachDong);
GotoXy(QBong.Vitri.X,QBong.Vitri.Y);
Write(#265);
CauthuHT := 2;
DangSut := False;
DangChuyen := False;
end;

Procedure PlayerPlay;
var i : integer;
Begin
Cauthu[1,CauThuHT].MauAo := Red;
if Keypressed then
begin
Cauthu[1,CauThuHT].KeyPress := readkey;
for i := 1 To SoCauThu do
if i <> CauThuHT then
Cauthu[1,i].DichuyenNgauNhien;
end;
Cauthu[1,CauThuHT].DiChuyen(Cauthu[1,CauThuHT].KeyPress);
for i := 1 To SoCauThu do
if i <> CauThuHT then
Cauthu[1,i].Dichuyen(Cauthu[1,i].KeyPress);
if Dangsut then QBong.SutBong(LastHuong)
else if DangChuyen then QBong.SutBong(HuongChuyen);
MayTinh.PhongThu;
MayTinh.TanCong;
QBong.XuLi;
Cauthu[1,1].SetCauThuHT;
end;

BEGIN
NewGame;
repeat
PlayerPlay;
if MayTinh.PT then
until Cauthu[1,CauThuHT].KeyPress = #27;
END.

*Bậc cmn thầy*

Enter:Sút

space: chuyền

a,s,d,w: di chuyển

* dán vô notepad rồi sau đó đổi đuôi thành .pas nhá. bỏ vào đường link nè:

link: C:\FPC\2.0.4\bin\i386-win32

Lập trình hoàn toàn bằng pascal nhá.

Bậc cmn thầy

1
24 tháng 9 2017

Thế giới này thật là đáng sợ, tui cũng muốn làm lập trình viên nhưng mà .... ếu biết cái gì cả

I. TRẮC NGHIỆM: Khoanh tròn vào đáp án mà em cho là đúng nhất ở các câu trả lời bên dưới: Câu 1: Chương trình dịch làm gì ? A. Dịch từ ngôn ngữ lập trình sang ngôn ngữ máy. B. Dịch từ ngôn ngữ lập trình sang ngôn ngữ tự nhiên C. Dịch từ ngôn ngữ máy sang ngôn ngữ lập trình D. Dịch từ ngôn ngữ máy sang ngôn ngữ tự nhiên. Câu 2: Đâu là các từ khoá: A. Program, end, begin. B. Program, end, begin,...
Đọc tiếp

I. TRẮC NGHIỆM:
Khoanh tròn vào đáp án mà em cho là đúng nhất ở các câu trả lời bên
dưới:
Câu 1: Chương trình dịch làm gì ?
A. Dịch từ ngôn ngữ lập trình sang ngôn ngữ máy.
B. Dịch từ ngôn ngữ lập trình sang ngôn ngữ tự nhiên
C. Dịch từ ngôn ngữ máy sang ngôn ngữ lập trình
D. Dịch từ ngôn ngữ máy sang ngôn ngữ tự nhiên.
Câu 2: Đâu là các từ khoá:
A. Program, end, begin.
B. Program, end, begin, Readln, lop82
C. Program, then, mot, hai,ba
D. Lop82, uses, begin, end
Câu 3: Program là từ khoá dùng để:
A. Khai báo tiêu đề chương trình B. Kết thúc chương trình
C. Viết ra màn hình các thông báo D. Khai báo biến
Câu 4: Tên nào đúng ?
A. Lop 8a B. Lop8/a C. Lop8a D. 8a
Câu 5: Tên nào sai ?
A. Chuong_trinh B. Baitap1
C. A4H D. hoa@yahoo.com
Câu 6: Cấu trúc của chương trình Pascal gồm những phần nào?
A. Khai báo B. Khai báo và thân
C. Tiêu đề, khai báo và thân D. Thân
Câu 7: Trong các tên sau đây, tên nào là không hợp lệ trong ngôn ngữ Pascal?
A. TINHS B. DIENTICH
C. DIEN TICH D. TIMS
Câu 8: Để thoát khỏi Pascal ta sử dụng tổ hợp phím:
A. Alt + F9 B. Alt +X C. Ctrl+ F9 D. Ctrl + X
Câu 9: Kết quả in ra màn hình của câu lệnh Writeln(‘5+20 = ‘, 20+5); là:
A. 5+20=25 B. 5+20=20+5 C. 20+5=25 D. 25 = 25
Câu 10: Phần nguyên trong phép chia của hai số nguyên 16 và 5 là:
A. 16 div 5 = 1 B. 16 mod 5 = 1
C. 16 div 5 = 3 D. 16 mod 5 = 3
Câu 11: Trong Pascal, lệnh clrscr được dùng để
A. Xóa màn hình B. In thông tin ra màn hình
C. Nhập dữ liệu từ bàn phím D. Tạm dừng chương trình
Câu 12: Từ khóa dùng để khai báo hằng trong ngôn ngữ lập trình Pascal là:
A. Const B. Var
C. Real D.End
Câu 13: Để dừng chương trình nhập dữ liệu ta dùng lệnh

A. Clrscr; B. Readln(x);
C. X:= ‘dulieu’; D. Write(‘Nhap du lieu’);
Câu 14: Trong chương trình Turbo Pascal, tổ hợp phím Alt + F9 dùng để:
A. Dịch chương trình. B. Lưu chương trình.
C. Chạy chương trình. D. Khởi động chương trình
Câu 15: Trong chương trình Turbo Pascal từ khoá dùng để khai báo tên chương trình
là:
A. uses. B. Begin C. Program. D. End
Câu 16: Trong các tên sau, tên nào là hợp lệ trong ngôn ngữ Pascal:
A. Dien tich; B. Begin;
C. Tamgiac; D. 5-Hoa-hong;
Câu 17: Để tìm giá trị lớn nhất của 2 số a, b thì ta viết:
A. Max:=a;If b>Max then Max:=b;
B. If (a>b) then Max:=a;If (b>a) then Max:=b;
C. Max:=b;If a>Max then Max:=a;
D. Cả 3 câu đều đúng.
Câu 18: IF a>8 THEN b:=3 ELSE b:=5; Khi a nhận giá trị là 0 thì b nhận giá trị
nào?
A. 0 B. 5 C. 8 D. 3
Câu 19: Khi một chương trình Pascal hết lỗi, ta muốn chạy chương trình thì
nhấn phím:
A. F9 B. Ctrl + F9 C. F2 D. Ctrl + F2

Câu 20: Viết biểu thức toán a3- b3 sang Pascal thì ta viết là:

A. a3-b3 B. a*a*a-b*b*b
C. a.a.a-b.b.b D. aaa-bbb

Câu 21: Để thực hiện phép tính tổng của hai số nguyên a và b ta thực hiện như
sau :
A. Tong=a+b; B. Tong:=a+b;
C. Tong:a+b; D. Tong(a+b);
Câu 22: Câu lệnh điều kiện dạng đầy đủ là:
A. If < đk > then < câu lệnh 1> Else <câu lệnh 2>;
B. If <đk > then < câu lệnh>;
C. If <đk> then < câu lệnh 1>,<câu lệnh 2>;
D. Cả a,b,c đều sai.
Câu 23: Trong ngôn ngữ lập trình Pascal, từ không phải từ khóa là:
A. Uses B. Program C. End D. Computer
Câu 24: Dãy kí tự 20n10 thuộc kiểu dữ liệu
A. String B. Integer C. Real D. Char
Câu 25: Để chạy một chương trình Pascal ta nhấn tổ hợp phím
A. Ctrl+F9 B. Alt+F9
C. Shitf+F9 D. Ctrl+Shift+F9
Câu 26: Cấu trúc chung hợp lý của một chương trình Pascal là:
A. Begin -> Program -> End. B. Program -> End -> Begin.
C. End -> Program -> Begin. D. Program -> Begin -> End.
Câu 27: Phần dư trong phép chia của hai số nguyên 16 và 5 là:
A. 16 div 5 = 1 B. 16 mod 5 = 1

C. 16 div 5 = 3 D. 16 mod 5 = 3
Câu 28: A được khai báo là biến với kiểu dữ liệu số nguyên, X là biến với kiểu
dữ liệu xâu. Phép gán hợp lệ là:
A. A:= 4.5; B. X:= ‘1234’; C. X:= 57; D. A:=‘LamDong’;
Câu 29: Trong Pascal khai báo nào sau đây là đúng:
A. Var hs : real; B. Var 5hs : real;
C. Const hs : real; D. Var S = 24;
Câu 30: Chương trình sau cho kết quả là gi ?
Program vd;
Var a, b,: real; x,: integer ;
Begin readln(a, b);
If a>b then x:=a else x:=b;
Write(x);
End.
A. Xuất ra màn hình số nhỏ nhất trong 2 số a, b đã nhập
B. Xuất ra màn hình số lớn nhất trong 2 số a, b đã nhập
C. Chương trình không thực hiện được do lỗi khai báo kiểu dữ liệu
D. Đảo giá trị của 2 biến a, b cho nhau
Câu 31: Câu lệnh nào sau đây dùng để nhập một số từ bàn phím vào biến x?
A. Writeln(‘Nhập x = ’); B. Write(x);
C. Writeln(x); D. Readln(x);
Câu 32: Câu lệnh nào sau đây dùng để in giá trị lưu trong biến x ra màn hình?
A. Writeln(x); B. Write(x);
C. Write(x: 3); D. Cả A, B, C đều đúng
Câu 33: Trong Pascal, muốn dịch chương trình ta dùng tổ hợp phím nào sau đây:
A. Alt + F9 B. Ctrl + F9 C. Alt + F3 D. Ctrl + S
Câu 34: Số biến có thể khai báo tối đa trong một chương trình là bao nhiêu?
A. Chỉ một biến cho mỗi kiểu dữ liệu. B. 10 biến.
C. Chỉ hạn chế bởi dung lượng bộ nhớ. D. Không giới hạn.
Câu 35: Trong Pascal, để lưu chương trình mới gõ ta nhấn phím?
A. Nhấn phím F1 B. Nhấn phím F2
C. Nhấn phím F3 D. Nhấn phím F4
Câu 36: Trong Pascal, câu lệnh Writeln(16 mod 3) sẽ in lên màn hình kết quả là
bao nhiêu?
A. Kết quả là 5 B. Kết quả là 1
C. Kết quả là 16 D. Kết quả là 3
Câu 37: Phép toán (105 div 10 + 105 mod 5) có giá trị là:
A. 5 B. 0 C. 15 D. 10
Câu 38: Các thành phần cơ bản của một ngôn ngữ lập trình gồm:
A. Bảng chữ cái và các quy tắc để viết các câu lệnh.
B. Bảng chữ cái và các từ khoá
C. Các từ khoá và tên
D. Bảng chữ cái, các từ khoá và tên
Câu 39.Nếu ta dùng số Pi= 3.14, để tính chu vi đường tròn thì ta dùng từ khóa
nào để khai báo ?
A. Program B. Uses C. Var D.Const

Câu 40: Chọn câu lệnh Pascal hợp lệ trong các câu sau :
A. If x : = a + b then x : = x + 1;
B. If a > b then max = a;
C. If a > b then max : = a ; else max : = b;
D. If 5 = 6 then x : = 100;
II. TỰ LUẬN
Bài 1. Viết chương trình nhập một số nguyên dương có 2 chữ số. Cho biết số
vừa nhập là số chẵn hay số lẻ.
Bài 2. Viết chương trình nhập một số nguyên dương n. Hãy xuất ra màn hình
bảng cửa chương n.
Bài 3. Viết chương trình nhập một số nguyên dương n. Hãy liệt kê tất cả các ước
số lẻ của số nguyên dương n.

MONG NHẬN ĐƯỢC SỰ GIÚP ĐỠ TỪ CÁC BẠN !!!

0