Tải bản đầy đủ (.pdf) (19 trang)

Tài liệu thực hành ngôn ngữ lập trình c++

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 (632.58 KB, 19 trang )

TRƯỜNG ĐẠI HỌC QUY NHƠN
KHOA KỸ THUẬT VÀ CÔNG NGHỆ
-----  -----

TÀI LIỆU THỰC HÀNH
NGƠN NGỮ LẬP TRÌNH C++

Biên soạn: TS. Nguyễn Tường Thành
Bộ mơn: Điện tử - Viễn thơng

Tài liệu lưu hành nội bộ


Tài liệu thực hành: Ngôn ngữ lập trình C++

LỜI MỞ ĐẦU
Tài liệu thực hành ngôn ngữ lập trình C++ được biên soạn theo
chương trình thực hành dành cho sinh viên các ngành Điện tử Viễn
thông, Điện tử Tin học và Điện kỹ thuật. Tài liệu bao gồm 10 bài
Thí nghiệm từ căn bản đến nâng cao nhằm nắm bắt ngôn ngữ lập
trình C++ và bước đầu tìm hiểu để áp dụng cho quá trình học tập và
công tác sau này. Mỗi bài thực hành bao gồm bài tập ví dụ, câu
hỏi và bài tập thực hành. Sau mỗi buổi thực hành yêu cầu sinh
viên phải nộp lại Báo cáo thực hành để chấm kết quả thực hành
nên đòi hỏi mỗi sinh viên trước khi đi thực hành phải chuẩn bị
trước Báo cáo thực hành của mình nhằm đảm bảo thời gian thực
hành và yêu cầu của bài thực hành đề ra.
Quá trình biên soạn đưa tài liệu vào phục vụ thí nghiệm chắc
chắn không tránh khỏi thiếu sót. Rất mong sự góp ý của các thầy
cô và các bạn sinh viên để lần tái bản sau tài liệu ngày càng
hoàn chỉnh hơn phục vụ tốt công tác thí nghiệm của nhà trường.


Mọi ý kiến góp ý xin gửi về Khoa Kỹ thuật & Cơng nghệ – Trường Đại
học Quy Nhơn. Xin chân thành cảm ơn!
Quy Nhơn, ngày 20 tháng 10 năm 2012
Người soạn
Nguyễn Tường Thành

GVHD:Nguyễn Tường Thành

2

SV chuẩn bị Báo cáo trước khi đi TH


Tài liệu thực hành: Ngôn ngữ lập trình C++
BÀI 1: NHẬP VÀO VÀ XUẤT RA, CÁC LỆNH LỰA CHỌN
//Bai tap 1_1
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<math.h>
#define PI 3.14159
int main(void)
{
float L=1e-3,C=1e-6,fchnt,fchss,r=1.0;
clrscr();
cout<<"\nChuong trinh tinh tan so cong huong cua mach LC";
cout<<"\nMach LC co L=1e-3(H),C=1e-6(F),mac song song co r=1.0 (Ohm)";
fchnt=1/(2*PI*sqrt(L*C));
fchss=1/(2*PI)*sqrt(1/(L*C)-(r*r)/(4*L*L));
cout<<"\nTan so cong huong cua mach LC noi tiep la:"<

cout<<"\nTan so cong huong cua mach LC song song la:"<getch();
return(0);
}
//Bai tap 1_2
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<math.h>
#define PI 3.14159
#define MILLI 1e-3
#define MICRO 1e-6
#define KILO 1e3
int main(void)
{ float L,C,tso,r;
clrscr();
cout<<"\nChuong trinh tinh tan so cong huong cua mach LC";
cout<<"\nNhap L (mH) _ C (mF) _ r=0 neu mach cong huong noi tiep";
cout<<"\nNhap L (mH) _ C (mF) _ r (Ohm) neu mach cong huong song song\n";
cin>>L>>C>>r;
C=C*MICRO;
L=L*MILLI;
tso=1.0/(2.0*PI)*sqrt(1/(L*C)-(r*r)/(4*L*L));
cout<<"\nTan so cong huong cua mach LC can tinh la "<getch();
return(0);
}

//Bai tap 1_3
#include <iostream.h>


GVHD:Nguyễn Tường Thành

3

SV chuẩn bị Báo cáo trước khi đi TH


Tài liệu thực hành: Ngôn ngữ lập trình C++
/* Chuong trinh nay tinh toan tong so tien phai tra hang tuan cho mot cong
nhan dua tren tong so gio lam viec va so tien phai tra moi gio. */
int main (void)
{
int
workDays = 5;
// so ngay lam viec trong tuan
float workHours = 7.5; // so gio lam viec trong ngay
float payRate = 33.50; // so tien phai tra moi gio
float weeklyPay;
// tong so tien phai tra moi tuan
weeklyPay = workDays * workHours * payRate;
cout << "Weekly Pay = " << weeklyPay << '\n';
}
// Bai tap 1_4

#include<iostream.h>
#include<stdio.h>
#include<conio.h>
int main(void)
{

float lambda;
cout<<"\nVao buoc song >>";
cin>>lambda;
cout<<"\n Song dien tu trong truong hop nay la :";
if (lambda<1e-11) cout<<" tia Gamma !!!";
else if (lambda<1e-9) cout<<" tia X !!!";
else if (lambda<400e-9) cout<<" tia cuc tim, tu ngoai !!!";
else if (lambda<700e-9) cout<<" anh sang thuong !!!";
else if (lambda<1e-3) cout<<" tia hong ngoai !!!";
else if (lambda<1e-1) cout<<" song vi ba !!!";
else cout<<" song vo tuyen !!!";
getch();
return(0);
}
// Bai tap 1_5
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
int main(void)
{
enum {AND=1,OR,NAND,NOR,NOT} lcong;
cout<<" \nNhap vao cong logic can co :";
cout<<"\n\t1 - 2 loi vao cua cua AND";
cout<<"\n\t2 - 2 loi vao cua cua OR";
cout<<"\n\t3 - 2 loi vao cua cua NAND";
cout<<"\n\t4 - 2 loi vao cua cua NOR";
cout<<"\n\t5 - 2 loi vao cua cua NOT";
cout<<"\n\t6 - Thoat khoi chuong trinh\n";
scanf("%d",&lcong);
cout<<"\nCac cua TTL tuong ung la :";

switch(lcong)
{ case AND: cout<<" 7408 ";break;

GVHD:Nguyễn Tường Thành

4

SV chuẩn bị Báo cáo trước khi đi TH


Tài liệu thực hành: Ngôn ngữ lập trình C++
case OR: cout<<" 7432 ";break;
case NAND: cout<<" 7400,7401,7403,7437,7438 ";break;
case NOR: cout<<" 7402,7428,7433 ";break;
case NOT: cout<<" 7404,7405,7505,7410 ";break;
default:cout<<" Chao tam biet";break;
}
getch();
return(0);
}

Bài tập:
1. Vẽ lưu đồ của các chương trình trên. Cho biết kết quả sau khi
chạy mỗi chương trình.
2. Viết chương trình hiện ra chính giữa tâm màn hình dòng chữ “
Sinh viên Khoa Kỹ thuật& Công nghệ quyết tâm thực hiện một
mùa thi nghiêm túc”.
3. Viết chương trình hiển thị ngôi sao năm cánh vẽ bằng các
chấm * ở giữa màn hình theo tỷ lệ như lá cờ Tổ quốc. (lấy
màn hình làm nền lá cờ).

4. Lập chương trình dùng câu lệnh điều kiện if…else để khi nhập
vào điểm số sẽ cho ra phân loại sinh viên như sau: 0 đến 3 điểm là
loại Kém, lớn hơn 3 và nhỏ hơn 5 loại Yếu, từ 5 đến dưới 7 là loại
Trung bình, từ 7 đến dưới 8 là loại Khá, từ 8 đến 10 là loại Giỏi. Nếu
ngoài các điểm từ 0 đến 10 thì sẽ thông báo nhập sai. Dùng lệnh
nhảy Goto Nhãn; để thực hiện nhập lại.
5. Viết lại chương trình trên nhưng dùng câu lệnh Switch …case với
các nhánh là kết quả điểm của sinh viên. Dùng lệnh nhảy Goto
Nhãn; để thực hiện nhập lại.
6. Viết chương trình nhập vào một ngày theo định dạng dd/mm/yy
và xuất nó ra theo định dạng Thang dd, year. Ví dụ 25/12/1978 trở
thành Tháng mười hai 25, 1978.
---  --BÀI 2: LỆNH LẶP, CÁC HÀM
//Bai tap 2_1
#include<iostream.h>
#include<conio.h>
int main(void)
{int va1,bit;
cout<<"\nNhap gia tri>>";
cin>>va1;
cout<<"\nGia tri so nhi phan la: ";
for (bit=0x80;bit>0;bit>>=1)

GVHD:Nguyễn Tường Thành

5

SV chuẩn bị Báo cáo trước khi đi TH



Tài liệu thực hành: Ngôn ngữ lập trình C++
{if (bit&va1) cout<<"1";
else cout<<"0";
}
getch();
return 0;
}
//Bai tap 2_2
#include<iostream.h>
#include<math.h>
#include<conio.h>
#include<stdio.h>
int main(void)
{ float R,C,tend,t,E,Vr,vc;
int tsteps;
cout<<"\nChuong trinh xac dinh dien ap sut tren dien tro trong
mach RC";
cout<<"\nNhap R, C >> ";cin>>R>>C;
cout<<"Vao so buoc thoi gian va thoi gian ket thuc >>";
cin>>tsteps>>tend;
cout<<"Vao khoang cach von >>";cin>>E;
cout<<"
TIME
VON/R
VON/C\n";
for (t=0;t{ Vr=E*exp(-t/(R*C));
vc=E-Vr;
cout<<"\n
"<

"<"<}
getch();
return(0);}
// Bai tap 2_3
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#define FALSE 0
#define TRUE 1
int AND(int x,int y);
int NAND(int x,int y);
int NOR(int x,int y);
int OR(int x,int y);
int NOT(int x);
int main(void)
{ int a,b,c,z,m,n,p;
cout<<"\n-------------------------------------------------";
cout<<"\n A B C (1) (2) (3) Z";
cout<<"\n-------------------------------------------------";
for (a=FALSE;a<=TRUE;a++)
for (b=FALSE;b<=TRUE;b++)
for (c=FALSE;c<=TRUE;c++)
{ m=NOT(OR(a,b));

GVHD:Nguyễn Tường Thành

6


SV chuẩn bị Báo cáo trước khi đi TH


Tài liệu thực hành: Ngôn ngữ lập trình C++
n=AND(a,c);
p=OR(NOT(OR(a,b)),AND(a,c));
z=NAND(OR(NOR(a,b),AND(a,c)),c);
cout<<"\n "<}
getch();
return(0);
}
int AND(int x,int y)
{ if(x&&y) return(TRUE); else return(FALSE);}
int NAND(int x,int y)
{ if(x&&y) return(FALSE); else return(TRUE);}
int NOR(int x,int y)
{ if(x||y) return(FALSE); else return(TRUE);}
int OR(int x,int y)
{ if(x||y) return(TRUE); else return(FALSE);}
int NOT(int x)
{ if(x) return(FALSE); else return(TRUE);}

//Bai tap 2-4
#include <iostream.h>
char *str = "global";
void Print (char *str)
{
cout << str << '\n';
{

char *str = "local";
cout << str << '\n';
cout << ::str << '\n';
}
cout << str << '\n';
}
int main (void)
{
Print("Parameter");
return 0;
}
Bài tập:
1.
Vẽ lưu đồ của hai chương trình trên. Cho biết kết quả sau
khi chạy mỗi chương trình.
2. Viết chương trình hiển thị tất cả các bảng số xe có 4 chữ số
sao cho số tiến lên và “9 điểm”.Hiển thị có bao nhiêu phương án tất
cả.
3. Tìm tất cả các phương án để có được 1000đ từ các tờ tiền
500đ, 200đ, 100đ dùng 3 chu trình FOR lồng vào nhau để thay đổi số tờ
tiền 500đ, 200đ và 100đ với điều kiện tổng của chúng bằng 1000đ.
4. Viết chương trình để nhập vào 1 số n. Tính tổng n số đầu tiên
của cấp số: 1 + ½ + 1/3 + ¼ + …..+ 1/n
GVHD:Nguyễn Tường Thành

7

SV chuẩn bị Báo cáo trước khi đi TH



Tài liệu thực hành: Ngôn ngữ lập trình C++
5. Lập chương trình để viết chương trình tính giai thừa của một số
nguyên n cho trước nhập từ bàn phím (n<10).
6. Viết chương trình bằng ngôn ngữ C++ để hiện bảng chân lý
của phương trình đại số Boole dưới đây:
Z = ((A . C ) + ( B + D)) . (A + D)
---  --BÀI 3: CON TRỎ, MẢNG
// Bai tap 3_1
//more pointers
#include <iostream.h>
int main ()
{
int value1 = 5, value2 = 15;
int *p1, *p2;
p1 = &value1; // p1 = địa chỉ của value1
p2 = &value2; // p2 = địa chỉ của value2
*p1 = 10;
// giá trị trỏ bởi p1 = 10
*p2 = *p1;
// giá trị trỏ bởi p2 = giá trị trỏ bởi p1
p1 = p2;
// p1 = p2 (phép gán con trỏ)
*p1 = 20;
// giá trị trỏ bởi p1 = 20
cout << "value1==" << value1 << "/ value2==" << value2;
return 0;
}
// Bai tap 3_2
// integer increaser
#include <iostream.h>

void increase (void* data, int type)
{
switch (type)
{
case sizeof(char) : (*((char*)data))++; break;
case sizeof(short): (*((short*)data))++; break;
case sizeof(long) : (*((long*)data))++; break;
}
}
int main ()
{
char a = 5;
short b = 9;
long c = 12;
increase (&a,sizeof(a));
increase (&b,sizeof(b));
increase (&c,sizeof(c));
cout << (int) a << ", " << b << ", " << c;
return 0;
}
//Bai tap 3_3

GVHD:Nguyễn Tường Thành

8

SV chuẩn bị Báo cáo trước khi đi TH


Tài liệu thực hành: Ngôn ngữ lập trình C++

#include<iostream.h>
int main()
{
int *p,n;
p=&n;
*p=100;
Cout<(*p)++;
Cout<< n<<’ ‘;
(*p)++;
Cout<< n<<’ \n‘;
Return 0;
}
// Bai tap 3_4
//ví dụ về mảng
#include <iostream.h>
int billy [] = {16, 2, 77, 40, 12071};
int n, result=0;
int main ()
{
for ( n=0 ; n<5 ; n++ )
{
result += billy[n];
}
cout << result;
return 0;
}

// Bai tap 3-5
//arrays as parameters

#include <iostream.h>
void printarray (int arg[], int length) {
for (int n=0; ncout << arg[n] << " ";
cout << "\n";
}
int main ()
{
int firstarray[] = {5, 10, 15};
int secondarray[] = {2, 4, 6, 8, 10};
printarray (firstarray,3);
printarray (secondarray,5);
return 0;
}

Bài tập: 1. Vẽ lưu đồ chương trình và cho biết kết quả khi chạy
mỗi chương trình trên.

GVHD:Nguyễn Tường Thành

9

SV chuẩn bị Báo cáo trước khi đi TH


Tài liệu thực hành: Ngôn ngữ lập trình C++

1.
Viết chương trình để nhập vào 2 số a,b kiểu float, hãy
hoán vị chúng và hiển thị dùng kiểu con trỏ.

2.
Viết chương trình dùng các hàm giải phương trình bậc
hai có nghiệm thực và phức sử dụng biến con trỏ.
3.
Viết chương trình có các hàm để nhập ngày công,
lương ngày, tạm ứng. Nếu ngày công <10 tiền thưởng =0;
10<=nc<20 thì tiền thưởng =0.1*nc*ln; nếu 20<=nc<=30 thì tiền
thưởng =0.2*nc*ln. Yêu cầu tiền tạm ứng <60% (nc*ln+tiền
thưởng). Tính tổng lương được lónh trong một tháng.
4. Viết chương trình để nhập vào 2 ma trận vuông với số
phần tử cho trước và cố định, tính và hiển thị ma trận tích C, ma
trận tổng D của 2 ma trận đó.
5. Viết lại chương trình trên dùng cho ma trận có số hàng
cột bất kỳ của A và B được nhập từ bàn phím. (số hàng và
cột nên <10)
6. Nhập vào một dãy số gồm n số thực được nhập từ
bàn phím. Xác định số lớn nhất và số nhỏ nhất của mảng.
---  --BÀI 4: XÂU & LẬP TRÌNH HƯỚNG ĐỐI TƯNG
// Bai tap 4_1
//cin with strings
#include <iostream.h>
int main ()
{
char mybuffer [100];
cout << "What's your name? ";
cin.getline (mybuffer,100);
cout << "Hello " << mybuffer << ".\n";
cout << "Which is your favourite team? ";
cin.getline (mybuffer,100);
cout << "I like " << mybuffer << " too.\n";

return 0;
}
//Bai tap 4_2
// cin and ato* functions
#include <iostream.h>
#include <stdlib.h>
int main ()
{
char mybuffer [100];
float price;
int quantity;
cout << "Enter price: ";

GVHD:Nguyễn Tường Thành

10

SV chuẩn bị Báo cáo trước khi đi TH


Tài liệu thực hành: Ngôn ngữ lập trình C++
cin.getline (mybuffer,100);
price = atof (mybuffer);
cout << "Enter quantity: ";
cin.getline (mybuffer,100);
quantity = atoi (mybuffer);
cout << "Total price: " << price*quantity;
return 0;
}


//Bai 4-3 Cho biet ket qua cua chuong trinh
#include<iostream.h>
#include<conio.h>
class A
{ int i;
public:
int xuat_i();
void nhap_i(int n) {i=n;} //ham inline
};
int A::xuat_i() {return i;}
void main()
{A x;
clrscr();
x.nhap_i(10);
cout<getch();
}

Baøi tập:
1. Vẽ lưu đồ của các chương trình trên và cho biết kết quả khi
chạy mỗi chương trình.
2. Viết chương trình để nhập vào một xâu ký tự. Hiển thị trên
màn hình xâu ký tự đó theo chiều ngược lại.
3. Viết chương trình để nhập vào 1 xâu ký tự, sau đó nhập 1 ký
tự rồi đếm số lần xuất hiện của ký tự trong xâu ký tự vừa nhập.
4. Viết chương trình để nhập vào một đoạn văn bản, sau đó
nhập vào một chuỗi ký tự rồi tìm xem chuỗi ký tự đó có nằm trong
đoạn văn bản đó không.
5. Viết chương trình kiểu cấu trúc trong đó ta nhập vào quãng
đường vận chuyển, loại hàng và khối lượng hàng. Mỗi loại hàng có

trọng lượng, đơn giá và thành tiền riêng. Chương trình sẽ tính tiền vận
chuyển của các mặt hàng trong đó nếu trọng lượng <5 tấn thì không
giảm giá;nếu lớn hơn 5 tấn và nhỏ hơn 10 tấn sẽ giảm giá 10%.
Trên 10 tấn sẽ giảm giá 15%. Cước vận chuyển là 15.000/1km/1 xe
và mỗi xe chở tối đa 5200kg.
GVHD:Nguyễn Tường Thành

11

SV chuẩn bị Báo cáo trước khi ñi TH


Tài liệu thực hành: Ngôn ngữ lập trình C++
6. Viết chương trình kiểu lớp để quản lý danh sách thi khối A
gồm các HS có tên, năm sinh, quê quán, điểm toán, điểm lý, điểm
hoá. Năm sinh có kiểu cấu trúc gồm ngày tháng năm. Dùng chương
trình chính cho hiện ra Menu để tìm kiếm theo tên, năm sinh; liệt kê
danh sách SV đậu; và Thoát khỏi chương trình. Trong lớp có nhập,
hiẻn thị, liệt kê và tìm kiếm.
7. Viết cấu trúc quản lý nhân sự gồm Họ và tên, tuổi, mức
lương gồm các hàm tính tuổi trung bình, lương trung bình, nhập vào và
hiển thị ra kết quả.
8. Viết chương trình hướng đối tượng bằng ngôn ngữ C++ bài
toán quản lý sách: nhập vào số lượng sách với các yêu cầu ký
hiệu sách, tên sách, tên tác giả, số trang và năm xuất bản. Nhập
vào tên tác giả cần tìm và hiển thị ra tất cả các thông số của
sách do tác giả đó viết.
---  --BÀI 5: GIAO TIẾP VỚI THIẾT BỊ NGOẠI VI
// Bai tap 5_1


//rememb-o-matic
#include <iostream.h>
#include <stdlib.h>
int main ()
{
char input [100];
int i,n;
long * l, total = 0;
cout << "How many numbers do you want to type in? ";
cin.getline (input,100); i=atoi (input);
l= new long[i];
if (l == NULL) exit (1);
for (n=0; n{
cout << "Enter number: ";
cin.getline (input,100); l[n]=atol (input);
}
cout << "You have entered: ";
for (n=0; ncout << l[n] << ", ";
delete[] l;
return 0;
}
//Bai tap 5_2
// i/o example
#include <iostream.h>

GVHD:Nguyễn Tường Thành

12


SV chuẩn bị Báo cáo trước khi ñi TH


Tài liệu thực hành: Ngôn ngữ lập trình C++
int main ()
{
int i;
cout << "Please enter an integer value: ";
cin >> i;
cout << "The value you entered is " << i;
cout << " and its double is " << i*2 << ".\n";
return 0;
}
//Bai tap 5_3

#include<dos.h>
#Include<conio.h>
#include<iostream.h>
#include<ctype.h>
typedef void far(*HAM)(void);
void khoi_dong_may(void)
{
HAM f;
f=(HAM)MK_FP(0xFFFF,0);
f();
}
Char mat_khau[]={’A’,’B’,’C’,’D’};
Int n=sizeof(mat_khau)/sizeof(char);
Void main()

{ char I,ch,sai_mat_khau;
Clrscr();
I=0;
Sai_mat_khau=0;
Cout<<”\n Mat khau:”;
While(1)
{ .ch=getch();
.if (ch==13)
Break;
Cout<<’*’;
If (i{ if(toupper(ch)!=mat_khau[i])
Sai_mat_khau=1;
}

Else
Sai_mat_khau=1;
++I;
}

If (sai_mat_khau)
{ cout<<”\n Sai mat khau, Khoi dong lai may”;
Getch();
Khoi_dong_may();
}
Else
{ cout<<”\n

Dung mat khau, tiep tuc chuong trinh”;


GVHD:Nguyễn Tường Thành

13

SV chuẩn bị Báo cáo trước khi đi TH


Tài liệu thực hành: Ngôn ngữ lập trình C++
Getch();
}
}

//Bai tap 5_41
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#define SAI -1
#define ELF 0
#define VF 1
#define VLF 2
#define LF 3
#define MF 4
#define HF 5
#define VHF 6
#define UHF 7
#define SHF 8
#define EHF 9
#define QUALON 10
void hthi(int type);
int svtuyen(float f);

float nhap(void);
int main(void)
{ float tso;
int lsong;
tso=nhap();
lsong=svtuyen(tso);
hthi(lsong);
getch();
return(0);
}
float nhap(void)
{ float f;
cout<<"\nNhap tan so song vo tuyen ";
cin>>f;
return(f);
}
void hthi(int type)
{ cout<<"\nSong dien tu la ";
switch(type)
{ case ELF: cout<<" song tan so cuc thap";break;
case VF : cout<<"song tan so am thanh";break;
case VLF: cout<<" song tan so rat thap";break;
case LF : cout<<"song tan so thap";break;
case MF: cout<<" song trung tan, tan so trung binh";break;
case HF : cout<<"song cao tan";break;

GVHD:Nguyễn Tường Thành

14


SV chuẩn bị Báo cáo trước khi ñi TH


Tài liệu thực hành: Ngôn ngữ lập trình C++
case VHF: cout<<" song tan so rat cao, song met ";break;
case UHF : cout<<"song gan sieu cao tan";break;
case SHF: cout<<" song sieu cao tan";break;
case EHF : cout<<"song tan so cuc cao ";break;
case QUALON: cout<<"Song vao qua lon";break;
default:cout<<"Nhap sai";
}
}
int svtuyen(float f)
{
if (f<0) return(SAI);
else if (f<300) return(ELF);
else if (f<3e3) return(VF);
else if (f<30e3) return(VLF);
else if (f<300e3) return(LF);
else if (f<3e6) return(MF);
else if (f<30e6) return(HF);
else if (f<300e6) return(VHF);
else if (f<3e9) return(UHF);
else if (f<30e9) return(SHF);
else if (f<300e9) return(EHF);
else return(QUALON);
}
//Bai tap 5_5
//Chuong trinh xac dinh dien tro day dan hinh tru
#include<iostream.h>

#include<conio.h>
#include<stdio.h>
#include<math.h>
#include<ctype.h>
#include<stdlib.h>
#define dong 17e-9
#define nhom 25.4e-9
#define bac 16e-9
#define mangan 1400e-9
#define PI 3.14
int main(void)
{
float bk,dai,td,dts,dt;
char ch;
cout<<"\n Lua chon vat lieu dan :";
cout<<"\n(d) Dong , (b) Bac , (n) Nhom , (m) Mangan\n";
ch=getchar();
cout<<"\nNhap ban kinh,chieu dai day dan :";cin>>bk>>dai;
td=PI*(bk*bk);
switch (tolower(ch))
{
case 'd':dts=dong;break;
case 'b':dts=bac;break;
case 'n':dts=nhom;break;

GVHD:Nguyễn Tường Thành

15

SV chuẩn bị Báo cáo trước khi đi TH



Tài liệu thực hành: Ngôn ngữ lập trình C++
case 'm':dts=mangan;break;
default:cout<<"\nKhong hop le";exit(0);break;
}
dt=dts*dai/td;
cout<<"\nDien tro cua day dan la:"<getch();
return 0;
}

Baøi tập:
1.
Vẽ lưu đồ của các chương trình trên. Cho biết kết quả sau
khi chạy chương trình.
2.
Viết chương trình ghi các dữ liệu tên, tuổi, lớp của mình
lên file trên ổ cứng và đọc dữ liệu đó ra hiển thị trên màn hình.
3.
Viết chương trình sử dụng con trỏ đối tượng nhập, hiển thị
họ tên, mã số, tuổi và tìm theo mã số.
4. Viết chương trình để nhập vào 1giá trị điện trở, chương trình
sẽ hiển thị thành màu điện trở để từ đó viết thành chương trình
cho điện trở có 4 vòng màu.
5. Viết chương trình lập trình hướng đối tượng theo kiểu lớp có
Menu giải bài toán mạch điện khuếch đại mắc kiểu EC, tìm dòng
điện, điện áp trên các cực, phương trình đường tải tónh và hệ số
khuếch đại của tranzitto.
6. Viết chương trình xuất ra cổng máy in 378H các tín hiệu để

làm sáng các bóng đèn

PHỤ LỤC: MẪU BÁO CÁO THÍ NGHIỆM THỰC HÀNH
BÁO CÁO THÍ NGHIỆM THỰC HÀNH
MÔN: NGÔN NGỮ LẬP TRÌNH C++
Họ và tên: ………………………………………….
Lớp: ……………..Khoá:……………..Nhóm:…………….
BÀI SỐ:……………….
1. Vẽ lưu đồ chương trình:…………..
Ví dụ mẫu:
* Mô tả thuật toán bằng lưu đồ:

BEGIN

Nhập
a, b, c
GVHD:Nguyễn Tường
Thành

16

SV chuẩn bị Báo cáo trước khi đi TH

Đún


Tài liệu thực hành: Ngôn ngữ lập trình C++

** Chương trình trên được viết bằng ngôn ngữ C++ như sau:
#include<iostream.h>

#include<math.h>
#include<conio.h>
class tamgiac
{ private:
float a,b,c;
public:
void nhap();
void in();
private:
float dientich();
};
void tamgiac::nhap()
{ do
{ cout<<"\n Canh a: ";cin>>a;

GVHD:Nguyễn Tường Thành

17

SV chuẩn bị Báo cáo trước khi ñi TH


Tài liệu thực hành: Ngôn ngữ lập trình C++
cout<<"\n Canh b: ";cin>>b;
cout<<"\n Canh c: ";cin>>c;
}while(a+b<=c||b+c<=a||c+a<=b);
}
void tamgiac::in()
{ cout<<"\nDo dai ba canh la: "<cout<<"\nDien tich tam giac la: "<

}
float tamgiac::dientich()
{ return(0.25*sqrt((a+b+c)*(a+b-c)*(a-b+c)*(a+b+c)));}
/*--------------------------------*/
void main()
{ clrscr();
tamgiac tg;
tg.nhap();
tg.in();
getch();
}
1. Trả lời câu hỏi:………..
2. Chương trình được viết:……

MỤC LỤC
LỜI MỞ ĐẦU
BÀI 1: NHẬP VÀO VÀ XUẤT RA
BÀI 2: CÁC LỆNH LỰA CHỌN
BÀI 3: LỆNH LẶP
BÀI 4: CÁC HÀM
BÀI 5: CON TRỎ
BÀI 6: MẢNG
BÀI 7: XÂU
BÀI 8: LẬP TRÌNH HƯỚNG ĐỐI TƯNG
BÀI 9: GIAO TIẾP VỚI THIẾT BỊ NGOẠI VI
BÀI 10: LẬP TRÌNH C++ TRONG KỸ THUẬT ĐIỆN TỬ
GVHD:Nguyễn Tường Thành

18


SV chuẩn bị Báo cáo trước khi ñi TH


Tài liệu thực hành: Ngôn ngữ lập trình C++
PHỤ LỤC: MẪU BÁO CÁO THÍ NGHIỆM THỰC HÀNH
MỤC LỤC

GVHD:Nguyễn Tường Thành

19

SV chuẩn bị Báo cáo trước khi đi TH



×