bài tập thực hành nhập môn lập trình

62 511 0
bài tập thực hành nhập môn lập trình

Đ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

Bài 2. Sử dụng ngôn ngữ tự nhiên; vẽ lưu đồ thuật toán giải phương trình bậc nhất: ax +b =0Dùng ngôn ngữ tự nhiên Bước 1: Nhập vào 2 hệ số a và b. Bước 2: Xét điều kiện a = 0 ? + Nếu đúng là a = 0, thì đi đến bước 3. + Nếu không, nghĩa là a ≠ 0, thì đi đến bước 4. Bước 3: Xét điều kiện b = 0 ? + Nếu b = 0, thì báo phương trình có vô số nghiệm. Ði đến bước 5. + Nếu b ≠ 0, thông báo phương trình vô nghiệm. Ði đến bước 5. Bước 4: Thông báo phương trình có một nghiệm duy nhất là x = ba. Bước 5: Ngừng thuật toán.

Chương TỔNG QUAN VỀ NGÔN NGỮ C Bài Sử dụng ngôn ngữ tự nhiên; vẽ lưu đồ thuật tốn tính tổng bình phương hai số A = x2 + y2 Lời giải  Dùng ngôn ngữ tự nhiên  Dùng lưu đồ - Bước 1: Nhập vào số x y - Bước 2: Tính A = x*x + y*y - Bước 3: Xuất A - Bước 4: Ngừng thuật toán Bài Sử dụng ngơn ngữ tự nhiên; vẽ lưu đồ thuật tốn giải phương trình bậc nhất: ax +b =0  Dùng ngôn ngữ tự nhiên - Bước 1: Nhập vào hệ số a b - Bước 2: Xét điều kiện a = ? + Nếu a = 0, đến bước + Nếu khơng, nghĩa a ≠ 0, đến bước - Bước 3: Xét điều kiện b = ? + Nếu b = 0, báo phương trình có vô số nghiệm Ði đến bước + Nếu b ≠ 0, thơng báo phương trình vơ nghiệm Ði đến bước - Bước 4: Thơng báo phương trình có nghiệm x = - b/a - Bước 5: Ngừng thuật toán  Dùng lưu đồ Bài Sử dụng ngôn ngữ tự nhiên; vẽ lưu đồ thuật tốn giải phương trình bậc hai: ax2 + bx + c =  Dùng ngôn ngữ tự nhiên - Bước 1: Nhập vào hệ số a, b c - Bước 2: Xét điều kiện a = ? + Nếu a = 0, đến bước + Nếu không, nghĩa a ≠ 0, đến bước - Bước 3: Gọi hàm giải phương trình bậc Ði đến bước - Bước 4: Tính delta = b*b – 4*a*c - Bước 5: Xét điều kiện delta < ? + Nếu delta < 0, báo phương trình vơ nghiệm Ði đến bước + Nếu không, nghĩa delta ≥ 0, đến bước - Bước 6: Xét điều kiện delta = ? + Nếu delta = 0, báo phương trình có nghiệm kép –b/(2*a) Ði đến bước + Nếu không, nghĩa delta > 0, đến bước - Bước 7: Thơng báo phương trình có hai nghiệm x1 x2 là: (-b + sqrt(delta))/(2*a) (-b – sqrt(delta))/(2*a) - Bước 8: Ngừng thuật toán  Dùng lưu đồ Bài Sử dụng ngôn ngữ tự nhiên; vẽ lưu đồ thuật tốn tính giá trị lớn ba số a, b, c  Dùng ngôn ngữ tự nhiên - Bước 1: Nhập vào số a, b, c - Bước 2: Xét điều kiện a > b ? + Nếu a > b, gán max = a Đi đến bước + Nếu không, nghĩa a ≤ b, gán max = b Đi đến bước - Bước 3: Xét điều kiện max < c ? + Nếu max < c, gán max = c Ði đến bước + Nếu khơng, nghĩa max ≥ c, đến bước - Bước 4: Xuất max - Bước 5: Ngừng thuật toán  Dùng lưu đồ Bài Sử dụng ngơn ngữ tự nhiên; vẽ lưu đồ thuật tốn tính tổng S = + + … + n  Dùng ngôn ngữ tự nhiên - Bước 1: Nhập vào n - Bước 2: Khởi tạo i = 1; S = - Bước 3: Xét điều kiện i ≤ n ? + Nếu i ≤ n, đến bước + Nếu không, nghĩa i > n, đến bước - Bước 4: Tính S = S + i Tăng i lên thêm đơn vị - Bước 5: Xuất tổng S - Bước 6: Ngừng thuật toán  Dùng lưu đồ BÀI TẬP YÊU CẦU Bài Vẽ lưu đồ thuật tốn tính tổng S = + + +…+ (2n-1) Gợi ý dùng ngôn ngữ tự nhiên: - Bước 1: Nhập vào n - Bước 2: Xét điều kiện n > ? + Nếu n > 0, đến bước + Nếu khơng, nghĩa n ≤ 0, quay bước - Bước 3: Khởi tạo i = 1; S = - Bước 4: Xét điều kiện i ≤ n ? + Nếu i ≤ n, đến bước + Nếu không, nghĩa i > n, đến bước - Bước 5: Tính S = S + (2*i-1) Tăng i lên thêm đơn vị - Bước 6: Xuất tổng S - Bước 7: Ngừng thuật toán Bài Vẽ lưu đồ thuật toán tính tống S 1  1   2n Gợi ý dùng ngôn ngữ tự nhiên: - Bước 1: Nhập vào n - Bước 2: Xét điều kiện n ≥ ? + Nếu n ≥ 0, đến bước + Nếu khơng, nghĩa n < 0, quay bước - Bước 3: Khởi tạo i = 1; S = - Bước 4: Xét điều kiện i ≤ n ? + Nếu i ≤ n, đến bước + Nếu không, nghĩa i > n, đến bước - Bước 5: Tính S = S + 1/(2*i) Tăng i lên thêm đơn vị - Bước 6: Xuất tổng S - Bước 7: Ngừng thuật toán Bài Vẽ lưu đồ thuật tốn tÝnh tỉng S      2n  , víi n ≥ 2n  Gợi ý dùng ngôn ngữ tự nhiên: - Bước 1: Nhập vào n - Bước 2: Xét điều kiện n ≥ ? + Nếu n ≥ 0, đến bước + Nếu không, nghĩa n < 0, quay bước - Bước 3: Khởi tạo i = 0; S = - Bước 4: Xét điều kiện i ≤ n ? + Nếu i ≤ n, đến bước + Nếu khơng, nghĩa i > n, đến bước - Bước 5: Tính S = S + (2*i+1)/(2*n+2) Tăng i lên thêm đơn vị - Bước 6: Xuất tổng S - Bước 7: Ngừng thuật toán Bài Vẽ lưu đồ thuật tốn tính T = * 2* * * n Gợi ý dùng ngôn ngữ tự nhiên: - Bước 1: Nhập vào n - Bước 2: Khởi tạo i = 1; T = - Bước 3: Xét điều kiện i ≤ n ? + Nếu i ≤ n, đến bước + Nếu khơng, nghĩa i > n, đến bước - Bước 4: Tính T = T * i Tăng i lên thêm đơn vị - Bước 5: Xuất T - Bước 6: Ngừng thuật toán Bài 10 Vẽ lưu đồ thuật tốn tính S = + 2! + + n! Gợi ý: - Giai thừa số nguyên dương theo sau dấu chấm than (ví dụ: 5!) Giá trị giai thừa tích số tất số cho thừa số 5! = 1*2*3*4*5 = 120 - Quy ước 0! = Như vậy: n!= Sử dụng ngôn ngữ tự nhiên n=0, (n-1)! * n n>0 - Bước 1: Nhập vào n - Bước 2: Xét điều kiện n ≥ ? + Nếu n ≥ 0, đến bước + Nếu khơng, nghĩa n < 0, quay bước - Bước 3: Xét điều kiện n = ? + Nếu n = 0, đến bước + Nếu khơng, nghĩa n ≠ 0, đến bước Khởi tạo i = 1; S = 0; T=1 - Bước 4: Xét điều kiện i ≤ n ? + Nếu i ≤ n, đến bước + Nếu khơng, nghĩa i > n, đến bước - Bước 5: Tính T = T * i Tính S = S + T Tăng i lên thêm đơn vị - Bước 6: Xuất tổng S = Đi đến bước - Bước 7: Xuất tổng S - Bước 8: Ngừng thuật toán Bài 11 Vẽ lưu đồ thuật tốn tính S = 12 - 22 + 32 - + (-1)n-1 n2 Sử dụng ngôn ngữ tự nhiên - Bước 1: Nhập vào n - Bước 2: Khởi tạo i = 1; S = - Bước 3: Xét điều kiện i ≤ n ? + Nếu i ≤ n, đến bước + Nếu không, nghĩa i > n, đến bước - Bước 4: Xét điều kiện i chia hết ? + Nếu đúng, i chia hết đến bước + Nếu sai, i khơng chia hết đến bước - Bước 5: Tính S = S - i * i Đi đến bước - Bước 6: Tính S = S + i*i Đi đến bước - Bước 7: Tăng i lên thêm đơn vị - Bước 8: Xuất tổng S - Bước 9: Ngừng thuật tốn Chương NGƠN NGỮ LẬP TRÌNH C //cấu trúc chương trình hàm chuẩn Bài Hãy cho biết ý nghĩa dòng lệnh, mục đích chương trình C sau: /* Chuong trinh C dau tien */ #include main() { printf(“Xin chao cac ban!”); } Lời giải Ý nghĩa dòng lệnh Chú thích Chỉ thị tiền xử lý #include Hàm chuẩn tên main Bắt đầu hàm main Hiển thị lên hình dòng chữ: “Xin chao cac ban! Kết thúc hàm main Mục đích chương trình Chương trình in câu thơng báo: Xin chao cac ban! Bài Hãy cho biết chương trình C sau có lỗi hay khơng (nếu có sửa lại), mục đích đoạn chương trình gì? main() { float chieu_cao, chieu_rong, chu_vi; printf(“nhap chieu cao hinh chu nhat: “); scanf(“%f”,&chieu_cao) printf(“nhap chieu rong hinh chu nhat: “); scanf(“%d”,&chieu_rong); chu_vi:=(chieu_cao+chieu_rong)*2; printf(“chu vi hinh chu nhat: %f”, chu_vi); 10 } Các dòng lệnh bị lỗi Dòng 5: Thiếu dấu ; Dòng 7: Sai định dạng xuất ra, phải %f Dòng 8: Sai dấu lệnh gán, phải = Mục đích chương trình Chương trình tính in hình chu vi hình chữ nhật từ chiều rộng chiều cao nhập vào từ bàn phím Bài Hãy cho biết kết chương trình giải thích #include #include int main() { int a=3; printf("%d %d %d",a,a++,++a); printf("\n%d %d %d",a, a,a ); printf("\n%d %d %d",a++,a++,a); getch(); } Kết 4 3 3 Giải thích: // lệnh rẽ nhánh Bài Viết chương trình nhập vào số a , b, c in giá trị lớn số Lấy ví dụ với a=1, b=2, c=3 Lời giải #include #include main() { int a,b,c,max; printf(" Nhap a,b,c :");scanf("%d%d%d",&a,&b,&c); max=a; if (b>max) max=b; // max=(maxmax) max=c; // max=(max1) điều gán max=b B3: so sánh c với max 3> đúng! đã gán max =2 suy max =3 Cuối xuất max hình In giá trị lớn số: a=1, b=3, c=2 Yêu cầu: Viết chương trình nhập vào từ bàn phím bốn số a, b, c, d Tìm giá trị nhỏ giá trị lớn bốn số đó, in kết hình? Bài Viết chương trình giải phương trình bậc hai: ax2 + bx + c = Lưu ý: - Xét trường hợp a=0 - Xét trường hợp b=0 Bài Nhập ký tự từ bàn phím sau xuất ra: - Nếu số xuất chữ số - Nếu chữ xuất chữ - Các trường hợp khác xuất số, chữ Lời giải tham khảo #include #include main() { char c; printf("Nhap ky tu vao:"); scanf("%c",&c); if ((c>='A' && c='a' && c=65 && c=97 && c='0' && c=48 && c=1) Lời giải #include main() { int t,n,k; printf("\n Nhap vao thang t va nam n: "); scanf("%d%d",&t,&n); if((t12)||(n

Ngày đăng: 12/01/2018, 09:57

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan