Sử dụng thủ tục để viết chương trình giải phương trình bậc 2 : ax^2+bx+c
Bài 1:Viết thuật toán và chương trình giải phương trình bậc 2 ax^2+bx+c=0
Bài 2:viết thuật toán và viết chương trình giải phương trình bậc 1 ax+b=0
Bài 2:
Thuật toán:
B1: Nhập a,b
B2: Kiểm tra nếu a=0 và b=0 thì phương trình có vô số nghiệm
B3: Kiểm tra nếu a=0 thì phương trình vô nghiệm
B4: Kiểm tra nếu a khác 0 thì có nghiệm x=-b/a;
Viết chương trình:
Program HOC24;
var a,b: integer;
x: real;
begin
write('Nhap a; b: '); readln(a,b);
if a=0 and b=0 then write('Phuong trinh co vo so nghiem');
if a=0 then write('Phuong trinh vo nghiem');
if a<>0 then write('x=',-b/a:1:2);
readln
end.
Bài 1:
Thuật toán:
B1: Nhập a,b,c
B2: Tính \(\Delta\) = b2-4ac;
B3: Kiểm tra nếu \(\Delta\) >0 phương trình có 2 nghiệm phân biệt
\(x_1=\dfrac{-b+\sqrt{\Delta}\text{ }}{2a}\)
\(x_2=\dfrac{-b-\sqrt{\Delta}}{2a}\)
B4: Kiểm tra nếu \(\Delta\)<0 thì phương trình vô nghiệm
B5: Kiểm tra nếu \(\Delta\)=0 phương trình có 2 nghiệm kép \(x_1=x_2=-\dfrac{b}{2a}\)
Viết chương trình:
Program HOC24;
var a,b,c: integer;
x1,x2: real;
denta: longint;
begin
write('Nhap a; b; c: '); readln(a,b,c);
denta:=b*b-4*a*c;
if denta>0 then
begin
write('x1= ',(-b+sqrt(denta))/(2*a):1:2);
write('x2= ',(-b-sqrt(denta))/(2*a):1:2);
end;
if denta<0 then write('Phuong trinh vo nghiem');
if denta=0 then write('x= ',-b/2*a:1:2);
readln
end.
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;
Viết chương trình giải phương trình bậc 2 sử dụng chương trình con.
tham khao :
https://expressmagazine.net/development/4038/cai-dat-phuong-trinh-bac-hai-bang-chuong-trinh-con-procedure
Bài 1: Hãy viết chương trình con thực hiện các công việc sau trên mảng một chiều:
+ Nhập vào 1 mảng
+ In mảng
+ Sắp xếp mảng tăng dần
+ Tính tổng các phần tử trong mảng
+ Đếm các phần tử chia hết cho 3 trong mảng
+ Đếm các số âm, dương trong mảng
Bài 2: Viết chương trình con để tính diện tích các hình sau:
- Diện tích hình tam giác theo công thức herrong khi biết độ dài 3 cạnh a, b, c của tam giác. S=sqrt(p*(p-a)*(p-b)*(p-c)) với p=(a+b+c)/2
- Diện tích hình thang khi biết độ dài chiều cao h và 2 cạnh đáy a, b S=(a+b)*h/2 - Diện tích hình vuông khi biết độ dài cạnh. Bài 10: Viết chương trình giải phương trình bậc 2 sử dụng chương trình con
const fi='dulieu.inp'
fo='kq.inp'
var f1,f2:text;
a,b,c,delta:real;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,a,b,c);
delta:=sqr(b)-4*a*c;
if delta<0 then writeln(f2,'Phuong trinh vo nghiem');
if delta=0 then writeln(f2,'Phuong trinh co nghiem kep la: ',-b/(2*a):4:2);
if delta>0 then
begin
writeln(f2,'Nghiem thu nhat la: ',(-b+sqrt(delta))/(2*a):4:2);
writeln(f2,'Nghiem thu hai la: ',(-b-sqrt(delta))/(2*a):4:2);
end;
close(f1);
close(f2);
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 thuật toán giải phương trình bậc 2
ax2+bx+c=0
B1:nhập a,b,c
B2: Tính đen ta = b^2-4ac
B3: nếu a<0 thì phương trình vô nghiệm =>B6
B4:nếu a=0 thì pt có nghiệm kép x=-b/2a => B6
B5:nếu a>0 thì pt có 2 nghiệm phân biệt x1= (-b+căn đen ta)/2a ; x2= (-b-căn đen ta)/2a =>B6
B6 :kết thúc,
nếu muốn vẽ bằng sơ đồ khối thì xem tại: https://vubinh94.wordpress.com/tag/so-do-khoi-giai-phuong-trinh-bac-2-ax2bxc0/
Sử dụng cấu trúc rẽ nhánh để viết chương trình + Tìm GTLN của 2 số nguyên dương + Tìm nghiệm của phương trình bậc hai
Câu 2:
#include <bits/stdc++.h>
using namespace std;
double a,b,c,delta,x1,x2;
int main()
{
//freopen("PTB2.inp","r",stdin);
//freopen("PTB2.out","w",stdout);
cin>>a>>b>>c;
delta=(b*b-4*a*c);
if (delta<0) cout<<"-1";
if (delta==0) cout<<fixed<<setprecision(5)<<(-b/(2*a));
if (delta>0)
{
x1=(-b-sqrt(delta))/(2*a);
x2=(-b+sqrt(delta))/(2*a);
cout<<fixed<<setprecision(5)<<x1<<" "<<fixed<<setprecision(5)<<x2;
}
return 0;
}
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.
1) hãy viết các lệnh để rùa vẽ được một hình lục giác đều có cạnh tương ứng 120 bước của rùa
2) viết thủ tục Lucgiac để rùa vẽ hình lục giác có cạnh tương ứng 80 bước của rùa
câu 3 sử dụng thủ tục lucgiac ở câu 2 để viết chương trình vẽ ở hình bên lưu têp là lucgiac2