Vct tính n! Vd ( 3!=1×2×3) a) sử dụng hàm b) sử dụng thủ tục
Vct nhập vào 2 số nguyên tính tổng 2 số vừa nhập ( tg đó có sử dụng thủ tục nhập và hàm tính tổng)
uses crt;
var a,b:integer;
{-------------------thu-tuc-nhap-------------------}
procedure nhap(var n:integer);
begin
write('Nhap so tu nhien:'); readn(n);
end;
{---------------------ham-tinh-tong----------------------}
function tong(x,y:integer):integer;
begin
tong:=x+y;
end;
{-----------------chuong-trinh-chinh---------------}
begin
clrscr;
nhap(a);
nhap(b);
writeln(tong(a,b));
readln;
end.
Cho 3 điểm a(x1;y1) b(x2;y2) c(x3;y3) tính chu vi và diện tích tam giác (1 cách sử dụng hàm,1 cách sử dụng thủ tục
program Angus;
uses crt;
var
x1,x2,x3,y1,y2,y3,s,p,n,a,b,c :real;
begin
clrscr;
write('Nhập tọa độ điểm A(x1,y1)= '); readln(x1,y1);
write('Nhập tọa độ điểm B(x2,y2)= '); readln(x2,y2);
write('Nhập tọa độ điểm C(x3,y3)= '); readln(x3,y3);
a:=sqrt(sqr(x2-x1)+sqr(y2-y1));
b:=sqrt(sqr(x3-x2)+sqr(y3-y2));
c:=sqrt(sqr(x1-x3)+sqr(y1-y3));
if (a+b>c) and (b+c>a) and (c+a>b) then
begin
p:=a+b+c;
n:=p/2;
s:=sqrt(n*(n-a)*(n-b)*(n-c));
writeln('Chu vi = ', p:0:2);
writeln('Diện tích = ',s:0:2);
end
else writeln('các điểm bạn vừa nhập không tạo thành 1 tam giác :> ');
readln
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.
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 chương trình tính giá trị biểu thức sau
T=a!+b!+(a-b)!
Với a,b nguyên dương (a>b) được nhập vào từ bàn phím. Chương trình có sử dụng chương trình con hàm hoặc thủ tục
Program HOC24;
var t: longint;
a,b: integer;
function gt(x: integer): longint;
var i: integer; tich: longint;
begin
tich:=1;
for i:=1 to n tich:=tich*i;
gt:=tich;
end;
begin
write('Nhap a: '); readln(a);
write('Nhap b: '); readln(b);
t:=gt(a)+gt(b)+gt(a-b);
write('T = ',t);
readln
end.
viết chương trình nhập 3 số thực a,b,c ừ bàn phím sử dụng chương trình con thủ tục tính đường trung tuyến tam giác
<bits/stdc++.h>
using namespace std;
int DTT(int a, int b, int c)
int m = sqrt(2*b*b+2*c*c-a*a)/2;
return m;
int main()
int a, b, c, m;
cout << "Nhap ba canh tam giac" << endl;
cin >> a >> b >> c;
m = DTT(a,b,c);
cout << m;
return 0;
end.
uses crt;
var a,b,c:real;
{-----------------chuong-trinh-con--------------------}
function ttuyen(x,y,z:real):integer;
begin
ttuyen:=(2*(sqr(ab)+sqr(ac))-sqr(bc));
end;
{---------------chuong-trinh-chinh-----------------------}
begin
clrscr;
repeat
write('a='); readln(a);
write('b='); readln(b);
write('c='); readln(c);
until (a>0) and (b>0) and (c>0) and (a+b>c) and (a+c>b) and (b+c>a);
writeln(sqrt(ttuyen(a,b,c))/4:4:2);
readln;
end.
Viết thủ tục nhập 2 số nguyên x, y từ bàn phím ( có sử dụng thủ tục chương trình con)
procedure nhap(x,y:integer);
begin
write('Nhap x='); readln(x);
write('Nhap y='); readln(y);
end;
Viết chương trình sử dụng các hàm và thủ tục xây dựng ở trên để giải bài toán:
Cho tệp dữ liệu TAMGIAC.DAT có cấu trúc như sau:
- Dòng đầu tiên chứa số N;
- N dòng tiếp theo, mỗi dòng chứa 6 số thực xA, yA, xB, yB, xC, yC là tọa độ 3 đỉnh A(xA, yA), B(xB, yB), C(xC, yC) của tam giác ABC
Hãy nhập dữ liệu từ tệpđã cho và trong số N tam giác đó, đưa ra tệp TAMGIAC.OUT gồm 3 dòng:
- Dòng đầu tiên là số lượng tam giác đều;
- Dòng thứ 2 là số lượng tam giác cân (nhưng không là đều);
- Dòng thứ 3 là số lượng tam giác vuông.
const fi='tamgiac.dat'
fo='tamgiac.out'
var f1,f2:text;
a,b,c,d,e,f:array[1..100]of integer;
i,n,dem1,dem2,dem3:integer;
ab,bc,ac:real;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,n);
for i:=1 to n do
readln(f1,a[i],b[i],c[i],d[i],e[i],f[i]);
dem1:=0;
dem2:=0;
dem3:=0;
for i:=1 to n do
begin
ab:=sqrt(sqr(a[i]-c[i])+sqr(b[i]-d[i]));
ac:=sqrt(sqr(a[i]-e[i])+sqr(b[i]-f[i]));
bc:=sqrt(sqr(c[i]-e[i])+sqr(d[i]-f[i]));
if (ab>0) and (ac>0) and (bc>0) and (ab+ac>bc) and (ab+bc>ac) and
(ac+bc>ab) then
begin
if (ab=ac) or (ac=bc) then inc(dem1);
if ((ab=ac) and (ab<>bc) and (ac<>bc)) then inc(dem2);
if ((ac=bc) and (bc<>ab) and (ac<>ab)) then inc(dem2);
if ((ac=bc) and (ac<>ab) and (bc<>ab)) then inc(dem2);
if sqr(ab)=sqr(ac)+sqr(bc) then inc(dem3);
if sqr(ac)=sqr(bc)+sqr(ab) then inc(dem3);
if sqr(bc)=sqr(ab)+sqr(ac) then inc(dem3);
end;
end;
writeln(f2,dem1);
writeln(f2,dem2);
writeln(f2,dem3);
close(f1);
close(f2);
end.