Tải bản đầy đủ (.doc) (22 trang)

Báo cáo thực hành kỹ thuật lập trình

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (157.92 KB, 22 trang )

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();
}

×