Trong hàm main, gọi hàm như bình thường.. Thực hiện các bài tập trong phần nội dung bằng cách kết hợp kiểu dữ liệu mảng, các kiểu dữ liệu đã học và các phần đã học trong các bài tập tr[r]
(1)1 BÀI THỰC HÀNH SỐ 1
MỤC ĐÍCH
Làm quen với cấu trúc chung chương trình C đơn giản lệnh nhập xuất liệu (printf, scanf), kiểu liệu chuẩn (int, long, char, float ), phép toán hàm chuẩn ngơn ngữ lập trình C
Thực viết chương trình hồn chỉnh sử dụng lệnh đơn giản kiểu liệu chuẩn
NỘI DUNG
Bài 1: Làm quen với cấu trúc chung chương trình C đơn giản: //Khai báo thư viện
#include<stdio.h> //thư viện chứa lệnh printf() scanf() #include<conio.h> //thư viện chứa lệnh clrscr() getch() – void main()
{
clrscr(); //câu lệnh xóa hình //khai báo biến
…
//các câu lệnh giải toán tương ứng printf(…); //xuất liệu hình
scanf(…); //lấy liệu từ bàn phím lưu vào biến …
getch(); //lệnh dùng để làm gì? }
Mở Borland C lên, vào File/New Gõ đoạn code sau
(2)2 #include<conio.h>
void main() {
clrscr();
printf("Chao cac ban"); printf("Chao cac ban\n"); printf("Chao\n cac ban"); printf("Chao \t cac ban"); printf("\"Chao cac ban\""); getch();
}
Nhấn tổ hợp phím Ctrl + F9 để biên dịch chạy chương trình, xem kết hình rút nhận xét
Bài 2: Viết chương trình in lên hình thiệp mời dự sinh nhật có dạng: *******************************************
THIEP MOI
Than moi ban: “Le Loi” Toi du le sinh nhat cua minh Vao luc 19h 13/10/2013 Tai: 05/42 Vinh Vien – TP HCM Rat mong duoc don tiep!
Ho Le Thu
******************************************* HD: Áp dụng \t (tab), \n (xuống dòng), \” (in dấu “)
(3)3 HD:
Khai báo biến r để lưu trữ bán kính hình trịn, khai báo số PI=3.14 Khai báo biến: Kiểu_ dữ_ liệu Tên_biến; VD: int a;
Khai báo hằng: #defineTên_hằng Giá_trị VD: #define MAX 100 hoặc: const Kiểu_dữ_liệu Tên_hằng=Giá trị;
VD: const int MAX=100; Lệnh nhập liệu từ bàn phím:
scanf("chuỗi qui định kiểu liệu nhập vào", địa biến); Chuỗi qui định kiểu liệu nhập vào:
%d: kiểu số nguyên %c: kiểu kí tự %f: kiểu số thực
Bài 4: Viết chương trình nhập vào độ dài cạnh a, b, c tam giác Tính chu vi diện tích tam giác theo cơng thức:
Chu vi CV = a+b+c
Diện tích S = sqrt(p*(p-a)*(p-b)*(p-c)) Trong đó: p=CV/2
In kết lên hình
Hướng dẫn: Hàm bậc hai sqrt(x) thư viện math.h
Bài 5: Viết chương trình đảo ngược số nguyên dương có chữ số VD: Nhập vào n=234 In ra: 432
Hướng dẫn: Lần lượt lấy chữ số (sử dụng phép chia / phép chia lấy phần dư %) và in hình theo thứ tự:
(4)4 BÀI THỰC HÀNH SỐ 2
MỤC ĐÍCH
Làm quen nắm vững cấu trúc rẽ nhánh if if else
NỘI DUNG
Bài 1: Viết chương trình thực hiện:
Nhập số từ bàn phím, tìm số lớn số đó, in kết lên hình Nhập số từ bàn phím, tìm số lớn số đó, in kết lên hình Bài 2: Viết chương trình giải phương trình bậc ax+b=0 với a, b nhập từ bàn phím
Bài 3: Viết chương trình giải phương trình bậc hai ax2+bx + c = với a, b, c nhập từ bàn phím
Bài 4: Nhập vào số nguyên dương a, b, c Kiểm tra xem số có lập thành tam giác khơng? Nếu có cho biết tam giác thuộc loại nào? (Cân, vuông, đều, …) Bài 5: Viết chương trình nhập vào số nguyên dương n Kiểm tra xem n có phải số phương hay khơng? (số phương số lấy bặc có kết nguyên)
HƯỚNG DẪN Cú pháp cấu trúc if:
if (bieu_thuc_dieu_kien) //biểu thức điều kiện phải đặt cặp dấu ngoặc ( ) {
Câu lệnh 1; //kết thúc câu lệnh đơn phải có dấu ; Câu lệnh 2;
…
Câu lệnh n; }
if (bieu_thuc_dieu_kien)
(5)5 }
else
{ …
}
//nếu sau công việc cần thực (sau if, sau else) có câu lệnh khơng cần cặp dấu ngoặc {}
Bài 1: tự làm Bài 2:
Nếu a, b khai báo kiểu số ngun tính nghiệm x=-b/a bạn phải ép kiểu cho biến a biến b sang kiểu số thực
VD: int a=3, b=10; float c=b/a=3.0
Để có c=3.3 lệnh phải sửa lại float c=(float)b/a float c=b/(float)a
Bài 3:
Hàm tính bậc hai sqrt(số) nằm thư viện <math.h> Bài 4:
a, b, c số nguyên dương => khai báo a, b, c kiểu unsigned int Chuỗi định dạng kiểu %u
Điều kiện để số lập thành tam giác: tổng cạnh phải lớn cạnh lại Vậy: a, b, c lập thành cạnh tam giác a+b> c a+c>b b+c>a Xét loại tam giác:
Tam giác cân a=b b=c c=a Tam giác a=b=c
(6)6 BÀI THỰC HÀNH SỐ 3
MỤC ĐÍCH
Làm quen nắm vững cấu trúc lựa chọn switch
NỘI DUNG
Bài 1: Viết chương trình nhập số có hai chữ số, hiển thị cách đọc số HD:
Nhập số nguyên n
Nếu 9<n<100 thực đọc số n, ngồi xuất thơng báo "số nhập vào khơng phải số có hai chữ số
Cách đọc số n:
Lấy chữ số hàng chục: chuc=n/10 Sử dụng câu lệnh switch để đọc chữ số hàng chục
Lấy chữ số hàng đơn vị: donvi=n%10 Sử dụng câu lệnh switch để đọc chữ số hàng đơn vị
Bài 2: Viết chương trình nhập số có ba chữ số, hiển thị cách đọc số
Bài 3: Viết chương trình nhập vào tháng năm, cho biết số ngày tháng Nếu tháng nhập vào <1 >12 thơng báo “Khơng tồn tháng này”
LƯU Ý
Cú pháp switch: switch (bieu_thuc) {
case gia_tri_1: //các câu lệnh
break; //lệnh break giúp chương trình thoát khỏi lệnh switch sau //khi thực xong trường hợp
(7)
7 break;
(8)8 BÀI THỰC HÀNH SỐ 4
MỤC ĐÍCH
Làm quen nắm vững cấu trúc lặp for
NỘI DUNG
Bài 1: Viết chương trình hình 10 dịng: "XIN CHAO CAC BAN"
Bài 2: Viết chương trình số chẵn phạm vi từ đến n, với n nhập từ bàn phím
Bài 3: Viết chương trình nhập vào số nguyên dương n, tính biểu thức sau: a) S=1 + + + n
b) S=1/2 + 2/3 + +n/(n+1) c) S= - +2 - +4 - + (-1)nn
d) S= xn (x số thực nhập từ bàn phím)
Bài 4: Viết chương trình hiển thị hình n dịng (n<=10): * ** *** **** ***** ****** ******* ******** ********* ********** Hướng dẫn:
a) Hiển thị n dịng, dịng thứ i có i dấu *
b) Dịng thứ i có (tổng số dòng - i) ký tự trắng, (2 i-1) dấu * c) Tương tự hai câu
(9)(10)10 BÀI THỰC HÀNH SỐ 5
MỤC ĐÍCH
Làm quen nắm vững lệnh có cấu trúc C, biết cách chọn lựa trường hợp sử dụng cấu trúc Thực chương trình phần nội dung cách kết hợp lệnh lặp, lệnh rẽ nhánh lệnh đơn
NỘI DUNG
Bài 1: Viết chương trình nhập vào số nguyên, n < 100 Nếu n khơng thỏa điều kiện u cầu nhập lại
a) Kiểm tra n có phải số ngun tố khơng? b) Kiểm tra n có phải số phương khơng? c) Kiểm tra n có phải số hồn thiện khơng? Hướng dẫn:
a) n số nguyên tố n chia hết cho VD: 2, 3, 5, 7, 11, b) n số phương bậc hai n nguyên VD: 9, 16, 25, c) n số hoàn thiện tổng ước (n)
VD: có ước là: 1, 2, Vì 1+2+3 = nên số hoàn thiện
(11)11 BÀI THỰC HÀNH SỐ 6
MỤC ĐÍCH
Nắm vững cách định nghĩa hàm cách dùng chúng Kết hợp phần học chương trước để viết chương trình
KIẾN THỨC
Định nghĩa hàm bao gồm: Khai báo kiểu hàm
Đặt tên hàm
Khai báo tham số
Các câu lệnh cần thiết để thực chức hàm Có loại hàm:
Hàm không trả trị: Nhập/Xuất
Hàm trả trị: Tìm, Tính, Đếm, Kiểm tra Mẫu hàm:
Hàm không trả trị:
void Ten_Ham(ds tham so neu co){ Các câu lệnh;
}
Hàm trả trị:
Kieu_dl Ten_Ham(ds tham so neu co){ Các câu lệnh;
Return ket_qua; }
NỘI DUNG
Bài 1: Viết chương trình thực chức sau (dùng hàm): a) Nhập vào số n (0<n<100)
b) Kiểm tra n có phải số nguyên tố không?
c) Liệt kê số nguyên tố phạm vi từ đến n d) Tính tổng số nguyên tố phạm vi từ đến n
(12)12 b) Tính tổng chữ số n
c) Kiểm tra n có chia hết cho khơng (Yêu cầu không dùng phép chia lấy dư %, mà vận dụng hàm tính tổng trên)
Hướng dẫn: Một số chia hết cho tổng chữ số chia hết cho 9.
Bài 3: Viết chương nhập vào số kw tiêu thụ, tính tiền điện theo yêu cầu sau:
100 kw đầu tiên: đơn giá 550đ 50 kw tiếp theo: đơn giá 880đ 50 kw tiếp theo: đơn giá 1100đ Các kw lại: 2000đ
Hướng dẫn: Biến số tiền phải sử dụng kiểu long (vì sao???), vận dụng ép kiểu VD: sotien=100550l + (sokw-100)880l;
Nếu số kw <=100 số tiền =550 số kw;
Ngồi ra, 100 < số tiền <=50 số tiền = 100550 + (số kw-100)880; Ngồi (bạn tự tính cho trường hợp lại! :D)
LƯU Ý:
Nếu hàm viết sau hàm main() phải khai báo mẫu hàm đầu chương
trình
(13)13 BÀI THỰC HÀNH SỐ 7
MỤC ĐÍCH
Nắm vững cách định nghĩa hàm cách dùng chúng Kết hợp phần học chương trước để viết chương trình
NỘI DUNG
Bài1: Viết chương trình cho phép thực chọn lựa cơng việc: 1: Nhập số nguyên n
2: Liệt kê số chẵn không chia hết cho phạm vi từ đến n 3: Cho biết n có phải số hồn thiện khơng?
4: Tìm ước chung lớn hai số nguyên a, b nhập từ bàn phím 0: Thốt khỏi chương trình
Hướng dẫn:
Hãy xác định bạn cần viết hàm, hàm nào?
Trong hàm main, gọi hàm bình thường Sau chạy hết bạn sửa đổi để có chương trình thực theo chức năng, tham khảo đoạn code sau:
//đoạn code viết hàm main()
//dùng biến nguyên để lưu công việc mà người dùng chọn int chon;
//nhập chọn lựa người dùng do{
clrscr();
printf(“1: Nhap so nguyen\n”);
printf(“2: Liet ke cac so chan khong chia het cho tu den n\n”); printf(“3: Kiem tra n co la so hoan thien khong\n”);
printf(“4: Tim uoc chung lon nhat cua hai so nguyen\n”); printf(“0: Thoat\n”);
(14)14 case 1: //Gọi hàm nhập số nguyên n
… break;
case 2: //Gọi hàm liệt kê số chẵn không chia hết cho …
break;
case 3: //Kiểm tra n có phải số hồn thiện khơng …
break; case 4:
//nhập số số nguyên a, b cách gọi hàm nhập số nguyên //gọi hàm tìm ước chung lớn
default: chon=0; break;
}
getch();
}while (chon!=0);
(15)15 BÀI THỰC HÀNH SỐ 8
MỤC ĐÍCH
Làm quen với kiểu liệu có cấu trúc C - kiểu mảng chiều Thực tập phần nội dung cách kết hợp kiểu liệu mảng, kiểu liệu học phần học tập trước
NỘI DUNG
Bài: Viết chương trình thực hiện:
a) Nhập mảng số nguyên gồm n phần tử (0 < n <=10) b) Xuất mảng vừa nhập
Yêu cầu: Xuất sau: Mang vua nhap la:
0
c) Liệt kê phần tử chia hết cho có mảng (nếu khơng có xuất hình thơng báo “Mang khong co phan tu nao chia het cho 3”)
d) Tính tổng (tích) số mảng e) Tính trung bình cộng mảng
f) Tính trung bình cộng phần tử dương (âm) mảng
g) Đếm số lượng số ngun tố (chính phương, hồn thiện) có mảng h) Tìm phần tử lớn (nhỏ nhất)
i) Tìm phần tử âm lớn (phần tử dương nhỏ nhất)
(16)16 BÀI THỰC HÀNH SỐ 9
MỤC ĐÍCH
Làm quen với kiểu liệu có cấu trúc C, kiểu mảng chiều
NỘI DUNG
Bài 1: Viết chương trình thực hiện:
a) Nhập ma trận chứa số nguyên gồm d dòng c cột b) Xuất ma trận vừa nhập
c) Tính tổng (tích) phần tử ma trận d) Tính trung bình cộng phần tử ma trận
e) Hiển thị phần tử nằm dòng chẵn (cột lẻ)
Bài 2: Viết chương trình thực hiện:
a) Nhập ma trận vuông chứa số thực b) Xuất ma trận vừa nhập
(17)17 BÀI KIỂM TRA THỰC HÀNH