BÀI TẬP LẬP TRÌNH C C++ LƯU ĐỒ THUẬT TOÁN

PHẦN 1 LƯU ĐỒ THUẬT TOÁN (FLOWCHART)Các cam kết hiệu biểu diễn giữ đồ gia dụng thuật toán, biện pháp màn trình diễn các cấu trúc điều khiển rẽ nhánh, cấu trúc lặp với những nghệ thuật liên quan cho giữ đồ vật thuật toán.

Bạn đang xem: Bài tập lập trình c c++ lưu đồ thuật toán

I. TÓM TẮT LÝ THUYẾTI.1. Khái niệm : Lưu đồ vật thuật toán thù là pháp luật dùng để màn biểu diễn thuật toán, việc biểu đạt nhập (input), tài liệu xuất (output) cùng luồng xữ lý trải qua những cam kết hiệu hình học.I.2. Pmùi hương pháp săn sóc :

Duyệt tự bên trên xuống và chu đáo trường đoản cú trái sang trọng nên.

I.3. Các ký kết hiệu :
*
I.4. Các cấu tạo điều khiển cơ phiên bản :
a. Cấu trúc tuần từ bỏ : Tuần trường đoản cú triển khai quy trình. Mỗi lệnh được thực thi theo một chuỗi từ bỏ trên xuống, hoàn thành lệnh này rồi chuyển xuống lệnh kế tiếp.
*
Ví dụ: Nhtràn vào 3 số nguyên a, b, c và xuất ra screen với cái giá trị của từng số tạo thêm 1.
*
b. Cấu trúc ĐK :
lựa chọn 1 trong nhị trường hòa hợp.

if : Chỉ xét trường phù hợp đúng.

*
Ví dụ: Nhtràn vào số nguim n. Kiểm tra trường hợp n > 0 tăng n lên 1 đơn vị chức năng. Xuất công dụng.
*

• if…else : Xét ngôi trường hòa hợp đúng cùng trường vừa lòng không nên.

*
Ví dụ: Nhtràn lên số ngulặng n. Kiểm tra nếu như n chẵn xuất ra màn hình hiển thị “n chẵn”, trở lại xuất “n lẻ”.c. Cấu trúc lặp :
Thực hiện liên tiếp 1 lệnh giỏi tập lệnh với chu kỳ lặp nhờ vào ĐK. Lặp sẽ dứt lúc ĐK được thỏa.

for / while (Kiểm tra điều kiện trước lúc lặp) : for thường vận dụng lúc biết đúng đắn số lần lặp. While thường xuyên vận dụng khi không biết đúng mực tần số lặp

*
Ví dụ: Nhập vào số nguyên ổn n. Xuất ra màn hình hiển thị từ là một mang đến n.
*

• bởi vì … while (Thực hiện lặp trước lúc bình chọn điều kiện)

*
Ví dụ: Nhtràn lên số nguim dương n. Nếu nhập không đúng những hiểu biết nhập lại.d. Các ví dụ

ví dụ như 1: Giải cùng biện luận phương trình: ax+b=0.

*

ví dụ như 2: Tính tổng :

*
*

lấy một ví dụ 3: Tính tổng :

*
*
II. BÀI TẬP : Vẽ lưu lại trang bị thuật tân oán sau
II.1. các bài luyện tập cơ bản

1. Nhập lệ nhị số x, y. Xuất ra screen tổng, hiệu, tích, tmùi hương của nhì số bên trên.

2. Nhtràn lên số ngulặng n, chất vấn xem n chẵn tuyệt lẻ cùng xuất ra screen.

3. Nhtràn vào ba cạnh a, b, c của tam giác. Xuất ra screen tam giác đó trực thuộc các loại tam giác gì? (Thường, cân, vuông, rất nhiều hay vuông cân).

4. Nhập vào số nguyên ổn n. Nếu n>5 thì tăng n lên 2 đơn vị và trả về quý hiếm n, ngược lại trả về cực hiếm 0.

5. Nhtràn vào số nguyên n. Tính n! với 0 ≥ n

6. Cho số nguyên ổn n. Tính trị hoàn hảo của n

7. Tính Phường. = 1 . 3 . 5 . . . (2n+1) , cùng với 0 ≥ n

8. Tính P = 1+ 3 + 5 + … + (2n+1) , với 0 ≥ n

*

16. Đếm con số ước số chẵn của số ngulặng dương n.

17. In ra chữ số trước tiên của số nguyên ổn dương n gồm k chữ số.

18. Cho 2 số nguim dương a, b. Tìm USCLN của a với b.

19. Cho 2 số nguyên dương a, b. Tìm BSCNN của a với b.

trăng tròn. Cho số nguim dương x. Kiểm tra xem x có phải là số nguim tố không?

21. Cho số nguyên ổn dương x. Kiểm tra x có phải là số thiết yếu phương không?

22. Cho số nguyên dương x. Kiểm tra coi x có phải là số hoàn thành xong không?

II.2. các bài tập luyện rèn luyện với nâng cao

23. Tính các tổng S sau :

*

24. Giải cùng biện luận phương thơm trình bậc 2: ax2 + bx +c =0

25. Tính những tổng sau : (dạng bài tập khó)

*
PHẦN 2
CẤU TRÚC ĐIỀU KHIỂNI. TÓM TẮT LÝ THUYẾTI.1. Các hình trạng dữ liệu cơ bản vào C
*
I.2. Cấu trúc rẽ nhánh
a. Cấu trúc ifif (biểu thức điều kiện) ;b. Cấu trúc if … elseif (biểu thức điều kiện)

;

else

;

Ví dụ: Giải với biện luận phương trình: ax+b=0

#include #include void main ()

float a, b;

printf ( “ Nhap vao a:”); scanf ( “%f”, &a);printf ( “ Nhap vao b:”); scanf ( “%f”, &b) ;if (a= = 0)if (b= = 0)printf ( “ PTVSN”);elseprintf ( “ PTVN”);elseprintf ( “ Nghiem x=%f”, -b/a);getch ();

I.3. Cấu trúc tuyển lựa switch

switch (biểu thức)

case n1:

những câu lệnh ;

break ;

case n2:

những câu lệnh ;

break ;………

case nk: ;

break ;

những câu lệnh>

Trong số đó :

• ni là các hằng số nguyên hoặc ký tự.

• Phụ trực thuộc vào quý giá của biểu thức viết sau switch, nếu:

o Giá trị này = ni thì triển khai câu lệnh sau case ni.

o Khi quý giá biểu thức ko thỏa toàn bộ những ni thì triển khai câu lệnh sau mặc định ví như tất cả, hoặc ra khỏi câu lệnh switch.

o Lúc công tác vẫn tiến hành ngừng câu lệnh của case ni làm sao đó thì nó sẽ triển khai luôn những lệnh ở trong case dưới nó mà lại không xét lại điều kiện (vì các ni được xem như như những nhãn) .Vì vậy, để công tác thoát ra khỏi lệnh switch sau thời điểm thực hiện xong một trường hòa hợp, ta sử dụng lệnh break.lấy ví dụ 1 : Viết chương trình chọn thực đơn ngay số nhập từ keyboard.#include#includevoid ChonTD (int &chon)

printf ("Thuc Don") ;

printf (" 1. Lau thai!") ;printf (" 2. Nuoc ngot!") ;printf (" 3. Ca loc hap bau!") ;printf (" 4. Chuot dong!") ;printf (" Xin moi ban chon tháng an!") ;scanf ("%d",&chon) ;

void TDchon(int chon)

switch (chon)

case 1:

printf (" Ban chon vệ sinh thai!") ;break ;case 2:printf (" Ban chon nuoc ngot!") ;break ;case 3:printf (" Ban chon ca loc hap bau!") ;break ;case 4:printf ("Ban chon chuot dong!") ;break ;default:printf (" Ban chon khong dung!") ;

void main()

clrscr() ;

int chon ;ChonTD(chon) ;TDchon(chon) ;getch() ;

lấy một ví dụ 2 : Viết công tác nhập vào tháng , xuất ra màn hình số ngày của mon vừa nhập (Giả sử tháng 2 tất cả 28 ngày) .

#include#includevoid so_ngay lập tức (int thang)

switch (thang)

case 1:case 3:case 5:case 7:case 8:case 10:case 12:printf (" Tháng %d có 3một ngày ", thang) ;break ;case 4:case 6:case 9:case 11:printf (" Tháng %d tất cả 30 ngày", thang) ;break ;case 2:printf (" Tháng 2 bao gồm 28 ngày") ;break ;default:printf (" Ban nhập mon ko đúng!") ;

void main()

clrscr() ;

int thang ;printf(“ Hãy nhập tháng : ”); scanf(“%d”, &thang);so_ngay(thang) ;getch() ;I.4. Cấu trúc lặpa. Cấu trúc lặp for : for (; ; )

;

Ví dụ: In ra màn hình hiển thị bảng mã ASCII trường đoản cú ký trường đoản cú số 33 mang đến 255.#include#includevoid main()for (int i=33;iprintf("Ma ASCII cua %c: %d ", i, i) ;getch () ;b. Cấu trúc lặp whilewhile ( )

lệnh/ khối hận lệnh;

Ví dụ: Tính quý hiếm trung bình những chữ số của số nguim n gồm k chữ số.#include#includevoid main()

int n, tong=0, sochuso=0;

float tb;printf ("Nhap vao gia tri n gom k chu so") ;scanf ("%d",&n) ;while(n>0)

tong=tong+n%10 ;

sochuso++ ;n=n/10 ;

tb=(float)1.0*tong/sochuso ;

printf ("Gia tri trung binch la: %f", tb) ;getch () ;

c. Cấu trúc lặp vì chưng … while

do

;

while (biểu thức điều kiện) ;lấy ví dụ : Nhập cam kết tự từ bỏ bàn phím hiển thị lên screen mã ASCII của cam kết từ bỏ đó, thực hiện cho đến lúc thừa nhận phím ESC (Mã ASCII của phím ESC là 27).#include#includevoid main()

int ma ;

bởi vì ma=getch ();if (ma !=27)printf ("Ma ASCII %c:%d ", ma, ma);

while (ma!=27) ;

getch () ;

II. BÀI TẬP

II.1. Pmùi hương pháp chạy tay từng bước một để kiếm tìm hiệu quả chương trình

�� Xác định công tác gồm sử dụng hồ hết biến hóa làm sao.

�� Giá trị ban sơ của từng đổi thay.

�� Những đổi thay như thế nào sẽ ảnh hưởng biến đổi trong quy trình chạy lịch trình thì lập thành bảng có dạng sau:

*
Ví dụ:
Cho biết kết quả của đoạn lịch trình sau:void main()int i, a = 4;for(i = 0 ; iprintf(“%d ”, i);getch();

Chương trình có 2 trở thành i cùng a, chỉ tất cả thay đổi i có giá trị biến hóa trong quá trình chạy công tác buộc phải ta lập bảng sau:

a có giá trị là 4
*

Tại bước 4, cực hiếm của i = 4 phạm luật ĐK lặp (i0123II.2. Bài tập cơ bảna. Cấu trúc if / if..else cùng switch :

1. Cho biết kết quả của đoạn chương trình sau:

int a=9, b=6;a++;a=a+b--;a=a+(--b);if(a%2==0)printf("Gia tri cua a la chan”);printf(“Tong cua a va b la: %d”, a+b) ;

2. Cho biết tác dụng của đoạn công tác sau:

int a=7, b=8;a++;a=a+(b--);--b;a--;a=(--a)+(--b);if(a%2!=0)printf(" a la so le");elseprintf(" a la so chan");printf("mãng cầu = %d",a);

3. Cho biết hiệu quả của đoạn công tác sau:

int x=5, y;y=x++ + 5;printf(“x=%d, y=%d ”, x, y);y*=6;x=y%7;printf(“x=%d,y=%d,y/x=%d”, x, y, y/x);

4. Nhập vào nhì số nguyên ổn a, b. In ra screen quý hiếm lớn nhất.

5. Cho tía số a, b, c nhtràn lên từ bỏ keyboard. Hãy tra cứu quý giá lớn nhất của tía số trên với in ra tác dụng.

6. Cho cha số a, b, c nhtràn vào từ bàn phím. Hãy in ra màn hình theo máy từ tăng vọt những số.

Xem thêm: Cách Sử Dụng Hàm Lấy Ngày Hôm Nay Trong Excel Là Gì? Cách Sử Dụng Thế Nào?

7. Viết lịch trình nhập lệ một số trong những nguyên ổn n bao gồm ba chữ số. Xuất ra màn hình chữ số lớn nhất ở trong phần nào?

Ví dụ: n=291. Chữ số lớn số 1 nằm tại hàng chục (9).

8. Viết công tác nhập vào số ngulặng n gồm tía chữ số. Xuất ra màn hình hiển thị theo vật dụng từ bỏ tăng đột biến của các chữ số.

Ví dụ: n=291. Xuất ra 129.

9. Nhập vào ngày, mon, năm. Kiểm tra xem ngày, mon, năm kia gồm đúng theo lệ tốt không? In hiệu quả ra screen.

10. Nhtràn lên tiếng, phút, giây. Kiểm tra kiểm tra ngày giờ, phút ít, giây kia gồm vừa lòng lệ hay không? In tác dụng ra màn hình hiển thị.

11. Viết chương trình nhập vào trong ngày, mon, năm hòa hợp lệ. Cho biết năm này còn có đề xuất là năm nhuận hay không? In hiệu quả ra màn hình hiển thị.

12. Viết chương trình tính diện tích S cùng chu vi những hình: tam giác, hình vuông vắn, hình chữ nhật và hình trụ cùng với đầy đủ đọc tin cần được nhập từ bỏ bàn phím.

13. Viết chương trình tính tiền cước TAXI. Biết rằng:

- KM trước tiên là 5000đ.

- 200m tiếp theo là 1000đ.

- Nếu to hơn 30km thì mỗi km thêm đang là 3000đ.

Hãy nhập số kilomet tiếp đến in ra số tiền đề nghị trả.

14. Nhập vào 3 số ngulặng dương a, b, c. Kiểm tra xem 3 số kia bao gồm lập thành tam giác không? Nếu gồm hãy cho thấy tam giác đó trực thuộc các loại nào? (Cân, vuông, gần như, …).

15. Viết công tác nhtràn vào số ngulặng dương n. Kiểm tra coi n có phải là số chính phương thơm tuyệt không? (số chính phương là số lúc đem căn bặc 2 có kết quả là nguyên).b. Cấu trúc lặp

16. Cho biết hiệu quả của đọan công tác sau:

int a=18;for(int i=1; iif(a%i= =0)printf(" %d", i);

17. Cho biết công dụng của đọan công tác sau:

for(int i=0; ifor(int j=0; jprintf(“%d ”, j);printf(“ ”);

18. Cho biết kết quả của đọan lịch trình sau:

int i=10, s=0;while(i>0)if(i%2= =0)s+=i;elseif(i>5)s+=2*i;i--;printf(“s = %d”,s);

19. Cho biết hiệu quả của đọan công tác sau:

int a=18, i=1;doif(a%i==0)printf(" %d",i);i++; while(i

đôi mươi. Cho biết hiệu quả của đọan lịch trình sau:

int a=11, b=16, i=a;while( iif(i%2==0)printf(" %d", i);break;i++;

21. Cho biết hiệu quả của đọan công tác sau:

int a=10, s=0, i=0;while( ii++;if(i%2==0) continue;else s=s+i;printf("s=%d",s);

22. Cho biết kết quả của đọan công tác sau:

int i=1,s=0;while(1) // Có nghĩa là vòng lặp ko khi nào dừngs=s+i++;if(i%2)i=i+2;elsei=i+1;if(i>20)break;printf("%d",s);

23. Viết công tác vẽ hình chữ nhật đặc kích thước n×m (m, n nhập trường đoản cú bàn phím).

Ví dụ: Nhập m=5, n=4* * * * ** * * * ** * * * ** * * * *

24. Viết chương trình vẽ hình chữ nhật trống rỗng kích thước n×m (m, n nhập từ bỏ bàn phím).

Ví dụ: Nhập m=5, n=4* * * * ** ** ** * * * *

25. Viết lịch trình vẽ tam giác vuông cân nặng đặc có độ cao h (h nhập tự bàn phím).

Ví dụ: Nhập h=4** ** * ** * * *

26. Viết công tác vẽ tam giác cân trống rỗng bao gồm chiều cao h (h nhập tự bàn phím).

Ví dụ: Nhập h=4** ** ** * * *

27. Viết chương trình vẽ tam giác cân nặng quánh tất cả chiều cao h (h nhập tự bàn phím).

Ví dụ: Nhập h=4** * ** * * * ** * * * * * *

28. Viết lịch trình vẽ tam giác cân nặng trống rỗng tất cả chiều cao h (h nhập từ bàn phím).

Ví dụ: Nhập h=4** ** ** * * * * * *

29. Viết công tác nhập số nguim dương n. Liệt kê những số ngulặng tố từ là một mang đến n.

30. Viết lịch trình nhập vào nhị số ngulặng dương a và b. Tìm ước số thông thường lớn số 1 và bội số chung nhỏ tuổi độc nhất của a với b.

31. Viết lịch trình đếm số ước số của số ngulặng dương N.

Ví dụ: N=12 , số ước số của 12 là 6

32. Một số hoàn thành là một trong những có tổng những ước số của chính nó (không nói nó) bằng bao gồm nó. Hãy liệt kê các số triển khai xong nhỏ tuổi rộng 5000.

Ví dụ: số 6 là số hòan thiện do tổng những ước số là 1+2+3=6.

33. Nhập vào trong ngày, tháng, năm. Cho biết chính là ngày sản phẩm công nghệ mấy trong thời gian.

34. In ra hàng số Fibonaci

f1 = f0 =1 ;

fn = fn-1 + fn-2 ; (n>1)II.3. các bài luyện tập luyện tập và nâng cao

35. Cài đặt tất cả các giữ vật dụng vẫn vẽ sống cmùi hương 1.

36. Nhập vào trong ngày, mon, năm. Kiểm tra xem ngày, mon, năm kia bao gồm hợp lệ hay không, trường hợp thích hợp lệ cho thấy thêm ngày sau đó là bao nhiêu.

37. Nhập vào ngày, mon, năm. Kiểm tra coi ngày, mon, năm kia gồm hợp lệ hay là không, ví như thích hợp lệ cho biết thêm cách đây không lâu đó là từng nào.

38. Nhập vào tiếng, phút, giây. Kiểm tra xem ngày giờ, phút ít, giây đó tất cả hợp lệ hay không, giả dụ đúng theo lệ cho thấy giờ đồng hồ tiếp đến 1 giây là từng nào cùng giờ trước đó 1 giây là bao nhiêu.

Ví dụ: Nhập 01:59:59, Giờ sau đó 1 giây 02:00:00, Giờ trước kia 1 giây 01:59:58

39. Viết lịch trình in ra bảng cửu chương từ 2 đến 9.

40. (*) Vẽ hình cánh quạt sau:

*

Sử dụng các hàm cprintf(), textcolor(), delay(), kbhit(), … biến hóa color nhằm tạo xúc cảm mang lại cánh quạt luân phiên cho tới khi thừa nhận một phím ngẫu nhiên.

PHẦN 3
HÀM CON (CHƯƠNG TRÌNH CON)I. TÓM TẮT LÝ THUYẾTI.1 Các hàm con

Được sử dụng nhằm mục đích mục đích:

• Khi gồm một các bước như thể nhau nên thực hiện ngơi nghỉ các vị trí.

• khi nên chia một công tác to phức hợp thành các đối kháng thể nhỏ (hàm con) để lịch trình được trong sạch, dễ hiểu vào bài toán cách xử lý, quản lý vấn đề tính tân oán và giải quyết và xử lý vấn đề.