2. Sử dụng hàm và thủ tục để viết chương trình tính tổng các số chẵn, lẻ trong xâu
Viết thủ tục nhập vào mảng một chiều có n phần tử. - Viết hàm tính tổng các phần tử của mảng? - Viết hàm Kiểm tra xem tổng tìm được là số chẵn hay số lẻ - Viết chương trình chính sử dụng các CTC nói trên. Hiển thị kết quả ra màn hình.
1- Viết chương trình con tính diện tích hình tròn bán kính R ( sử dụng thủ tục hoặc hàm)
2- Viết chương trình con tính diện tích tam giác khi biết đáy và chiều cao nhập từ bàn phím.( sử dụng 1 thủ tục hoặc hàm để tính diện tích)
3- Viết chương trình con tính diện tích tam giác với độ dài các cạnh nhập từ bàn phím.(sử dụng 1 thủ tục hoặc hàm )
1:
function dt(r:real):real;
begin
dt:=sqr(r)*pi;
end;
2:
function dt(a,b:real):real;
begin
dt:=1/2*a*b;
end;
3:
function dt(a,b,c:real):real;
var p,s:real;
begin
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
dt:=s;
end;
Sử dụng ngôn ngữ lập trình viết chương trình thực hiện các công việc sau:
1. Viết thủ tục nhập vào mảng A là điểm toán của n học sinh
2. Viết thủ tục xuất mảng A đã được sắp xếp lên màn hình
3. Viết hàm tính Tổng điểm của n học sinh trên
4. Viết thủ tục hoán vị trí điểm giữa các học sinh
5. Hoàn thành chương trình chính với số điểm được sắp xếp theo thứ tự tăng dần
Mình viết chương trình chính thôi, bạn tự viết chương trình con nhé
uses crt;
var a:array[1..100]of integer;
i,n,t,tam,j:integer;
begin
clrscr;
write('Nhap n=');readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
t:=0;
for i:=1 to n do
t:=t+a[i];
writeln('Tong diem cua ',n,' ban la: ',t);
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
begin
tam:=a[i];
a[i]:=a[j];
a[j]:=tam;
end;
for i:=1 to n do
write(a[i]:4);
readln;
end.
Bài tập chương trình con: (procedure và function) Bài 1: Viết hàm tính n giai thừa của một số nguyên dương (n!) Bài 2: Viết hàm tính tổng các số lẻ chia hết cho 5 từ 1 đến n Bài 3: Viết thủ tục thực hiện việc hoán đổi 2 giá trị của a và b
1 Viết chương trình nhập mạng một chiều n tính và in ra màn hình tổng số lẻ 2 viết chương trình nhập vào một xâu từ văn phím viết chương trình chuẩn hóa xâu bằng cách xóa các ký tự trống ở đâu xâu và cuối xâu 3 Viết các thao tác và lần tương ứng cần thực hiện để đọc một giá trị từ tệp ‘ DL.TXT ‘ Ghi giá trị vừa đọc vào tệp ‘KQ.TXT’ Giúp mình với ạ
1:
uses crt;
var a:array[1..100]of integer;
i,n,t:integer;
begin
clrscr;
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
t:=0;
for i:=1 to n do
if a[i] mod 2<>0 then t:=t+a[i];
writeln(t);
readln;
end.
3:
const fi='dl.txt'
fo='kq.txt'
var f1,f2:text;
a:integer;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,a);
writeln(f2,a);
close(f1);
close(f2);
end.
2:
uses crt;
var st:string;
d:integer;
begin
clrscr;
write('Nhap xau:'); readln(st);
d:=length(st);
while st[1]=#32 do
begin
delete(st,1,1);
d:=length(st);
end;
while st[d]=#32 do
begin
delete(st,d,1);
d:=length(st);
end;
writeln(st);
readln;
end.
Em xây dựng một số chương trình con để tính tổng dãy số nguyên từ a1, a2,...an, n và các số được nhập từ bàn phím, viết thủ tục nhập và hàm tổng
program nhap_tinhtong;
uses crt;
type kmang=array[1..1000] of integer;
var A:kmang;
n:integer;
{---Nhap---}
procedure nhap;
var i:integer;
begin
write('Nhap n: '); readln(n);
for i:=1 to n do
begin
write('A[',i,']= '); readln(A[i]);
end;
end;
{---Tinh-tong---}
function tinh_tong(A:kmang; n:integer):integer;
var t,i:integer;
begin
t:=0;
for i:=1 to n do
t:=t+A[i];
tinh_tong:=t;
end;
{---CT-chinh---}
BEGIN
clrscr;
nhap;
write('Tong cac phan tu la: ',tinh_tong(A,n));
readln;
end.
program nhap_tinhtong;
uses crt;
type kmang=array[1..1000] of integer;
var A:kmang;
n:integer;
{---Nhap---}
procedure nhap;
var i:integer;
begin
write('Nhap n: '); readln(n);
for i:=1 to n do
begin
write('A[',i,']= '); readln(A[i]);
end;
end;
{---Tinh-tong---}
function tinh_tong(A:kmang; n:integer):integer;
var t,i:integer;
begin
t:=0;
for i:=1 to n do
t:=t+A[i];
tinh_tong:=t;
end;
{---CT-chinh---}
BEGIN
clrscr;
nhap;
write('Tong cac phan tu la: ',tinh_tong(A,n));
readln;
end.
1. Viết chương trình nhập vào 1 số tự nhiên P. Tính và in ra màn hình các số lẻ và tổng các số lẻ từ 1 đến P. 2.Viết chương trình nhập vào 1 số tự nhiên N. Tính và in ra màn hình các số chẵn và tổng các số chẵn từ 1 đến N. 3. Viết chương trình nhập vào 1 số tự nhiên N. Tính tổng các số là ước của N. 4. Viết chương trình nhập vào 1 số tự nhiên N. Tính tổng các số là bội của 3 mà nhỏ hơn hoặc bằng N.
Câu 1:
Program HOC24;
var i,p: integer;
t: longint;
begin
write('Nhap P: '); readln(p);
t:=0;
for i:=1 to p do if i mod 2<>0 then t:=t+i;
write('Tong cac so le la: ',t);
readln
end.
Câu 2:
Program HOC24;
var i,n: integer;
t: longint;
begin
write('Nhap N: '); readln(n);
t:=0;
for i:=1 to n do if i mod 2=0 then t:=t+i;
write('Tong cac so chan la: ',t);
readln
end.
Câu 3:
Program HOC24;
var i,t,n: integer;
begin
write('Nhap N: '); readln(n);
t:=0;
for i:=1 to n do if n mod i=0 then t:=t+i;
write('Tong cac uoc cua ',n,' la: ',t);
readln
end.
Thực hiện viết chương trình:
1: Tính tổng các số từ M -> N
2: Kiểm tra 1 số nguyên nhập từ bàn phím có phải là số chẵn (lẻ), số âm (dương), chia hết (yêu cầu sử dụng CTC để viết)
Bài 1:
uses crt;
var m,n,i,t:integer;
begin
clrscr;
write('Nhap m='); readln(m);
write('Nhap n='); readln(n);
t:=0;
for i:=m to n do
t:=t+i;
writeln(t);
readln;
end.
2:
uses crt;
var n:integer;
{---------------chuong-trinh-con-kiem-tra-chan-le---------------------}
function ktcl(x:integer):boolean;
begin
if x mod 2=0 then ktcl:=true
else ktcl:=false;
end;
{--------------------chuong-trinh-con-kiem-tra-duong-am-------------------}
fucntion ktda(x:integer):boolean;
begin
if x>0 then ktda:=true
else if x<0 then ktda:=false;
end;
{--------------------chuong-trinh-chinh-------------------------}
begin
clrscr;
write('Nhap n='); readln(n);
if ktcl(n)=true then writeln('Day la so chan')
else writeln('Day la so le');
if ktda(n)=true then writeln('Day la so duong')
else writeln('Day la so am');
readln;
end.
Viết chương trình ( sử dụng chương trình con) nhập một dãy n số nguyên dương. Tính tổng các số lẻ trong dãy.
uses crt;
var a:array[1..100]of integer;
i,n,t:integer;
begin
clrscr;
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
t:=0;
for i:=1 to n do
if a[i] mod 2<>0 then t:=t+a[i];
writeln(t);
readln;
end.