Pascal | Viết chương trình giai thừa n số
Ví dụ: n = 8
Hiện thị kết quả = 1+2+3+4+5+6+7+8 = 36
Lưu ý: sử dụng xâu hoặc mảng
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.
*Hướng dẫn:
Gán tổng S với giá trị ban đầu là 0
- Sử dụng để lấy từng chữ số của số tự nhiên N bằng cách:
Lặp trong khi mà N còn > 0 thì
+ Gán k là chữ số cuối cùng của N.
+ Tiến hành cắt chữ số cuối cùng của N đi bằng việc lấy N chia cho 10.
+ Cộng dồn S: = S + k
Lặp lại cho đến khi N = 0 thì dừng
Cách 1: Có sử dụng chương trình con
uses crt;
var st:string;
{------------chuong-trinh-con-------------------}
function doi(st1:string):string;
var i,d:integer;
begin
d:=length(st1);
for i:=1 to d do
st1[i]:=upcase(st1[i]);
doi:=st1;
end;
{-------------------chuong-trinh-chinh--------------------}
begin
clrscr;
write('Nhap xau:'); readln(st);
writeln(doi(st));
readln;
end.
Cách 2: Không sử dụng chương trình con
uses crt;
var st:string;
i,d:integer;
begin
clrscr;
write('Nhap xau:'); readln(st);
d:=length(st);
for i:=1 to d do
st[i]:=upcase(st[i]);
writeln(st);
readln;
end.
*Cách có sử dụng chương trình con:
uses crt;
var st:string;
{--------------chuong-trinh-con---------------}
function doixau(st:string):string;
var i,d:integer;
begin
d:=length(st);
for i:=1 to d do
st[i]:=upcase(st[i]);
doixau:=st;
end;
{-------------chuong-trinh-chinh---------------}
begin
clrscr;
write('Nhap xau:'); readln(st);
writeln('Xau doi sang chu hoa la: ',doixau(st));
readln;
end.
*Cách không sử dụng chương trình con:
uses crt;
var st:string;
i,d:integer;
begin
clrscr;
write('Nhap xau:'); readln(st);
d:=length(st);
for i:=1 to d do
st[i]:=upcase(st[i]);
writeln('Xau sau khi doi la: ',st);
readln;
end.
Bài 2:
uses crt;
var x,i,n,dem:integer;
begin
clrscr;
readln(n);
dem:=0;
for i:=1 to n do
begin
readln(x);
if x mod 2=0 then inc(dem);
end;
writeln(dem);
readln;
end.
Bài 1:
uses crt;
var n,i,s:integer;
begin
clrscr;
write('Nhap n='); readln(n);
s:=0;
i:=1;
while i<=n do
begin
s:=s+i;
inc(i);
end;
writeln('Tong cac so trong khoang tu 1 den ',n,' la: ',s);
readln;
end.
Bài 2:
uses crt;
var n,i,s:integer;
begin
clrscr;
write('Nhap n='); readln(n);
s:=0;
i:=1;
while i<=n do
begin
s:=s+i;
i:=i+2;
end;
writeln('Tong cac so le trong khoang tu 1 den ',n,' la: ',s);
readln;
end.
câu 1:
program AlgorithmExample;
var
T, n: integer;
begin
// Bước 1
T := 8;
n := 1;
// Bước 2
while T < 99 do
begin
// Bước 3
n := n + 3;
T := T * n;
end;
// Bước 4
writeln('Gia tri cua T: ', T);
writeln('Gia tri cua n: ', n);
readln;
end.
câu 2:
program StudentAverage;
var
n, countAboveAverage: integer;
sum, average, score: real;
begin
// Nhập số lượng học sinh
write('Nhap so luong hoc sinh (1-70): ');
readln(n);
// Kiểm tra điều kiện
if (n < 1) or (n > 70) then
begin
writeln('So luong hoc sinh khong hop le.');
readln;
halt;
end;
// Khởi tạo biến
countAboveAverage := 0;
sum := 0;
// Nhập và tính điểm trung bình
for var i := 1 to n do
begin
write('Nhap diem cua hoc sinh ', i, ': ');
readln(score);
sum := sum + score;
// Kiểm tra điều kiện điểm trung bình
if score >= 5.0 then
countAboveAverage := countAboveAverage + 1;
end;
// Tính điểm trung bình
average := sum / n;
// In ra kết quả
writeln('So luong hoc sinh dat diem trung binh tro len: ', countAboveAverage);
writeln('Ti le hoc sinh dat diem trung binh tro len: ', countAboveAverage / n * 100:0:2, '%');
readln;
end.
Lưu ý rằng trong chương trình của câu 2, điểm trung bình được tính và sau đó kiểm tra xem học sinh có đạt điểm
trung bình trở lên hay không.
cau 1:
uses crt;
var a:array[1..100] of integer;
n,i,min: integer;
begin
readln(n);
for i:=1 to n do
readln(a[i]);
min:=a[1];
for i:=2 to n do
if min>a[i] then min=a[i];
writeln(a[i]);
readln;
end.
cau 2:
uses crt;
g:text;
s:string;
const fo='CHUSO.TXT';
begin
assign(g,fo);
rewrite(g);
readln(s);
for i:=1 to length(s) do
if not((s[i] in ['a'..'z'])and(s[i] in ['A'..'Z])) then delete(s,i,1);
writeln(g,s);
end.
Cái này mình viết chương trình chính thôi, bạn tự viết ctc nhé
Câu 1:
uses crt;
var n,i,s:longint;
begin
clrscr;
write('Nhap n='); readln(n);
s:=1;
for i:=1 to n do
s:=s*i;
writeln(s);
readln;
end.
Câu 2:
uses crt;
var st:string;
i,d:integer;
begin
clrscr;
write('Nhap xau:'); readln(st);
d:=length(st);
for i:=d downto 1 do
write(st[i]);
readln;
end.
bn tự khai báo nhé!!
begin
clrscr;
write('nhap n=');readln(n);
s:=0;
for i:=1 to n do
s:=s+i;
writeln('tong s la:',s);
readln
end.
XONG!!!
Bạn quên phần lưu ý rồi, nếu họ nhập cả trăm ngàn thì bị lỗi, longint bị hạn chế kí tự