Võ Tá Lợi Lớp: 07DT3 Nhóm :10A Báo cáo thực hành kỹ thuật lập trình
Buổi 1: NGÔN NGỮ LẬP TRÌNH C
1.1 Viết chương trình nhập xuất ra màn hình thông tin của mỗi sinh
viên theo mẫu sau:
Ho ten:
Ma so sinh vien: Lop:
So dien thoai: Gioi tinh:
Lưu đồ thuật toán
Chưong trình :
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
void main()
{
char hoten[30],ngaysinh[15],gioitinh[4],lop[6],sodt[13],msv[13];
cout <<"Nhap Ho Ten SV: ";
Start
Nhập họ tên,mã SV,số
ĐT,lớp,giới tính
Xuất họ tên,mã SV,số
ĐT,lớp,giới tính
End
Võ Tá Lợi Lớp: 07DT3 Nhóm :10A Báo cáo thực hành kỹ thuật lập trình
gets(hoten);
cout <<"Nhap Ngay Sinh: ";
gets(ngaysinh);
cout <<"Nhap Gioi Tinh: ";
gets(gioitinh);
cout <<"Nhap Lop: ";
gets(lop);
cout <<"Nhap Ma SV: ";
gets(msv);
cout <<"Nhap So DT: ";
gets(sodt);
cout <<"\n\nThong Tin Cua Sinh Vien\n";
cout <<"Ho ten :\t"<<hoten<<endl;
cout<<"Ma sinh vien:\t"<<msv<<"\t\tLop :\t\t"<<lop<<endl;
cout <<"So dien thoai:\t"<<sodt<<"\t\tGioi tinh:\t"<<gioitinh;
getch();
}
1.2. Viết chương trình nhập vào 2 số nguyên a, b. Tính tổng, hiệu,
tích, thương của 2 số trên và in kết quả ra màn hình.
Lưu đồ :
Start
Nhập số nguyên a,b
tong = a + b; hieu = a-b;
tich = a*b; thuong=a/b;
Xuất
tong,hieu,tich,thuong
End
Võ Tá Lợi Lớp: 07DT3 Nhóm :10A Báo cáo thực hành kỹ thuật lập trình
Chương trình :
#include <iostream.h>
#include <conio.h>
void main()
{
int a,b,tong,hieu,tich;
float thuong;
cout <<"Nhap So a = ";
cin >>a;
cout <<"Nhap So b = ";
cin >>b;
tong=a+b;
hieu=a-b;
tich=a*b;
thuong=(float)a/b;
cout <<"\n\nTong cua hai so la:\t"<<tong<<endl;
cout <<"Hieu cua hai so la:\t"<<hieu<<endl;
cout <<"Tich cua hai so la:\t"<<tich<<endl;
cout <<"Thuong cua hai so la:\t"<<thuong<<endl;
getch();
}
1. 3. Viết chương trình nhập vào 4 số nguyên a, b, c, d. Tính giá trị
trung bình cộng của 4 số trên và in kết quả ra màn hình.
Lưu đồ :
Chương trình :
Start
Nhập a,b,c,d;
Xuất tb;
tb = ( a + b + c + d)/4;
End
Võ Tá Lợi Lớp: 07DT3 Nhóm :10A Báo cáo thực hành kỹ thuật lập trình
#include <iostream.h>
#include <conio.h>
void main()
{
int a,b,c,d;
float tb;
cout <<"Nhap So a = ";
cin >>a;
cout <<"Nhap So b = ";
cin >>a;
cout <<"Nhap So c = ";
cin >>c;
cout <<"Nhap So d = ";
cin >>d;
tb=((float)(a+b+c+d))/4;
cout <<"\n\nTrung binh cong cua 4 so la :\t"<<tb;
getch();
}
1.4 Thực hiện yêu cầu sau:
- Cho ba số a, b, c đọc vào từ bàn phím. Hãy tìm giá trị lớn nhất
của ba số trên và in ra kết quả.
- Giải và biện luận phương trình: ax
2
+ bx + c = 0
Lưu đồ :
False True
True True
False
False
Start
Nhập a,b,c;
max = a;
max
>=b ?
c > max
?
b> c ?
max = c;max = b;
max = c;
A
Võ Tá Lợi Lớp: 07DT3 Nhóm :10A Báo cáo thực hành kỹ thuật lập trình
True False
True
False
False
True
Chương trình :
A
delta = b*b – 4*a*c;
delta
>=0 ?
a == 0 ?
b ==
0 ?
Xuat PTVN
x =-b/c;
Xuat x;
x1 = (-b + sqrt(delta))/(2*a);
x2 = (-b - sqrt(delta))/(2*a);
Xuat x1,x2;
x1 = -b /(2*a);
x2 = sqrt(-delta))/(2*a);
Xuat x1” + j*”x2
, x1” – j*“x2;
Xuat max
End
Võ Tá Lợi Lớp: 07DT3 Nhóm :10A Báo cáo thực hành kỹ thuật lập trình
#include <iostream.h>
#include <math.h>
#include <conio.h>
void main()
{
float a,b,c,delta,x,x1,x2,max;
cout <<" Nhap so a :";
cin >>a;
cout <<" Nhap so b :";
cin >>b;
cout <<" Nhap so c :";
cin >>c;
max=a;
if(max>=b)
if (max<c) max=c;
else
if (b>=c) max=b;
else max=c;
cout <<"\n\nGia tri lon nhat cua 3 so la :\t"<<max<<endl;
cout <<"Giai phuong trinh "<<a<<"x2 + "<<b<<"x + "<<c<<" =0"<<endl;
if(a==0)
if(b==0) cout <<"Phuong trinh vo nghiem"<<endl;
else cout <<"Phuong trinh co nghiem X = "<<-c/b<<endl;
else
{ delta=b*b-4*a*c;
if (delta>0)
{
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
cout <<"Phuong trinh co nghiem X1 = "<<x1;
cout <<"\t Va"<<"\tX2 = "<<x2<<endl;
}
else
if(delta==0) cout <<"PT co nghiem kep X = "<<-b/(2*a)<<endl;
else
{
cout <<"PT co nghiem phuc X1= "<<-b/(2*a)<<" + "<<sqrt(-delta)/(2*a)<<"j";
cout <<"\t Va"<<"\tX2= "<<-b/(2*a)<<" - "<<sqrt(-delta)/(2*a)<<"j"<<endl;
}
}
getch();
}
1.5 Viết chương trình tính diện tích và chu vi các hình: tam giác, hình
vuông, hình chữ nhật và hình tròn với những thông tin cần được
nhập từ bàn phím.
Lưu đồ :
Võ Tá Lợi Lớp: 07DT3 Nhóm :10A Báo cáo thực hành kỹ thuật lập trình
T
N Y
F
T
N Y
F
T
Y
F N
T
F
Start
Nhập hình
(t)
t
==’g’ ?
t
==’c’ ?
t ==’v’
?
t ==’d’
?
2
1
3
4
5
6
7 8
Break
?
Break
?
Break
?
End
1
Nhap a,b,c;
P = (a+b+c)/3;
S = sqrt(p*(p-a)*(p-
b)*(p-c);
Xuat P,S;
2
3
Nhap a,b;
Xuat C,S;
C = (a + b)*2;
S=a*b;
4
8
6
7
5
Nhap a;
Xuat C,S;
Nhap r;
Xuat C,S;
C = 4*a;
S = a*a;
C = 2*3.14*r;
S =3.14*R*r;
Võ Tá Lợi Lớp: 07DT3 Nhóm :10A Báo cáo thực hành kỹ thuật lập trình
Chương trình :
#include <iostream.h>
#include <math.h>
#include <conio.h>
void tamgiac(void)
{
float a,b,c,p,dt;
cout <<"Nhap canh a: ";
cin >>a;
cout <<"Nhap canh b: ";
cin >>b;
cout <<"Nhap canh c: ";
cin >>c;
p=(a+b+c)/3;
dt=sqrt(p*(p-a)*(p-b)*(p-c));
cout <<"Dien tich hinh tam giac la :"<<dt<<endl;
cout <<"Chu vi hinh tam giac la :"<<p<<endl;
}
void hinhcn (void)
{
float a,b;
cout <<"Nhap canh a: ";
cin >>a;
cout <<"Nhap canh b: ";
cin >>b;
cout <<"Dien tich hinh chu nhat la : "<<a*b<<endl;
cout <<"Chu vi hinh chu nhat la : "<<(a+b)*2<<endl;
}
void hinhvuong (void)
{
float a;
cout <<"Nhap do dai canh a: ";
cin >>a;
cout <<"Dien tich hinh vuong la : "<<a*a<<endl;
cout <<"Chu vi hinh vuong la : "<<4*a<<endl;
}
void hinhtron (void)
{
float r;
cout <<"Nhap ban kinh r: ";
cin >>r;
cout <<"Dien tich tron la : "<<3.14*r*r<<endl;
cout <<"Chu vi tron la : "<<2*3.14*r<<endl;
}
void main()
{
char t;
cout <<"Nhap hinh can tinh Tam giac(g)/Chu nhat(c)/Vuong(v)/Tron(d) :";
cin >>t;
switch(t){
case 'g':tamgiac(); break;
case 'c':hinhcn(); break;
case 'v':hinhvuong(); break;
case 'd':hinhtron(); break;
default : cout <<"\nChon sai -> ket thuc";
}
getch();
}
Võ Tá Lợi Lớp: 07DT3 Nhóm :10A Báo cáo thực hành kỹ thuật lập trình
1.6. Viết chương trình nhập số n nguyên dương. Liệt kê các số
nguyên tố đã nhập
Lưu đồ :
True
False
True
False
True
False
Start
Nhập mang a[n];
i = 1;
i < n
1 2
End
1
a[i]==0&&a[i]==
1
i < a[i] - 1
i = 0;
a[i] %i ==
0
Xuat a[i]
i++;
Võ Tá Lợi Lớp: 07DT3 Nhóm :10A Báo cáo thực hành kỹ thuật lập trình
Chương trình :
#include <conio.h>
#include <iostream.h>
int nguyen_to(int n)
{
if(n==0||n==1) return 0;
int i;
for (i=2;i<=(n-1);i++)
if(n%i==0) return 0;
return 1;
}
void main()
{
int i,n,a[10];
cout<<" Nhap so phan tu cua mang : ";
cin >>n;
for(i=0;i<n;i++)
{
cout <<"A["<<i<<"] = ";
cin >>a[i];
}
cout <<"Cac so nguyen to da nhap la : ";
for(i=0;i<n;i++)
if(nguyen_to(a[i])==1)
cout <<"\t"<<a[i];
getch();
}
1.7. Viết chương trình nhập vào một số nguyên n gồm tối đa 10 chữ
số (4 bytes). In ra màn hình giá trị nhị phân của số trên.
Lưu đồ :
2
Start
n = 0; pnguyen = a;
Nhap so a
pnguyen!
=0
b[n]=pnguyen%2;
pnguyen/=2; n++;
i >= 0
i = n-1;
Xuat b[i];
i++;
End
Võ Tá Lợi Lớp: 07DT3 Nhóm :10A Báo cáo thực hành kỹ thuật lập trình
Chương trình :
#include <iostream.h>
#include <conio.h>
void main()
{
long a;
int i,n,b[10],pnguyen;
cout <<"Nhap mot so nguyen duong :";
cin >>a;
n=0;
pnguyen=a;
while(pnguyen!=0)
{
b[n]=pnguyen%2;
pnguyen/=2;
n++;
}
cout <<"Gia tri nhi phan cua : "<<a<<" \tla :";
for(i=n-1;i>=0;i )
cout <<b[i];
getch();
}
1.9 Viết chương trình tìm các phần tử chia hết cho 2 ở trong mảng 1
chiều có 20 phần tử.
Lưu đồ:
True
False
False
True
Start
Nhập a[20];
i = 0;
i < 20 ?
a[i]
%2==0 ?
Xuất a[i];
i ++;
End
Võ Tá Lợi Lớp: 07DT3 Nhóm :10A Báo cáo thực hành kỹ thuật lập trình
Chương trình :
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
void main()
{ int i,a[20];
for(i=1;i<20;i++)
{cout <<"A["<<i<<"] = ";
cin >>a[i];
}
cout <<"Cac so chia het cho 2 la : ";
for(i=1;i<20;i++)
if(a[i]%2==0) cout <<" "<<a[i];
getch();
}
1.10. Viết chương trình tạo mảng 2 chiều bất kỳ và thực hiện các
công việc sau:
- Sắp xếp các phần tử theo hàng có thứ tự tăng dần.
- Đếm số phần tử chia hết cho 2 trong mảng.
Lưu đồ :
Start
i = 0; j=0;
Nhap n,m;
i < n ?
Nhap a[i][j];
i ++;
j < m ?
i ++;
A
Võ Tá Lợi Lớp: 07DT3 Nhóm :10A Báo cáo thực hành kỹ thuật lập trình
Chương trình :
`
i = 0; j=0;k=0;
i < n
A
j < m ?
k < m ?
a[i][j]>a[i]
[k]
tg=a[i][j];
a[i][j]=a[i][k];
a[i][k]=tg;
k ++ ;
j ++ ;
i ++ ;
i = 0; j=0;dem=0;
i < n
j < m ?
a[i][j]
%2==0
Xuat a[i][j];
dem ++; j++;
i++;
Xuat dem;
Võ Tá Lợi Lớp: 07DT3 Nhóm :10A Báo cáo thực hành kỹ thuật lập trình
#include <iostream.h>
#include <conio.h>
void main()
{
int i,j,m,n,a[10][10],dem=0,k,tg;
cout <<"Nhap so hang cua mang: ";
cin >>m;
cout <<"Nhap so cot cua mang : ";
cin >>n;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
cout <<"A["<<i<<"]["<<j<<"] = ";
cin >>a[i][j];
}
cout <<"Mang vua nhap la: "<<endl;
for(i=0;i<m;i++)
{
cout <<endl;
for(j=0;j<n;j++)
cout <<"\t"<<a[i][j];
}
for(i=0;i<m;i++)
for(j=0;j<n;j++)
if(a[i][j]%2==0)dem++;
cout <<endl<<"So phan tu trong mang chia het cho 2 la :"<<dem<<endl;
for(i=0;i<m;i++)
for(j=0;j<n-1;j++)
for(k=j;k<n;k++)
{
if(a[i][j]>a[i][k])
{
tg=a[i][j];
a[i][j]=a[i][k];
a[i][k]=tg;
}
}
cout <<"Mang sau khi sap xep la :";
for(i=0;i<m;i++)
{
cout <<endl<<endl;
for(j=0;j<n;j++)
cout <<"\t"<<a[i][j];
}
getch();
}
BUỔI 2: Ngôn ngữ lập trình C++
Một đội bóng đá khi tham gia một giải đấu thành phần như sau:
- Cầu thủ
- Huấn luyện viên
- Các thành phần khác
Sử dụng ngôn ngữ C++ để giải quyết các vấn đề sau:
End
Võ Tá Lợi Lớp: 07DT3 Nhóm :10A Báo cáo thực hành kỹ thuật lập trình
1. Thiết lập các thông số của một cầu thủ gồm:
- tuổi
- chiều cao
- cân nặng
Sau đó xuất ra màn hình thông tin của cầu thủ đó.
2. Bổ sug vào câu 1 thông tin về vị trí của cầu thủ (thủ môn, hậu vệ, tiền vệ, tiền
đạo). Chú ý, một cầu thủ có thể chơi 2 vị trí.
Lưu đồ :
T
F
T
F
Start
Nhap so cau thu n; ;
i = 0;
i < n ?
Nhap ht,cc,cn.vt;
i ++;
Nhap hlv ;
i = 0;
i < n ?
xuat ht,cc,cn.vt;
i ++;
Xuat hlv ;
End
Võ Tá Lợi Lớp: 07DT3 Nhóm :10A Báo cáo thực hành kỹ thuật lập trình
Chương trình :
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
class nguoi {
char ht[30];int t; float cc,cn;
public :
void nhap (void)
{ cout <<"Nhap ho ten :";
gets(ht);
cout <<"Nhap tuoi :";
cin >>t;
cout <<"Nhap chieu cao :";
cin >>cc;
cout <<"Nhap can nang :";
cin >>cn;
}
void xuat (void)
{ cout <<"Ho ten : "<<ht<<endl;
cout <<"Chieu cao : "<<cc<<endl;
cout <<"Tuoi : "<<t<<endl;
cout <<"Can nang : "<<cn<<endl;
}
};
class vitri {
char vt[20],vt1[20];
int n;
public:
void nhapvt(void)
{
cout <<"so vi tri cua cau thu:( 1 hoac 2)";
cin >>n;
if(n==1)
{ cout <<"Nhap vi tri :";
gets(vt);
}
else
{ cout <<"Nhap vi tri 1:";
gets(vt);
cout <<"Nhap vi tri 2:";
gets(vt1);
}
}
void xuatvt(void)
{
if(n==1)
cout <<"Vi tri :"<<vt<<endl;
else
{ cout <<"Vi tri 1:"<<vt<<endl;
cout <<"Vi tri 2:"<<vt1<<endl;
}
}
};
class cauthu:public nguoi,public vitri{
public:
void nhapct(void)
{ nhap();
nhapvt();
}
void xuatct(void)
{ xuat();
xuatvt();
Võ Tá Lợi Lớp: 07DT3 Nhóm :10A Báo cáo thực hành kỹ thuật lập trình
}
};
class hlv :public cauthu{
public:
void nhaphlv(void)
{ cout <<" NHAP HUAN LUYEN VIEN "<<endl;
nhap();
}
};
Void main()
{ int i=0,s;
cout <<"Nhap so cau thu : ";
cin >>s;
hlv b;
cauthu a[25];
for(i=0;i<s;i++)
a[i].nhapct();
for(i=0;i<s;i++)
a[i].xuatct();
b.nhaphlv();
getch();
}
BUỔI 3 : Borland C++ Builtder
Tạo một ứng dụng có giao diện như sau:
Yêu cầu:
- Ở Group “thong tin ca nhan”, hiển thị đầy đủ các thông tin như trên hình.
- Ở Group “Giai phuong trinh”, có 3 lựa chọn,có thể làm theo các cách sau:
+ Khi chọn một trong 3 lựa chọn, có thể thay đổi giao diện ngay trên Group.
+ Khi chọn một trong 3 lựa chọn, có thể gọi một Form mới.
Lưu đồ : - Giải phương trình bậc nhất
True
False
Start
Nhap a,b ;
x = -b/a;
a==0
&&b==0 ?
Xuat x ;
Xuat PT vo nghiem;
End
Võ Tá Lợi Lớp: 07DT3 Nhóm :10A Báo cáo thực hành kỹ thuật lập trình
- Giải phương trình bậc hai
True
T
False
F
True
False
Start
Nhap a,b,c ;
a == 0?
x = -b/c;
b == 0?
Xuat x ;
Xuat PTVN
nghiem;
delta = b*b – 4*a*c
delta < 0?
Xuat PTVN
nghiem;
X1=(-b+sqrt(delta))/(2*a);
X2=(-b-sqrt(delta))/(2*a);
Xuat X1,X2;
End
Võ Tá Lợi Lớp: 07DT3 Nhóm :10A Báo cáo thực hành kỹ thuật lập trình
- Giải hệ phương trình bậc nhất hai ẩn
True
False
False
True
1
Start
Nhap
a1,b1,c1,a2,b2,c2 ;
d = a1*b2-a2*b1;
dx = c1*b2-c2*b1;
dy = a1*c2-a2*c1;
delta == 0?
Xuat hệ vô
nghiệm nghiem;
dx !=0 || dy!
=0 ?
Xuat hệ có vô số
nghiệm;
x =dx/d;
y =dy/d;
Xuat x,y;
Start
Võ Tá Lợi Lớp: 07DT3 Nhóm :10A Báo cáo thực hành kỹ thuật lập trình
1.8 inraday fibonaci
Lưu đồ :
Chương trình :
Start
Nhap so n ;
i =< n?
a[i] = a[i-1] +a[i-2];i++;
i = 2;a[0]=1;a[1]=1;
i = 0;
i < n?
Xuat a[i] ;
Start
i ++;
Võ Tá Lợi Lớp: 07DT3 Nhóm :10A Báo cáo thực hành kỹ thuật lập trình
#include <iostream.h>
#include <conio.h>
long fibonaci (int n)
{
if(n==1||n==2) return 1;
else
return(fibonaci(n-1)+fibonaci(n-2));
}
void main()
{
int i,n;
cout <<" Nhap n = ";
cin >>n;
cout <<" Day so fibonaci la : ";
for(i=1;i<=n;i++)
cout <<" "<<fibonaci(i);
getch();
}