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.
Var a: string;
i, Dem: integer;
Begin
writeln(‘nhap xau:’);
Readln(a);
Dem:=0;
For i:=1 to length(a) do
If (‘0’<=a[i]) and (a[i]<=’9’) then Dem:= Dem+1;
Writeln(Dem);
Readln
End.
uses crt: thư viện crt;
var a,b,c:real có nghĩa là khai báo a,b,c kiểu số thực
d,x1,x2: real là khai báo d,x1,x2 kiểu số thực
begin: bắt đầu
write('a,b,c:'); : viết(a,b,c)
readln(a,b,c); : đọc(a,b,c)
d:=b*b-4*a*c; : delta được gán bằng b bình -4 nhân a nhân c
if d<0 then writeln('phuong trinh vo nghiem'): nếu d<0 thì viết('phuong trinh vo nghiem')
else: ngược lại
gán x1,x2 lần lượt là hai nghiệm của phương trình
xuất hai nghiệm đó ra màn hình
xong rồi readln; end. có nghĩa là kết thúc chương trình
Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau dùng để làm gì? Var a:array[0..50] of real; i, k:byte;
Begin
k:= 0;
for i:= 1 to 50 do if a[i] > a[k] then k:= i;
writeln(k);
End.
A. Đếm số phần tử trong mảng a là số chẵn.
B. Đếm số phần tử trong mảng a là số lẻ.
C. Tính tổng các phần tử trong mảng a.
D. Đếm các phần tử có trong mảng a.
Bài làm của bạn @lê chí hiếu(bạn được 2,1 điểm)
bài 1
program PTYN;
uses crt;
var a:array[1..100,1..100]of integer;
i,j,m,n:integer;
f1,f2:text;
Max, Min:Integer;
Kt:boolean;
Procedure XuatMang;
begin
For i:=1 to n do
begin
for j:=1 to m do
Write(a[i,j]:4);
Writeln;
end;
end;
Procedure MaxCot(l:Integer);
var p:Integer;
begin
Max:=A[1,l];
For p:=2 to n do
if A[p,l]>Max then Max:=A[p,l];
end;
Procedure MinHang(k:Integer);
var o:integer;
begin
Min:=A[k,1];
For o:=2 to n do
if A[k,o]<Min then Min:=A[k,o];
end;
begin
clrscr;
assign(f1,'ptyn.inp');
assign(f2,'ptyn.out');
reset(f1);rewrite(f2);
while not EOF(f1) do
begin
kt:=false;
readln(f1,n,m);
for i:=1 to n do
begin
for j:=1 to m do
Read(f1,a[i,j]);
readln(f1);
end;
for i:=1 to n do
begin
for j:=1 to n do
begin
MaxCot(j);
MinHang(i);
if Max=Min then
begin
Writeln(f2,'(',i,',',j,')');
kt:=true;
end;
end;
end;
If kt=false then Writeln(f2,'Khong co ptu yen ngua.');
end;
Close(f1); Close(f2);
Readln
End.
Bài 4
const fi='tvh.inp';
fo='tvh.out';
var n,d,dem,sl,s2cs,s3cs,s4cs,s5cs,s6cs,s7cs,k,i,d1:longint;
st,st1,stk:string;
f1,f2:text;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,n,k);
str(n,st);
d:=length(st);
case d of
1: write(9);
2: begin
sl:=n-9;
dem:=9+sl*2;
end;
3: begin
s2cs:=(99-10)+1;
s3cs:=n-99;
dem:=9+s2cs*2+s3cs*3;
end;
4: begin
s2cs:=(99-10)+1;
s3cs:=(999-100)+1;
s4cs:=n-999;
dem:=9+s2cs*2+s3cs*3+s4cs*4;
end;
5: begin
s2cs:=(99-10)+1;
s3cs:=(999-100)+1;
s4cs:=(9999-1000)+1;
s5cs:=n-9999;
dem:=9+s2cs*2+s3cs*3+s4cs*4+s5cs*5;
end;
6: begin
s2cs:=(99-10)+1;
s3cs:=(999-100)+1;
s4cs:=(9999-1000)+1;
s5cs:=(99999-10000)+1;
s6cs:=n-99999;
dem:=9+s2cs*2+s3cs*3+s4cs*4+s5cs*5+s6cs*6;
end;
7: begin
s2cs:=(99-10)+1;
s3cs:=(999-100)+1;
s4cs:=(9999-1000)+1;
s5cs:=(99999-10000)+1;
s6cs:=(999999-1000000)+1;
s7cs:=n-999999;
dem:=9+s2cs*2+s3cs*3+s4cs*4+s5cs*5+s6cs*6+s7cs*7;
end;
end;
if k<=dem then
begin
i:=1;
d1:=0;
repeat
str(i,st1);
d1:=d1+length(st1);
i:=i+1;
until d1>=k;
stk:=st1[length(st1)-(d1-k)];
writeln(f2,stk);
end;
close(f1);
close(f2);
end.
Bài 5
PROGRAM robot;
VAR A:ARRAY[0..30,0..30] OF BYTE;
F:ARRAY[0..30,0..30] OF LONGINT;
m,n:INTEGER;
PROCEDURE Enter;
VAR i,j:INTEGER;
BEGIN
readln(m,n);
FOR i:=1 TO m DO
BEGIN
FOR j:=1 TO n DO read(A[i,j]);
readln;
END;
FOR i:=0 TO m DO A[i,0]:=-1;
FOR j:=0 TO n DO A[0,j]:=-1;
END;
FUNCTION Max(a,b:LONGINT):LONGINT;
BEGINIF (a>b) THEN Max:=a ELSE Max:=b;
END;
PROCEDURE Optimize;
VAR i,j:INTEGER;
BEGIN
FOR i:=0 TO m DO F[i,0]:=-1;
FOR j:=0 TO n DO F[0,j]:=-1;
F[0,1]:=0;
FOR i:=1 TO m DO
FOR j:=1 TO n DO
F[i,j]:=2*Max(F[i,j-1],F[i-1,j])+A[i,j];
END;
PROCEDURE Trace(i,j:INTEGER);
BEGINIF (i=1) AND (j=1) THEN
writeln(F[m,n])
ELSE
BEGIN
IF F[i,j-1]>F[i-1,j] THEN
Trace(i,j-1)
ELSE
Trace(i-1,j);
writeln(i,' ',j);
END;
END;
BEGIN
Assign(Input,'Robot.inp'); Reset(Input);
Assign(Output,'Robot.out');Rewrite(Output);
Enter;
Optimize;
Trace(m,n);
close(Input);
close(Output);
END.
Em hiểu,nhưng cách anh chỉ đến 8 chữ số là cùng.
Cách em thì chỉ cần lấy int64(em dùng luôn mấy biến real vì bự hơn) thì chấp 10^30
Chương trình sẽ bị lỗi vì vi i:5 chỉ dành cho số thực, không dành cho số nguyên
Sữa lỗi:
phần khai báo:a:array[1..250] of integer (ngoặc vuông ko phải ngoặc tròn)
program bai_3;
uses crt;
var f,g:text;
a1,a2,b1,b2,x1,x2,i,dem,luu:longint;
dtnn,dt1,dt2,dt3,dt4,dt5,dt6:real;
x3:array[1..1000]of longint;
dt:array[1..1000]of real;
begin
clrscr;
assign(f,'CHUNHAT.inp');reset(f);
readln(f,a1,b1);
close(f);
a2:=a1;b2:=b1;dt1:=a1*b1;dt2:=dt1/2;
x1:=0;i:=0;dem:=0;
while x1<b1 do
begin
dt3:=a2*x1/2;
dt4:=(b2-x1)*x1/2;
dt5:=b2*(a2-x1)/2;
dt6:=dt1-dt3-dt4-dt5;
dt[i]:=dt6;x3[i]:=x1;
x1:=x1+1;i:=i+1;dem:=dem+1;
end;
dtnn:=dt[1];
for i:=1 to dem do
begin
if (dtnn>dt[i])and(dt[i]<>0) then dtnn:=dt[i];
end;
x1:=0;
for i:=1 to dem do
if dtnn=dt[i] then luu:=i;
assign(g,'CHUNHAT.out');rewrite(g);
writeln(g,dt2:4:1);
writeln(g,x1);
writeln(g,dtnn:4:1);
writeln(g,x3[luu]);
close(g);
end.