i
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
NGUYỄN NGỌC HIỆP
XÂY DỰNG HỆ HỖ TRỢ XÁC ĐỊNH THỰC ĐƠN KHẨU PHẨN DINH DƯỠNG PHÒNG BỆNH BÉO PHÌ CHO TRẺ DƯỚI 6 TUỔI
Chuyên ngành: Khoa học máy tính
Mã số: 848 01 01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Người hướng dẫn khoa học: TS. NGUYỄN HẢI MINH
THÁI NGUYÊN, 2018
ii
LỜI CẢM ƠN
Để có thể hoàn thành đề tài luận văn bên cạnh sự nỗ lực cố gắng của bản
thân, tác giả đã nhận được sự động viên ủng hộ của gia đình, bạn bè và sự
hướng dẫn nhiệt tình của thầy cô trong suốt thời gian học tập, nghiên cứu. Tôi
xin cảm ơn toàn thể quý thầy cô trong và ngoài trường Đại học Công nghệ
Thông tin và Truyền thông - Đại học Thái Nguyên. Các thầy, cô đã tận tình
truyền đạt những kiến thức quý báu cũng như tạo mọi điều kiện thuận lợi nhất
cho tác giả trong suốt quá trình học tập nghiên cứu và cho đến khi thực hiện
luận văn.
Tôi xin trân trọng cảm ơn Ban giám hiệu trường Cao đẳng Sư phạm Nam
Định đã tạo mọi điều kiện thuận lợi để tôi được theo học lớp Cao học này. Xin
trân trọng cảm ơn trường Mầm non Sao Mai - Số 1 Huỳnh Thúc Kháng, phường
Trần Hưng Đạo, thành phố Nam Định đã không ngừng hỗ trợ và cung cấp số
liệu cho tác giả trong thời gian nghiên cứu luận văn.
Em xin chân thành bày tỏ lòng biết ơn sâu sắc đến thầy TS. Nguyễn Hải
Minh - người hướng dẫn khoa học đã tận tình giúp đỡ tác giả trong quá trình
thực hiện luận văn.
Cuối cùng, xin chân thành cảm ơn đến gia đình, các anh chị và các bạn
đồng nghiệp đã hỗ trợ cho tôi rất nhiều trong suốt quá trình học tập, nghiên cứu
và thực hiện luận văn.
Thái Nguyên, ngày … tháng … năm 2018 Tác giả luận văn Nguyễn Ngọc Hiệp
iii
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình do tôi nghiên cứu thông qua tài liệu
tham khảo và phân tích. Kết quả nghiên cứu, các số liệu nêu trong luận văn là
trung thực và chưa từng được ai công bố một cách trọn vẹn trong bất kì công
trình nào khác.
iv
MỤC LỤC
LỜI CẢM ƠN .................................................................................................... i
LỜI CAM ĐOAN ............................................................................................ iii
MỤC LỤC ........................................................................................................ iv
BẢNG CÁC CHỮ VIẾT TẮT TRONG LUẬN VĂN .................................. viii
DANH SÁCH CÁC BẢNG ............................................................................. ix
DANH SÁCH CÁC HÌNH VẼ ........................................................................ ix
CHƯƠNG 1: TỔNG QUAN VỀ CÁC CÁCH TIẾP CẬN GIẢI BÀI TOÁN 1
1.1. Đặt vấn đề .............................................................................................. 1
1.2. Các hướng nghiên cứu giải quyết bài toán ............................................. 2
1.2.1. Sử dụng kĩ thuật Trí tuệ nhân tạo (AI) ............................................ 2
1.2.1.1. Các phương pháp tìm kiếm cổ điển ......................................... 2
1.2.1.2. Giải thuật di truyền (GA) ......................................................... 3
1.2.1.3. Mạng Neural............................................................................. 7
1.2.2. Sử dụng kĩ thuật Tập mờ (FL) ........................................................ 9
1.2.3. Sử dụng kết hợp giữa AI và FL..................................................... 11
1.2.4. Sử dụng hệ hỗ trợ quyết định ........................................................ 12
1.2.4.1. Khái niệm hệ hỗ trợ quyết định (DSS) .................................. 12
1.2.4.2. Các thành phần của hệ hỗ trợ quyết định ............................... 13
1.2.4.3. Mô hình ra quyết định ............................................................ 13
1.2.4.4. Đặc điểm của hệ hỗ trợ quyết định (DSS) ............................. 13
1.2.4.5. Phân loại hệ hỗ trợ quyết định ............................................... 15
CHƯƠNG 2: CƠ SỞ LÍ THUYẾT XÁC ĐỊNH KHẨU PHẦN ĂN ............. 18
2.1. Năng lượng ........................................................................................... 18
2.1.1. Nguồn cung cấp năng lượng cho cơ thể ........................................ 18
2.1.2. Năng lượng cần thiết cho chuyển hóa cơ bản ............................... 19
2.1.3. Nhu cầu năng lượng hàng ngày .................................................... 21
v
2.1.4. Cách tính nhu cầu năng lượng cho một ngày ................................ 22
2.2. Nhu cầu các chất dinh dưỡng cần thiết đối với cơ thể ......................... 24
2.2.1. Protein ........................................................................................... 24
2.2.2. Lipit ............................................................................................... 25
2.2.3. Gluxit ............................................................................................. 26
2.2.4. Các chất khoáng ............................................................................ 27
2.2.4.1. Canxi (Ca) .............................................................................. 27
2.2.4.2. Photpho (P)............................................................................. 28
2.2.4.3. Kali (K) .................................................................................. 29
2.2.4.4. Natri (Na) ............................................................................... 29
2.2.4.5. Sắt (Fe) ................................................................................... 30
2.2.4.6. Iot (I) ...................................................................................... 31
2.2.4.7. Các yếu tố vi lượng khác ....................................................... 32
2.2.5. Vitamin .......................................................................................... 33
2.2.5.1. Vitamin A (Retinol) ............................................................... 33
2.2.5.2. Vitamin D ............................................................................... 34
2.2.5.3. Vitamin B1 (Thiamin) ............................................................ 35
2.2.5.4. Vitamin B2 (Riboflavin) ......................................................... 36
2.2.5.5. Vitamin PP (Niaxin) ............................................................... 37
2.2.5.6. Vitamin C (axit ascorbic) ....................................................... 37
2.3. Xây dựng khẩu phần ăn ........................................................................ 38
2.3.1. Khẩu phần là gì? ............................................................................ 38
2.3.2. Chế độ ăn là gì? ............................................................................. 38
2.3.3. Thực đơn là gì? ............................................................................. 38
2.3.4. Khẩu phần ăn phải đảm bảo cân đối và hợp lí .............................. 38
2.3.5. Các bước khi tiến hành xây dựng khẩu phần ăn ........................... 40
2.3.6. Nguyên tắc xây dựng thực đơn ..................................................... 41
vi
2.4. Tổng quan về bệnh béo phì .................................................................. 41
2.4.1. Khái niệm bệnh béo phì ................................................................ 41
2.4.2. Phương pháp xác định béo phì ...................................................... 41
2.4.2.1. Dựa vào chỉ số BMI ............................................................... 41
2.4.2.2. Dựa vào Chu vi vòng eo ........................................................ 42
2.4.3. Thực trạng béo phì ........................................................................ 42
2.4.3.1. Thực trạng béo phì trên thế giới ............................................. 42
2.4.3.2. Thực trạng béo phì ở Việt Nam ............................................. 43
2.4.4. Những yếu tố, nguy cơ của béo phì ở trẻ em ................................ 44
2.4.4.1. Cơ chế bệnh sinh của béo phì ................................................ 44
2.4.4.2. Yếu tố di truyền ...................................................................... 44
2.4.4.3. Khẩu phần và thói quen ăn uống của trẻ béo phì ................... 45
2.4.4.4. Hoạt động thể chất của trẻ béo phì ......................................... 46
2.4.4.5. Một số nguyên nhân khác ...................................................... 46
2.4.5. Hậu quả của béo phì ...................................................................... 47
2.4.5.1. Ảnh hưởng đến sức khỏe ....................................................... 47
2.4.5.2. Tăng nguy cơ mắc bệnh tử vong ............................................ 48
2.4.5.3. Hậu quả kinh tế và xã hội của béo phì ................................... 48
2.4.6. Giải pháp phòng chống béo phì ở trẻ em ...................................... 49
2.4.6.1. Về chế độ ăn của trẻ ............................................................... 49
2.4.6.2. Về chế độ vận động của trẻ .................................................... 50
CHƯƠNG 3: CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ ......... 51
3.1. Phân tích, thiết kế ................................................................................. 51
3.2. Mô hình toán học của bài toán ............................................................. 51
3.3. Xác định BMI [4] ................................................................................. 55
3.4. Xác định năng lượng đưa vào/ngày ..................................................... 56
3.5. Xây dựng cơ sở dữ liệu thực phẩm dinh dưỡng ................................... 56
vii
3.6. Kết quả cài đặt ...................................................................................... 58
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ...................................................... 62
TÀI LIỆU THAM KHẢO ............................................................................... 63
PHỤ LỤC ........................................................................................................ 65
viii
BẢNG CÁC CHỮ VIẾT TẮT TRONG LUẬN VĂN
AI Artificial Intelligence Trí tuệ nhân tạo
BMI Body Mass Index Chỉ số khối cơ thể
DSS Decision Support System Hệ hỗ trợ quyết định
FL Fuzzy Logic Logic mờ
g Gam = Gram Đơn vị đo
G Gluxit Chất bột
GA Genetic Algorithms Giải thuật di truyền
ISDN Integrated Services Digital Network Mạng số tích hợp đa dịch vụ
kg Kilogam Đơn vị đo
L Lipit Chất béo
mg Milligram Đơn vị đo
mcg Microgram Đơn vị đo
P Protein Chất đạm
VPN Virtual Private Network Mạng riêng ảo
WHO World Health Organization Tổ chức Y tế thế giới
ix
DANH SÁCH CÁC BẢNG
Bảng 1.1: So sánh các tiêu chí cơ bản của mạng nơron và logic mờ.............. 12
Bảng 2.1: Giá trị sinh nhiệt của các chất......................................................... 19
Bảng 2.2: Nhu cầu năng lượng (tính theo kcal/ngày) ..................................... 22
Bảng 2.3: Công thức tính chuyển hóa năng lượng cơ bản dựa theo cân nặng 23
Bảng 2.4: Hệ số nhu cầu năng lượng theo tính chất lao động ........................ 23
Bảng 2.5: Nhu cầu Canxi ................................................................................ 28
Bảng 2.6: Nhu cầu Photpho ............................................................................ 29
Bảng 2.7: Nhu cầu Sắt ..................................................................................... 31
Bảng 2.8: Nhu cầu Iot ..................................................................................... 32
Bảng 2.9: Nhu cầu Vitamin A ......................................................................... 34
Bảng 2.10: Thực phẩm thông dụng giàu Vitamin A (Hàm lượng trong 100g
thực phẩm ăn được) ......................................................................................... 34
Bảng 2.11: Nhu cầu Vitamin D ....................................................................... 35
Bảng 2.12: Nhu cầu Vitamin B1 ..................................................................... 36
Bảng 2.13: Nhu cầu Vitamin B2 ..................................................................... 36
Bảng 2.14: Nhu cầu Vitamin PP ..................................................................... 37
Bảng 2.15: Nhu cầu Vitamin C ....................................................................... 38
Bảng 2.16: Nhu cầu khuyến nghị năng lượng lứa tuổi nhà trẻ ....................... 39
Bảng 2.17: Bảng chỉ số BMI chuẩn theo WHO .............................................. 42
Bảng 2.18: Hậu quả của béo phì ..................................................................... 48
x
DANH SÁCH CÁC HÌNH VẼ
Hình 1.1: Cấu trúc tổng quát của mô hình ...................................................... 13
Hình 2.1: Mô hình Bom calorie ...................................................................... 18
Hình 2.2: Sơ đồ sử dụng Protein từ thức ăn của cơ thể .................................. 24
Hình 3.1: Chỉ số BMI cho trẻ em .................................................................... 55
Hình 3.2: Giao diện chính của chương trình ................................................... 59
Hình 3.3: Giao diện của Module Thực phẩm.................................................. 59
Hình 3.4: Giao diện của Module Chỉ số BMI ................................................. 60
Hình 3.5: Giao diện của Module Chuyển hóa cơ bản ..................................... 60
Hình 3.6: Giao diện của Module Thực đơn .................................................... 61
1
CHƯƠNG 1
TỔNG QUAN VỀ CÁC CÁCH TIẾP CẬN GIẢI BÀI TOÁN
1.1. Đặt vấn đề
Giáo dục mầm non góp phần cùng với sự phát triển của giáo dục Việt
Nam đào tạo ra những con người có năng lực, phát triển toàn diện không ngừng
cả về phẩm chất trí tuệ, phẩm chất đạo đức mà còn có đầy đủ sức khỏe sẵn sàng
phục vụ đắc lực cho sự nghiệp công nghiệp hóa, hiện đại hóa đất nước và phát
triển kinh tế xã hội trong tương lai.
Mục tiêu giáo dục mầm non trong chiến lược phát triển giáo dục nhấn
mạnh đến chất lượng giáo dục toàn diện, trong đó phát triển thể chất được đặt
ra trong mối quan hệ tổng thể với các mặt phát triển khác.
Ở nước ta, trong những năm gần đây, nhờ sự tăng trưởng của nền kinh
tế, sự quan tâm của các tổ chức xã hội nên chất lượng chăm sóc, nuôi dạy trẻ
mà chăm sóc dinh dưỡng đã cải thiện đáng kể. Năm 2016, Thủ tướng Chính
phủ đã kí quyết định phê duyệt “Chương trình sữa học đường cải thiện tình
trạng suy dinh dưỡng góp phần nâng cao tầm vóc trẻ em mẫu giáo và tiểu học
đến năm 2020”, qua đó tình trạng suy dinh dưỡng ở trẻ em giảm đáng kể.
Tuy nhiên, so với các nước trong khu vực, tỉ lệ trẻ em suy dinh dưỡng ở
Việt Nam vẫn còn cao, nhất là ở những tỉnh vùng sâu, vùng xa, vùng đặc biệt
khó khăn. Cùng với đó tại các khu đô thị lớn thì một số bệnh do chế độ dinh
dưỡng không khoa học lại xuất hiện và có xu hướng ngày càng tăng nhanh như
thừa cân, béo phì, cao huyết áp và một số bệnh tim mạch khác. Kết quả điều tra
mới nhất (2014 - 2015) về tình trạng trẻ thừa cân béo phì được TS. Bùi Thị
Nhung - Trưởng khoa Dinh dưỡng học đường và ngành nghề, Viện Dinh dưỡng
Quốc gia, công bố tại hội thảo phòng chống béo phì, thừa cân cho trẻ em, ngày
18/10/2017. Theo đó tình trạng béo phì trẻ em từ tuổi tiền học đường và học
đường đến tuổi trưởng thành đang gia tăng tại Việt Nam, đặc biệt ở các thành
2
phố lớn. Từ năm 1980 - 2013, tỉ lệ thừa cân, béo phì tăng đến 47% ở trẻ em.
Năm 1996, tỉ lệ trẻ em thừa cân, béo phì tại Hà Nội và Thành phố Hồ Chí Minh
là 12%. 13 năm sau (năm 2009) tỉ lệ này là 43%. Kết quả điều tra năm 2014 -
2015, tỉ lệ béo phì ở Thành phố Hồ Chí Minh trên 50%, còn khu vực nội thành
Hà Nội khoảng 41% [6].
Những trẻ bị béo phì thường mất cân bằng trong cuộc sống. Trẻ sẽ lười
vận động hơn, luôn có cảm giác nặng nề, khó khăn trong mọi hoạt động của
cuộc sống. Từ đó ảnh hưởng đến việc tiếp thu kiến thức dẫn đến kết quả học
tập giảm sút. Các nhà khoa học đã chứng minh rằng béo phì chính là nguyên
nhân quan trọng dẫn đến những bệnh nguy hiểm như: đái tháo đường, sỏi mật,
… Đặc biệt, những trẻ bị béo phì còn có nguy cơ rất cao mắc bệnh ung thư khi
lớn lên.
Tình trạng suy dinh dưỡng, thừa cân, béo phì và một số bệnh về dinh
dưỡng có liên quan mật thiết đến chế độ dinh dưỡng cho trẻ em ở các trường
mầm non và gia đình. Việc nâng cao sức khỏe, trong đó yếu tố nền tảng là cải
thiện dinh dưỡng cho trẻ em là rất cần thiết và cấp bách. Để đóng góp giải pháp
khắc phục về thực trạng chế độ dinh dưỡng hợp lí phòng bệnh béo phì cho trẻ
em hiện nay, tác giả tiến hành nghiên cứu đề tài: “Xây dựng hệ hỗ trợ xác định
thực đơn khẩu phần dinh dưỡng phòng bệnh béo phì cho trẻ dưới 6 tuổi”.
1.2. Các hướng nghiên cứu giải quyết bài toán
1.2.1. Sử dụng kĩ thuật Trí tuệ nhân tạo (AI)
1.2.1.1. Các phương pháp tìm kiếm cổ điển
Với phương pháp này, chúng ta chọn một khẩu phần ăn bất kì, sau đó
tiến hành so sánh khẩu phần ăn này với các khẩu phần ăn khác. Nếu khẩu phần
nào đó tốt hơn (tức là đáp ứng được các điều kiện về hàm lượng calo, tỉ lệ cân
bằng các chất dinh dưỡng phòng bệnh béo phì, …) đồng thời các điều kiện biên
có chi phí nhỏ hơn thì chúng ta sẽ thay thế khẩu phần ăn đã lựa chọn ban đầu
3
bằng khẩu phần ăn mới và tiếp tục tiến hành quá trình so sánh với các khẩu
phần ăn còn lại. Chu trình này sẽ lặp lại đến khi chúng ta duyệt toàn bộ không
gian tìm kiếm (không gian khẩu phần ăn).
Ưu điểm:
Ý tưởng thực hiện của phương pháp này đơn giản, dễ hiểu. Nếu xác định
tốt các tiêu chí so sánh, phương pháp này sẽ cho kết quả tối ưu nhất có trong
không gian tìm kiếm.
Hạn chế:
Việc tìm kiếm trên không gian khẩu phần ăn sẽ gây ra hiện tượng bùng
nổ tổ hợp. Ví dụ: Nếu chúng ta chỉ dùng 3 món trong một khẩu phần ăn thì
không gian mẫu sẽ bao gồm n3 mẫu. (với n là số món trong cùng một loại: canh,
mặn, tráng miệng). Ví dụ mỗi loại có 5 món ăn, khi đó không gian mẫu sẽ là
; nếu mỗi loại tăng lên một món ăn, không gian mẫu sẽ trở thành
. Rõ ràng khi n lớn thì việc tìm kiếm sẽ rất tốn kém.
Mỗi khẩu phần ăn lại thỏa mãn nhiều điều kiện dinh dưỡng khác nhau,
về hàm lượng calo, về tỉ lệ cân bằng giữa các chất đảm bảo phòng chống bệnh
béo phì. Do đó, việc xác định khẩu phần thỏa mãn tất cả các điều kiện đó không
phải dễ dàng. Việc so sánh càng trở nên phức tạp và nhiều khi không thể thực
hiện được nếu các điều kiện này đan xen nhau.
Việc có nhiều điều kiện cũng làm tăng chi phí thực hiện so sánh và tăng
thời gian tìm kiếm.
1.2.1.2. Giải thuật di truyền (GA)
Ý tưởng chính của phương pháp này dựa trên lý thuyết về sự tiến hóa
trong tự nhiên của các loài vật, qua nhiều thế hệ sinh vật phát triển dựa trên
nguyên lí của sự chọn lọc tự nhiên, loài nào thích nghi sẽ tồn tại. Như ta thấy
trong tự nhiên các loài vật sẽ cạnh tranh nhau về thức ăn, nơi trú ẩn, … các cá
thể cùng loài còn cạnh tranh nhau để thu hút bạn tình trong mùa sinh sản. Trong
4
quá trình sinh sản luôn xuất hiện hai hiện tượng di truyền và biến dị. Hiện tượng
di truyền cho phép thế hệ sau tốt giống thế hệ trước. Còn hiện tượng biến dị tạo
ra các cá thể có khả năng mới. Nếu khả năng mới đó là tốt hơn trước thì sẽ được
truyền lại cho thế hệ sau. Nếu khả năng mới là xấu hơn thì khả năng truyền lại
cho thế hệ sau là ít hơn. Dần dần trong quá trình chọn lọc tự nhiên các đặc tính
xấu hơn đó sẽ được loại bỏ và thay thế bằng các đặc tính tốt hơn.
Áp dụng giải thuật di truyền vào giải quyết bài toán. Coi các khẩu phần
ăn là các nhiễm sắc thể, các nhiễm sắc thể này sẽ được lai ghép với nhau để tạo
ra nhiễm sắc thể mới, trong quá trình lai ghép một số gen bị đột biến cũng tạo
thành các nhiễm sắc thể mới. Quá trình chọn lọc tự nhiên sẽ loại bỏ các nhiễm
sắc thể không có khả năng thích nghi ra khỏi quần thể chỉ giữ lại những nhiễm
sắc thể có khả năng thích nghi tốt.
Biểu diễn khẩu phần ăn dưới dạng nhiễm sắc thể
Đây là một trong những công việc quan trọng trong thiết kế giải thuật di
truyền, quyết định việc áp dụng các toán tử tiến hóa. Một trong những phương
pháp biểu diễn truyền thống của GA là biểu diễn nhị phân. Với phép biểu diễn
này giải pháp cho bài toán được biểu diễn như là một vector bit. Mỗi nhiễm sắc
thể là một khẩu phần ăn bao gồm nhiều gen, trong đó một gen đại diện cho một
tham số thành phần của bài toán.
Khởi tạo quần thể
Để khởi tạo quần thể, chỉ cần đơn giản tạo pop - size (kích cỡ quần thể)
nhiễm sắc thể (khẩu phần ăn) ngẫu nhiên theo từng bit. Trong mỗi thế hệ, ta
lượng giá từng nhiễm sắc thể (tính giá trị hàm f trên các chuỗi biến nhị phân đã
được giải mã), chọn quần thể mới thỏa mãn phân bố xác suất dựa trên độ thích
nghi và thực hiện các phép đột biến và lai ghép để tạo ra các cá thể thế hệ mới.
Sau một số thế hệ, khi không còn cải thiện thêm được gì nữa, nhiễm sắc thể
(khẩu phần ăn) tốt nhất sẽ được xem như lời giải của bài toán.
5
Hàm mục tiêu
Sau khi khởi tạo quần thể hoặc ở thời điểm các thế hệ mới được tạo thành,
chúng ta phải sử dụng hàm mục tiêu để đánh giá mức độ thích nghi của mỗi
nhiễm sắc thể nhằm có cơ sở cho việc lựa chọn bố mẹ cho các phép lai ghép và
đột biến.
Các phương pháp xác định độ thích nghi:
- Xác định theo tỉ lệ thích nghi (Fitness scaling);
- Xác định theo phương pháp cửa sổ thích nghi (Fitness
windowing);
- Xác định theo thứ hạng thích nghi (Fitness ranking).
Toán tử lai ghép
Là phép toán thực hiện lai ghép hai nhiễm sắc thể (hay hai khẩu phần ăn)
với nhau nhằm sinh ra nhiễm sắc thể (hay khẩu phần ăn) con từ các nhiễm sắc
thể cha mẹ ban đầu, thừa hưởng các đặc tính tốt từ cha mẹ. Với một xác suất
lai k cho trước, chúng ta tiến hành chọn ngẫu nhiên các cặp nhiễm sắc thể và
thực hiện lai ghép.
Một số phương pháp lai ghép:
- Lai ghép một điểm;
- Lai ghép nhiều điểm;
- Lai ghép mặt nạ.
Toán tử đột biến
Tương tự như lai ghép, kết quả của đột biến thường sinh ra các nhiễm
sắc thể mới khác biệt so với nhiễm sắc thể cha mẹ. Phép đột biến được điều
khiển bởi xác suất đột biến.
Toán tử chọn lọc
Phép chọn lọc là quá trình loại bỏ nhiễm sắc thể (khẩu phần ăn) kém
thích nghi ra khỏi quần thể. Ở mỗi thế hệ, dựa trên giá trị thích nghi, các cá thể
6
có độ thích nghi tốt sẽ được chọn lọc để tạo thành quần thể ở thế hệ mới. Quá
trình này được mô tả như sau:
- Sắp xếp quần thể theo thứ tự mức độ thích nghi giảm dần;
- Loại bỏ các nhiễm sắc thể ở cuối dãy. Giữ lại n cá thể tốt nhất.
Ưu điểm:
Hầu hết các kĩ thuật tối ưu thông thường tìm kiếm từ một đỉnh, trong khi
đó GA hoạt động trên tập hợp đỉnh (điểm tối ưu), vì vậy GA giúp tăng cơ hội
tiếp cận tối ưu toàn cục và tránh hội tụ sớm tại điểm cục bộ địa phương.
Một điều dễ nhận thấy, với bài toán xác định thực đơn khẩu phần dinh
dưỡng phòng bệnh béo phì cho trẻ dưới 6 tuổi, GA cho phép thu nhỏ không
gian tìm kiếm. GA chỉ tập trung vào những vùng không gian mà có khả năng
xuất hiện khẩu phần ăn tốt. Phép lai ghép cho phép tiến gần đến khẩu phần ăn
tốt hơn và phép đột biến sẽ chuyển đến tìm kiếm ở các vùng không gian có khả
năng chứa khẩu phần ăn tốt khác.
Nhược điểm:
Việc biểu diễn các khẩu phần trong GA thường có định dạnh cố định.
Chính vì vậy chúng ta không thể có đồng thời khẩu phần có ba món, khẩu phần
có bốn món trong cùng một thuật toán di truyền. Điều này hạn chế khả năng
của chương trình vì chỉ cho phép số lượng món cố định, trong khi thực tế luôn
thay đổi thường xuyên.
Thời gian thực hiện thuật toán cũng là một vấn đề cần lưu ý. Mặc dù so
với các phương pháp tìm kiếm cổ điển thì thuật toán thực hiện nhanh hơn,
nhưng nếu phải trải qua rất nhiều thế hệ mới xác định được khẩu phần ăn tốt
thì sẽ rất tốn kém thời gian.
Việc xây dựng hàm mục tiêu cũng rất đáng lưu ý. Làm thế nào để xây
dựng các tiêu chí đánh giá phù hợp là rất quan trọng. Các tiêu chí này sẽ ảnh
hưởng trực tiếp đến kết quả của bài toán vì nó quyết định các vùng tập trung
7
tìm kiếm. Chỉ cần đánh giá sai một trong các tiêu chí thuật toán có thể trả lại
kết quả không tốt. Tuy nhiên việc xây dựng các tiêu chí lại gặp nhiều khó khăn
do các khẩu phần ăn có những ràng buộc về chế độ dinh dưỡng và điều kiện
biên (phòng bệnh béo phì).
1.2.1.3. Mạng Neural
Mạng Neural nhân tạo, gọi tắt là mạng nơron, là một mô hình xử lí thông
tin phỏng theo cách thức xử lí thông tin của các hệ nơron sinh học. Nó được tạo
nên từ một số lượng lớn các phần tử (gọi là nơron) kết nối với nhau thông qua
các liên kết (gọi là trọng số liên kết) làm việc như một thể thống nhất để giải
quyết một vấn đề cụ thể nào đó.
Một mạng nơron nhân tạo được cấu hình cho một ứng dụng cụ thể thông
qua một quá trình học từ tập các mẫu huấn luyện. Bản chất học là quá trình hiệu
chỉnh trọng số liên kết giữa các nơron sao cho giá trị hàm lỗi là nhỏ nhất.
Mạng Neural dùng để phân loại hoặc đánh giá và lựa chọn một khẩu phần
ăn trong các khẩu phần ứng viên. Mạng luôn có hai trạng thái học và ánh xạ. Ở
trạng thái học, mạng sẽ sử dụng dữ liệu đầu vào được cung cấp để cập nhật các
trọng số sao cho lỗi trên mẫu học là thấp nhất có thể. Tuy nhiên trong quá trình
học cần tránh hiện tượng quá khớp xảy ra. Hiện tượng quá khớp là hiện tượng
mạng hoạt động tốt trên dữ liệu học nhưng không tốt trên dữ liệu khác. Trạng
thái ánh xạ là trạng thái mà mạng sử dụng các trọng số được cập nhật trong quá
trình học cho các mẫu mới để đưa ra quyết định tương ứng.
Có ba phương pháp học phổ biến là học có giám sát, học không giám sát
và học tăng cường.
Học có giám sát
Trong học có giám sát, ta được cho trước một tập ví dụ đầu vào gồm các
cặp . Và mục tiêu là tìm một hàm f đầu ra (trong lớp các hàm
được phép) khớp với các ví dụ. Nói cách khác, hệ thống học (ở đây là mạng
8
Neural) sẽ phải tìm cách thay đổi các tham số bên trong của mình (các trọng số
và các ngưỡng) để tạo nên một ánh xạ có khả năng ánh xạ các đầu vào thành
các đầu ra mong muốn. Sự thay đổi này được tiến hành nhờ việc so sánh giữa
đầu ra thực sự và đầu ra mong muốn.
Học không có giám sát
Trong học không có giám sát, ta được cho trước một số dữ liệu x và hàm
chi phí cần được cực tiểu hóa có thể là một hàm bất kì của dữ liệu x và đầu ra
của mạng, f - hàm chi phí được quyết định bởi phát biểu của bài toán.
Học tăng cường
Trong học tăng cường, dữ liệu x thường không được cho trước mà được
tạo ra trong quá trình một agent tương tác với môi trường. Tại mỗi thời điểm t,
agent thực hiện hành động yt và môi trường tạo một quan sát xt với một chi phí
tức thời Ct, theo một quy trình động nào đó (thường là không được biết). Mục
tiêu là một sách lược lựa chọn hành động để cực tiểu hóa một chi phí giới hạn
nào đó, nghĩa là chi phí tích lũy mong đợi. Quy trình hoạt động của môi trường
và chi phí dài hạn cho mỗi sách lược thường không được biết, nhưng có thể
ước lượng được.
Ưu điểm:
Mạng nơron xử lí song song nên tốc độ xử lí nhanh.
Mạng nơron có khả năng học hỏi. Nếu được thiết kế tốt và có nhiều dữ
liệu thì sau quá trình huấn luyện mạng có thể được sử dụng để xác định kết quả
tốt nhất mà nó tìm được. Các mạng có chất lượng thường cho kết quả đúng khá
cao.
Nhược điểm:
Mạng chỉ có thể làm việc với các dữ liệu số.
Để mạng hoạt động đạt hiệu quả cao thì điều kiện cần là phải có một bộ
dữ liệu đủ lớn cho quá trình học của mạng.
9
Mạng không thể đưa ra được cơ chế giải thích.
Các giải thuật của mạng đôi khi chưa đảm bảo tính hội tụ cần thiết cho
quá trình sử dụng.
1.2.2. Sử dụng kĩ thuật Tập mờ (FL)
Tập mờ và logic mờ dựa trên các suy luận của con người với các thông
tin không chính xác hoặc không đầy đủ để hiểu biết và điều khiển hệ thống một
cách chính xác.
Các phương pháp đã nêu trên hầu như đều yêu cầu thông tin input đầu
vào phải ở dạng tường minh. Tuy nhiên, trong thực tế, các thông tin mà chúng
ta nhận được thường là các thông tin ở dạng mờ (nhập nhằng, không rõ ràng).
Vì vậy, các phương pháp trên đều không thể xử lí được thông tin dạng này.
Mặc dù có một số phương pháp của khai phá dữ liệu có thể chấp nhận các dữ
liệu đầu vào không đầy đủ nhưng giá trị các thuộc tính nhất thiết phải rõ ràng,
không nhập nhằng. Vì lẽ đó chúng ta chỉ có thể sử dụng logic mờ để xử lí các
thông tin nhập nhằng, không tường minh đó.
Các thông tin trước khi được xử lí sẽ được làm mờ hóa. Thông tin đã mờ
hóa này sẽ được áp dụng các hệ luật của hệ thống để cho ra kết quả mờ. Tập hệ
luật này được xây dựng khi thiết kế hệ thống và các tham số cũng được điều
chỉnh để thích hợp với các thông tin mà hệ thống xử lí. Sau khi có kết quả mờ,
kết quả này sẽ được giải mờ và hệ thống cho ra kết quả output đầu ra mong
muốn.
Trong bài toán xác định thực đơn khẩu phần dinh dưỡng phòng bệnh béo
phì cho trẻ, các dữ liệu đầu vào là không rõ ràng. Mỗi món ăn bao gồm nhiều
thành phần dinh dưỡng như: chất đạm, chất béo, calo, … mỗi khẩu phần lại có
nhiều món ăn. Giá trị các thành phần này thường không chính xác do quá trình
chế biến món ăn và chúng dao động trong một khoảng nhất định. Chính vì vậy,
việc áp dụng logic mờ vào bài toán này là hoàn toàn tự nhiên. Các giá trị mờ sẽ
10
được đánh giá bằng hệ thống mờ và kết quả đầu ra sau khi đã giải mờ sẽ cho ta
biết chất lượng của khẩu phần ăn tương ứng. Các khẩu phần ăn ứng viên sẽ lần
lượt được đánh giá và khẩu phần ăn được đánh giá cao nhất sẽ được lựa chọn.
Tuy nhiên, khi xây dựng hệ thống, chúng ta sẽ gặp phải vấn đề kết hợp
tập luật lại với nhau. Chúng ta không thể xây dựng các luật riêng rẽ để đánh giá
khẩu phần ăn vì các thông số của một khẩu phần ăn đều liên quan mật thiết đến
nhau. Ngoài ra, chúng ta cũng phải gán trọng số cho từng luật vì không phải
luật nào cũng quan trọng như nhau. Ví dụ khẩu phần ăn có chứa hai món kị
nhau sẽ được gán trọng số khác so với khẩu phần ăn có hàm lượng dư thừa chất
béo. Điều này làm nảy sinh vấn đề xây dựng bộ trọng số cho các luật.
Việc xây dựng trọng số có thể tham khảo ý kiến chuyên gia. Việc kết
hợp các luật lại với nhau cũng không quá khó khăn. Vấn đề là chúng ta phải
xác định được mô hình nào phù hợp với bài toán.
Ưu điểm:
Logic mờ có tính mềm dẻo và linh hoạt.
Logic mờ chấp nhận dữ liệu đầu vào nhập nhằng, không rõ ràng.
Logic mờ có thể mô hình hóa các hàm phi tuyến với độ phức tạp bất kì.
Cơ sở của logic mờ chính là các giao tiếp, suy luận của con người về sự
vật hiện tượng trong thế giới thực. Nói cách khác, logic mờ dựa vào ngôn ngữ
tự nhiên. Do đó có nhiều cách phát biểu khác nhau trong logic mờ.
Nhược điểm:
Điều đầu tiên phải kể đến là việc xây dựng tập luật hợp thành dựa hoàn
toàn trên kinh nghiệm của chuyên gia vì vậy mang tính chủ quan.
Một điểm nữa là hàm liên thuộc của tập mờ có thể biểu diễn theo những
dạng đồ thị khác nhau dẫn đến không nhất quán.
11
Do có nhiều phương pháp để xác định giá trị đầu ra rõ (hay còn gọi là
quá trình giải mờ) nên việc phương pháp nào được lựa chọn cũng gây ảnh
hưởng đến độ phức tạp và trạng thái làm việc của toàn bộ hệ thống.
1.2.3. Sử dụng kết hợp giữa AI và FL
Khi khảo sát mạng nơron và logic mờ, ta thấy mỗi loại đều có điểm mạnh,
điểm yếu riêng của nó.
Đối với logic mờ, ta dễ dàng thiết kế một hệ thống mong muốn chỉ bằng
các luật Nếu - Thì (If - Then). Với đa số ứng dụng thì điều này cho phép tạo ra
lời giải đơn giản hơn, trong khoảng thời gian ngắn hơn. Thêm nữa, ta dễ dàng
sử dụng những hiểu biết của mình về đối tượng để tối ưu hệ thống một cách
trực tiếp.
Tuy nhiên, bên cạnh đó hệ điều khiển mờ còn tồn tại một số khuyết điểm
như việc thiết kế và tối ưu hóa hệ logic mờ đòi hỏi phải có một số kinh nghiệm
về điều khiển đối tượng, đối với người mới thiết kế lần đầu điều đó hoàn toàn
không đơn giản. Mặt khác, còn hàng loạt những câu hỏi khác đặt ra cho người
thiết kế mà nếu chỉ dừng lại ở tư duy logic mờ thì hầu như chưa có lời giải, ví
dụ: Số tập mờ trong mỗi biến ngôn ngữ cần chọn bao nhiêu là tối ưu? Hình
dạng các tập mờ thế nào? Vị trí mỗi tập mờ ở đâu? Việc kết hợp các tập mờ
như thế nào?
Đối với mạng nơron, chúng có một số ưu điểm như xử lí song song nên
tốc độ xử lí nhanh; Mạng nơron có khả năng học hỏi; Ta có thể huấn luyện
mạng để xấp xỉ một hàm phi tuyến bất kì, đặc biệt khi đã biết một tập dữ liệu
vào/ra … Song nhược điểm cơ bản của mạng nơron là khó giải thích rõ ràng
hoạt động của mạng nơron như thế nào. Do vậy việc chỉnh sửa mạng nơron rất
khó khăn.
Bảng so sánh các tiêu chí cơ bản của mạng nơron và logic mờ thể hiện
trái ngược nhau
12
Tiêu chí Mạng nơron Logic mờ
- Thông qua trọng số được - Được thể hiện ngay tại
thể hiện ẩn trong mạng luật hợp thành Thể hiện tri thức - Khó giải thích và khó sửa - Dễ kiểm chứng hoạt động
đổi và dễ sửa đổi
Xử lí thông tin Định lượng Định lượng và định tính không chắc chắn
Trong nơron và trọng số Trong luật hợp thành và Lưu giữ tri thức của từng đường ghép nối hàm thuộc
Khả năng cập Thông qua quá trình học và Không có nhật và nâng cao huấn luyện kiến thức
Tính nhạy cảm
với những thay Thấp Cao
đổi của mô hình
Bảng 1.1: So sánh các tiêu chí cơ bản của mạng nơron và logic mờ
Từ những phân tích trên, ta thấy nếu kết hợp mạng nơron và logic mờ ta
sẽ có một hệ lai với ưu điểm của cả hai: logic mờ cho phép thiết kế hệ thống dễ
dàng, tường minh, trong khi mạng nơron cho phép học những gì mà ta yêu cầu
về bộ điều khiển. Nó sửa đổi các hàm phụ thuộc về hình dạng, vị trí và sự kết
hợp, … hoàn toàn tự động. Điều này làm giảm bớt thời gian cũng như giảm bớt
chi phí khi phát triển hệ thống.
1.2.4. Sử dụng hệ hỗ trợ quyết định 1.2.4.1. Khái niệm hệ hỗ trợ quyết định (DSS)
Năm 1970, Scott Norton đưa những khái niệm đầu tiên về hệ trợ giúp quyết định (Decision Support System, DSS). Ông định nghĩa: “DSS là các hệ dựa trên máy tính, có tính tương tác, giúp các nhà ra quyết định dùng dữ liệu
13
và mô hình để giải các bài toán phi cấu trúc, những bài toán mở, phức tạp với lời giải không hoàn chỉnh”. 1.2.4.2. Các thành phần của hệ hỗ trợ quyết định
Một hệ hỗ trợ quyết định gồm có ba thành phần chính:
Quản lí dữ liệu (Data Management): Thực hiện công việc lưu trữ các thông tin của hệ và phục vụ cho việc lưu trữ, cập nhật và truy vấn thông tin;
Quản lí mô hình (Model Management) hay còn gọi là hệ quản trị cơ sở mô hình (Model Base Management System, MBMS): bao gồm các mô hình ra quyết định (DSS models) và việc quản lí các mô hình này;
Quản lí giao diện người dùng (User Interface Management): quản lí việc giao tiếp và ra lệnh giữa người dùng cuối và hệ ra quyết định.
1.2.4.3. Mô hình ra quyết định
Các biến điều khiển
Biến kết quả Mối quan hệ giữa các biến Các biến quyết định
Hình 1.1: Cấu trúc tổng quát của mô hình
Mô hình quy chuẩn (Normative Model): Mô hình này xem xét tất cả các
phương án và chọn ra phương án tối ưu.
Mô hình mô tả (Desscriptive Model): Mô hình này xem xét một tập hợp
các điều kiện theo ý người dùng và xem xét các phương án theo các điều kiện
này và đưa ra một kết quả thỏa đáng.
1.2.4.4. Đặc điểm của hệ hỗ trợ quyết định (DSS)
14
DSS cơ bản hỗ trợ các nhà ra quyết định trong các tình huống nửa cấu
trúc và phi cấu trúc bằng cách kết hợp phán xử của con người và xử lí thông tin
bằng máy tính. Các bài toán như vậy không thể/ không thuận tiện giải quyết
được chỉ bằng các công cụ máy tính hóa hay các phương pháp định lượng.
Phù hợp cho các cấp quản lí khác nhau từ cao đến thấp.
Phù hợp cho cá nhân lẫn nhóm. Các bài toán ít có tính cấu trúc thường
liên đới đến nhiều cá nhân ở các đơn vị chức năng hay mức tổ chức khác nhau
cũng như ở các tổ chức khác.
Hỗ trợ cho các quyết định tuần tự, liên thuộc, được đưa ra một lần, vài
lần hay lặp lại.
Hỗ trợ cho các giai đoạn của quá trình ra quyết định: tìm hiểu, thiết kế,
lựa chọn và thực hiện.
Phù hợp cho một số các phong cách và quá trình ra quyết định.
Có thể tiến hóa theo thời gian. Người dùng có thể thêm, sửa, xóa, kết
hợp, thay đổi các phần tử cơ bản của hệ thống.
Dễ dùng và thân thiện với người dùng.
Nhằm vào nâng cao tính hiệu dụng của quyết định (chính xác, thời gian
tính, chất lượng) thay vì là tính hiệu quả (giá phí của việc ra quyết định).
Người ra quyết định kiểm soát toàn bộ các bước của quá trình ra quyết
định, hệ hỗ trợ quyết định chỉ trợ giúp, không thay thế người ra quyết định.
Người dùng cuối cùng có thể tự kiến tạo và sửa đổi các hệ thống nhỏ và
đơn giản.
Thường dùng mô hình để phân tích các tình huống ra quyết định.
Cung ứng các truy vấn dữ liệu từ nhiều nguồn, dạng thức và kiểu khác
nhau.
15
Có thể dùng như một công cụ độc lập hay kết hợp với các hệ hỗ trợ quyết
định/ ứng dụng khác, dùng đơn lẻ hay trên một mạng lưới máy tính (Internet,
Extranet) bất kì với công nghệ WEB.
1.2.4.5. Phân loại hệ hỗ trợ quyết định Hệ hỗ trợ quyết định được phân loại dựa trên nhiều tiêu chí. Hiện nay,
vẫn chưa có cách phân loại thống nhất. Sau đây là 2 cách phổ biến nhất:
a/ Theo DSS-Glossary có tất cả 5 loại Hệ hỗ trợ quyết định
Hướng giao tiếp (Communication-Driven DSS): Hệ hỗ trợ quyết định
sử dụng mạng và công nghệ viễn thông để liên lạc và cộng tác. Công nghệ viễn
thông bao gồm: Mạng cục bộ (LAN), mạng diện rộng (WAN), Internet, ISDN,
VPN... là then chốt trong việc hỗ trợ ra quyết định. Các ứng dụng của hệ hỗ trợ
quyết định hướng giao tiếp là phần mềm nhóm (Groupware), hội thảo từ xa
(Videoconferencing), bản tin (Bulletin Boards).
Hướng dữ liệu (Data-Driven DSS): Hệ hỗ trợ quyết định dựa trên việc
truy xuất và xử lí dữ liệu. Phiên bản đầu tiên được gọi là Hệ chỉ dành cho việc
truy xuất dữ liệu (Retrieval-Only DSS), kho dữ liệu (DatawareHouse) là một
cở sở dữ liệu tập trung chứa thông tin từ nhiều nguồn đồng thời sẵn sàng cung
cấp thông tin cần thiết cho việc ra quyết định, xử lí phân tích trực tuyến (Online
Analytical Processing, OLAP) có nhiều tính năng cao cấp vì cho phép phân tích
dữ liệu theo nhiều chiều, ví dụ dữ liệu bán hàng cần phải được phân tích theo
nhiều chiều như theo vùng, theo sản phẩm, theo thời gian...
Hướng tài liệu (Document-Driven DSS): Hệ hỗ trợ quyết định dựa trên
việc truy xuất và phân tích các văn bản, tài liệu... Trong một công ty có thể có
rất nhiều văn bản như chính sách, thủ tục, biên bản cuộc họp, thư tín... Internet
cho phép truy xuất các kho tài liệu lớn như kho văn bản, hình ảnh, âm thanh, ...
Một công cụ tìm kiếm hiệu quả là một phần quan trọng đối với các hệ hỗ trợ
quyết định dạng này.
16
Hướng tri thức (Knowledge-Driven DSS): Hệ hỗ trợ quyết định có thể
đề nghị và đưa ra những tư vấn cho người ra quyết định. Những hệ này là các
hệ chuyên gia với một kiến thức chuyên ngành cụ thể, nắm vững các vấn đề
trong chuyên ngành đó và có kĩ năng để giải quyết những vấn đề này. Các công
cụ khai thác dữ liệu cũng có thể dùng để tạo ra các hệ dạng này.
Hướng mô hình (Model-Driven DSS): theo kết xuất hệ thống.
b/ Theo Holsapple và Whinston (1996) phân ra 6 loại Hệ hỗ trợ quyết định
Hướng văn bản (Text-Oriented DSS): Thông tin (bao gồm dữ liệu và
kiến thức) được lưu trữ dưới dạng văn bản. Vì vậy hệ thống đòi hỏi lưu trữ và
xử lí các văn bản một cách hiệu quả. Các công nghệ mới như Hệ quản lí văn
bản dựa trên Web, Intelligent Agents có thể được sử dụng cùng với hệ này.
Hướng cơ sở dữ liệu (Database-Oriented DSS): Cơ sở dữ liệu đóng vai
trò chủ yếu trong hệ này. Thông tin trong cơ sở dữ liệu thường có cấu trúc chặt
chẽ, có mô tả rõ ràng. Hệ này cho phép người dùng truy vấn thông tin dễ dàng
và rất mạnh về cảnh báo.
Hướng bản tính (Spreasheet-Oriented DSS): Một bản tính là một mô
hình để cho phép người dùng thực hiện phân tích trước khi ra quyết định. Bản
tính có thể bao gồm nhiều mô hình thống kê, lập trình tuyến tính... Bản tính phổ
biến nhất là Microsoft Excel. Hệ này thường được dùng rộng rãi trong các hệ
liên quan tới người dùng cuối.
Hướng người giải quyết (Solver-Oriented DSS): Một trợ giúp là một
giải thuật thuật hay chương trình để giải quyết một vấn đề cụ thể chẳng hạn như
tính lượng hàng đặt tối ưu hay tính toán xu hướng bán hàng. Một số trợ giúp
khác phức tạp như là tối ưu hóa đa mục tiêu.
Hướng luật (Rule-Oriented DSS): Kiến thức của hệ này được mô tả
trong các tập luật hay lí lẽ. Hệ này còn được gọi là hệ chuyên gia. Các qui luật
17
này có thể là định tính hay định lượng. Ví dụ như hướng dẫn không lưu, hướng
dẫn giao thông trên biển...
Hướng kết hợp (Compound DSS): Một hệ tổng hợp có thể kết hợp hai
hay nhiều hơn trong số năm hệ trên.
18
CHƯƠNG 2
CƠ SỞ LÍ THUYẾT XÁC ĐỊNH KHẨU PHẦN ĂN
2.1. Năng lượng
2.1.1. Nguồn cung cấp năng lượng cho cơ thể
Hiện nay khoa học về dinh dưỡng đã xác định được nhu cầu về năng
lượng của con người. Nhu cầu về năng lượng của con người khác nhau và phụ
thuộc vào nhiều yếu tố.
Nguồn cung cấp năng lượng cho người và động vật là thức ăn. Năng
lượng vào cơ thể chủ yếu dưới dạng hóa năng của thức ăn. Hầu hết thức ăn đều
chứa tất cả các chất dinh dưỡng. Chỉ có 3 chất: Protein, Lipit, Gluxit cung cấp
năng lượng chính cho cơ thể. Giá trị năng lượng của mỗi loại thức ăn phụ thuộc
vào hàm lượng các chất dinh dưỡng sinh năng lượng trong đó.
Bằng thí nghiệm, người ta đã chứng minh được rằng các chất dinh dưỡng
khi bị đốt cháy hoặc qua quá trình ôxi hóa trong cơ thể sẽ sản sinh ra năng
lượng (hình 2.2).
Hình 2.1: Mô hình Bom calorie
Quá trình phản ứng sinh nhiệt từ các chất dinh dưỡng trong Bom calorie
được biểu diễn bằng cơ chế phản ứng sau:
Protein, Lipit, Gluxit + O2 Năng lượng + H2O + CO2
19
Quá trình này cũng tương tự trong cơ thể người, quá trình đó khá giống
ở cơ và gan. Trong cơ thể người năng lượng tạo ra từ cùng một lượng thức ăn
so với ở Bom calorie thì thấp hơn. Do trong cơ thể một lượng thức ăn không
được tiêu hóa hấp thu hết thải ra theo phân, lý do thứ hai là trong cơ thể một số
chất không được đốt cháy hoàn toàn và thải ra theo nước tiểu như protein, urê,
acid uric...
Năng lượng sinh ra do phản ứng ôxi hóa của mỗi chất là:
- 1gam chất Protein cung cấp 4kcal hay 16,7472 kJ;
- 1gam chất Lipit cung cấp 9kcal hay 37,6812 kJ;
- 1gam chất Gluxit cung cấp 4kcal hay 16,7472 kJ.
Theo định nghĩa, 1 kilocalo là lượng nhiệt cần thiết để nâng 1 lít nước
lên 10C.
(1kcal = 4,1868 kJ; 1kJ = 0,238846 kcal)
Năng lượng sinh ra
Chất Ở Bom calorie Ở cơ thể
kcal kcal kJ
Protein 5,65 4 17
Carbohydrate 4,1 4 17
Lipit 9,45 9 38
Rượu 7,1 7 29
Bảng 2.1: Giá trị sinh nhiệt của các chất
2.1.2. Năng lượng cần thiết cho chuyển hóa cơ bản
Chuyển hóa cơ bản là năng lượng cơ thể tiêu hao trong điều kiện nghỉ
ngơi, nhịn đói và ở nhiệt độ môi trường thích hợp. Đó là năng lượng cần thiết
để duy trì các chức phận sống của cơ thể như tuần hoàn, hô hấp, bài tiết, tiêu
20
hóa, duy trì tính ổn định các thành phần của dịch thể bên trong và bên ngoài tế
bào.
Người ta biết rằng hoạt động của gan cần đến 27% năng lượng của
chuyển hoá cơ bản, não 19%, tim 10%, thận 10%, cơ 18%, và các bộ phận còn
lại chỉ 16%. Nhiều yếu tố ảnh hưởng đến chuyển hóa cơ bản: Tình trạng hệ
thống thần kinh trung ương, cường độ hoạt động các hệ thống nội tiết và men.
Chức phận một số hệ thống nội tiết làm chuyển hóa cơ bản tăng (ví dụ giáp
trạng) trong khi đó hoạt động một số tuyến nốt tiết khác làm giảm chuyển hóa
cơ bản (ví dụ tuyến yên). Chuyển hóa cơ bản của trẻ em cao hơn ở người lớn,
tuổi càng nhỏ chuyển hóa cơ bản càng cao. Ở người đứng tuổi và người già
chuyển hoá cơ sở thấp dần song song với sự giảm khối nạc và tăng khối mỡ. Ở
người trưởng thành, năng lượng cho chuyển hóa cơ bản vào khoảng 1kcal/kg
cân nặng/1 giờ.
Ở người phụ nữ có thai chuyển hóa tăng trong thời kì mang thai, và cao
nhất ở những tháng cuối, trung bình ở phụ nữ mang thai chuyển hóa cơ bản
tăng 20%. Khi một người bị thiếu dinh dưỡng hay bị đói, chuyển hóa cơ bản
cũng giảm, hiện tượng đó sẽ mất đi khi nào cơ thề được đáp ứng đủ nhu cầu
năng lượng. Cấu trúc cơ thể của một người có ảnh hưởng đến chuyển hóa cơ
bản, so sánh người có cùng trọng lượng, người có khối mỡ nhiều chuyển hóa
cơ bản thấp hơn so với người có khối nạc nhiều.
Nhiệt độ cơ thể liên quan với chuyển hóa cơ bản, khi cơ thể bị sốt tăng
lên 10C thì chuyển hóa cơ bản tăng 7%. Nhiệt độ môi trường cũng có ảnh hưởng
tới chuyển hóa cơ bản song không lớn lắm, thường khi nhiệt độ môi trường
tăng thì chuyển hóa cơ bản cũng tăng lên và ngược lại nhiệt độ môi trường giam
chuyển hóa cơ bản cũng giảm.
21
Sau một bữa ăn chuyển hóa cơ bản tăng lên từ 5% đến 30%, người ta gọi
đó là tác dụng động lực đặc hiệu, trong đó Protein tăng tới 40%, Lipit 14%,
Gluxit 6%.
2.1.3. Nhu cầu năng lượng hàng ngày
Nhu cầu năng lượng cả ngày là tổng số năng lượng cần thiết tiêu hao
trong ngày của cơ thể. Nhu cầu năng lượng thay đổi theo nhiều yếu tố: tuổi,
giới tính, nghề nghiệp, khí hậu, ...
- Tuổi: nếu tính nhu cầu năng lượng theo kg thể trọng thì cao nhất ở trẻ
sơ sinh, giảm dần theo tuổi, từ 20 - 39 tuổi thì giữ không thay đổi, sau đó từ 40
tuổi lại giảm dần đi, vì trẻ em là cơ thể đang lớn và phát triển nên có nhu cầu
cao về năng lượng.
- Giới tính: từ 10 tuổi trở đi, nhu cầu năng lượng bắt đầu khác nhau giữa
hai giới: nam cao hơn nữ cùng tuổi. Nhu cầu năng lượng của nữ còn thay đổi
rất nhiều theo hoạt động sinh sản.
- Nghề nghiệp: với người trưởng thành, người ta thường chia thành 4
nhóm lao động. Mức lao động khác nhau thì nhu cầu năng lượng của cơ thể
cũng khác nhau.
Ví dụ: nhu cầu năng lượng của nam, tuổi từ 18 - 30 tuổi trong ngày là:
+ Lao động nhẹ cần: 2300kcal
+ Lao động vừa cần: 2700kcal
+ Lao động nặng cần: 3200kcal
+ Lao động cực nặng cần: 3500 - 4000kcal
- Khí hậu: trong môi trường lạnh, tiêu hao năng lượng tăng thêm 5%. Do
những phương tiện cải tạo vi khí hậu được sử dụng rộng rãi hơn, nên ảnh hưởng
khí hậu đối với nhu cầu năng lượng ngày càng giảm rõ rệt.
22
Thể trọng Nhu cầu năng lượng Lứa tuổi (kcal/ngày) (kg)
Dưới 1 tuổi (cả 2 giới) 9,0 820
1 - 3 tuổi (cả 2 giới) 13,4 1360
4 - 6 tuổi (cả 2 giới) 20,2 1830
7 - 9 tuổi (cả 2 giới) 28,1 2190
10 - 12 tuổi (nam) 36,9 2600
10 - 12 tuổi (nữ) 38,0 2350
13 - 15 tuổi (nam) 51,3 2900
13 - 15 tuổi (nữ) 49,0 2490
16 - 19 tuổi (nam) 62,9 3070
16 - 19 tuổi (nữ) 54,4 2310
65,0 3000 20 - 39 tuổi lao động vừa (nam)
55,0 2200 20 - 39 tuổi lao động vừa (nữ)
Bảng 2.2: Nhu cầu năng lượng (tính theo kcal/ngày)
2.1.4. Cách tính nhu cầu năng lượng cho một ngày
Để xác định nhu cầu năng lượng, người ta cần biết nhu cầu năng lượng
cho chuyển hóa cơ bản và thời gian, tính chất các hoạt động, thể lực trong ngày.
Theo Tổ chức Y tế thế giới, có thể tính nhu cầu năng lượng cả ngày từ nhu cầu
chuyển hóa cơ bản theo các hệ số ở bảng sau (bảng 2.3 và 2.4):
23
Chuyển hóa cơ bản (kcal/ngày) Nhóm tuổi
(năm) Nam Nữ
60,9 * cân nặng (kg) - 0 - 3 61,0 * cân nặng (kg) - 51 54
22,5 * cân nặng (kg) + 3 - 10 22,7 * cân nặng (kg) + 495 499
12,2 * cân nặng (kg) + 10 - 18 17,5 * cân nặng (kg) + 651 746
14,7 * cân nặng (kg) + 18 - 30 15,3 * cân nặng (kg) + 679 496
30 - 60 11,6 * cân nặng (kg) + 879 8,7 * cân nặng (kg) + 829
10,5 * cân nặng (kg) + > 60 13,5 * cân nặng (kg) + 487 596
Bảng 2.3: Công thức tính chuyển hóa năng lượng cơ bản dựa theo cân nặng
Tính chất lao động Nam Nữ
Lao động nhẹ 1,55 1,56
Lao động vừa 1,78 1,61
Lao động nặng 2,10 1,82
Bảng 2.4: Hệ số nhu cầu năng lượng theo tính chất lao động Ví dụ: Muốn tính nhu cầu năng lượng của một nhóm bé trai, lứa tuổi từ
3 - 10, cân nặng trung bình 22kg, loại lao động nhẹ ta tính như sau:
Tra bảng 2.3, ta tính được nhu cầu chuyển hóa cơ bản:
Tra tiếp bảng 2.4, ta tính được năng lượng cả ngày như sau:
24
2.2. Nhu cầu các chất dinh dưỡng cần thiết đối với cơ thể
Thức ăn cung cấp năng lượng cho cơ thể dưới dạng Protein, Lipit, Gluxit.
Thức ăn còn cung cấp các axit min, axit béo, vitamin và các chất khoáng cần
thiết cho cơ thể phát triển và duy trì: các hoạt động của tế bào và tổ chức. Người
ta thấy rằng sự thiếu hoặc thừa các chất dinh dưỡng trên so với nhu cầu đều dẫn
đến ảnh hưởng bất lợi tới sức khỏe và có thể dẫn đến bệnh tật.
2.2.1. Protein
Protein là thành phần dinh dưỡng quan trọng nhất. Chất Protein ở cơ thể
người chỉ có thể hình thành từ Protein của thức ăn. Chất Protein không thể tạo
thành từ chất Lipit và Gluxit.
Protein là thành phần cơ bản của các vật chất sống. Nó tham gia vào mỗi
một tế bào và là yếu tố tạo hình.
Cơ thể sử dụng Protein của thức ăn, chuyển hóa chúng và đồng thời tổng
hợp chúng như sau:
a ó h u ê i t a u Q
Thịt, cá, trứng/Protein của thức ăn
Axit amin
Tổng hợp Protein Sinh năng lượng
Hình 2.2: Sơ đồ sử dụng Protein từ thức ăn của cơ thể
Protein tham gia vào cân bằng năng lượng của cơ thể, khi tiêu hao năng
lượng nhiều mà lượng Lipit và Gluxit ăn vào không đầy đủ thì cơ thể sẽ tăng
cường phân hủy Protein để sinh ra năng lượng. Như vậy, nếu cơ thể thường
25
xuyên bị thiếu năng lượng thì cơ thể sẽ huy động Protein dự trữ, do đó cơ thể
sẽ gầy đi, thiếu Protein dẫn đến suy dinh dưỡng.
Protein có tỉ lệ khác nhau trong các loại thức ăn và với mỗi loại thức ăn,
giá trị dinh dưỡng của Protein cũng khác nhau. Vì vậy, giá trị dinh dưỡng của
Protein của thức ăn phụ thuộc vào chất lượng và số lượng của Protein có trong
mỗi loại thức ăn.
Nhu cầu của cơ thể về Protein phụ thuộc vào độ tuổi và các đối tượng
khác nhau.
Khẩu phẩn ăn hàng ngày cần có tính cân đối với Protein ở các chỉ tiêu:
+ Tương quan về cung cấp năng lượng;
+ Tỉ số Protein nguồn gốc động vật so với tổng số Protein: Đây là một
tiêu chuẩn nói lên chất lượng Protein trong khẩu phần ăn. Các tài liệu đều cho
rằng lượng Protein nguồn gốc động vật đạt 50% - 60% tổng số Protein ở khẩu
phẩn trẻ em và không nên thấp hơn 25% ở các lứa tuổi khác.
Nguồn thực phẩm giàu Protein là các loại thực phẩm có nguồn gốc động
vật như: thịt, cá, trứng, sữa, ... và các loại thực phẩm có nguồn gốc thực vật
như: lạc, vừng và các loại đậu đỗ.
2.2.2. Lipit
Lipit bao gồm chất béo, sáp, steroit, photpholipit là chất dinh dưỡng cần
thiết cho sự sống. Lipit là một trong 3 chất sinh năng lượng, nhưng Lipit là chất
cho nhiều năng lượng hơn cả.
Đặc điểm chung của Lipit là nó có thể hòa tan trong các dung môi hữu
cơ như: ete, benzen, ... mà không hòa tan trong nước. Lipit là dung môi cho các
Vitamin tan trong mỡ, chủ yếu là Vitamin A và Vitamin D. Thành phần quyết
định tính chất của Lipit là các axit béo.
Trong cơ thể người trưởng thành bình thường có khoảng 10% chất béo.
Lượng Lipit này tập trung chủ yếu ở tổ chức dưới da tạo thành lượng mỡ dự trữ
26
để cơ thể sử dụng khi cần thiết. Lipit còn bao quanh phủ tạng để ngăn ngừa các
va chạm và giữ chúng ở vị trí ổn định. Chất lượng và số lượng của mỡ dự trữ
phụ thuộc nhiều vào số lượng và loại thức ăn được sử dụng.
Tỉ lệ chất béo động vật với trẻ em nên chiếm 50% và các loại dầu thực
vật chiếm 50% tổng số chất béo ăn vào. Do đó, khuynh hướng thay thế hoàn
toàn mỡ động vật bằng dầu thực vật là không hợp lí.
Nhu cầu Lipit phụ thuộc theo tuổi, tính chất lao động, đặc điểm dân tộc
và điều kiện khí hậu. Ở xứ lạnh, tỉ lệ calo do chất béo tạo nên chiếm khoảng
35% tổng số calo của khẩu phần; ở vùng ôn đới là 30%; ở vùng nhiệt đới là
15% - 25%.
Khẩu phần ăn hàng ngày cần có sự cân đối Lipit:
+ Tỉ số năng lượng do Lipit cung cấp so với tổng số năng lượng;
+ Tính cân đối giữa các axit béo trong khẩu phần trên thực tế biểu hiện
bằng tương quan giữa Lipit nguồn gốc động vật và thực vật so với tổng số Lipit.
Nguồn thức ăn giàu Lipit là các loại thức ăn nguồn gốc động vật và các
loại đậu, đỗ, vừng, lạc ở thực vật.
2.2.3. Gluxit
Gluxit có nhiều trong các loại thực phẩm có nguồn gốc thực vật. Đây là
một trong 3 nguồn cung cấp năng lượng chủ yếu cho cơ thể.
Đặc điểm của Gluxit là có vị ngọt, dễ hòa tan trong nước. Tất cả các dạng
của Gluxit qua quá trình biến đổi trong cơ thể sẽ cho ra chủ yếu là Glucozo.
Cung cấp đầy đủ Gluxit theo thức ăn làm giảm sự phân hủy của Protein
đến mức tối thiểu và ngược lại. Nếu lượng Gluxit ăn vào không đầy đủ, cơ thể
sẽ phân hủy Protein dự trữ để sinh năng lượng.
Gluxit liên quan đến chuyển hóa Lipit. Khi cơ thể không được cung cấp
đầy đủ Gluxit thì cơ thể sẽ phân hủy Lipit dự trữ để sinh năng lượng. Nhưng
27
nếu ăn quá nhiều Gluxit thì năng lượng Gluxit thừa sẽ dễ dàng chuyển thành
lượng Lipit dự trữ ở dưới da, dưới màng bụng.
Tỉ lệ Gluxit trong thực phẩm khác nhau và sự tiêu hóa nhanh chậm trong
cơ thể cũng khác nhau.
Tùy từng lứa tuổi, đối tượng mà chúng ta sử dụng các loại Gluxit có trong
thực ăn cho thích hợp.
Nhu cầu Gluxit của cơ thể phụ thuộc vào tiêu hao năng lượng và tình
trạng sinh lí của cơ thể. Lao động thể lực càng nặng, nhu cầu Gluxit càng cao.
Nhu cầu Gluxit ở trẻ nhỏ là do nguồn sữa mẹ hoặc sữa bò cung cấp là chính, vì
vậy cần cho trẻ nhỏ ăn đầy đủ sữa, không nên cho trẻ ăn quá nhiều tinh bột.
Nhu cầu về Gluxit cần được cân đối so với Protein và Lipit trong khẩu
phần. Đối với người lao động trung bình, tỉ lệ giữa Protein, Lipit và Gluxit thích
hợp là 1 : 1 : 4. Đối với người lao động chân tay tỉ lệ có thể là 1 : 1 : 5. Ở người
già tỉ lệ thích hợp là 1 : 0,8 : 3.
Các lương thực, thực phẩm giàu Gluxit là các loại thức ăn nguồn gốc
thực vật như: gạo, ngô, mì, kê, khoai, các loại củ, đường kính, mật ong, ...
2.2.4. Các chất khoáng
Chất khoáng là thành phần quan trọng của tổ chức xương có tác dụng
duy trì áp lực thẩm thấu, có nhiều tác dụng trong các chức phận sinh lý và
chuyển hóa của cơ thể. Ăn thiếu chất khoáng sinh nhiều bệnh. Thiếu Iot gây
bướu cổ. Thiếu Fluo gây hà răng. Thiếu Canxi sẽ ảnh hưởng đến hoạt động của
cơ tim, tới chức phận tạo huyết và đông máu, gây bệnh còi xương ở trẻ em và
xốp xương ở người lớn và người già.
2.2.4.1. Canxi (Ca)
Canxi giúp cơ thể hình thành hệ xương và răng vững chắc, đảm bảo chức
phận thần kinh và sự đông máu bình thường. Canxi cần thiết cho các quá trình
chuyển hoá trong cơ thể.
28
Canxi chiếm 1/3 khối lượng chất khoáng trong cơ thể và 98%
Canxi nằm ở xương và răng. Cho nên Canxi rất cần thiết đối với trẻ em có bộ
xương đang phát triển.
Nhu cầu Canxi của cơ thể được xác định trong mối tương quan với
Photpho: tỉ số Ca/P mong muốn tối thiểu > 0,8 ở mọi lứa tuổi, tốt nhất là 1 -
1,5 (đặc biệt đối với trẻ em).
Theo khuyến nghị của Bộ Y tế (2014) nhu cầu Canxi đối với trẻ em như
sau:
Nhóm tuổi Nhu cầu Canxi khuyến nghị (mg/ngày)
< 6 tháng 300
6 - 11 tháng 400
1 - 3 tuổi 500
4 - 6 tuổi 600
7 - 9 tuổi 700
Bảng 2.5: Nhu cầu Canxi
Canxi có nhiều trong các thức ăn nguồn gốc động vật và thực vật. Sữa
và các chế phẩm từ sữa có hàm lượng Canxi cao và dễ hấp thu.
Trong cơ cấu bữa ăn nên có thêm đậu các loại nhất là đậu tương, có thêm
vừng lạc, rau quả, cá và thủy sản thì ngoài việc có thêm Protein và Lipit, chúng
ta sẽ không lo thiếu Canxi.
2.2.4.2. Photpho (P)
Một người trưởng thành bình thường có khoảng 400 - 500g Photpho,
80% Photpho của cơ thể tập trung trong xương, răng; 10% trong máu.
Photpho cùng với Canxi tham gia cấu tạo xương và răng.
Photpho tham gia cấu tạo nhiều hợp chất có hoạt tính sinh học cao, giữ
vị trí quan trọng trong chuyển hóa chất của cơ thể.
29
Nhu cầu Photpho theo sự tương quan giữa Photpho/Protein = 1/40.
Nhu cầu Photpho theo Canxi: Ca/P = 1/2 ở trẻ sơ sinh, trẻ lớn hơn là 2/3.
Theo khuyến nghị của Bộ Y tế (2014) nhu cầu Photpho đối với trẻ em
như sau:
Nhóm tuổi Nhu cầu Photpho khuyến nghị (mg/ngày)
< 6 tháng 90
6 - 11 tháng 275
1 - 3 tuổi 460
4 - 6 tuổi 500
7 - 9 tuổi 500
Bảng 2.6: Nhu cầu Photpho
Nguồn thực phẩm giàu Photpho như: đậu nành, hạnh nhân, cá ngừ, ...
2.2.4.3. Kali (K)
Cơ thể người trưởng thành bình thường có khoảng 100 - 140g Kali,
chiếm 0,02% trọng lượng cơ thể. Nơi có nồng độ Kali cao nhất là gan và cơ.
Kali cần thiết cho quá trình phân giải glucozo, cung cấp năng lượng cho
hoạt động của tế bào.
Kali tham gia vào quá trình chuyển hóa Protein.
Một người trưởng thành, bình thường mỗi ngày cần 2 - 4g Kali.
Thực phẩm giàu Kali là các loại có nguồn gốc thực vật như: củ cải, dưa
hấu, chuối ...
2.2.4.4. Natri (Na)
Một người trưởng thành bình thường có 80 - 100g Natri trong cơ thể.
Natri chủ yếu tập trung ở da, thận, cơ và gan.
Natri là chất chủ yếu để điều hòa áp suất thẩm thấu và pH của máu, các
dịch ngoại bào.
30
Một người trưởng thành bình thường cần 4 - 6g Natri mỗi ngày. Nhu cầu
tăng lên khi mất nhiều mồ hôi. Nhưng người ta sẽ tự động ăn mặn thêm trong
bữa ăn.
Nguồn cung cấp Natri của cơ thể chủ yếu là muối ăn (NaCl). Những thực
phẩm có nhiều Natri khác như: nước mắm, cá khô, ...
2.2.4.5. Sắt (Fe)
Cơ thể người trưởng thành bình thường có từ 3 - 4g sắt, trong đó 2/3
có ở hemoglobin là sắc tố của hồng cầu, phần còn lại dự trữ trong gan. Một
phần nhỏ hơn có ở thận, lách và các cơ quan khác.
Mặc dù số lượng không nhiều nhưng Sắt là một trong các thành phần
dinh dưỡng quan trọng nhất, có tầm quan trọng cơ bản đối với sự sống. Sắt là
thành phần của huyết sắc tố, myoglobin, các xitrocrom và nhiều enzim như
catalaza và các peroxidaza. Sắt vận chuyển oxi và giữ vai trò quan trọng trong
hô hấp tế bào.
Nhu cầu sắt thay đổi tùy theo điều kiện sinh lí. Trẻ sơ sinh ra đời với một
lượng Sắt dự trữ khá lớn ở gan và lách. Trong những tháng đầu, đứa trẻ sống
dựa vào lượng sắt dự trữ đó vì trong sữa mẹ có rất ít chất sắt. Ðó là lí do ngày
nay người ta khuyến khích các bà mẹ cho con ăn sam sớm hơn từ tháng thứ 5
so với trước đây thường là tháng thứ 6.
Theo khuyến nghị của Bộ Y tế (2014) nhu cầu Sắt đối với trẻ em như
sau:
31
Sắt (mg/ngày) theo giá trị sinh học khẩu
phần Nhóm tuổi
5%1 10%2 15%3
< 6 tháng 0,93
6 - 11 tháng 18,6 12,4 9,3
1 - 3 tuổi 11,6 7,7 5,8
4 - 6 tuổi 12,6 8,4 6,3
7 - 9 tuổi 17,8 11,9 8,9
1 Khẩu phần có giá trị sinh học Sắt thấp (khoảng 5% sắt được hấp thu):
Bảng 2.7: Nhu cầu Sắt
chế độ ăn đơn điệu, lượng thịt, cá < 30g/ngày hoặc lượng Vitamin C <
2 Khẩu phần có giá trị sinh học Sắt trung bình (khoảng 10% sắt được hấp
25mg/ngày.
thu): khẩu phần có lượng thịt, cá từ 30g - 90g/ngày hoặc Vitamin C từ 25 mg -
3 Khẩu phần có giá trị sinh học Sắt cao (khoảng 15% sắt được hấp thu):
75mg/ngày.
khẩu phần có lượng thịt, cá > 90g/ngày hoặc vitamin C > 75mg/ngày.
Sắt ở thịt được hấp thu khoảng 30%, đậu tương 20%, cá 15%, các thức
ăn thực vật như ngũ cốc, rau và đậu đỗ (trừ đậu tương) chỉ hấp thụ khoảng 10%.
Vitamin C hỗ trợ hấp thu sắt, còn các Phytat, Photphat cản trở sự hấp thụ sắt.
Sắt có nhiều trong các thức ăn nguồn gốc động vật, các hạt họ đậu nhất
là đậu tương. Các loại rau quả cũng là nguồn sắt quan trọng trong bữa ăn.
2.2.4.6. Iot (I)
Iot là thành phần dinh dưỡng cần thiết cho cơ thể. Ðó là thành phần cấu
tạo các nội tố của tuyến giáp trạng tyroxin, tridotyroxin giữ vai trò chuyển hóa
quan trọng. Khẩu phần đủ Iot là một trong các yếu tố có ảnh hưởng quyết định
32
đến sự tiết nội tố của tuyến giáp trạng. Khi thiếu Iot tuyến giáp trạng tăng hoạt
động, cố gắng bù trừ lượng thiếu và tuyến giáp phì đại tạo nên bướu cổ.
Iot trong thức ăn được hấp thụ ở ruột non và đi theo 2 đường chính,
khoảng 30% được sử dụng bởi tuyến giáp trạng đế tạo hóc môn, phần còn lại
ra theo nước tiểu.
Theo khuyến nghị của Bộ Y tế (2014) nhu cầu Iot đối với trẻ em như sau:
Nhóm tuổi Nhu cầu Iot khuyến nghị (mcg/ngày)
< 6 tháng 90
6 - 11 tháng 90
1 - 3 tuổi 90
4 - 6 tuổi 90
7 - 9 tuổi 90
Bảng 2.8: Nhu cầu Iot
Nguồn Iot tốt trong thức ăn là các sản phẩm ở biển và các loại rau trồng
trên đất nhiều Iốt.
2.2.4.7. Các yếu tố vi lượng khác
Ngoài Canxi, Photpho, Kali, Natri, Sắt, Iốt, các yếu tố khác cần thiết cho
cơ thể còn có Fluo, Kẽm, Magie, Đồng.
Kẽm là thành phần thiết yếu của cacbonhydraza và nhiều men khác cần
thiết cho chuyển hóa Protein và Gluxit. Biểu hiện của thiếu Kẽm là lớn không
bình thường và chức phận sinh dục kém phát triển. Nhiều trẻ em ăn uống kém,
lười ăn cũng có thể do thiếu Kẽm. Nhu cầu Kẽm của người trưởng thành khoảng
2,2 mg/ngày. Lượng Kẽm trong khẩu phần cần có để đáp ứng nhu cầu thay đổi
theo cơ cấu của khẩu phần và lượng Kẽm được sử dụng. Trong thời kì lớn, phụ
nữ mang thai và cho con bú nhu cầu cần cao hơn. Thức ăn nguồn gốc động vật
là nguồn Kẽm tốt như: thịt bò, lợn có từ 2 - 6 mg/100g; sữa từ 0,3 - 0,5 mg; cá
33
và hải sản 1,5g/100g; bột ngũ cốc cũng có nhưng phần lớn đã bị mất trong quá
trình xay xát.
Trong cơ thể người có khoảng 20 - 25g Magie. Đó là yếu tố cần thiết cho
hoạt động nhiều loại men tham gia vào các phản ứng oxi hóa. Nhu cầu ở người
trưởng thành khoảng 200 - 300mg/ngày. Magie có nhiều trong thức ăn nguồn
gốc thực vật.
Mặc dù vai trò của nhiều vi yếu tố khác đã được chứng minh nhưng còn
thiếu cơ sở khoa học để xác định nhu cầu của chúng.
2.2.5. Vitamin
Vitamin là những chất hữu cơ cần thiết với cơ thể và tuy nhu cầu đòi hỏi
với số lượng ít, nhưng chúng bắt buộc phải có trong thức ăn.
Vitamin được chia thành hai nhóm: các Vitamin tan trong nước và các
Vitamin tan trong chất béo. Các Vitamin tan trong nước khi thừa đều bài xuất
theo nước tiểu như vậy ít có đe dọa xảy ra tình trạng nhiễm độc Vitamin. Ngược
lại các Vitamin tan trong chất béo không thể đào thải theo con đường đó mà
các lượng thừa đều được dự trữ trong các mô mỡ, gan. Khả năng tích lũy của
gan lớn nên có thể có dự trữ đủ cho cơ thể trong thời gian dài, tuy vậy một
lượng quá cao Vitamin A và D có thể gây ngộ độc.
2.2.5.1. Vitamin A (Retinol)
Vitamin A có nhiều chức phận quan trọng trong cơ thể, trước hết là vai
trò với quá trình nhìn. Andehyt của retinol là thành phần thiết yếu của sắc tố
võng mạc Rodopsin. Khi gặp ánh sáng sắc tố này mất màu và quá trình này
kích thích các tế bào que ở võng mạc để nhìn thấy ánh sáng yếu. Biểu hiện của
nó được gọi là "quáng gà", đây là dấu hiệu sớm của thiếu vitamin A.
Vitamin A cần thiết để bảo vệ sự toàn vẹn của giác mạc và các tổ chức
biểu mô dưới da, khí quản, các tuyến nước bọt, ruột non, tinh hoàn...
Vitamin A tham gia vào các quá trình đáp ứng miễn dịch của cơ thể, làm
tăng sức đề kháng của cơ thể đối với bệnh tật.
34
Theo khuyến nghị của Bộ Y tế (2014) nhu cầu Vitamin A đối với trẻ em
như sau:
Nhóm tuổi Nhu cầu Vitamin A khuyến nghị (mcg/ngày)
< 6 tháng 375
6 - 11 tháng 400
1 - 3 tuổi 400
4 - 6 tuổi 450
7 - 9 tuổi 500
Bảng 2.9: Nhu cầu Vitamin A
Thức ăn có nguồn gốc động vật có nhiều Vitamin A tốt nhất. Vì gan là nơi dự trữ Vitamin A, nên gan có thành phần retinol cao nhất. Chất béo từ thịt và trứng cũng chứa một lượng Vitamin A đáng kể.
STT Tên thực phẩm mcg STT Tên thực phẩm mcg
1 Gan gà 6960 8 Trứng vịt 600
2 Gan lợn 6000 9 Bơ 360
3 Gan bò 5000 10 Bầu dục bò 330
4 Gan vịt 2960 11 Sữa bột toàn phần 318
5 Lươn 1500 12 Pho mát 275
6 Trứng vịt lộn 875 13 Thịt vịt 270
7 Trứng gà 700 14 Cá chép 181
Bảng 2.10: Thực phẩm thông dụng giàu Vitamin A (Hàm lượng trong 100g thực phẩm ăn được)
2.2.5.2. Vitamin D
Vitamin D giúp cơ thể hấp thu tốt Canxi và Photpho. Vai trò chính của
Vitamin D là tạo điều kiện thuận lợi cho sự hấp thu Canxi ở tá tràng.
35
Theo khuyến nghị của Bộ Y tế (2014) nhu cầu Vitamin D đối với trẻ em
như sau:
Nhóm tuổi Nhu cầu Vitamin D khuyến nghị (mcg/ngày)
< 6 tháng 5
6 - 11 tháng 5
1 - 3 tuổi 5
4 - 6 tuổi 5
7 - 9 tuổi 5
Bảng 2.11: Nhu cầu Vitamin D
Dầu cá thu là nguồn Vitamin D tốt, ngoài ra có thể kể đến gan, trứng, bơ.
Thức ăn nguồn gốc thực vật hoàn toàn không có Vitamin D. Nguồn Vitamin D
quan trọng cho cơ thể là sự nội tổng hợp trong da dưới tác dụng của tia tử ngoại
ánh sáng mặt trời.
2.2.5.3. Vitamin B1 (Thiamin)
Vitamin B1 có vai trò quan trọng trong chuyển hóa Gluxit để cung cấp
năng lượng. B1 giúp cơ thể phát triển bình thường, ăn ngon miệng.
Ngoài ra, B1 còn tham gia vào các quá trình chuyển hóa Protein như tăng
tổng hợp các axit amin.
Theo khuyến nghị của Bộ Y tế (2014) nhu cầu Vitamin B1 đối với trẻ em
như sau:
36
Nhóm tuổi Nhu cầu Vitamin B1 khuyến nghị (mg/ngày)
< 6 tháng 0,2
6 - 11 tháng 0,3
1 - 3 tuổi 0,5
4 - 6 tuổi 0,6
7 - 9 tuổi 0,9
Bảng 2.12: Nhu cầu Vitamin B1
Tất cả các loại thức ăn tự nhiên đều có chứa Vitamin B1 nhưng có nhiều
nhất ở gan, thận, tim, não, cám gạo, vỏ hạt đậu, enzim bia, lòng đỏ trứng, enzim
bánh mì.
2.2.5.4. Vitamin B2 (Riboflavin)
Vitamin B2 giữ vai trò chủ yếu trong các phản ứng oxi hóa ở tế bào trong
các mô của cơ thể.
Ngoài ra, Vitamin B2 còn có ảnh hưởng đến cấu trúc màng tế bào, tới
khả năng cảm thụ ánh sáng của mắt, tới một số tuyến nội tiết. Vitamin B2 góp
phần quan trọng trong việc tạo thành các liên kết sắt.
Theo khuyến nghị của Bộ Y tế (2014) nhu cầu Vitamin B2 đối với trẻ em
như sau:
Nhóm tuổi Nhu cầu Vitamin B2 khuyến nghị (mg/ngày)
< 6 tháng 0,3
6 - 11 tháng 0,4
1 - 3 tuổi 0,5
4 - 6 tuổi 0,6
7 - 9 tuổi 0,9
Bảng 2.13: Nhu cầu Vitamin B2
37
Vitamin B2 có nhiều trong cám gạo, nấm enzim, nhưng cũng có trong
nhiều thực phẩm khác như: thịt, đậu đỗ, cà chua, bắp cải, …
2.2.5.5. Vitamin PP (Niaxin)
Tất cả các tế bào sống đều cần đến Vitamin PP, chúng tham gia vào quá
trình chuyển hóa Gluxit và hô hấp của tế bào.
Theo khuyến nghị của Viện Dinh dưỡng (1996) nhu cầu Vitamin PP đối
với trẻ em như sau:
Nhóm tuổi Nhu cầu Vitamin PP khuyến nghị (mg/ngày)
3 - 6 tháng 5,0
6 - 12 tháng 5,4
1 - 3 tuổi 9,0
4 - 6 tuổi 12,1
Bảng 2.14: Nhu cầu Vitamin PP
Vitamin PP có cả trong các thực phẩm nguồn gốc động vật và thực vật.
Ở các thực phẩm nguồn gốc thực vật có nhiều trong men, cám gạo, mầm
lúa mì, riêng ngô lại nghèo Vitamin PP.
Ở các thực phẩm nguồn gốc động vật, trừ sữa và trứng, còn lại đều giàu
Vitamin PP.
2.2.5.6. Vitamin C (axit ascorbic)
Vitamin C hay còn gọi là axit ascorbic, kết thành tinh thể màu trắng, có
vị chua. Nó rất dễ bị oxi hóa. Toàn bộ cơ thể có từ 2 - 6g Vitamin C, phần lớn
ở các phủ tạng.
Theo khuyến nghị của Bộ Y tế (2014) nhu cầu Vitamin C đối với trẻ em
như sau:
38
Nhóm tuổi Nhu cầu Vitamin C khuyến nghị (mg/ngày)
< 6 tháng 25
6 - 11 tháng 30
1 - 3 tuổi 30
4 - 6 tuổi 30
7 - 9 tuổi 35
Bảng 2.15: Nhu cầu Vitamin C
Vitamin C có nhiều trong các quả chín. Rau xanh có nhiều Vitamin C
nhưng bị hao hụt nhiều trong quá trình nấu nướng. Khoai tây, khoai lang cũng
là nguồn Vitamin C tốt.
2.3. Xây dựng khẩu phần ăn
2.3.1. Khẩu phần là gì?
Khẩu phần là xuất ăn của 1 người trong 1 ngày nhằm đáp ứng nhu cầu
về năng lượng và các chất dinh dưỡng cần thiết cho cơ thể.
2.3.2. Chế độ ăn là gì?
Chế độ ăn cho mỗi đối tượng được biểu hiện bằng số bữa ăn trong 1
ngày. Sự phân phối các bữa ăn trong những giờ nhất định có chú ý đến khoảng
cách giữa các bữa ăn và phân phối cân đối tỉ lệ năng lượng giữa các bữa ăn
trong 1 ngày.
2.3.3. Thực đơn là gì?
Khẩu phần tính thành lượng thực phẩm, chế biến dưới dạng các món ăn,
sau khi sắp xếp thành bảng món ăn từng bữa, hàng ngày, hàng tuần gọi là thực
đơn.
2.3.4. Khẩu phần ăn phải đảm bảo cân đối và hợp lí
Thế nào là một khẩu phần ăn cân đối và hợp lí?
Cần đủ:
39
Năng lượng;
Chất dinh dưỡng (4 nhóm thực phẩm: P-L-G-Vitamin và Chất
khoáng).
Khi xây dựng khẩu phần ăn cần:
Dựa vào tỉ lệ nào thì phải căn cứ vào thực trạng;
Kinh phí cho một khẩu phần ăn là bao nhiêu?
Mức ăn của trẻ;
Nghiên cứu sâu vai trò của từng chất, cấu tạo, khả năng gây
bệnh ảnh hưởng đến sức khỏe, trí tuệ, tầm vóc, bệnh tật.
Xây dựng thực đơn hàng ngày, theo tuần, theo mùa.
Theo thông tư số 28/2016/TT-BGDĐT và quyết định số 777/QĐ-
BGDĐT thì mức năng lượng cung cấp dinh dưỡng được quy định như sau:
Đối với lứa tuổi nhà trẻ:
Nhu cầu khuyến nghị Nhóm tuổi Chế độ ăn năng lượng/ngày/trẻ
3 - 6 tháng Sữa mẹ 500 - 550kcal
6 - 12 tháng Sữa mẹ và sữa bột 600 - 700kcal
12 - 18 tháng Cháo và sữa mẹ
930 - 1000kcal 18 - 24 tháng Cơm nát và sữa mẹ
24 - 36 tháng Cơm thường
Bảng 2.16: Nhu cầu khuyến nghị năng lượng lứa tuổi nhà trẻ Tỉ lệ các chất cung cấp năng lượng được khuyến nghị theo cơ cấu:
Protein cung cấp khoảng 13% - 20% năng lượng khẩu phần.
Lipit cung cấp khoảng 30% - 40% năng lượng khẩu phần.
Gluxit cung cấp khoảng 47% - 50% năng lượng khẩu phần.
40
Nước uống: khoảng 0,8 - 1,6 lít/trẻ/ngày (kể cả nước trong thức
ăn).
Đối với lứa tuổi mẫu giáo (4 - 6 tuổi)
Xây dựng khẩu phần phù hợp với độ tuổi.
Nhu cầu khuyến nghị năng lượng của 1 trẻ/ngày là: 1230 - 1320kcal.
Tỉ lệ các chất cung cấp năng lượng theo cơ cấu:
Protein cung cấp khoảng 13% - 20% năng lượng khẩu phần.
Lipit cung cấp khoảng 25% - 35% năng lượng khẩu phần.
Gluxit cung cấp khoảng 52% - 60% năng lượng khẩu phần.
Nước uống: khoảng 1,6 - 2,0 lít/trẻ/ngày (kể cả nước trong thức
ăn).
Đối với người trưởng thành
Theo khuyến nghị của Viện Dinh dưỡng (2016), đối với người trưởng
thành tỉ lệ cung cấp năng lượng trong bữa ăn hàng ngày của các thành phần
Protein, Lipit, Gluxit nên đạt như sau:
P : L : G = 14% : 20% : 66%
Năng lượng sinh ra do phản ứng ôxi hóa của mỗi chất dinh dưỡng là:
- 1gam chất Protein cung cấp 4kcal;
- 1gam chất Lipit cung cấp 9kcal;
- 1gam chất Gluxit cung cấp 4kcal.
Năng lượng trong thực đơn chủ yếu (gần như toàn bộ) được cung cấp bởi
3 đại lượng Protein, Lipit, Gluxit. Do đó, ta có:
2.3.5. Các bước khi tiến hành xây dựng khẩu phần ăn
Bước 1:
Xác định số Kcal cho từng độ tuổi.
41
Bước 2:
Lựa chọn cách phân phối kcal thích hợp, theo tỉ lệ nào?
Bước 3:
Lên thực đơn dựa vào bảng thành phần thực phẩm cho 100g
thức ăn ăn được;
Lựa chọn thực phẩm ngon nhất có thể ưu tiên những thực phẩm
sẵn có của địa phương;
Bổ sung cho đạt năng lượng với dầu mỡ và đường.
2.3.6. Nguyên tắc xây dựng thực đơn
Thực đơn cần đảm bảo các chất dinh dưỡng: đủ 4 nhóm thực phẩm P, L,
G, Vitamin và Chất khoáng.
Cùng một loại thực phẩm phải sử dụng cho tất cả các chế độ ăn để tiện
cho công tác tiếp phẩm và việc tổ chức nấu ăn cho trẻ.
Thực đơn là những thực phẩm sẵn có của địa phương, phù hợp theo mùa:
vừa đảm bảo dinh dưỡng, vừa rẻ tiền, trẻ lại ăn ngon miệng, kinh tế.
Lên thực đơn tuần: phù hợp với việc sử dụng đủ loại thực phẩm và việc
bảo quản thực phẩm, việc chuẩn bị thực phẩm nấu cũng chủ động hơn.
Thực đơn cần thay đổi món ăn để trẻ khỏi chán.
2.4. Tổng quan về bệnh béo phì
2.4.1. Khái niệm bệnh béo phì
Béo phì là tình trạng tích lũy mỡ thái quá và không bình thường một cách
cục bộ hay toàn thể tới mức ảnh hưởng xấu tới sức khoẻ.
2.4.2. Phương pháp xác định béo phì
2.4.2.1. Dựa vào chỉ số BMI
Chỉ số khối cơ thể (BMI) là một phép tính toán học liên quan đến chiều
cao và cân nặng, không phân biệt lịch sử gia đình, giới tính, tuổi tác hay chủng
tộc. BMI được tính bằng cách chia trọng lượng cơ thể (tính bằng kilogam) của
42
một người với chiều cao của họ (tính bằng mét) hoặc bằng cách sử dụng pounds
(lbs) và inches (in). Tuy nhiên, BMI không đúng với vận động viên, phụ nữ
mang thai hoặc cho con bú.
BMI =
Tổng trọng lượng cơ thể Chiều cao × Chiều cao Chỉ số BMI chuẩn theo Tổ chức Y tế thế giới (World Health
Organization, WHO):
Chỉ số BMI Tình trạng
Thiếu cân 𝐵𝑀𝐼 ≤ 18,50
Bình thường 18,50 < 𝐵𝑀𝐼 ≤ 24,99
Thừa cân 24,99 < 𝐵𝑀𝐼 ≤ 25,00
Tiền béo phì 25,00 < 𝐵𝑀𝐼 ≤ 29,99
Béo phì độ I 29,99 < 𝐵𝑀𝐼 ≤ 34,99
Béo phì độ II 34,99 < 𝐵𝑀𝐼 < 40,00
Béo phì độ III 𝐵𝑀𝐼 ≥ 40,00
Bảng 2.17: Bảng chỉ số BMI chuẩn theo WHO
2.4.2.2. Dựa vào Chu vi vòng eo
Vòng eo là một phép đo khác được sử dụng rộng rãi để xác định hàm
lượng chất béo trong bụng. Sự dư thừa mỡ bụng so với tổng lượng mỡ của cơ
thể được coi là yếu tố tiên đoán đến nguy cơ liên quan đến béo phì. Những
người đàn ông có vòng eo vượt quá 40 inch sẽ bị xem là có nguy cơ. Phụ nữ có
nguy cơ với một vòng eo từ 35 inch trở lên.
2.4.3. Thực trạng béo phì
2.4.3.1. Thực trạng béo phì trên thế giới
Theo nghiên cứu vừa được đăng tải trên tạp chí y khoa New England
Journal of Medicine, hơn 2 tỉ người, tương đương với gần một phần ba dân số
43
thế giới đang thừa cân, béo phì do ảnh hưởng của quá trình đô thị hóa, chế độ
ăn không hợp lí và ít hoạt động thể chất.
Các nhà nghiên cứu đã phân tích dữ liệu từ 195 quốc gia trong khoảng
từ năm 1980 đến năm 2015 để tìm hiểu xu hướng của tình trạng thừa cân và
béo phì.
Dữ liệu cho thấy số người bị béo phì đã tăng gấp đôi kể từ năm 1980 tại
73 quốc gia và tiếp tục tăng ở hầu hết các quốc gia còn lại.
Mức béo phì ở phụ nữ cao hơn so với nam giới ở mọi lứa tuổi.
Trong số 195 nước và vùng lãnh thổ được đưa vào nghiên cứu, Mỹ có tỷ
lệ trẻ em và thanh thiếu niên béo phì lớn nhất với 13%, trong khi Ai Cập dẫn
đầu về tình trạng béo phì ở người trưởng thành với gần 35%.
Về số lượng, do có dân số đông nên Trung Quốc và Ấn Độ có số trẻ em
bị béo phì cao nhất, lần lượt là 15,3 triệu và 14,4 triệu trẻ.
2.4.3.2. Thực trạng béo phì ở Việt Nam
Kết quả điều tra mới nhất (2014 - 2015) về tình trạng trẻ thừa cân béo
phì được TS. Bùi Thị Nhung, Trưởng khoa Dinh dưỡng học đường và ngành
nghề, Viện Dinh dưỡng Quốc gia, công bố tại hội thảo phòng chống béo phì,
thừa cân cho trẻ em, ngày 18/10.
Tình trạng béo phì trẻ em từ tuổi tiền học đường và học đường đến tuổi
trưởng thành đang gia tăng tại Việt Nam, đặc biệt ở các thành phố lớn. Từ năm
1980 - 2013, tỉ lệ thừa cân, béo phì tăng hơn 27% ở người lớn và tăng đến 47%
ở trẻ em. Năm 1996 tỉ lệ trẻ em thừa cân, béo phì tại Hà Nội và TP HCM là
12%. 13 năm sau (năm 2009) tỉ lệ này 43%. Kết quả điều tra năm 2014 - 2015,
tỉ lệ trẻ béo phì ở TP HCM trên 50%, còn khu vực nội thành Hà Nội khoảng
41%.
44
Chỉ tính riêng TP HCM, tỉ lệ thừa cân, béo phì ở trẻ dưới 5 tuổi tăng gấp
3 lần trong hơn 10 năm qua. Tỉ lệ thừa cân, béo phì ở học sinh phổ thông cũng
tăng gấp đôi, từ gần 12% (năm 2002) lên 22% (năm 2009) [6].
2.4.4. Những yếu tố, nguy cơ của béo phì ở trẻ em
2.4.4.1. Cơ chế bệnh sinh của béo phì
Cơ thể giữ được cân nặng ổn định là nhờ trạng thái cân bằng giữa năng
lượng do thức ăn cung cấp và năng lượng tiêu hao do lao động và các hoạt động
khác của cơ thể. Cân nặng cơ thể tăng lên có thể do chế độ ăn dư thừa vượt quá
nhu cầu hoặc do nếp sống làm việc tĩnh tại ít tiêu hao năng lượng.
Người ta nhận thấy 60% - 80% trường hợp béo phì là do nguyên nhân
dinh dưỡng, bên cạnh đó còn có thể do các rối loạn chuyển hóa trong cơ thể
thông qua vai trò điều tiết của hệ thống thần kinh và các tuyến nội tiết như tuyến
yên, tuyến thượng thận, tuyến giáp trạng và tuyến tụy. Khi vào cơ thể, các chất
Protein, Lipit, Gluxit đều có thể chuyển hóa thành chất béo dự trữ. Vì vậy không
nên coi ăn nhiều thịt, nhiều mỡ mới gây béo mà ăn quá thừa chất bột, đường,
đồ ngọt đều có thể gây béo.
Các hành vi ăn uống có liên quan tới thừa cân và béo phì bao gồm tần
suất ăn, khẩu phần ăn quá dư thừa, ăn uống nhậu nhẹt, ăn thức ăn nhanh ở bên
ngoài. Các yếu tố chất dinh dưỡng được nghiên cứu bao gồm chất béo, các loại
carbohydrat (bao gồm các loại carbohydrat tinh chế như đường), chỉ số đường
huyết của thực phẩm và chất xơ.
2.4.4.2. Yếu tố di truyền
Hiện tại khoảng một nửa đến 1/3 nguy cơ thừa cân của một cá nhân có
thể được giải thích bằng yếu tố di truyền.
Những nghiên cứu gần đây trên những người sinh đôi, sinh ba hay trên
con nuôi của một số gia đình cho thấy di truyền là một yếu tố rất quan trọng
45
gây ra béo phì. Sự tham dự về phần di truyền của bệnh tương ứng với sự di
truyền đa gen, có nghĩa là có nhiều gen cùng tham gia.
2.4.4.3. Khẩu phần và thói quen ăn uống của trẻ béo phì
Đáng ngạc nhiên là mối quan hệ giữa chế độ ăn uống và béo phì ở trẻ em
ở lứa tuổi mẫu giáo rất ít nghiên cứu, nhưng dường như có sự tương tác giữa
sự thèm ăn, thành phần dinh dưỡng, chế độ ăn, thành phần bữa ăn và ảnh hưởng
của bố mẹ. Nghiên cứu về các yếu tố dinh dưỡng của bệnh béo phì ở trường
mầm non đã tập trung vào vai trò của lượng tiêu thụ năng lượng tổng thể hoặc
sự đóng góp của các chất dinh dưỡng đa lượng.
Các báo cáo từ các nghiên cứu điều tra sự liên quan giữa lượng năng
lượng hấp thu và béo phì ở trẻ mầm non thể hiện nhiều mâu thuẫn. Hai nghiên
cứu đã phát hiện ra rằng năng lượng hấp thu cao có liên quan đến việc gia tăng
nguy cơ béo phì, trong khi đáng ngạc nhiên là một thử nghiệm đối chứng ngẫu
nhiên cho thấy rằng năng lượng hấp thu thấp hơn trong những năm trước tuổi
đi học có liên quan đến gia tăng nguy cơ béo phì sau này. Sự khác biệt này có
thể gây ra những khó khăn trong việc đánh giá lượng năng lượng hấp thu.
Một số nghiên cứu đã điều tra mối liên hệ giữa lượng chất dinh dưỡng
đa lượng và sự phát triển của chứng béo phì ở trẻ mẫu giáo. Bằng chứng chỉ ra
sự liên hệ chặt chẽ giữa lượng Protein hấp thu và nguy cơ béo phì. Ví dụ, một
nghiên cứu đã chỉ ra rằng lượng chất đạm hấp thu cao hơn trong những năm
mẫu giáo gây tăng gấp đôi nguy cơ bị thừa cân. Lượng Protein hấp thu cao hơn
cũng liên quan đến độ tuổi dễ mắc béo phì thấp, đó là thời điểm mà BMI bắt
đầu tăng lên sau khi đạt đến điểm cực tiểu ở độ tuổi ấu thơ (thường là từ 4 đến
8 tuổi), nó có liên quan với tăng nguy cơ béo phì sau này.
Mặc dù có dữ liệu chứng minh giả thuyết rằng lượng chất đạm cao trong
thời kì sơ sinh và thời thơ ấu làm tăng xu hướng béo phì. Nhưng nhìn chung,
46
bằng chứng chỉ ra vai trò của chế độ ăn uống đơn thuần trong sự phát triển của
bệnh béo phì ở trường mầm non còn hạn chế.
2.4.4.4. Hoạt động thể chất của trẻ béo phì
Bằng chứng cho thấy rằng tăng hoạt động thể chất làm giảm nguy cơ béo
phì ở trẻ mầm non. Một nghiên cứu cắt ngang cho thấy trẻ em có hoạt động thể
chất thấp hơn có nguy cơ dư thừa mỡ trong cơ thể gấp 4 lần. Sự ảnh hưởng của
hoạt động thể chất lên bệnh béo phì có thể rất đáng kể. Ví dụ, ở Thái Lan, có
báo cáo cho rằng trẻ em mầm non có mức hoạt động thể chất thấp có nguy cơ
béo phì tăng gấp 2 lần so với trẻ em có mức hoạt động thể chất bình thường.
Cường độ hoạt động thể chất có thể đặc biệt quan trọng trong việc ảnh
hưởng đến nguy cơ béo phì. Ví dụ, một nghiên cứu đã chỉ ra rằng trẻ em thừa
cân dành ít hơn 9 phút trong hoạt động thể chất mạnh hàng ngày so với trẻ bình
thường. Do đó, chỉ cần sự khác biệt nhỏ trong hoạt động thể chất cũng có thể
ảnh hưởng tới sự phát triển của bệnh béo phì.
Mặc dù sự ảnh hưởng của hoạt động thể chất tới bệnh béo phì ở trẻ mầm
non là rõ ràng. Tuy nhiên, hầu hết trẻ em ở lứa tuổi mẫu giáo không đạt được
đề nghị 60 phút hoạt động thể lực vừa phải hàng ngày.
2.4.4.5. Một số nguyên nhân khác
Gần đây, các yếu tố phát triển trong thời kì đầu như dinh dưỡng và mô
hình tăng trưởng sớm đã cho thấy ảnh hưởng đến nguy cơ béo phì sau này. Ví
dụ, tăng trưởng nhanh trong thời kì sơ sinh có liên quan mật thiết đến nguy cơ
béo phì. Ví dụ, khẩu phần Protein hấp thu trong thời kì đầu của trẻ uống sữa
hộp đã được báo cáo là lớn hơn 70% so với của trẻ bú sữa mẹ, điều này có thể
làm tăng tỉ lệ tăng trưởng của trẻ sơ sinh và do đó tăng nguy cơ béo phì sau
này. Bằng chứng ủng hộ giả thuyết này xuất phát từ một thử nghiệm lớn với
hơn 1000 trẻ sơ sinh, trong đó trẻ sơ sinh được phân ngẫu nhiên vào chế độ ăn
47
Protein cao hơn trong năm đầu tiên, kết quả cho thấy có sự tăng trọng lượng ở
thời kì sơ sinh và BMI ở trẻ lớn hơn 2 tuổi.
Cơ chế tác động của dinh dưỡng và sự phát triển của trẻ sơ sinh đối với
sự phát triển của chứng béo phì còn chưa được hiểu rõ. Tuy nhiên, các nghiên
cứu trên động vật cho thấy hệ nội tiết cân bằng năng lượng phát triển trong thời
kì sau sinh có thể được kiểm soát bởi hoạt động của các hooc môn như insulin
và leptin trên hệ thần kinh trung ương. Các yếu tố môi trường bao gồm dinh
dưỡng tác động sự thèm ăn do đó có thể ảnh hưởng đến sự phát triển nguy cơ
béo phì. Ví dụ, ở chuột bị hạn chế tăng trưởng do thiếu dinh dưỡng trong tử
cung và sau khi cho ăn quá mức sau sinh dẫn đến tăng cân và béo phì trong tuổi
trưởng thành.
Vai trò của các yếu tố dinh dưỡng phát triển trong thời kì sơ sinh chủ yếu
dựa vào sữa. Tuy nhiên, giai đoạn tuổi mẫu giáo là thời điểm quan trọng mà
thói quen ăn uống được hình thành, với những ảnh hưởng tiềm ẩn suốt đời liên
quan tới béo phì. Chẳng hạn, sự thèm ăn ở trẻ mầm non ảnh hưởng mạnh đến
độ béo phì sau đó. Việc hình thành sở thích về một loại thực phẩm nào đó và
tiêu thụ nhiều loại thực phẩm giàu năng lượng có thể ảnh hưởng đến sự phát
triển của chứng béo phì.
Lựa chọn thực phẩm là yếu tố quyết định chủ đạo trong sự đa dạng khẩu
phần ăn. Cả sở thích và sự đa dạng thực phẩm đều bắt đầu từ những năm đầu
đời và do đó các thói quen ăn uống hình thành trong thời thơ ấu có xu hướng
kéo dài suốt cuộc đời. Ngày nay sự đa dạng hơn về lựa chọn thực phẩm dinh
dưỡng có liên quan đến việc tăng năng lượng hấp thu và nguy cơ béo phì ở một
số nhưng không phải ở tất cả các nghiên cứu, có thể sự hấp thu các thực phẩm
giàu năng lượng ở mỗi người là khác nhau.
2.4.5. Hậu quả của béo phì
2.4.5.1. Ảnh hưởng đến sức khỏe
48
Thừa cân và béo phì đang là mối đe dọa nghiêm trọng tới sức khỏe con
người. Trọng lượng dư thừa ở bất kỳ lứa tuổi nào đều không tốt cho sức khoẻ.
Nhiều nghiên cứu cho thấy có sự tiến triển trực tiếp từ một trẻ béo tới một người
lớn béo. Người ta nhận thấy 50% phụ nữ trưởng thành mắc béo phì ở tuổi thanh
thiếu niên, 30% người lớn đã béo trong suốt thời kỳ trẻ em, 80% thanh thiếu
niên sẽ tiếp tục béo khi trưởng thành và mức độ béo càng nghiêm trọng ở trẻ
thì béo càng dai dẳng ở tuổi trưởng thành. Do sự gia tăng các nguy cơ bệnh lý
cộng với các yếu tố xã hội, người béo phì trung bình sẽ giảm 6 - 10 năm tuổi
thọ.
STT Các hậu quả thường gặp Các hậu quả ít gặp
Tăng trưởng sớm: tăng chiều cao, 1 Tăng huyết áp dậy thì sớm
2 Rối loạn tâm thần Già u não
3 Tăng Lipit máu Đái tháo đường
4 Không dung nạp Glucose Ngừng thở khi ngủ
5 Gan thoái hóa mỡ và sỏi mật Bệnh buồng trứng đa nang
Bảng 2.18: Hậu quả của béo phì
2.4.5.2. Tăng nguy cơ mắc bệnh tử vong
Theo Trung tâm kiểm soát và phòng ngừa dịch bệnh Hoa Kì (Centers for
Disease Control and Prevention, CDC) ước tính 112.000 trường hợp tử vong
mỗi năm có liên quan đến chứng béo phì. Béo phì làm cho người bệnh có nguy
cơ mắc hơn 30 bệnh mãn tính khác. Các bệnh này bao gồm: tiểu đường tuýp 2,
cholesterol cao, cao huyết áp, sỏi mật, bệnh tim, bệnh gan nhiễm mỡ, ngưng
thở khi ngủ, trào ngược dạ dày thực quản, không kiềm chế stress, suy tim, bệnh
thoái hóa khớp, dị tật bẩm sinh, sẩy thai, hen suyễn và các bệnh hô hấp khác.
2.4.5.3. Hậu quả kinh tế và xã hội của béo phì
49
Chi phí chăm sóc sức khoẻ của người Mĩ bị béo phì lên tới khoảng 147
nghìn tỉ USD mỗi năm và con số này đã tăng lên đáng kể trong những năm sau.
Viện nghiên cứu toàn cầu McKinsey công bố con số của Vương Quốc Anh là
1,3 nghìn tỉ bảng, tương đương khoảng 2,8% tăng trưởng kinh tế hàng năm,
làm thâm hụt ngang 47 tỉ bảng lợi nhuận kinh tế quốc gia.
2.4.6. Giải pháp phòng chống béo phì ở trẻ em
2.4.6.1. Về chế độ ăn của trẻ
Việc xây dựng chế độ ăn hợp lí cho trẻ là cần thiết. Tuy nhiên không phải
nhằm mục đích cắt giảm số năng lượng được cung cấp đến mức tối đa để đạt
mục tiêu giảm cân trong điều trị béo phì, vì một nguyên tắc quan trọng trong
điều trị béo phì ở trẻ em là không đặt mục tiêu giảm cân mà chỉ làm giảm tốc
độ tăng cân. Thực chất trẻ vẫn phải ăn chế độ phù hợp với nhu cầu sinh lí của
trẻ hoặc chỉ phải giảm chút ít, đặc biệt vẫn phải đảm bảo nhu cầu đạm và Canxi
của trẻ (sữa, thịt, cá, trứng, ..).
Quá trình giảm cân cần phải khoa học, giảm từ từ, giúp cơ thể dễ thích
nghi cũng như đạt hiệu quả giảm cân bền vững. Hãy đặt mục tiêu giảm cân 1 -
2 kg mỗi tháng là hợp lí. Muốn vậy, cần phải kiên trì, duy trì chế độ dinh dưỡng
vận động hợp lý trong suốt quá trình giảm cân cũng như sau khi đã đưa cân
nặng về mức lý tưởng.
Để giảm cân, giảm lượng mỡ thừa cần chế độ ăn uống và hoạt động thể
lực hợp lí. Cụ thể, cần có chế độ ăn thấp năng lượng, cân đối, ít đường, đủ đạm,
Vitamin, nhiều rau quả. Từng bước giảm năng lượng trong từng khẩu phần ăn,
mỗi tuần giảm khoảng 300kcal/ngày so với khẩu phần trước đó, cho đến khi
đạt năng lượng tương ứng đến mức BMI. Chẳng hạn [9]:
- BMI từ 23,00 - 24,99: Năng lượng đưa vào một ngày là 1500kcal.
- BMI từ 25,00 - 29,99: Năng lượng đưa vào một ngày là 1200kcal.
- BMI từ 30,00 - 39,99: Năng lượng đưa vào một ngày là 1000kcal.
50
- BMI ≥ 40,00: Năng lượng đưa vào một ngày là 800kcal.
2.4.6.2. Về chế độ vận động của trẻ
- Điều chỉnh chế độ sinh hoạt phù hợp, không thức khuya, dậy muộn.
- Tăng cường hoạt động thể lực, tập thể dục mỗi ngày nhằm mục đích
tiêu hao năng lượng dự trữ dưới dạng mô mỡ, tăng khối cơ bắp và khối xương
qua đó giảm các vùng lỏng lẻo của cơ thể, hạn chế khu vực phát triển của các
tế bào mỡ.
- Hạn chế thời gian trẻ ngồi xem tivi, trò chơi điện tử dưới 1 giờ/ngày.
- Không nên bắt trẻ học quá nhiều, tạo điều kiện để trẻ được vui đùa,
chạy nhảy sau những giờ học căng thẳng.
- Khuyến khích trẻ tham gia các trò chơi vận động phù hợp với lứa tuổi
như: đá bóng, chơi cầu lông, bơi lội, nhảy dây, đá cầu… hướng dẫn trẻ tìm được
môn thể thao ưa thích sẽ giúp trẻ hứng thú hơn.
- Khuyến khích trẻ tham gia giúp cha mẹ một số công việc nhà như: quét
dọn, rửa chén bát, thu dọn đồ chơi, chăm sóc em nhỏ…
- Khuyến khích trẻ đi bộ đến lớp nếu ở gần trường học, không dùng cầu
thang máy mà đi cầu thang bộ.
51
CHƯƠNG 3
CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ
3.1. Phân tích, thiết kế
Theo tài liệu [1], [2], [5] và [10] cho thấy việc ứng dụng các phương
pháp Sử dụng mô hình suy diễn; kĩ thuật Trí tuệ nhân tạo (AI); Giải thuật di
truyền (GA) hay Mạng Neural hiện tại đã giải quyết được một số vấn đề
chính:
- Các bữa ăn đã được sắp xếp và hợp lí về giá thành, không có món kị
nhau trong một bữa ăn.
- Hệ thống có thể đưa ra lịch thực đơn cho các khoảng thời gian khác
nhau mà vẫn đảm bảo được tỉ lệ dinh dưỡng và năng lượng.
Trong phạm vi của nghiên cứu này chúng tôi sử dụng kết hợp phương
pháp tìm kiếm cổ điển và giải thuật di truyền. Các bước thực hiện được mô tả
như sau:
Input: Chiều cao; Cân nặng; Tuổi; Giới tính.
Output: Thực đơn và tỉ lệ các thành phần dinh dưỡng trong thực đơn.
Alg:
- Bước 1: Tính BMI [4].
- Bước 2: Xác định số Kcal tương ứng với BMI.
- Bước 3: Xác định phân phối tỉ lệ P, L, G dựa vào độ tuổi.
- Bước 4: Dựa vào tỉ lệ phân phối xác định lượng P, L, G tương ứng.
- Bước 5: Dựa vào bảng CSDL [3] tính toán và lên thực đơn sao cho
tương ứng với lượng P, L, G vừa tính được trước đó.
- Bước 6: Xuất thực đơn theo từng lựa chọn của hệ thống.
3.2. Mô hình toán học của bài toán
Yêu cầu của bài toán
52
Cần xây dựng hệ hỗ trợ xác định thực đơn khẩu phần dinh dưỡng với yêu
cầu đảm bảo dinh dưỡng theo quy định, không béo phì và chi phí cho 1 khẩu
phần ăn là rẻ nhất.
Dữ liệu đầu vào của bài toán
Kí hiệu:
- Các loại thực phẩm:
- Lượng nguyên liệu trong 1 đơn vị thực phẩm là:
Khi đó: thực đơn được xác định bởi công thức:
Trong đó:
Các ràng buộc cơ bản
Đối với thực phẩm nguyên liệu :
- Giá thị trường là:
- Hàm lượng các chất dinh dưỡng trong 1 loại thực phẩm:
+ Hàm lượng Protein:
+ Hàm lượng Lipit:
+ Hàm lượng Gluxit:
Đối với thực đơn :
- Hàm lượng các chất dinh dưỡng trong 1 thực đơn:
+ Hàm lượng Protein:
+ Hàm lượng Lipit:
+ Hàm lượng Gluxit:
53
Tổng số Kcal trong 1 thực đơn được xác định như sau:
Điều kiện
- Đảm bảo đầy đủ các chất dinh dưỡng (nhóm đại lượng: P, L, G).
- Hàm lượng Kcal tương ứng với chỉ số BMI.
- Không béo phì.
- Giá thành cho 1 khẩu phần ăn là rẻ nhất.
Mô hình hóa:
Hàm mục tiêu:
Đối với bài toán trên chúng ta có thể sử dụng giải thuật di truyền GA để
xác định nghiệm tối ưu.
Để thực hiện giải thuật di truyền GA đối với bài toán này, chúng ta sử
dụng việc mã hóa bằng cách mỗi zen được mô tả bằng một vecto
trong đó:
là tỉ lệ phần trăm của lượng Protein trong 1 đơn vị thức ăn.
là tỉ lệ phần trăm của lượng Lipit trong 1 đơn vị thức ăn.
là tỉ lệ phần trăm của lượng Gluxit trong 1 đơn vị thức ăn.
Điều kiện cần thỏa mãn trong quá trình sinh sản và lai ghép là:
Hiển nhiên nếu sử dụng phương pháp lai ghép số học
54
𝒁𝒆𝒏_𝒄𝒐𝒏 = 𝒓 × 𝒁𝒆𝒏_𝒃ố + (𝟏 − 𝒓) × 𝒁𝒆𝒏_𝒎ẹ, 𝟎 < 𝒓 < 𝟏
thì toán tử lai ghép là hoàn toàn hợp lệ.
Trong thuật toán, ta sử dụng phương pháp trọng số để xác định hàm mục
tiêu. Khi đó cần xác định để
Thuật toán GA được thực hiện như sau:
Bước 1: Đọc dữ liệu đầu vào
- Giá thị trường của từng loại nguyên liệu.
- Tiêu chuẩn dinh dưỡng trong 100g thức ăn.
- Tỉ lệ các chất dinh dưỡng của các nguyên liệu.
Bước 2:
- Khởi tạo số lượng cá thể.
- Khởi tạo quần thể.
Bước 3: (bước lặp)
Lai ghép: sử dụng phương pháp lai ghép
Trong đó: là hai cá thể bố và mẹ.
là cá thể con được sinh ra.
tham số lựa chọn ngẫu nhiên theo mỗi bước lặp.
Bước 4: Chọn lọc
Sử dụng chọn các cá thể đảm bảo hàm mục tiêu đạt giá trị nhỏ nhất theo
nguyên tắc:
- Với mỗi cá thể xác định giá trị hàm mục tiêu.
- Sắp xếp các hàm mục tiêu theo thứ tự tăng dần.
- Chọn cá thể đầu tiên theo thứ tự sắp xếp.
Bước 5: Đột biến
Chọn một số cá thể cho đột biến theo xác suất đột biến
Bước 6: Kiểm tra điều kiện dừng.
Thuật toán sẽ dừng khi thu được nghiệm gần tối ưu của bài toán.
55
3.3. Xác định BMI [4]
Công thức tính chỉ số BMI chung bao gồm cả người lớn và trẻ em:
BMI =
Tổng trọng lượng cơ thể Chiều cao × Chiều cao Tuy nhiên thì ở trẻ em sẽ hơi khác một chút đó là thay vì để tính ngưỡng
thiếu cân hay thừa cân thì các nhóm chỉ số BMI của trẻ em cho phép so sánh
các trẻ em cùng tuổi và cùng giới tính với nhau. Đối với trẻ em thì chúng ta chỉ
tính từ dưới 18 tuổi, chỉ số BMI từ 85th đến 95th được xem là bị thừa cân.
Hình 3.1: Chỉ số BMI cho trẻ em
56
3.4. Xác định năng lượng đưa vào/ngày
Dựa vào công thức tính chỉ số BMI các nhà khoa học đã nghiên cứu bảng
chỉ số BMI chuẩn của người châu Á, từ đó đề xuất phương án định lượng năng
lượng đưa vào/ngày tương ứng với các chỉ số BMI khác nhau.
Năng lượng đưa Chỉ số BMI Tình trạng vào/ngày
Tính dựa vào công thức Thiếu cân 𝐵𝑀𝐼 ≤ 18,50
tính chuyển hóa năng 18,50 < 𝐵𝑀𝐼 ≤ 22,99 Bình thường
lượng cơ bản và Hệ số nhu
cầu năng lượng theo tính 22,99 < 𝐵𝑀𝐼 ≤ 23,00 Thừa cân
chất lao động
1500 Kcal/ngày 23,00 < 𝐵𝑀𝐼 ≤ 24,99 Tiền béo phì
1200 Kcal/ngày 24,99 < 𝐵𝑀𝐼 ≤ 29,99 Béo phì độ I
1000 Kcal/ngày 29,99 < 𝐵𝑀𝐼 < 40,00 Béo phì độ II
Béo phì độ III 800 Kcal/ngày 𝐵𝑀𝐼 ≥ 40,00
3.5. Xây dựng cơ sở dữ liệu thực phẩm dinh dưỡng
- Bảng Thực phẩm (Thucpham)
57
- Bảng Thực đơn (ThucDon)
- Bảng Chuyển hóa cơ bản (ChuyenHoaCoBan)
- Bảng dinh dưỡng chi tiết (DinhDuongCanThiet)
58
- Bảng Chỉ số BMI (ChiSoBMI)
- Sơ đồ quan hệ
3.6. Kết quả cài đặt
Chương trình thử nghiệm được viết trên C#, kết hợp với Hệ quản trị Cơ
sở dữ liệu SQL Server 2014; với 258 loại thực phầm khác nhau phù hợp cho
trẻ. Menu chính gồm:
- Hệ thống
- Danh mục
- Chức năng
59
- Giao diện chính của chương trình
Hình 3.2: Giao diện chính của chương trình
- Giao diện của Module quản lí nguồn thực phẩm
Hình 3.3: Giao diện của Module Thực phẩm
60
- Giao diện của Module xác định chỉ số BMI
Hình 3.4: Giao diện của Module Chỉ số BMI - Giao diện của Module quản lí năng lượng chuyển hóa cơ bản
Hình 3.5: Giao diện của Module Chuyển hóa cơ bản
61
- Giao diện của Module lên thực đơn
Hình 3.6: Giao diện của Module Thực đơn
62
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Kết quả đạt được:
- Tác giả đã tìm hiểu hệ thống khẩu phần dinh dưỡng của trẻ em, xác
định nguy cơ và cách phòng chống béo phì ở trẻ, từ đó mô hình hóa được bài
toán, thiết kế được chương trình hỗ trợ cho việc lên thực đơn dinh dưỡng.
- Hoàn thành các chức năng cơ bản của hệ thống hỗ trợ xác định khẩu
phần dinh dưỡng.
- Thiết kế giao diện chương trình thân thiện với người sử dụng, dễ dàng
nâng cấp và bảo trì.
- Dữ liệu ứng dụng luôn được bảo toàn, không mất mát.
Hạn chế:
- Ứng dụng chỉ có thể chạy trên nền tảng Windows có cài đặt phần mềm
Hệ quản trị Cơ sở dữ liệu SQL Server.
- Chưa thực nghiệm được trên nhiều đối tượng khác nhau.
Hướng phát triển:
- Khắc phục được những hạn chế của ứng dụng.
- Từ mô hình này có thể phát triển xây dựng chế độ khẩu phần dinh
dưỡng không những cho trẻ em mà cho cả người lớn, người bệnh, người ăn
chay, …
63
TÀI LIỆU THAM KHẢO
Tài liệu tiếng Việt
[1] Bảng nhu cầu dinh dưỡng khuyến nghị cho người Việt Nam (2014), Bộ
Y tế,
http://asiacert.vn/pic/filelibrary/43-2014-p_635685927854191144.pdf
[2] Bảng thành phần thực phẩm Việt Nam (2007), Bộ Y tế,
http://www.fao.org/fileadmin/templates/food_composition/documents/
pdf/VTN_FCT_2007.pdf
[3] Hướng dẫn xây dựng khẩu phần ăn,
http://www.cdsonla.edu.vn/spthmn/
attachments/article/97/Cach%20tinh%20khau%20phan%20an.doc
[4] http://timthuocnhanh.com/cong-cu-suc-khoe/cong-thuc-tinh-chi-so-
bmi.html, Truy xuất 15/04/2018.
[5] Lê Thị Mai Hoa (2015), Giáo trình dinh dưỡng trẻ em tuổi nhà trẻ và
mẫu giáo, Nxb Đại học Sư phạm, Hà Nội.
[6] Nguyễn Thị Bạch Kim (2008), Các Phương pháp Tối ưu Lý thuyết và
Thuật toán, Nxb Bách Khoa, Hà Nội.
[7] Phạm Thị Xuân Viên, Đặng Trần Vũ, Bùi Thanh Xuân (2006), Xây
dựng chế độ dinh dưỡng tại trường mầm non bằng logic mờ kết hợp
mạng Neural và máy học, Đại học Khoa học Tự nhiên - Đại học Quốc
gia TP. Hồ Chí Minh.
[8] Phương Trang (2017), Trẻ em Việt Nam ngày càng béo phì, VnExpress,
https://suckhoe.vnexpress.net/tin-tuc/suc-khoe/tre-em-viet-nam-ngay-
cang-beo-phi-3657777.html, 19/10/2017
[9] PGS. Bùi Thế Tâm, GS. Trần Vũ Thiệu (1998), Các phương pháp tối
ưu hóa, Nxb Giao thông vận tải, Hà Nội.
64
[10] PGS. TS. Nguyễn Hải Thanh (2006), Tối ưu hóa, Nxb Bách Khoa, Hà
Nội.
[11] Trần Thị Xuân Ngọc (2012), Thực trạng và hiệu quả can thiệp thừa
cân, béo phì của mô hình truyền thông giáo dục dinh dưỡng ở trẻ em từ
6 đến 14 tuổi tại Hà Nội, Viện Dinh dưỡng, Hà Nội.
[12] Trẻ em béo phì - Một vấn đề đang gia tăng, Potatoes Goodness,
http://www.potatoesusa-vietnam.com/sites/default/files/resources/pdf/
Childhood-Obesity_2_adapted.pdf
[13] Thi Ngoan (2015), Chế độ ăn giảm cân phù hợp chỉ số BMI, VnExpress,
https://suckhoe.vnexpress.net/tin-tuc/dinh-duong/thuc-don/ che-do-an-
giam-can-phu-hop-chi-so-bmi-3268100.html, 25/8/2015
[14] Phạm Thế Bảo, Xây dựng chế độ dinh dưỡng tại trường mầm non bằng
Logic mờ kết hợp mạng Neurol và máy học, Luận văn thạc sỹ, Khoa
toán tin, trường Đại học Quốc gia TP. Hồ Chí Minh, 07/2006.
Tài liệu tiếng Anh
[15] Birch et al. (2007), “Influences on the Development of Children's
Eating Behaviours: From Infancy to Adolescence”, National Institutes
of Health, 68(1), s1–s56.
[16] Dehghan et al. (2005), “Childhood obesity, prevalence and prevention”,
Nutrition Journal, doi:10.1186/1475-2891-4-24.
[17] Dana Wilkinson, MSc, Linda McCargar, PhD (2008), “Prevention of
Overweight and Obesity in Young Canadian Children”, Canadian
Council of Food and Nutrition.
[18] Julie Lanigan, Sally Barber and Atul Singhal (2010), “Prevention of
obesity in preschool children”, Nutrition Society, 69, 204–210.
[19] Sarah E. Barlow, MD, MPH, William H. Dietz, MD, PhD (1998),
“Obesity Evaluation and Treatment: Expert Committee
65
Recommendations”, American Academy of Pediatrics, VOLUME 102
/ ISSUE 3.
PHỤ LỤC
Mã nguồn của một số Module quan trọng
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; using DevExpress.XtraEditors; using Foods.BussinessLogicLayer; using DevExpress.XtraTreeList.Nodes; using Foods.Entity; using Foods.Utilities; using DevExpress.XtraEditors.Controls; namespace Foods { public partial class FrmThucDon : DevExpress.XtraEditors.XtraForm { private readonly KhoiLopBUS _khoiBUS; private readonly LopHocBUS _lopBUS; private readonly NamHocBUS _namHocBUS; private readonly HocSinhBUS _hocSinhBUS; private readonly DinhDuongCanThietBUS _dinhDuongBUS; private readonly ThucPhamBUS _thucPhamBUS; private readonly ThucDonBUS _thucDonBUS; private readonly ChiSoBMIBUS _chiSoBUS; decimal Protein, Gluxit, Lipit, KcalNgay; Random rd; DataTable dt; public FrmThucDon() { InitializeComponent(); _khoiBUS = new KhoiLopBUS(); _lopBUS = new LopHocBUS(); _namHocBUS = new NamHocBUS(); _hocSinhBUS = new HocSinhBUS(); _dinhDuongBUS = new DinhDuongCanThietBUS(); _thucPhamBUS = new ThucPhamBUS(); _thucDonBUS = new ThucDonBUS(); _chiSoBUS = new ChiSoBMIBUS(); rd = new Random(); } private void FrmThucDon_Load(object sender, EventArgs e)
1. Form Thực đơn
{
GridUtil.SetDataSource(gridLookUpNamHoc, _namHocBUS.LayDTNamHoc(), "MaNamHoc",
"TenNamHoc", 0);
treeListLopHoc.ParentFieldName = "MaKhoi";
treeListLopHoc.PreviewFieldName = "TenKhoi";
treeListLopHoc.DataSource = _khoiBUS.Lay_DT_Khoi();
CapNhatListLop();
repositoryItemGridLookUpEdit1.DataSource = _thucPhamBUS.LayDT_DanhSach();
repositoryItemGridLookUpEdit2.DataSource = _thucPhamBUS.LayDT_DanhSach();
repositoryItemGridLookUpEdit3.DataSource = _thucPhamBUS.LayDT_DanhSach();
repositoryItemGridLookUpEdit4.DataSource = _thucPhamBUS.LayDT_DanhSach();
repositoryItemGridLookUpEdit5.DataSource = _thucPhamBUS.LayDT_DanhSach();
}
private void CapNhatListLop()
{
// Duyệt từng khối
foreach (TreeListNode item in treeListLopHoc.Nodes)
{
item.Nodes.Clear();
IEnumerable
66
if (_thucDonBUS.KiemTraTonTai_MaHocSinh_Thu(maHocSinh, thu)) { ThucDon thucDon = _thucDonBUS.LayThucDon_maHoSinh_thu(maHocSinh, thu); int dau = Convert.ToInt32(_thucPhamBUS.Lay_MaDauTien()); int cuoi = Convert.ToInt32(_thucPhamBUS.Lay_MaCuoiCung()); thucDon.MonAn1.ID = rd.Next(dau, cuoi); thucDon.MonAn2.ID = rd.Next(dau, cuoi); thucDon.MonAn3.ID = rd.Next(dau, cuoi); thucDon.MonAn4.ID = rd.Next(dau, cuoi); thucDon.MonAn5.ID = rd.Next(dau, cuoi); HocSinh hs = _hocSinhBUS.LayHoSo_HocSinh(thucDon.hocSinh.MaHocSinh); DinhDuongCanThiet obj = _dinhDuongBUS.LayDT_ByTuoi(hs.Tuoi); KcalNgay = hs.KcalNgay; Lipit = KcalNgay * obj.Lipit / 100; Gluxit = KcalNgay * obj.Gluxit / 100; Protein = KcalNgay * obj.Protein / 100; int tongMon = 5; if (tongMon == 0) return; decimal DinhDuongTungMon = KcalNgay / tongMon; decimal LipitTungMon = Lipit / tongMon; decimal GluxitTungMon = Gluxit / tongMon; decimal ProteinTungMon = Protein / tongMon; if (thucDon.MonAn1.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn1.ID); decimal max = 0; decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0) { decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1; } decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0) { decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2; } decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0) { decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong1 = Math.Round(max, 0); } if (thucDon.MonAn2.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn2.ID); decimal max = 0; decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0) { decimal klg1 = (100 * kgLipit) / tp.Lipit;
67
if (max < klg1) max = klg1; } decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0) { decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2; } decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0) { decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong2 = Math.Round(max, 0); } if (thucDon.MonAn3.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn3.ID); decimal max = 0; decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0) { decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1; } decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0) { decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2; } decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0) { decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong3 = Math.Round(max, 0); } if (thucDon.MonAn4.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn4.ID); decimal max = 0; decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0) { decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1; } decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0) { decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2; } decimal kgGluxit = GluxitTungMon / 4;
68
if (tp.Gluxit != 0) { decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong4 = Math.Round(max, 0); } if (thucDon.MonAn5.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn5.ID); decimal max = 0; decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0) { decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1; } decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0) { decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2; } decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0) { decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong5 = Math.Round(max, 0); } if (_thucDonBUS.KiemTraTonTai_MaHocSinh_Thu(thucDon.hocSinh.MaHocSinh, thucDon.Thu)) { _thucDonBUS.CapNhat(thucDon); } else { _thucDonBUS.Them(thucDon); } } else { //Neu chua co thuc don ThucDon thucDon = new ThucDon(); thucDon.hocSinh.MaHocSinh = maHocSinh; thucDon.Thu = thu; int dau = Convert.ToInt32(_thucPhamBUS.Lay_MaDauTien()); int cuoi = Convert.ToInt32(_thucPhamBUS.Lay_MaCuoiCung()); Random rd = new Random(); thucDon.MonAn1.ID = rd.Next(dau, cuoi); thucDon.MonAn2.ID = rd.Next(dau, cuoi); thucDon.MonAn3.ID = rd.Next(dau, cuoi); thucDon.MonAn4.ID = rd.Next(dau, cuoi);
69
thucDon.MonAn5.ID = rd.Next(dau, cuoi); HocSinh hs = _hocSinhBUS.LayHoSo_HocSinh(thucDon.hocSinh.MaHocSinh); DinhDuongCanThiet obj = _dinhDuongBUS.LayDT_ByTuoi(hs.Tuoi); KcalNgay = hs.KcalNgay; Lipit = KcalNgay * obj.Lipit / 100; Gluxit = KcalNgay * obj.Gluxit / 100; Protein = KcalNgay * obj.Protein / 100; int tongMon = 5; if (tongMon == 0) return; decimal DinhDuongTungMon = KcalNgay / tongMon; decimal LipitTungMon = Lipit / tongMon; decimal GluxitTungMon = Gluxit / tongMon; decimal ProteinTungMon = Protein / tongMon; if (thucDon.MonAn1.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn1.ID); decimal max = 0; decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0) { decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1; } decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0) { decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2; } decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0) { decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong1 = Math.Round(max, 0); } if (thucDon.MonAn2.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn2.ID); decimal max = 0; decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0) { decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1; } decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0) { decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2; } decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0) {
70
decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong2 = Math.Round(max, 0); } if (thucDon.MonAn3.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn3.ID); decimal max = 0; decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0) { decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1; } decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0) { decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2; } decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0) { decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong3 = Math.Round(max, 0); } if (thucDon.MonAn4.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn4.ID); decimal max = 0; decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0) { decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1; } decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0) { decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2; } decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0) { decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong4 = Math.Round(max, 0); } if (thucDon.MonAn5.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn5.ID); decimal max = 0;
71
decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0) { decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1; } decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0) { decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2; } decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0) { decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong5 = Math.Round(max, 0); } if (_thucDonBUS.KiemTraTonTai_MaHocSinh_Thu(thucDon.hocSinh.MaHocSinh, thucDon.Thu)) { _thucDonBUS.CapNhat(thucDon); } else { _thucDonBUS.Them(thucDon); } } } HienThiLai(); } private void gridViewThucDon_InvalidRowException(object sender, DevExpress.XtraGrid.Views.Base.InvalidRowExceptionEventArgs e) { e.ExceptionMode = ExceptionMode.NoAction; } private void gridViewThucDon_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e) { } private void gridViewThucDon_ValidateRow(object sender, DevExpress.XtraGrid.Views.Base.ValidateRowEventArgs e) { DataRow dr = gridViewThucDon.GetDataRow(e.RowHandle); var thucDon = new ThucDon(); thucDon.hocSinh.MaHocSinh = dr["MaHocSinh"].ToString(); thucDon.Thu = dr["Thu"].ToString(); thucDon.MonAn1.ID = dr["MonAn1"] is DBNull ? -1 : Convert.ToInt32(dr["MonAn1"]); thucDon.KhoiLuong1 = dr["KhoiLuong1"] is DBNull ? 0 : Convert.ToDecimal(dr["KhoiLuong1"]); thucDon.MonAn2.ID = dr["MonAn2"] is DBNull ? -1 : Convert.ToInt32(dr["MonAn2"]);
72
thucDon.KhoiLuong2 = dr["KhoiLuong2"] is DBNull ? 0 : Convert.ToDecimal(dr["KhoiLuong2"]); thucDon.MonAn3.ID = dr["MonAn3"] is DBNull ? -1 : Convert.ToInt32(dr["MonAn3"]); thucDon.KhoiLuong3 = dr["KhoiLuong3"] is DBNull ? 0 : Convert.ToDecimal(dr["KhoiLuong3"]); thucDon.MonAn4.ID = dr["MonAn4"] is DBNull ? -1 : Convert.ToInt32(dr["MonAn4"]); thucDon.KhoiLuong4 = dr["KhoiLuong4"] is DBNull ? 0 : Convert.ToDecimal(dr["KhoiLuong4"]); thucDon.MonAn5.ID = dr["MonAn5"] is DBNull ? -1 : Convert.ToInt32(dr["MonAn5"]); thucDon.KhoiLuong5 = dr["KhoiLuong5"] is DBNull ? 0 : Convert.ToDecimal(dr["KhoiLuong5"]); //{ // hocSinh = // { // MaHocSinh = dr["TenHocSinh"].ToString(), // //TenHocSinh = dr["TenHocSinh"].ToString() // }, // Thu = (dr[1]).ToString(), // MonAn1 = // { // //ID = dr[2] is DBNull ? -1 : Convert.ToInt32(dr[2]) // ID = dr["MonAn1"] is DBNull ? -1 : Convert.ToInt32(dr["MonAn1"]) // }, // KhoiLuong1 = dr["KhoiLuong1"] is DBNull ? -1 : Convert.ToDecimal(dr["KhoiLuong1"]), // MonAn2 = // { // ID = dr["MonAn2"] is DBNull ? -1 : Convert.ToInt32(dr["MonAn2"]) // }, // KhoiLuong2 = dr["KhoiLuong2"] is DBNull ? -1 : Convert.ToDecimal(dr["KhoiLuong2"]), // MonAn3 = // { // ID = dr["MonAn3"] is DBNull ? -1 : Convert.ToInt32(dr["MonAn3"]) // }, // KhoiLuong3 = dr["KhoiLuong3"] is DBNull ? -1 : Convert.ToDecimal(dr["KhoiLuong3"]), // MonAn4 = // { // ID = dr["MonAn4"] is DBNull ? -1 : Convert.ToInt32(dr["MonAn4"]) // }, // KhoiLuong4 = dr["KhoiLuong4"] is DBNull ? -1 : Convert.ToDecimal(dr["KhoiLuong4"]), // MonAn5 = // { // ID = dr["MonAn5"] is DBNull ? -1 : Convert.ToInt32(dr["MonAn5"]) // }, // KhoiLuong5 = dr["KhoiLuong5"] is DBNull ? -1 : Convert.ToDecimal(dr["KhoiLuong5"]) //}; HocSinh hs = _hocSinhBUS.LayHoSo_HocSinh(thucDon.hocSinh.MaHocSinh); DinhDuongCanThiet obj = _dinhDuongBUS.LayDT_ByTuoi(hs.Tuoi); KcalNgay = hs.KcalNgay; Lipit = KcalNgay * obj.Lipit / 100; Gluxit = KcalNgay * obj.Gluxit / 100; Protein = KcalNgay * obj.Protein / 100; int tongMon = 0; if(thucDon.MonAn1.ID > 0) { tongMon++; } if(thucDon.MonAn2.ID > 0) { tongMon++; } if (thucDon.MonAn3.ID > 0)
73
{ tongMon++; } if (thucDon.MonAn4.ID > 0) { tongMon++; } if (thucDon.MonAn5.ID > 0) { tongMon++; } if (tongMon == 0) return; decimal DinhDuongTungMon = KcalNgay / tongMon; decimal LipitTungMon = Lipit / tongMon; decimal GluxitTungMon = Gluxit / tongMon; decimal ProteinTungMon = Protein / tongMon; if (thucDon.MonAn1.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn1.ID); decimal max = 0; decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0) { decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1; } decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0) { decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2; } decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0) { decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong1 = Math.Round(max, 0); } if (thucDon.MonAn2.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn2.ID); decimal max = 0; decimal kgLipit = LipitTungMon / 9; if(tp.Lipit != 0) { decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1; } decimal kgprotein = ProteinTungMon / 4; if(tp.Protein != 0) { decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2; } decimal kgGluxit = GluxitTungMon / 4;
74
if(tp.Gluxit != 0) { decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong2 = Math.Round(max, 0); } if (thucDon.MonAn3.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn3.ID); decimal max = 0; decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0) { decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1; } decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0) { decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2; } decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0) { decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong3 = Math.Round(max, 0); } if (thucDon.MonAn4.ID > 0) { ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn4.ID); decimal max = 0; decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0) { decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1; } decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0) { decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2; } decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0) { decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong4 = Math.Round(max, 0); } if (thucDon.MonAn5.ID > 0) {
75
ThucPham tp = _thucPhamBUS.LayThucPham_ByID(thucDon.MonAn5.ID); decimal max = 0; decimal kgLipit = LipitTungMon / 9; if (tp.Lipit != 0) { decimal klg1 = (100 * kgLipit) / tp.Lipit; if (max < klg1) max = klg1; } decimal kgprotein = ProteinTungMon / 4; if (tp.Protein != 0) { decimal klg2 = (100 * kgprotein) / tp.Protein; if (max < klg2) max = klg2; } decimal kgGluxit = GluxitTungMon / 4; if (tp.Gluxit != 0) { decimal klg3 = (100 * kgGluxit) / tp.Gluxit; if (max < klg3) max = klg3; } thucDon.KhoiLuong5 = Math.Round(max, 0); } if(_thucDonBUS.KiemTraTonTai_MaHocSinh_Thu(thucDon.hocSinh.MaHocSinh, thucDon.Thu)) { _thucDonBUS.CapNhat(thucDon); } else { _thucDonBUS.Them(thucDon); } // int dau = Convert.ToInt32(_thucPhamBUS.Lay_MaDauTien()); // int cuoi = Convert.ToInt32(_thucPhamBUS.Lay_MaCuoiCung()); // Random rd = new Random(); // ThucPham thucPham = _thucPhamBUS.LayThucPham_ByID(rd.Next(dau, cuoi)); HienThiLai(); } public void HienThiLai() { dt = new DataTable(); dt.Columns.Add("MaHocSinh"); dt.Columns.Add("TenHocSinh"); dt.Columns.Add("Thu"); dt.Columns.Add("MonAn1"); dt.Columns.Add("KhoiLuong1"); dt.Columns.Add("MonAn2"); dt.Columns.Add("KhoiLuong2"); dt.Columns.Add("MonAn3"); dt.Columns.Add("KhoiLuong3"); dt.Columns.Add("MonAn4"); dt.Columns.Add("KhoiLuong4"); dt.Columns.Add("MonAn5"); dt.Columns.Add("KhoiLuong5"); for (int i = 0; i < gridViewHocSinh.RowCount; i++) {
76
//Int32 selectedRowCount = gridViewHocSinh.Rows.GetRowCount(DataGridViewElementStates.Selected); if (gridViewHocSinh.IsRowSelected(i)) { string maHocSinh = gridViewHocSinh.GetRowCellValue(i, "MaHocSinh").ToString(); if (_thucDonBUS.KiemTraTonTai_MaHocSinh_Thu(maHocSinh, "Thứ hai") == false) { DataRow dr = dt.NewRow(); dr[0] = maHocSinh; HocSinh obj = _hocSinhBUS.LayHoSo_HocSinh(maHocSinh); dr[1] = obj.TenHocSinh; dr[2] = "Thứ hai"; dt.Rows.Add(dr); } else { ThucDon thucDon = _thucDonBUS.LayThucDon_maHoSinh_thu(maHocSinh, "Thứ hai"); DataRow dr = dt.NewRow(); dr[0] = thucDon.hocSinh.MaHocSinh; HocSinh obj = _hocSinhBUS.LayHoSo_HocSinh(maHocSinh); dr[1] = obj.TenHocSinh; dr[2] = "Thứ hai"; dr[3] = thucDon.MonAn1.ID; dr[4] = thucDon.KhoiLuong1; dr[5] = thucDon.MonAn2.ID; dr[6] = thucDon.KhoiLuong2; dr[7] = thucDon.MonAn3.ID; dr[8] = thucDon.KhoiLuong3; dr[9] = thucDon.MonAn4.ID; dr[10] = thucDon.KhoiLuong4; dr[11] = thucDon.MonAn5.ID; dr[12] = thucDon.KhoiLuong5; dt.Rows.Add(dr); } if (_thucDonBUS.KiemTraTonTai_MaHocSinh_Thu(maHocSinh, "Thứ ba") == false) { DataRow dr = dt.NewRow(); dr[0] = maHocSinh; HocSinh obj = _hocSinhBUS.LayHoSo_HocSinh(maHocSinh); dr[1] = obj.TenHocSinh; dr[2] = "Thứ ba"; dt.Rows.Add(dr); } else { ThucDon thucDon = _thucDonBUS.LayThucDon_maHoSinh_thu(maHocSinh, "Thứ ba"); DataRow dr = dt.NewRow(); dr[0] = thucDon.hocSinh.MaHocSinh; HocSinh obj = _hocSinhBUS.LayHoSo_HocSinh(maHocSinh); dr[1] = obj.TenHocSinh; dr[2] = "Thứ ba"; dr[3] = thucDon.MonAn1.ID; dr[4] = thucDon.KhoiLuong1; dr[5] = thucDon.MonAn2.ID; dr[6] = thucDon.KhoiLuong2; dr[7] = thucDon.MonAn3.ID; dr[8] = thucDon.KhoiLuong3;
77
dr[9] = thucDon.MonAn4.ID; dr[10] = thucDon.KhoiLuong4; dr[11] = thucDon.MonAn5.ID; dr[12] = thucDon.KhoiLuong5; dt.Rows.Add(dr); } if (_thucDonBUS.KiemTraTonTai_MaHocSinh_Thu(maHocSinh, "Thứ tư") == false) { DataRow dr = dt.NewRow(); dr[0] = maHocSinh; HocSinh obj = _hocSinhBUS.LayHoSo_HocSinh(maHocSinh); dr[1] = obj.TenHocSinh; dr[2] = "Thứ tư"; dt.Rows.Add(dr); } else { ThucDon thucDon = _thucDonBUS.LayThucDon_maHoSinh_thu(maHocSinh, "Thứ tư"); DataRow dr = dt.NewRow(); dr[0] = thucDon.hocSinh.MaHocSinh; HocSinh obj = _hocSinhBUS.LayHoSo_HocSinh(maHocSinh); dr[1] = obj.TenHocSinh; dr[2] = "Thứ tư"; dr[3] = thucDon.MonAn1.ID; dr[4] = thucDon.KhoiLuong1; dr[5] = thucDon.MonAn2.ID; dr[6] = thucDon.KhoiLuong2; dr[7] = thucDon.MonAn3.ID; dr[8] = thucDon.KhoiLuong3; dr[9] = thucDon.MonAn4.ID; dr[10] = thucDon.KhoiLuong4; dr[11] = thucDon.MonAn5.ID; dr[12] = thucDon.KhoiLuong5; dt.Rows.Add(dr); } if (_thucDonBUS.KiemTraTonTai_MaHocSinh_Thu(maHocSinh, "Thứ năm") == false) { DataRow dr = dt.NewRow(); dr[0] = maHocSinh; HocSinh obj = _hocSinhBUS.LayHoSo_HocSinh(maHocSinh); dr[1] = obj.TenHocSinh; dr[2] = "Thứ năm"; dt.Rows.Add(dr); } else { ThucDon thucDon = _thucDonBUS.LayThucDon_maHoSinh_thu(maHocSinh, "Thứ năm"); DataRow dr = dt.NewRow(); dr[0] = thucDon.hocSinh.MaHocSinh; HocSinh obj = _hocSinhBUS.LayHoSo_HocSinh(maHocSinh); dr[1] = obj.TenHocSinh; dr[2] = "Thứ năm"; dr[3] = thucDon.MonAn1.ID; dr[4] = thucDon.KhoiLuong1; dr[5] = thucDon.MonAn2.ID; dr[6] = thucDon.KhoiLuong2; dr[7] = thucDon.MonAn3.ID;
78
dr[8] = thucDon.KhoiLuong3; dr[9] = thucDon.MonAn4.ID; dr[10] = thucDon.KhoiLuong4; dr[11] = thucDon.MonAn5.ID; dr[12] = thucDon.KhoiLuong5; dt.Rows.Add(dr); } if (_thucDonBUS.KiemTraTonTai_MaHocSinh_Thu(maHocSinh, "Thứ sáu") == false) { DataRow dr = dt.NewRow(); dr[0] = maHocSinh; HocSinh obj = _hocSinhBUS.LayHoSo_HocSinh(maHocSinh); dr[1] = obj.TenHocSinh; dr[2] = "Thứ sáu"; dt.Rows.Add(dr); } else { ThucDon thucDon = _thucDonBUS.LayThucDon_maHoSinh_thu(maHocSinh, "Thứ sáu"); DataRow dr = dt.NewRow(); dr[0] = thucDon.hocSinh.MaHocSinh; HocSinh obj = _hocSinhBUS.LayHoSo_HocSinh(maHocSinh); dr[1] = obj.TenHocSinh; dr[2] = "Thứ sáu"; dr[3] = thucDon.MonAn1.ID; dr[4] = thucDon.KhoiLuong1; dr[5] = thucDon.MonAn2.ID; dr[6] = thucDon.KhoiLuong2; dr[7] = thucDon.MonAn3.ID; dr[8] = thucDon.KhoiLuong3; dr[9] = thucDon.MonAn4.ID; dr[10] = thucDon.KhoiLuong4; dr[11] = thucDon.MonAn5.ID; dr[12] = thucDon.KhoiLuong5; dt.Rows.Add(dr); } if (_thucDonBUS.KiemTraTonTai_MaHocSinh_Thu(maHocSinh, "Thứ bảy") == false) { DataRow dr = dt.NewRow(); dr[0] = maHocSinh; HocSinh obj = _hocSinhBUS.LayHoSo_HocSinh(maHocSinh); dr[1] = obj.TenHocSinh; dr[2] = "Thứ bảy"; dt.Rows.Add(dr); } else { ThucDon thucDon = _thucDonBUS.LayThucDon_maHoSinh_thu(maHocSinh, "Thứ bảy"); DataRow dr = dt.NewRow(); dr[0] = thucDon.hocSinh.MaHocSinh; HocSinh obj = _hocSinhBUS.LayHoSo_HocSinh(maHocSinh); dr[1] = obj.TenHocSinh; dr[2] = "Thứ bảy"; dr[3] = thucDon.MonAn1.ID; dr[4] = thucDon.KhoiLuong1; dr[5] = thucDon.MonAn2.ID; dr[6] = thucDon.KhoiLuong2;
79
dr[7] = thucDon.MonAn3.ID; dr[8] = thucDon.KhoiLuong3; dr[9] = thucDon.MonAn4.ID; dr[10] = thucDon.KhoiLuong4; dr[11] = thucDon.MonAn5.ID; dr[12] = thucDon.KhoiLuong5; dt.Rows.Add(dr); } if (_thucDonBUS.KiemTraTonTai_MaHocSinh_Thu(maHocSinh, "Chủ nhật") == false) { DataRow dr = dt.NewRow(); dr[0] = maHocSinh; HocSinh obj = _hocSinhBUS.LayHoSo_HocSinh(maHocSinh); dr[1] = obj.TenHocSinh; dr[2] = "Chủ nhật"; dt.Rows.Add(dr); } else { ThucDon thucDon = _thucDonBUS.LayThucDon_maHoSinh_thu(maHocSinh, "Chủ nhật"); DataRow dr = dt.NewRow(); dr[0] = thucDon.hocSinh.MaHocSinh; HocSinh obj = _hocSinhBUS.LayHoSo_HocSinh(maHocSinh); dr[1] = obj.TenHocSinh; dr[2] = "Chủ nhật"; dr[3] = thucDon.MonAn1.ID; dr[4] = thucDon.KhoiLuong1; dr[5] = thucDon.MonAn2.ID; dr[6] = thucDon.KhoiLuong2; dr[7] = thucDon.MonAn3.ID; dr[8] = thucDon.KhoiLuong3; dr[9] = thucDon.MonAn4.ID; dr[10] = thucDon.KhoiLuong4; dr[11] = thucDon.MonAn5.ID; dr[12] = thucDon.KhoiLuong5; dt.Rows.Add(dr); } } } gridControlThucDon.DataSource = dt; } private void gridLookUpNamHoc_EditValueChanged(object sender, EventArgs e) { CapNhatListLop(); } private void simpleThucDon_Click(object sender, EventArgs e) { HienThiLai(); } private void treeListLopHoc_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e) { HienThi_Lai_BangHocSinh(); }
80
81
private void gridViewHocSinh_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) { if (gridViewHocSinh.FocusedRowHandle < 0 || gridViewHocSinh.FocusedRowHandle >= gridViewHocSinh.RowCount) { return; } lblHoTen.Text = gridViewHocSinh.GetRowCellValue(e.FocusedRowHandle, "TenHocSinh").ToString(); lblTuoi.Text = gridViewHocSinh.GetRowCellValue(e.FocusedRowHandle, "Tuoi").ToString(); lblGioiTinh.Text = gridViewHocSinh.GetRowCellValue(e.FocusedRowHandle, "GioiTinh").ToString(); KcalNgay = Convert.ToDecimal(gridViewHocSinh.GetRowCellValue(e.FocusedRowHandle, "KcalNgay")); lblKcal.Text = gridViewHocSinh.GetRowCellValue(e.FocusedRowHandle, "KcalNgay").ToString(); DinhDuongCanThiet obj = _dinhDuongBUS.LayDT_ByTuoi(Convert.ToInt32(gridViewHocSinh.GetRowCellValue(e.FocusedRowHan dle, "Tuoi"))); Lipit = KcalNgay * obj.Lipit / 100; Gluxit = KcalNgay * obj.Gluxit / 100; Protein = KcalNgay * obj.Protein / 100; lblProtein.Text = Protein.ToString(); lblLipit.Text = Lipit.ToString(); lblGluxit.Text = Gluxit.ToString(); string bmi = gridViewHocSinh.GetRowCellValue(e.FocusedRowHandle, "BMI").ToString(); //. ChiSoBMI obje = _chiSoBUS.LayDT_ByChiSo(Convert.ToDecimal(bmi)); labelControl8.Text = obje.Loai; //spinEditDen.EditValue = gridViewBMI.GetRowCellValue(e.FocusedRowHandle, "TuoiDen"); } } } 2. Form Thực phẩm
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; using DevExpress.XtraEditors; using Foods.BussinessLogicLayer; using Foods.Utilities; using DevExpress.XtraGrid.Views.Base; using Foods.Entity; namespace Foods { public partial class FrmThucPham : DevExpress.XtraEditors.XtraForm {
private readonly ThucPhamBUS _thucPhamBUS; private bool IsAddButton; private bool IsDeleteButton; int id; public FrmThucPham() { InitializeComponent(); _thucPhamBUS = new ThucPhamBUS(); IsAddButton = IsDeleteButton = true; } private void HienThi_DSLop() { gridControlThucPham.DataSource = _thucPhamBUS.LayDT_DanhSach(GridUtil.GetDisplayMember(gridLookUpLoai)); DisableControls(editing: false); } private void FrmLopHoc_Load(object sender, EventArgs e) { HienThi_DSLop(); Load_Loai(); } private void Load_Loai() { DataTable dt = new System.Data.DataTable(); dt.Columns.Add("LoaiThucPham"); DataTable dtLoai = _thucPhamBUS.LayDT_DanhSach(); foreach (DataRow dr3 in dtLoai.Rows) { bool kt = true; string loai = dr3["LoaiThucPham"].ToString(); foreach (DataRow dr2 in dt.Rows) { if (loai == dr2["LoaiThucPham"].ToString()) { kt = false; break; } } if(kt) { DataRow dr = dt.NewRow(); dr[0] = loai; dt.Rows.Add(dr); } } GridUtil.SetDataSource(gridLookUpLoai, dt, "LoaiThucPham", "LoaiThucPham", 0); } private void BtnHienThiAll_Click(object sender, EventArgs e) { //gridLookUpNamHoc.Text = ""; //gridLookUpKhoiLop.Text = ""; gridLookUpLoai.Text = ""; gridControlThucPham.DataSource = _thucPhamBUS.LayDT_DanhSach(); } private void ResetControl()
82
{ textTenThucPham.Text = ""; textEditLoaiThucPham.Text = ""; spinEditNangLuong.EditValue = 0; spinEditProtein.EditValue = 0; spinEditGluxit.EditValue = 0; spinEditLipit.EditValue = 0; } private void gridLookUpNamHoc_EditValueChanged(object sender, EventArgs e) { HienThi_DSLop(); } private void gridLookUpKhoiLop_EditValueChanged(object sender, EventArgs e) { HienThi_DSLop(); } private void DisableControls(bool editing) { barButtonThoat.Enabled = !editing; gridControlThucPham.Enabled = !editing; gridLookUpLoai.Enabled = !editing; IsAddButton = !editing; IsDeleteButton = !editing; barButtonThemMoi.Caption = editing ? "Không nhập" : "Thêm mới"; barButtonXoa.Caption = editing ? "Nhập lại" : "Xóa"; if (!editing) { if (gridViewThucPham.RowCount > 0) { gridViewLopHoc_FocusedRowChanged(this, new FocusedRowChangedEventArgs(0, 0)); } else { textEditLoaiThucPham.Text = ""; textTenThucPham.Text = ""; spinEditNangLuong.EditValue = 0; spinEditProtein.EditValue = 0; spinEditGluxit.EditValue = 0; spinEditLipit.EditValue = 0; } } } private void barButtonHuongDan_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { FrmImportData f = new FrmImportData(); f.ShowDialog(); } private void gridViewLopHoc_FocusedRowChanged(object sender, FocusedRowChangedEventArgs e) {
83
if (gridViewThucPham.FocusedRowHandle < 0 || gridViewThucPham.FocusedRowHandle >= gridViewThucPham.RowCount) { return; } textEditLoaiThucPham.Text = gridViewThucPham.GetRowCellValue(e.FocusedRowHandle, "LoaiThucPham").ToString(); textTenThucPham.Text = gridViewThucPham.GetRowCellValue(e.FocusedRowHandle, "TenThucPham").ToString(); spinEditNangLuong.EditValue = gridViewThucPham.GetRowCellValue(e.FocusedRowHandle, "NangLuong"); spinEditProtein.EditValue = gridViewThucPham.GetRowCellValue(e.FocusedRowHandle, "Protein"); spinEditGluxit.EditValue = gridViewThucPham.GetRowCellValue(e.FocusedRowHandle, "Gluxit"); spinEditLipit.EditValue = gridViewThucPham.GetRowCellValue(e.FocusedRowHandle, "Lipit"); id = Convert.ToInt32(gridViewThucPham.GetRowCellValue(e.FocusedRowHandle, "ID")); } private void barButtonThemMoi_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (IsAddButton) { DisableControls(true); ResetControl(); } else { DisableControls(false); } } private void barButtonLuu_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (textTenThucPham.Text == "") { MsgboxUtil.Error("Bạn chưa nhập tên thực phẩm!"); textTenThucPham.Focus(); return; } if (textEditLoaiThucPham.Text == "") { MsgboxUtil.Error("Bạn chưa nhập loại thực phẩm!"); textEditLoaiThucPham.Focus(); return; } ThucPham thucPham = new ThucPham(); thucPham.LoaiThucPham = textEditLoaiThucPham.Text; thucPham.TenThucPham = textTenThucPham.Text; thucPham.NangLuong = Convert.ToDecimal(spinEditNangLuong.EditValue); thucPham.Protein = Convert.ToDecimal(spinEditProtein.EditValue); thucPham.Lipit = Convert.ToDecimal(spinEditLipit.EditValue); thucPham.Gluxit = Convert.ToDecimal(spinEditGluxit.EditValue); thucPham.ID = id; if (_thucPhamBUS.KiemTonTai(thucPham.TenThucPham)) { _thucPhamBUS.CapNhat(thucPham);
84
MsgboxUtil.Success("Đã cập nhật " + textTenThucPham.Text + " thành công!"); } else { if (_thucPhamBUS.Them(thucPham)) { MsgboxUtil.Success("Đã tạo " + textTenThucPham.Text + " thành công!"); } } HienThi_DSLop(); } private void barButtonXoa_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (!IsDeleteButton) { ResetControl(); return; } if (_thucPhamBUS.KiemTonTai(textTenThucPham.Text)) { if (MsgboxUtil.YesNo("Bạn có muốn xóa hay không?") == DialogResult.No) { return; } _thucPhamBUS.Xoa(id); MsgboxUtil.Success("Đã xóa thành công!"); HienThi_DSLop(); } } private void barButtonThoat_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { Close(); } } }
85