1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài thực hành số 3: Lập trình với các câu lệnh điều khiển potx

13 510 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 102,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mục tiêu  Tiếp tục tạo project Console application trên Microsoft Visual Studio 2005 gồm 1 tập tin chương trình *.cpp với nhiều hàm..  Sử dụng thuần thục các câu lệnh điều khiển  Viế

Trang 1

Bài thực hành số 3:

Lập trình với các câu lệnh điều khiển

A Mục tiêu

 Tiếp tục tạo project Console application trên Microsoft Visual Studio 2005 gồm 1 tập tin chương trình *.cpp với nhiều hàm

 Sử dụng thuần thục các câu lệnh điều khiển

 Viết chương trình có cấu trúc về mặt hình thức

 Rèn luyện cách gọi hàm, truyền tham trị

B Ôn tập:

 Câu lệnh if

 Câu lệnh switch

 Câu lệnh for

 Câu lệnh while

 Câu lệnh do while

 Hình thức viết chương trình có cấu trúc

1 Câu lệnh if:

Cú pháp:

a Dạng khuyết:

if ( DK)

Kl

b Dạng đủ:

if (DK)

Kl1 else

Kl2

2 Câu lệnh switch:

Cú pháp:

switch ( Bt) {

case H1: NL1

[ break; ] case H2: NL2

[ break; ]

case Hn: NLn

[ break; ] [default : NLn1 ]

}

Trang 2

 Bt: có giá trị nguyên (ký tự)

 H1, H2, Hn : Các hằng nguyên (Ký tự)

3 Câu lệnh for:

Cú pháp:

for(bt1 ; bt2 ; bt3)

KL // CL;

Có 2 dạng thường dùng:

 Dạng tiến:

for ( i=0; i <n; i++) Kl

 Dạng lùi:

for ( i=n-1; i >=0; i ) Kl

4 Câu lệnh while:

Cú pháp:

while(Bt)

KL // CL;

5 Câu lệnh do while:

Cú pháp:

while(Bt)

KL // CL;

6 Hình thức có cấu trúc trong văn bản chương trình:

Yêu cầu:

 Các câu lệnh có vai trò tương đương nên bắt đầu từ một cột

 Một câu lệnh (khối lệnh) phụ thuộc vào câu lệnh khác, nên viết dịch vào một khoảng qui định trước (chẳng hạn 1 tab)

 Tuân thủ cấu trúc qui định khi viết các thành phần trong các tập tin nguồn (.cpp, h)

C Luyện tập:

Ví dụ 1:

Viết chương trình giải phương trình bậc hai ax2+bx+c=0(a≠0)

Thực hiện:

Bước 1: Tạo Project với tên “Lab3_Vd1”

Bước 2: Tạo tập tin chương trình vd1.cpp

Bước 3: Trong tập tin vd1.cpp, soạn code theo cấu trúc:

// Chèn các tập tin thư viện cần thiết

#include<iostream>

#include<math.h>

Trang 3

using namespace std;

// Khai báo nguyên mẫu các hàm

void Ptb2( double a, double b, double c);

//Định nghĩa hàm main()

int main()

{

double a, b,c;

cout<<"\nNhap a (a ! = 0): ";

cin>>a;

cout<<"\nNhap b: ";

cin>>b;

cout<<"\nNhap c: ";

cin>>c;

ptb2 ( a, b, c);

cout<<'\n';

return 0;

}

//Định nghĩa hàm giải phương trình bậc 2

void ptb2 (double a, double b, double c)

{

double Delta, x1, x2, x;

Delta = b*b -4*a*c;

if (Delta == 0)

{

x = -b/(2*a);

cout<<"\nx = "<<x;

}

else

if (Delta < 0)

cout<<"Phuong trinh Khong co nghiem thuc"; else //Delta > 0

x1 = (-b + sqrt(Delta))/(2*a);

x2 = (-b - sqrt(Delta))/(2*a);

cout<<"\nx1= "<<x1

<<"\nx2= "<<x2;

}

Trang 4

Bước 4: Kiểm tra lỗi, chạy và xem kết quả chương trình.

Ví dụ 2:

Viết chương trình in ra số ngày của một tháng khi biết tháng và năm

Thực hiện:

Bước 1: Tạo Project với tên “Lab3_Vd2”

Bước 2: Tạo tập tin chương trình vd2.cpp

Bước 3: Trong tập tin vd2.cpp, soạn code theo cấu trúc:

// Chèn các tập tin thư viện cần thiết

//Chen cac tap tin thu vien

#include<iostream>

using namespace std;

//Khai bao nguyen mau

int SoNgay(int thang, int nam);

//Dinh nghia ham main

int main()

{

int thang, nam;

cout<<"\nNhap thang: ";

cin>>thang;

cout<<"\nNhap nam: ";

cin>>nam;

cout<<"\nSo ngay cua thang "<<thang<<" nam "<<nam<<" la: "<<SoNgay(thang,nam);

cout<<'\n';

return 0;

}

//Dinh nghia Ham tinh So ngay

int SoNgay(int thang, int nam)

{

int So_Ngay , nhuan;

switch (thang)

{

// thang co 31 ngay : 1,3,5,7,8,10,12 case 1 :

case 3:

case 5:

Trang 5

So_Ngay = 31;

case 7:

So_Ngay = 31;

case 8:

So_Ngay = 31;

case 10:

So_Ngay = 31;

case 12:

So_Ngay = 31;

// Thang co 30 ngay : 4,6,9,11 case 4 :

So_Ngay = 30;

case 6:

So_Ngay = 30;

case 9:

So_Ngay = 30;

case 11 :

So_Ngay = 30;

//Xet Thang 2 case 2 :

nhuan = ((nam% 4 == 0)&& (nam %100 != 0) )||

(nam % 400 == 0);

if (nhuan)

}

return So_Ngay;

}

Bước 4: Kiểm tra lỗi, chạy và xem kết quả chương trình

Trang 6

Ví dụ 3:

Viết chương trình phân loại tam giác, sử dung hàm chức năng:

Giải pháp:

Tổ chức các hàm:

 Hàm Pltg cài đặt hàm f

 Hàm Thongbao xuất kết quả phân loại dựa vào kết quả hàm Pltg

 Hàm main() khởi động các hàm trên thực hiện công việc của project

Th

ực hiện:

Bước 1: Tạo Project với tên “Lab3_Vd3”

Bước 2: Tạo tập tin chương trình vd3.cpp

Bước 3: Trong tập tin vd3.cpp, soạn code theo cấu trúc:

// Chèn các tập tin thư viện cần thiết

#include<iostream>

using namespace std;

//Khai bao nguyen mau

int Pltg(double a, double b, double c);

void ThongBao(int Kq, double a, double b, double c);

//Dinh nghia ham main

int main()

{

double a, b,c;

cout<<"\nNhap a: ";

cin>>a;

cout<<"\nNhap b: ";

cin>>b;

cout<<"\nNhap c: ";

cin>>c;

g ia ù c

ta m

c u û a

ca ï n h 3

la ø

kh o â n g c

b ,

a ,

N eá u

; 0

th ö ô ø n g ,

g ia ù c

ta m

cu û a

ca ï n h 3

la ø c

b ,

a ,

N eá u

;

5 ; N eá u a , b , c la ø 3 c a ï n h cu û a ta m g ia ù c v u o â n g ca â n , 4

vu o â n g ,

g ia ù c

ta m

c u û a

ca ï n h 3

la ø c

b ,

a ,

N eá u

;

3 ; N eá u a , b , c la ø 3 ca ï n h c u û a ta m g ia ù c ca â n , 2

ñ eà u ,

g ia ù c

ta m

cu û a

ca ï n h 3

la ø c

b ,

a ,

N e á u

;

1 )

,

,

f

Trang 7

int Kq = Pltg(a, b, c);

cout<<'\n';

return 0;

}

//Dinh nghia Ham phan loai tam giac

int Pltg(double a, double b, double c)

{

int Kq = 0;//Khong la tam giac

if (a+b > c && a+c > b && b+c > a) // La tam giac

{

if(a==b && b == c) // Tam giac deu

Kq = 1;

else // Khong la tg deu

if(a == b || b == c || a == c) // Tg can { // Tg vuong

if(a*a ==b*b+c*c || b*b ==a*a+c*c || c*c== a*a+b*b)

Kq = 4;

else // Khong vuong

Kq = 2;

} else // Khong can

if(a*a ==b*b+c*c || b*b ==a*a+c*c || c*c== a*a+b*b)

Kq = 3; // Tg vuong else // Khong vuong

Kq = 5;

}

return Kq;

}

//Dinh nghia ham thong bao

void ThongBao(int Kq, double a, double b, double c)

{

switch(Kq)

{

case 0:

cout<<"\n"<<a<<","<<b<<","<<c<<" khong phai 3 canh tg!!!"; break;

case 1:

cout<<"\n"<<a<<","<<b<<","<<c<<" la 3 canh tg deu";

break;

case 2:

cout<<"\n"<<a<<","<<b<<","<<c<<" la 3 canh tg can";

break;

Trang 8

case 3:

cout<<"\n"<<a<<","<<b<<","<<c<<" la 3 canh tg vuong"; break;

case 4:

cout<<"\n"<<a<<","<<b<<","<<c<<" la 3 canh tg vuong can"; break;

case 5:

cout<<"\n"<<a<<","<<b<<","<<c<<" la 3 canh tg thuong"; break;

}

}

Bước 4: Kiểm tra lỗi, chạy và xem kết quả chương trình

Ví dụ 4:

Tính tổng n số nguyên dương đầu tiên S=1+2+3 n

Th

ực hiện:

Bước 1: Tạo Project với tên “Lab3_Vd4”

Bước 2: Tạo tập tin chương trình vd4.cpp

Bước 3: Trong tập tin vd4.cpp, soạn code theo cấu trúc:

// Chèn các tập tin thư viện cần thiết

#include<iostream>

using namespace std;

//Khai bao nguyen mau

int Tong_NSoNguyen(int n);

int main()

{

int n,s;

cout<<"Nhap n=";

cin>>n;

s=Tong_NSoNguyen(n);

cout<<"Tong s = 1+2+ +n = "<<s<<"\n";

return 0;

}

//Dinh nghia ham tong n so nguyen duong dau tien

int Tong_NSoNguyen(int n)

{

int s, i;

s=0;

for( i=1; i<=n; i++)

Trang 9

s += i;

return s;

}

Bước 4: Kiểm tra lỗi, chạy và xem kết quả chương trình

Ví dụ 5:

Viết hàm thống kê có bao nhiêu điểm >= i, với i =0, 10, từ n điểm nguyên

từ 0 đến 10 đọc vào từ bàn phím và xuất kết quả ra mà hình

Thực hiện:

Bước 1: Tạo Project với tên “Lab3_Vd5”

Bước 2: Tạo tập tin chương trình vd5.cpp

Bước 3: Trong tập tin vd5.cpp, soạn code theo cấu trúc:

// Chèn các tập tin thư viện cần thiết

#include<iostream>

using namespace std;

//Khai bao nguyen mau

void ThongKe(int n);

//Dinh nghia ham main()

int main()

{

int n;

cout<<”\nNhap n: “;

cin>>n;

ThongKe(n);

cout<<’\n’;

return 0;

}

//Dinh nghia ham thong ke

void ThongKe(int n)

{

int i, x, //Diem doc vao tu ban phim

d0= 0, //so diem bang 0 d1=0, //So diem >= 1 d2=0, //So diem >= 2 d3=0, //So diem >= 3 d4=0, //So diem >= 4 d5=0, //So diem >= 5 d6=0, //So diem >= 6

Trang 10

d7=0, //So diem >= 7 d8=0, //So diem >= 8 d9=0, //So diem >= 9 d10=0; //So diem bang 10 for(i = 1; i <= n; i++)

{

cout<<“\nNhap x = “;

cin>>x;

switch(x) {

case 10: d10++;

case 9: d9++;

case 8: d8++;

case 7: d7++;

case 6: d6++;

case 5: d5++;

case 4: d4++;

case 3: d3++;

case 2: d2++;

case 1: d1++;

case 0: d0++;

} }

cout<<“\nSo diem >=0: “<<d0;

cout<<“\nSo diem >=1: “<<d1;

cout<<“\nSo diem >=2: “<<d2;

cout<<“\nSo diem >=3: “<<d3;

cout<<“\nSo diem >=4: “<<d4;

cout<<“\nSo diem >=5: “<<d5;

cout<<“\nSo diem >=6: “<<d6;

cout<<“\nSo diem >=7: “<<d7;

cout<<“\nSo diem >=8: “<<d8;

cout<<“\nSo diem >=9: “<<d9;

cout<<“\nSo diem >=10: “<<d10;

}

Bước 4: Kiểm tra lỗi, chạy và xem kết quả chương trình

Ví dụ 6:

Viết chương trình kiểm tra một số nguyên n có phải là một số nguyên tố Thực hiện:

Bước 1: Tạo Project với tên “Lab3_Vd6”

Bước 2: Tạo tập tin chương trình vd6.cpp

Trang 11

Bước 3: Trong tập tin vd6.cpp, soạn code theo cấu trúc:

// Chèn các tập tin thư viện cần thiết

#include<iostream>

#include<math.h>

using namespace std;

//Khai bao nguyen mau

int Nt (int n) ;

//Dinh nghia ham main()

int main()

{

int n, Kq;

cout<<”\nNhap n: “;

cin>>n;

Kq = Nt ( n);

if(Kq)

cout<<”\n”<<n<<” la so nguyen to.”;

else

cout<<”\n”<<n<<” khong phai so nguyen to.”; cout<<’\n’;

return 0;

}

//Dinh nghia ham Kiem tra so nguyen to

int Nt (int n)

{

int m, i, Kq;

if ( n <= 1)

Kq = 0;

else

{

Kq = 1;

i = 2;

m = (int)sqrt(n);

while (i <=m && Kq) {

if( n % i == 0)

Kq = 0;

} }

return Kq;

}

Trang 12

Ví dụ 7:

Sử dụng câu lệnh do while để điều khiển việc nhập dữ liệu theo yêu cầu

 Trong ví dụ 1, Điều khiển nhập a khác 0 như sau:

do {

cout<<”\nNhap a (!= 0): “;

cin>>a;

} while( a==0);

 Trong ví dụ 4, điều khiển nhập một số nguyên dương n như sau:

do {

cout<<”\nNhap n (> 0): “;

cin>>n;

} while( n<=0);

D Bài tập:

Bài 1:

Viết chương trình giải phương trình bậc nhất ax+b=0

Bài 2:

Viết chương trình tính giá trị lớn nhất của 4 số nguyên a, b, c, d được nhập từ bàn phím

Bài 3:

Viết chương trình tính tổng (trong 1 Project):

1 S = 

n

i 1 i

1 ;

2 S = 

n

i i

i

1 2

1 ;

3 S = 

 

n

i

i

i

i

) 1 (

Bài 4:

Viết chương trình tìm ước số chung lớn nhất của 2 số nguyên dương a, b

Bài 5:

Viết chương trình thực hiện các phép toán số học

Trang 13

Nhập vào 2 số thực x, y và ký tự K, Tính:

K = ‘*’, ketqua = a*b

K = ‘+’, ketqua = a+b

K = ‘-‘, ketqua = a-b

K = ‘/’, ketqua = a/b

Bài 6: ( Trò chơi đoán số )

Máy tính " nghĩ ra " một số ngẫu nhiên (số nguyên) và không hiển thị số đó Người chơi đoán số ấy bằng cách gõ từ bàn phím một số

 Nếu số ấy nhỏ hơn số do máy tính nghĩ ra thì máy tính hiển thị thông báo câu

"Nhỏ hơn"

 Nếu số ấy lớn hơn số do máy tính nghĩ ra thì máy tính hiển thị thông báo câu

"Lớn hơn"

Giả sử người chơi chỉ có thể đoán nhiều nhất là k lần

Nếu cả k lần người chơi đều đoán sai, chương trình hiển thị thông báo "Bạn

đã thua", ngược lại người chơi thắng cuộc

Viết chương trình thể hiện trò chơi

Bài 7:

Viết chương trình xuất bảng cửu chương từ 1 đến 9

Bài 8:

Xuất các hình:

Ngày đăng: 01/08/2014, 01:20

HÌNH ẢNH LIÊN QUAN

6. Hình thức có cấu trúc trong văn bản chương trình: - Bài thực hành số 3: Lập trình với các câu lệnh điều khiển potx
6. Hình thức có cấu trúc trong văn bản chương trình: (Trang 2)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w