+ Đọc giá trị các biến a,b,c từ bàn phím.. + Nếu delta=0 thì phương trình có nghiệm kép.. Nếu delta >0 thì phương trình có 2 nghiệm thực Nếu delta io.h> ta; #include... + Dùng thuật toá
Trang 1PHẦN II : LỆNH ĐIỀU KIỆN
+ IF
+ LỆNH SWITCH CASE
+ TOÁN TỬ ?
ûp chương trình nhập các hệ số a, b, c, d, e, f, vào máy từ
ìn phím rồi giải và biện luận hệ phương trình sau:
1 Lâ
ba
{ ax + by = c
dx + ey = f
* Thuật toán:
+ có thể khai báo các biê
ún : a,b,c,d,e,f, dinhthuc,dx,dy:real; các giá trị củ a,b,c,d,e,f từ bàn phím
Gán : dinhthuc=a*e -d*b;
0 hoặc dy <> 0thì Hệ phương trình vô nghiệm
+
dx=c*e -f*b;
dy=a*f-d*c;
Nếu dinhthuc <> 0 thì hệ phư
Nghiem x = (dx/dinhthuc);
Nghiem y = (dy/dinhthuc)
Ngược lại Nếu dx <>
ngược lại hệ phương trình vô định
* Chương trình
<math.h>
#include
nclude
#i <stdio.h>
onio.h>
hthuc,dx,dy;
#include <c
main()
{
clrscr();
float a,b,c,d,e,f,din
");
printf(" nhap a=
scanf("%f",&a);
Trang 2printf(" nhap b=");
);
);
);
f=");
);
*e-f*b;
e if (dx!=0) printf(" he phuong trinh vo nghiem");
se printf(" He phuong trinh vo dinh");
tch();
h giải phương trình bậc hai : ax2 + bx + c = 0
scanf("%f",&b);
printf(" nhap c="
scanf("%f",&c);
printf(" nhap d="
scanf("%f",&d);
printf(" nhap e="
scanf("%f",&e);
printf(" nhap
scanf("%f",&f
dinhthuc=a*e-d*b;
dx=c
dy=a*f-d*c;
if (dinhthuc!=0)
{
printf("nghiem x=%0.2f",dx/dinhthuc);
printf("nghiem y=%0.2f",dy/dinhthuc);
}
els
el
ge
}
2.Lập chương trìn
với a, b, c khác không
* Thuật toán:
+ Khai báo các biến a,b,c,delta, x1,x2
+ Đọc giá trị các biến a,b,c từ bàn phím
+ Lập Delta=b2 -4*a*c
+ Nếu delta=0 thì phương trình có nghiệm kép
Nếu delta >0 thì phương trình có 2 nghiệm thực
Nếu delta <0 thì phương trình vô nghiệm
àn hình
+
+
+ Viết kết quả ra m
* Chương trình
#include <stdio.h>
h.h>
io.h>
ta;
#include <mat
#include <con
void main()
{ clrscr();
float a, b, c, del
Trang 3printf("\nGiai phuong trinh bac hai AXý + BX + C = 0");
ba he so A : ");
he so B : ");
biet ba he so C : ");
c;
tf("Phuong trinh vo nghiem");
e if (delta == 0)
f("Phuong trinh co hai nghiem phan biet\nx1 = %0.2f", (-b
))/(2*a));
intf("\nx2 = %0.2f", (-b - sqrt(delta))/(2*a));
Lập chương trình giải bất phương trình bậc hai :
printf("\nCho biet
scanf("%f", &a);
printf("\nCho biet
scanf("%f", &b);
printf("\nCho
scanf("%f", &c);
delta = b * b - 4 * a *
if (delta<0)
prin
els
printf("Phuong trinh co nghiem kep x1 = x2 = %0.2f", -b/(2*a)); else
{
+ sqrt(delta
pr
}
getch();
}
3
ax2 + bx + c > 0 với a, b, c bất kỳ
* Thuật toán:
+ Khai báo các biến a,b,c,x1,x2,delta,x;
+
ợc lại
ơng trình x>-c/b +
trinh dung moi x;
iệm x1=(-b-sqrt(delta))/(2*a)
delta))/(2*a) Ng
+ Nếu
Nếu delta <=0 thì bất phương trình vô nghiệm
Nếu delta >0 Thì
ơng trình x1<x<x2
Đọc giá trị các biến từ bàn phím
Nếu a=0 và b=0 và c=
Ngược lại nếu a=0
Nếu b=0 thìkhong phai bat phuong trinh
Ngư
Nếu b>0 thì nghiệm bất phư
Nếu b<0 thì nghiem bat phuong trinh x<-c/b
Nếu a>0 thì
lập delta:=sqr(b)-4*a*c;
Nếu delta <=0 thì bat phuong
Nếu delta >0 thì bất phương trình có ngh
x2:=(-b+sqrt(
hiệm bất phương trình x<x1 hoặc x>x2
a<0 Thì
Nghiệm bất phư
Trang 4* Chæång trçnh
#include <stdio.h>
h.h>
clude <conio.h>
2,x, delta;
hai AXý + BX + C > 0");
ba he so A : ");
he so B : ");
==0)&&(b==0)&& (c==0))
moi ban nhap lai cac he so a,b,c nhe");
f (b==0)
(b>0) printf(" nghiem cua bat phuong trinh>%0.2f",-c/b);
printf(" nghiem cua bat phuong trinh<%0.2f",-c/b);
= b * b - 4 * a * c;
g trinh dung voi moi x");
sqrt(delta))/(2*a);
"nghiem cua bat phuong trinh x<%0.2f",x1);
ac x>%0.2f",x2);
- 4 * a * c;
#include <mat
#in
void main()
{
clrscr();
float a, b, c,x1,x
printf("\nGiai bat phuong trinh bac
printf("\nCho biet
scanf("%f", &a);
printf("\nCho biet
scanf("%f", &b);
printf("\nCho biet ba he so C : ");
scanf("%f", &c);
if ((a
printf("Xin
else if (a==0)
{
i
printf("khong phai la bat phuong trinh -hay nhap lai"); else
{
if
if (b<0)
}
}
if (a>0)
{
delta
if (delta<=0) printf(" Bat phuon
if (delta>0)
x1=(-b-sqrt(delta))/(2*a);
x2=(-b+
printf(
printf(" ho
if (a<0)
{
delta = b * b
Trang 5if (delta<=0)
printf("Bat phuong trinh vo nghiem ");
=(-b-sqrt(delta))/(2*a);
2=(-b+sqrt(delta))/(2*a);
nghiem cua bat phuong trinh x>%0.2f",x2);
printf(" va x<%0.2f",x1);
}
getch();
if (delta>0)
{
x1
x
printf("
}
}
4 Tính an
* Thuật toán:
+ Khai báo các biến a,n
+ Đọc các giá trị của a,n từ bàn phím
g tính gược lại thì tính theo biểu thức: Exp(n*ln(a))
ìn hình
+ Nếu a<0 thì khôn
n
+ Viết kết quả ra ma
* Chương trình
#include <stdio.h>
clude <math.h>
io.h>
hap n=");
nf("%f",&n);
f mu %lf la %lf\n",a,n,exp(n*log(a)));
#in
#include <con
void main()
{
clrscr();
float a,n;
printf(" nhap a=");
scanf("%f",&a);
printf(" n
sca
if (a<0) printf(" khong tinh duoc");
else printf("%l
getch();
}
5 Nhập 4 số a, b, c, d Tìm giá trị lớn nhất (maximum)
* Thuật toán:
+ Khai báo các biến : a,b,c,d,max
Trang 6+ Dùng thuật toán lính canh: gán max= phần tử bất kỳ rồi lấy
o sánh với max
àn hình
các phần tử khác đem s
+ Viết kết quả max ra m
* Chương trình
io.h>
th.h>
max=b;
(c>max) max=c;
Chứng minh có phải là độ dài của 3
giác cân, đều, vuông,
*
#include <std
#include <ma
#include <conio.h>
void main()
{
clrscr();
float a,b,c,d,max;
printf(" nhap a=");
scanf("%f",&a);
printf(" nhap b=");
scanf("%f",&b);
printf(" nhap c=");
scanf("%f",&c);
printf(" nhap d=");
scanf("%f",&d);
/*dung thuat toan linh canh*/
max=a;
if (b>max)
if
if (d>max) max=d;
printf(" Gia tri lon nhat la=%f",max);
getch();
}
6 Nhập 3 giá trị a, b, c
cạnh của một tam giác không ? Tìm tam
vuông cân, tam giác thường
Thuật toán:
+
+ các biến từ bàn phím
+
ì (a> 0)
iác đều
Khai báo các biến a,b,c
Đọc giá trị
Nếu (a+b>c) và ( a+c> b)
và (b+c>a) va
và (c > 0) và (a > 0) thì
Nếu (a=b) and (b=c) and (c=a) tam g
Trang 7Ngược lại
Nếu (a=b) hoặc (b=c) hoặc (a=c) thì tam giác cân
Ngược lại
Nếu ((a*a+b*b=sqr(c)) và (a=b)) hoặc
hoặc ((c*c+b*b=a*a)và (c=b)) thì tam giác vuông cân
Nếu(sqr(a)=b*b+c*c) hoặc (b*b=a*a+c*c) hoặc(c*c=a*a+b*b) thì
iác thường hông hợp lệ
rình
((sqr(a)+sqr(c)=b*b)và (a=c))
Ngược lại
Tam giác vuông
Ngược lại tam g
Ngược lại nhập k
* Chương t
io.h>
h>
f("%f",&a);
);
f(" Tam giac deu");
e if ((a==b)||(b==c)||(a==c)) printf(" Tam giac can");
a+c*c==b*b) &&(a==c))
=a*a)&&(c==b))) printf("Tam giac vuong can");
e if ((a*a==b*b+c*c)||(b*b==a*a+c*c)||(c*c==a*a+b*b))
printf("Tam giac vuong");
tf("Tam giac thuong");
tam giac khong hop le");
#include <std
#include <math
#include <conio.h>
void main()
{
clrscr();
float a,b,c;
printf(" nhap a=");
scan
printf(" nhap b=");
scanf("%f",&b);
printf(" nhap c=");
scanf("%f",&c);
if ((a+b>c) && (a+c>b) && (b+c>a) &&(a>0)&&(b>0)&& (c>0))
{
printf("a,b,c la canh cua "
if ((a==b)&&(b==c)&&(c==a)) print
els
else if (((a*a+b*b==c*c)&&(a==b))||((a*
||((c*c+b*b=
els
else prin
}
else printf("
getch();
}
Trang 87 Lậ o độ ba điểm A, B, và O Tính góc hình họ
Hướng dẫn:
+Nhập tọa đô b,yb), C(xc,yc), O(xo,y0 )
Tính
Cos = ((xa - x0)*(xb-x0) + (ya - y0)*(yb - y0))/(OA*OB)
ía gócAOB + Từ
p chương trình đọc vào tạ
c AOB
ü điểm A(xa, ya), B(x +
2 2
) (
) (x x y y
2 2
0
(x x y y
+ Từ cos của góc AOB tính sin của góc AOB và tg cu
tg của góc AOB ta dùng hàm ngược ARCTAN để tính góc AOB
* Thuật toán:
+ ïc biến : Xa,Ya, Xo, Yo, Xb,Yb,goc,OA,OB,cos,tg
+ G ((xa-xo)*(xa-xo)+(ya-yo)*(ya-xo));
ob=sqrt((xb-xo)*(xb-xo)+(yb-yo)*(yb-xo));
thuc cua tich vo huong suy ra cosin goc AOB}
-Yo)*(Yb-Yo))/(OA*OB);
+ Nếu
goc=pi Ngược lại
ì goc=pi/2
cos))/cos;
{ don vi Radian}
<0 Thì goc=pi/2 -goc;
iết kết quả góc
Khai báo ca
Đọc giá trị của các biến
án oa=sqrt
{ Theo cong
cos=((Xa-Xo)*(Xb-Xo) + (Ya
cos =1 thì goc=0
Ngược lại
Nếu cos=-1 thì
Nếu cos=0 th
Ngược lại
tg=sqrt(1-sqr(
goc=arctan(tg);
Nếu goc
+ V
* Chương trình
#include <stdio.h>
#include <math.h>
#include <conio.h>
void main()
{
clrscr();
float xa,ya,xo,yo,xb,yb,goc,cos,oa,ob,tg;
h goc con lai cua tam giac\n");
printf("Chuong trinh tin
printf("Vao lan luot cac diem\n ");
printf(" Toa do cua diem A: Xa,Ya=");
Trang 9scanf("%f%f",&xa,&ya);
printf(" Toa do cua diem B: Xb,Yb=");
scanf("%f%f",&xb,&yb);
o,Yo=");
t((xa-xo)*(xa-xo)+(ya-yo)*(ya-xo));
o)*(yb-xo));
uong suy ra cosin cua goc AOB
*(yb-yo))/(oa*ob);
os==1) goc=0;
-1) goc=M_PI;
rt(1-cos*cos)/cos;
c=atan(tg);// don vi Radian
if (goc<0) goc=M_PI/2-goc;
Goc AOB=%f\n",goc);
80/M_PI);
nh giải tam giác khi biết ba cạnh
ớng dẫn: Muốn giải tam giác khi biết ba cạnh ta dùng hệ thức
để
*
printf(" Toa do cua diem O: X
scanf("%f%f",&xo,&yo);
oa=sqr
ob=sqrt((xb-xo)*(xb-xo)+(yb-y
//Tinh theo cong thuc tich vo h
cos=((xa-xo)*(xb-xo)+(ya-yo)
if (c
else if (cos==
else if (goc==0) goc=M_PI/2;
else
{ tg=sq
go
}
printf("\n");
printf("
printf(" Tinh theo do=%f\n",goc*1
getch();
}
8 Lập chương trì
Hư
cosin:
2 2 2
a =b + c - 2bc.cosA
2 2 2
b =a + c - 2ac.cosB
2 2 2
C
c =a + b - 2ab.cos óc
tính các g
Thuật toán:
+
0 thì goc:=pi/2
sqr(cos))/cos;
0 thì goc:=pi/2 -goc;
, cosC}
Khai báo các biến a,b,c,cos
Đọc giá trị các bi
gán cos:=(b*b +c*c -a*a)/(2*b*c);
Nếu cos =
Ngược lại
Nếu cos =-1 thì goc:=pi
Ngược lại
tg:=sqrt(1-goc:=arctan(tg);
Nếu goc <
gA:=goc;
{Tương tự cho cosB
cos:=(a*a +c*c -b*b)/(2*a*c);
Trang 10Nếu cos =0 thì goc:=pi/2
sqr(cos))/cos;
thì goc:=pi/2 -goc;
Nếu cos =0 thì goc:=pi/2
ược lại
cos))/cos;
goc:=arctan(tg);
oc:=pi/2 -goc;
A,B,C ra màn hình
ình
Ngược lại
Nếu cos =-1 thì goc:=pi
Ngược lại
tg:=sqrt(1-goc:=arctan(tg);
Nếu goc < 0
gB:=goc;
cos:=(a*a +b*b -c*c)/(2*a*b);
Ngược lại
Nếu cos =-1 thì goc:=pi
Ng
tg:=sqrt(1-sqr(
Nếu goc < 0 thì g
gC:=goc;
Viết góc
* Chương tr
#include <stdio.h>
#include <math.h>
#include <conio.h>
void main()
{
clrscr();
float a,b,c,tg,goc,goca,gocb,gocc,cos;
printf(" nhap a=");
scanf("%f",&a);
printf(" nhap b=");
scanf("%f",&b);
f(" nhap c=");
thuc a^2=b^2+c^2-2bcCosA
os==0) goc=M_PI/2;
==-1) goc=M_PI;
goc<0) goc=M_PI/2-goc;
scanf("%f",&c);
//tinh cos tu he
cos=(b*b+c*c-a*a)/(2*b*c);
if (c
else if (cos
else
{
tg=sqrt(1-cos*cos)/cos;
goc=atan(tg);
if (
Trang 11}
goca=goc;
//tuong tu cho CosB
os==0) goc=M_PI/2;
==-1) goc=M_PI;
goc<0) goc=M_PI/2-goc;
osC
os==0) goc=M_PI/2;
==-1) goc=M_PI;
ntf(" Tam giac ABC co:\n");
printf(" GocA=%f\n",goca);
cc);
R de ket thuc");
getch();
ì bàn phím một số nguyên n (1 ≤ n ≤ ) rồi đưa ra tiếng Anh của số đó Chẳng hạn, nếu gõ vào n = 4
our
Thuật toán:
cos=(a*a+c*c-b*b)/(2*a*c);
if (c
else if (cos
else
{
tg=sqrt(1-cos*cos)/cos;
goc=atan(tg);
if (
}
gocb=goc;
//tuong tu cho C
cos=(a*a+b*b-c*c)/(2*a*b);
if (c
else if (cos
else
{
tg=sqrt(1-cos*cos)/cos;
goc=atan(tg);
if (goc<0) goc=M_PI/2-goc;
}
gocc=goc;
pri
printf(" theo do=%f\n",180*goca/M_PI);
printf(" GocB=%f\n",gocb);
printf(" GocC=%f\n",go
printf("An ENTE
}
9.Lập chương trình đọc tư
10
thì đưa ra : 4 →F
*
ến so từ bàn phím
witch … case
trình
+ Khai báo biến so
+ Đọc giá trị của bi
+ Dùng s
* Chương
#include <math.h>
Trang 12#include <stdio.h>
h>
se 4:printf("Four"); break;
rintf("Five"); break;
ase 6:printf("Six"); break;
ntf("Seven"); break;
rintf("Ten"); break;
ûn, biết rằng giá trong định mức là 1000đ/1kwh,
á ngoài định mức là 2000đ/1kwh.Biết rằng quy định định mức
*
#include <conio
main()
{
clrscr();
int so;
printf(" nhap so=");
scanf("%i",&so);
switch (so) {
case 1: printf("One"); break;
case 2: printf("Two"); break;
case 3:printf("Three"); break;
ca
case 5:p
c
case 7:pri
case 8:printf("Eigth"); break;
case 9:printf("Nine"); break;
case 10:p
}
getch();
}
10 Tính tiền điê
gi
như sau:
+ Hộ dân 60KWh/1tháng
+ Hộ cán bộ 90KWh/tháng
+ Hộ kinh doanh 200KWh/tháng
+ Hộ sản xuất 450KWh/1tháng
Thuật toán:
DMHCB
DMHKD =200; { Dinh muc ho kinh doanh}
DMHSX =450; { Dinh muc ho san xuat}
h muc}
+
Socu,Somoi { Chi so cua dong ho dien}
tt,kwhdm,kwhvuot{ luong dien}
ndm,tienvuot,ttien{ Tien}
+ Khai báo các hằng:
DMHD =60; { Dinh muc ho dan}
=90; { Dinh muc ho can bo}
DGDM=1000; { Don gia dinh muc}
GNDM=2000; { Gia ngoai din
Khai báo các biến
Kwh
Tie
Ho { Loai ho}
Nhập giá trị các biến từ bàn p
Trang 13+ t < Kwhdm ) thì
ược lại
Tiendm=Kwhdm*DGDM;
Kwhdm)*GNDM;
+Tienvuot;
Nếu (Kwht
TienDm:=Kwhtt*DGDM;
TienVuot:=0;
Ng
Bắt đầu
Tienvuot=(Kwhtt-Kết thúc
Gán: Ttien=Tiendm
+ In Ttien ra màn hình
* Chương trình
#include <math.h>
#include <stdio.h>
#include <conio.h>
fine DMHD 60 //Dinh muc ho dan
HCB 90 //Dinh muc ho can bo
inh muc Gia ngoai dinh muc
dong ho dien vuot; //luong dien ,tienvuot;
nh tinh tien dien\n ");
chi so cu=");
);
"%c",&ho);
h (ho) {
break;
m=DMHCB; break;
'k': kwhdm=DMHKD; break;
': kwhdm=DMHSX; break;
#de
#define DM
#define DMHKD 200 //Dinh muc ho can bo
#define DMHSX 450 //Dinh muc ho san xuat
#define DGDM 1000 //Don gia d
#define GNDM 2000 //
main()
{
clrscr();
float socu,somoi; //chi so cua
float kwhtt,kwhdm,kwh
float tiendm,ttien
char ho; //loai ho
printf("chuong tri
printf("Nhap
scanf("%f",&socu
printf("Nhap chi so moi=");
scanf("%f",&somoi);
kwhtt=somoi-socu;
printf(" Loai ho ");
scanf(
ho=getch();
switc
case 'd': kwhdm=DMHD;
case 'c': kwhd
case
case 's
}
if (kwhtt<kwhdm)
{