Câu 1: Tìm hiểu về công dung, cú pháp và quy trình hoạt động lệnh While trong Pascal
Câu 2: Sử dụng ngôn ngữ lập trình Pascal để giải quyết các bài toán sau:
A. Tìm giá trị nguyên dương nhỏ nhất để tổng S = 1+2+3+… > E với E là số nguyên được nhập vào từ bàn phím
B. Đếm xem số nguyên dương n được nhập vào từ bàn phím có bao nhiêu chữ số
C. Tính tổng các chữ số của số nguyên dương n được nhập vào từ bàn phím
D. Kiểm tra số nguyên dương n được nhập vào từ bàn phím có phải là số đối xứng hay không
E. Tìm tất cả các số đối xứng từ 1 đến n với n là số nguyên dương n được nhập vào từ bàn phím
Câu 1:
*Công dụng: Dùng để thực hiện câu lệnh lặp với số lần chưa biết trước
*Cú pháp: While <điều kiện> do;
*Quy trình thực hiện:
-Bước 1: Kiểm tra điều kiện
-Bước 2: Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua và thực hiện lệnh lặp kết thúc. Nếu điều kiện đúng thì thực hiện câu lệnh và quay lại bước 1
Câu 2:
A:
uses crt;
var s,e,i:integer;
begin
clrscr;
write('e='); readln(e);
i:=1;
s:=1;
while s<e do
begin
i:=i+1;
s:=s+i;
end;
writeln('so nguyen duong nho nhat de tong s=1+2+3+4+...>',e,' la: ',s);
readln;
end.
B:
uses crt;
var n,dem,x:integer;
begin
clrscr;
write('n='); readln(n);
if n>0 then
begin
x:=n;
dem:=0;
while n>0 do
begin
n:=n div 10;
dem:=dem+1;
end;
writeln('so chu so trong ',x,' la: ',dem);
end
else writeln('vui long nhap so nguyen duong n');
readln;
end.
C:
uses crt;
var n,t,d,i,x:integer;
st:string;
a:array[1..100]of integer;
begin
clrscr;
write('n='); readln(n);
if n>0 then
begin
str(n,st);
d:=length(st);
t:=0;
for i:=1 to d do
begin
val(st[i],a[i],x);
t:=t+a[i];
end;
writeln('tong cac chu so cua ',n,' la: ',t);
end
else writeln('vui long nhap so nguyen duong n');
readln;
end.
D:
uses crt;
var n,d,kt,i:integer;
st:string;
begin
clrscr;
write('n='); readln(n);
if n>0 then
begin
str(n,st);
d:=length(st);
kt:=0;
for i:=1 to d do
if st[i]<>st[d-i+1] then kt:=1;
if kt=0 then writeln('day la so doi xung')
else writeln('day khong la so doi xung');
end
else writeln('vui long nhap so nguyen duong n');
readln;
end.
E:
uses crt;
var n,i,d,kt,j:integer;
st:string;
begin
clrscr;
write('n='); readln(n);
if n>0 then
begin
writeln('cac so doi xung trong khoang tu 1 toi ',n,' la: ');
for i:=1 to n do
begin
str(i,st);
d:=length(st);
kt:=0;
for j:=1 to d do
if st[j]<>st[d-j+1] then kt:=1;
if kt=0 then write(i:4);
end;
end
else writeln('vui long nhap so nguyen duong n');
readln;
end.
Đây
Câu 1:*Công dụng: Dùng để thực hiện câu lệnh lặp với số lần chưa biết trước
*Cú pháp: While <điều kiện> do;
*Quy trình thực hiện:
-Bước 1: Kiểm tra điều kiện
-Bước 2: Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua và thực hiện lệnh lặp kết thúc. Nếu điều kiện đúng thì thực hiện câu lệnh và quay lại bước 1
Câu 2:
A:
uses crt;
var s,e,i:integer;
begin
clrscr;
write('e='); readln(e);
i:=1;
s:=1;
while s<e do
begin
i:=i+1;
s:=s+i;
end;
writeln('so nguyen duong nho nhat de tong s=1+2+3+4+...>',e,' la: ',s);
readln;
end.
B:
uses crt;
var n,dem,x:integer;
begin
clrscr;
write('n='); readln(n);
if n>0 then
begin
x:=n;
dem:=0;
while n>0 do
begin
n:=n div 10;
dem:=dem+1;
end;
writeln('so chu so trong ',x,' la: ',dem);
end
else writeln('vui long nhap so nguyen duong n');
readln;
end.
C:
uses crt;
var n,t,d,i,x:integer;
st:string;
a:array[1..100]of integer;
begin
clrscr;
write('n='); readln(n);
if n>0 then
begin
str(n,st);
d:=length(st);
t:=0;
for i:=1 to d do
begin
val(st[i],a[i],x);
t:=t+a[i];
end;
writeln('tong cac chu so cua ',n,' la: ',t);
end
else writeln('vui long nhap so nguyen duong n');
readln;
end.
D:
uses crt;
var n,d,kt,i:integer;
st:string;
begin
clrscr;
write('n='); readln(n);
if n>0 then
begin
str(n,st);
d:=length(st);
kt:=0;
for i:=1 to d do
if st[i]<>st[d-i+1] then kt:=1;
if kt=0 then writeln('day la so doi xung')
else writeln('day khong la so doi xung');
end
else writeln('vui long nhap so nguyen duong n');
readln;
end.
E:
uses crt;
var n,i,d,kt,j:integer;
st:string;
begin
clrscr;
write('n='); readln(n);
if n>0 then
begin
writeln('cac so doi xung trong khoang tu 1 toi ',n,' la: ');
for i:=1 to n do
begin
str(i,st);
d:=length(st);
kt:=0;
for j:=1 to d do
if st[j]<>st[d-j+1] then kt:=1;
if kt=0 then write(i:4);
end;
end
else writeln('vui long nhap so nguyen duong n');
readln;
end