Vẽ lưu đồ giải thuật cho chương trình nhập vào điểm của học sinh và phần loại như sau

  • lý thuyết
  • trắc nghiệm
  • hỏi đáp
  • bài tập sgk

viết chương trình nhập điểm trung bình (ĐTB) trong học kỳ 1 của các bạn học sinh. đưa ra kết quả xếp loại của học sinh dwuaj trên các tiêu chí dưới đây:

+Nếu ĐTB<5.0 thì xếp loại yếu

+Nếu 5.0 ≤ ĐTB < 6.5 thì xếp loại trung bình

+Nếu 6.5 ≤ ĐTB < 8.0 thì xếp loại khá

+Nếu ĐTB ≥ 8.0 thì xếp loại giỏi.

In kết quá xếp loại ra màn hình.

Các câu hỏi tương tự

Câu 1: Lớp 8 3 có chiều dài là a, chiều rộng là B. bạn An muốn tính số lượng viên gạch để lát nền lớp 8A. biết viên gạch hình vuông có cạnh là 30 cm. Em hãy viết chương trình tính số lượng viên gạch để lát nền lớp học của lớp 8A

Câu 2 viết chương trình cho phép tính trung bình cộng của 4 số

Nhập 4 số vào 4 biến a, b, c, d

Tính trung bình cộng của a, b, c, d .Biết công thức tính trung bình cộng của 4 số là: (a + b + c + d) /4

câu 3 Viết chương trình tính điểm trung bình của một học sinh, dữ liệu nhập vào là ĐTBHKI, ĐTBHKIK. in ra màn hình của học sinh ĐTBCN của HS đó ĐTBCN=(ĐTBHKI+ ĐTBHKII*2)/3, và xếp loại học lực biết:

ĐTBCN<5, xếp loại: yếu

5=<ĐTBCN<6.5, xếp loại: trung bình

6.5=<ĐTBCN<8, xếp loại: khá

ĐTBCN>=8, xếp loại: giỏi

Cau 4 tính tam giác: nhập vào 3 số A,b,c bất kì. kiểm tra xem nó có thể là độ dài ba cạnh hay không, Nếu không thì in ra màn hình" Khong la ba canh cua mot tam giac". Ngược lại thì in diện tích chu vi của tam giác ra màn hình


Lập trình căn bản Tóm tắt lý thuyết và bài tập


PHẦN 1

LƯU ĐỒ THUẬT TOÁN (FLOWCHART)

Các ký hiệu biểu diễn lưu đồ thuật toán, cách biểu diễn các cấu trúc điều khiển rẽ nhánh, cấu trúc lặp và các kỹ thuật liên quan đến lưu đồ thuật toán.

I. TÓM TẮT LÝ THUYẾT

I.1. Khái niệm : Lưu đồ thuật toán là công cụ dùng để biểu diễn thuật toán, việc mô tả nhập (input), dữ liệu xuất (output) và luồng xữ lý thông qua các ký hiệu hình học.

I.2. Phương pháp duyệt :

Duyệt từ trên xuống và duyệt từ trái sang phải.



I.3. Các ký hiệu :

Vẽ lưu đồ giải thuật cho chương trình nhập vào điểm của học sinh và phần loại như sau


I.4. Các cấu trúc điều khiển cơ bản :

a. Cấu trúc tuần tự : Tuần tự thực thi tiến trình. Mỗi lệnh được thực thi theo một chuỗi từ trên xuống, xong lệnh này rồi chuyển xuống lệnh kế tiếp.

Vẽ lưu đồ giải thuật cho chương trình nhập vào điểm của học sinh và phần loại như sau


Ví dụ: Nhập vào 3 số nguyên a, b, c và xuất ra màn hình với giá trị của mỗi số tăng lên 1.

Vẽ lưu đồ giải thuật cho chương trình nhập vào điểm của học sinh và phần loại như sau


b. Cấu trúc điều kiện : chọn một trong hai trường hợp.

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



Vẽ lưu đồ giải thuật cho chương trình nhập vào điểm của học sinh và phần loại như sau


Ví dụ: Nhập vào số nguyên n. Kiểm tra nếu n > 0 tăng n lên 1 đơn vị. Xuất kết quả.

Vẽ lưu đồ giải thuật cho chương trình nhập vào điểm của học sinh và phần loại như sau

if…else : Xét trường hợp đúng và trường hợp sai.



Vẽ lưu đồ giải thuật cho chương trình nhập vào điểm của học sinh và phần loại như sau


Ví dụ: Nhập vào số nguyên n. Kiểm tra nếu n chẵn xuất ra màn hình “n chẵn”, ngược lại xuất “n lẻ”.

c. Cấu trúc lặp : Thực hiện liên tục 1 lệnh hay tập lệnh với số lần lặp dựa vào điều kiện. Lặp sẽ kết thúc khi điều kiện được thỏa.

for / while (Kiểm tra điều kiện trước khi lặp) : for thường áp dụng khi biết chính xác số lần lặp. While thường áp dụng khi không biết chính xác số lần lặp



Vẽ lưu đồ giải thuật cho chương trình nhập vào điểm của học sinh và phần loại như sau


Ví dụ: Nhập vào số nguyên n. Xuất ra màn hình từ 1 đến n.

Vẽ lưu đồ giải thuật cho chương trình nhập vào điểm của học sinh và phần loại như sau

do … while (Thực hiện lặp trước khi kiểm tra điều kiện)



Vẽ lưu đồ giải thuật cho chương trình nhập vào điểm của học sinh và phần loại như sau


Ví dụ: Nhập vào số nguyên dương n. Nếu nhập sai yêu cầu nhập lại.

d. Các ví dụ

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



Vẽ lưu đồ giải thuật cho chương trình nhập vào điểm của học sinh và phần loại như sau

Ví dụ 2: Tính tổng :



Vẽ lưu đồ giải thuật cho chương trình nhập vào điểm của học sinh và phần loại như sau


Vẽ lưu đồ giải thuật cho chương trình nhập vào điểm của học sinh và phần loại như sau

Ví dụ 3: Tính tổng :



Vẽ lưu đồ giải thuật cho chương trình nhập vào điểm của học sinh và phần loại như sau


Vẽ lưu đồ giải thuật cho chương trình nhập vào điểm của học sinh và phần loại như sau


II. BÀI TẬP : Vẽ lưu đồ thuật toán sau

II.1. Bài tập cơ bản

1. Nhập vào hai số x, y. Xuất ra màn hình tổng, hiệu, tích, thương của hai số trên.

2. Nhập vào số nguyên n, kiểm tra xem n chẵn hay lẻ và xuất ra màn hình.

3. Nhập vào ba cạnh a, b, c của tam giác. Xuất ra màn hình tam giác đó thuộc loại tam giác gì? (Thường, cân, vuông, đều hay vuông cân).

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

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

6. Cho số nguyên n. Tính trị tuyệt đối của n

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

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

Vẽ lưu đồ giải thuật cho chương trình nhập vào điểm của học sinh và phần loại như sau

16. Đếm số lượng ước số chẵn của số nguyên dương n.

17. In ra chữ số đầu tiên của số nguyên dương n gồm k chữ số.

18. Cho 2 số nguyên dương a, b. Tìm USCLN của a và b.

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

20. Cho số nguyên dương x. Kiểm tra xem x có phải là số nguyên tố không?

21. Cho số nguyên dương x. Kiểm tra x có phải là số chính phương không?

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



II.2. Bài tập luyện tập và nâng cao

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



Vẽ lưu đồ giải thuật cho chương trình nhập vào điểm của học sinh và phần loại như sau

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

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

Vẽ lưu đồ giải thuật cho chương trình nhập vào điểm của học sinh và phần loại như sau


PHẦN 2

CẤU TRÚC ĐIỀU KHIỂN

I. TÓM TẮT LÝ THUYẾT

I.1. Các kiểu dữ liệu cơ bản trong C

Vẽ lưu đồ giải thuật cho chương trình nhập vào điểm của học sinh và phần loại như sau


I.2. Cấu trúc rẽ nhánh

a. Cấu trúc if

if (biểu thức điều kiện)

{

;

}

b. Cấu trúc if … else

if (biểu thức điều kiện)

{

;

}

else

{

;

}

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



#include

#include

void main ()

{

float a, b;



printf ( “\n Nhap vao a:”); scanf ( “%f”, &a);

printf ( “ Nhap vao b:”); scanf ( “%f”, &b) ;

if (a= = 0)

if (b= = 0)

printf ( “ \n PTVSN”);

else

printf ( “ \n PTVN”);

else

printf ( “ \n Nghiem x=%f”, -b/a);

getch ();

}

I.3. Cấu trúc lựa chọn switch



switch (biểu thức)

{

case n1:

các câu lệnh ;

break ;


case n2:

các câu lệnh ;

break ;

………


case nk:

;

break ;


[default: các câu lệnh]

}

Trong đó :



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

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

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

o Khi giá trị biểu thức không thỏa tất cả các ni thì thực hiện câu lệnh sau default nếu có, hoặc thoát khỏi câu lệnh switch.

o Khi chương trình đã thực hiện xong câu lệnh của case ni nào đó thì nó sẽ thực hiện luôn các lệnh thuộc case bên dưới nó mà không xét lại điều kiện (do các ni được xem như các nhãn) .Vì vậy, để chương trình thoát khỏi lệnh switch sau khi thực hiện xong một trường hợp, ta dùng lệnh break.

Ví dụ 1 : Viết chương trình chọn menu bằng số nhập từ bàn phím.
#include

#include

void ChonTD (int &chon)

{

printf ("Thuc Don") ;



printf ("\n1. Lau thai!") ;

printf ("\n2. Nuoc ngot!") ;

printf ("\n3. Ca loc hap bau!") ;

printf ("\n4. Chuot dong!") ;

printf ("\n Xin moi ban chon mon an!") ;

scanf ("%d",&chon) ;

}

void TDchon(int chon)

{

switch (chon)

{

case 1:



printf ("\nBan chon lau thai!") ;

break ;

case 2:

printf ("\nBan chon nuoc ngot!") ;

break ;

case 3:

printf ("\nBan chon ca loc hap bau!") ;

break ;

case 4:

printf ("\Ban chon chuot dong!") ;

break ;

default:

printf ("\nBan chon khong dung!") ;

}

}



void main()

{

clrscr() ;



int chon ;

ChonTD(chon) ;

TDchon(chon) ;

getch() ;

}

Ví dụ 2 : Viết chương trình nhập vào tháng , xuất ra màn hình số ngày của tháng vừa nhập (Giả sử tháng 2 có 28 ngày) .



#include

#include

void so_ngay (int thang)

{

switch (thang)

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

{

printf ("\n Tháng %d có 31 ngày ", thang) ;

break ;

}

case 4:

case 6:

case 9:

case 11:

{

printf ("\n Tháng %d có 30 ngày", thang) ;

break ;

}

case 2:

{

printf ("\n Tháng 2 có 28 ngày") ;

break ;

}

default:

printf ("\n Ban nhập tháng không đú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ặp

a. Cấu trúc lặp for :

for (; ; )

{

;

}

Ví dụ: In ra màn hình bảng mã ASCII từ ký tự số 33 đến 255.

#include

#include

void main()

{

for (int i=33;i<=255;i++)

printf("Ma ASCII cua %c: %d\t", i, i) ;

getch () ;

}

b. Cấu trúc lặp while

< Khởi gán>

while ( )

{

lệnh/ khối lệnh;



}

Ví dụ: Tính giá trị trung bình các chữ số của số nguyên n gồm k chữ số.

#include

#include

void 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 binh la: %f", tb) ;

getch () ;

}

c. Cấu trúc lặp do … while



do

{

< khối lệnh> ;

} while (biểu thức điều kiện) ;

Ví dụ : Nhập ký tự từ bàn phím hiển thị lên màn hình mã ASCII của ký tự đó, thực hiện đến khi nhấn phím ESC (Mã ASCII của phím ESC là 27).

#include

#include

void main()

{

int ma ;



do {

ma=getch ();

if (ma !=27)

printf ("Ma ASCII %c:%d\t", ma, ma);

}while (ma!=27) ;



getch () ;

}

II. BÀI TẬP



II.1. Phương pháp chạy tay từng bước để tìm kết quả chương trình

�� Xác định chương trình có sử dụng những biến nào.

�� Giá trị ban đầu của mỗi biến.

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



Vẽ lưu đồ giải thuật cho chương trình nhập vào điểm của học sinh và phần loại như sau


Ví dụ: Cho biết kết quả của đoạn chương trình sau:

void main()

{

int i, a = 4;

for(i = 0 ; i