Thông tin chung
-
Đề thi học kì 1 lớp 4 môn Tiếng Anh năm 2020 - 2021 - Đề 2-Doc24.vn Đề thi học kì 1 lớp 4 môn Tiếng Anh năm 2020 - 2021 - Đề 2
Bản quyền thuộc về Lib24 nghiêm cấm mọi hành vi sao chép vì mục đích thương mại
Exercise 1: Choose the odd one out
A. park
rubber
pen
notebook
A. badminton
beautiful
soccer
tennis
A. countryside
teacher
farmer
doctor
Exercise 2: Choose the word whose underlined part is pronounced differently from the rest
A. listened
watched
stopped
laughed
A. school
chair
children
chick
Exercise 3: Choose the correct answer
I was at school. What ________ you?
with
about
how
are
Yesterday morning, he ___________ his friends on the Internet.
chat with
chatted with
chat to
chatted to
Where is your teacher? - She is __________ her office
front
on
with
in
The boys ___________ paper planes now
are doing
does
are making
makes
I _______ to bed last night.
go
goes
going
went
I go to school _________ to borrow some books
library
playground
lab
yard
What is the name __________ your school, Danny?
of
in
with
at
I _______ swim but I _________ dive
am - can
can - can
can’t - can’t
can - can’t
What nationality _______ they?
were
are
do
did
Can you ________ a bike?
ride
skate
skip
dance
Exercise 4: Correct one mistake in each of the following sentences
Look, what is Simon doing? - He rides his bike too fast
_____________________________________________________
Yesterday were Sunday
_____________________________________________________
What do they do yesterday? - They read all these books
_____________________________________________________
Exercise 5: Rearrange the words to make meaningful sentences
flat/ on/ is/ my/ the/ first/ floor/./
_____________________________________________________
his/ what/ did/ friends/ yesterday/ do/ ?/
_____________________________________________________
many/ months/ are/ how/ there/ year/ a/ in/ ?/
_____________________________________________________
Exercise 6: Read the following text and choose the best answer
Here is Brandon. He goes to London Primary School. He is in class 4A. This is his classroom. There are fifteen boys and ten girls in his class. His best friend is Lucas. They both enjoy Geography. They have it on Thursdays and Fridays. On Saturdays and Sundays, they don’t have to go to school. They often play soccer together. Yesterday was Sunday. They played football in a playground near his house.
Which school does Brandon go to?
Brandon studies at Primary School
Bradon goes to Primary School
Brandon studies at London Primary School
Brandon is going to Primary School
How many boys and girls are in his class?
Fifth boys and ten girls
Five boys and tenth girls
Fifteen boys and ten girls
Fifty boys and ten girls
Who is his best friend?
Brandon
Lucas
Geography
Primary
Do they have to go to school on Saturdays and Sundays?
Not
No, they aren’t
Yes, they do
No, they don’t
Where did they play football yesterday?
In a playground near his house
In the school ground
In the stadium
Near the library
-The end-
Đáp án đề thi học kì 1 lớp 4 môn Tiếng Anh - Đề 2
Exercise 1: Choose the odd one out
A
B
A
Exercise 2: Choose the word whose underlined part is pronounced differently from the rest
A
A
Exercise 3: Choose the correct answer
B
B
D
C
D
A
A
D
B
A
Exercise 4: Correct one mistake in each of the following sentences
rides => is riding
were => was
What do => What did
Exercise 5: Rearrange the words to make meaningful sentences
My flat is on the first floor
What did his friends do yesterday?
How many months are there in a year?
Exercise 6: Read the following text and choose the best answer
C
C
B
D
A
- LỜI GIẢI MẪU MỰC ESTE KHÓ TRONG ĐỀ THI THPTQG NĂM 2019 Câu 74(M.Đ-203-2019): Hỗn hợp E gồm 3 este mạch hở đều tạo từ axitcacboxylic và ancol: X (no đơn chức), Y (không no, đơn chức, phân tử có hai liên kết pi) và Z (no, hai chức). Cho 0,58 mol E phản ứng vừa đủ với dung dịch NaOH, thu được 38,34 gam hỗn hợp 3 ancol cùng dãy đồng đẳng và 73,22 gam hỗn hợp T gồm 3 muối của 3 axit cacboxylic. Đốt cháy hoàn toàn T cần vừa đủ 0,365 mol O2, thu được Na2CO3, H2O và 0,6 mol CO2. Phần trăm khối lượng của Y trong E có giá trị gần nhất với giá trị nào sau đây? A. 6. B. 7. C. 5 D. 8. Câu 79(M.Đ-204-2019): Hỗn hợp E gồm ba este mạch hở đều tạo bởi axit cacboxylic với ancol: X (no, đơn chức), Y (không no, đơn chức, phân tử có hai liên kết pi) và Z (no, hai chức). Cho 0,2 mol E phản ứng vừa đủ với dung dịch NaOH, thu được 12,88 gam hỗn hợp ba ancol cùng dãy đồng đẳng và 24,28 gam hỗn hợp T gồm ba muối của ba axit cacboxylic. Đốt cháy toàn bộ T cần vừa đủ 0,175 mol O2, thu được Na2CO3, CO2 và 0,055 mol H2O. Phần trăm khối lượng của X trong E có giá trị gần nhất với giá trị nào sau đây? A. 9. B. 12. C. 5. D. 6. Câu 79(M.Đ-217-2019): Hỗn hợp X gồm ba este mạch hở đều tạo bởi axit cacboxylic với ancol, trong đó hai este có cùng số nguyên tử cacbon trong phân tử. Xà phòng hóa hoàn toàn 7,76 gam X bằng dung dịch NaOH vừa đủ thu được hỗn hợp Y gồm hai ancol đơn chức, kế tiếp trong dãy đồng đẳng và hỗn hợp Z gồm hai muối. Cho toàn bộ Y vào bình đựng kim loại Na dư, sau phản ứng có khí thoát ra và khối lượng bình tăng 4 gam. Đốt cháy hoàn toàn Z cần vừa đủ 0,09 mol O2, thu được Na2CO3 và 4,96 gam hỗn hợp CO2 và H2O. Phần trăm khối lượng của este có phân tử khối nhỏ nhất trong X là A. 19,07%. B. 77,32%. C. 15,46%. D. 61,86%. Câu 75(M.Đ-218-2019): Hỗn hợp X gồm ba este mạch hở đều tạo bởi axit cacboxylic với ancol, trong đó hai este có cùng số nguyên tử cacbon trong phân tử. Xà phòng hóa hoàn toàn 9,16 gam X bằng dung dịch NaOH vừa đủ thu được hỗn hợp Y gồm hai ancol đơn chức, kế tiếp trong dãy đồng đẳng và hỗn hợp Z gồm hai muối. Cho toàn bộ Y vào bình đựng kim loại Na dư, sau phản ứng có khí thoát ra và khối lượng bình tăng 5,12 gam. Đốt cháy hoàn toàn Z cần vừa đủ 0,12 mol O2, thu được Na2CO3 và 6,2 gam hỗn hợp CO2 và H2O. Phần trăm khối lượng của este có phân tử khối lớn nhất trong X là A. 19,21%. B. 38,43%. C. 13,10%. D. 80,79%. HƯỚNG DẪN CÂU 74-M.Đ-203-2019 Sơ đồ bài toán: Quy đổi và Đồng đẳng hóa cho hỗn hợp E về như sau: H COOCH 3 (a mol ) HCOONa a mol CH CH COOCH (b mol ) CH 3 OH (a b 2c) mol CH 2 CH COONa b mol 2 3 NaOH ( a b 2 c ) mol CH 2 (e mol ) (COOCH 3 ) 2 (c mol ) (COONa ) 2 c mol CH 2 (d mol ) CH 2 (d e) mol Ancol T Muoi Theo bài ra ta có: a b c 0,58 mancol 32a 32b 64c 14e 38,34 m T Muoi 68a 94b 134c 14(d e) 73, 22 Xét hỗn hợp muối T đem đốt: (I ) HCOONa a (mol ) CO2 0,6 (mol ) CH CH COONa b (mol ) 2 O2 (0,365 mol ) Na2CO3 0,5a 0,5b c (mol ) ( COONa ) c ( mol ) 2 H 2O 0,5a 1,5b d e (mol ) CH 2 (d e) (mol ) T Muoi c b (d e) 0, 47 BTNT (O2 ) : a b 2c 0,365 0,6 1,5(0,5a 0,5 b c) 0,5(0,5a 1,5b d e) ( II ) a 5b 2c 2(d e) 1, 2 BTNT (C ) : a 3b 2c d e 0,6 0,5a 0,5b c Giải hệ I và II ta được kết quả như sau: a=0,05; b=0,03; c=0,5; d=e=0,27 d c X : C5 H10O2 0,05 (mol ) m NX : d 3a 4b Y : C8H14O 2 0,03 (mol) %Y Y .100 6, 23% mE CH chi cat ra tu X va Y Z : (COOCH ) 0,5 (mol ) 2 3 2 E HƯỚNG DẪN CÂU 79-M.Đ-217-2019 Sơ đồ bài toán như sau: NaOH ( a mol ) Cx H yO2 m ([ R (COO )t ]R 't ) Ancol ( R 'OH a mol ) Muoi ( R (COONa ) t ) Suy ra : mbinh tan g mAnCol mH 2 mAncol 4 a (g) Dot chay muoi ta co: Na2CO3 a O2 (0,09 mol ) Muoi ( R (COONa ) t mol) CO2 t H O 2 BTKL mMuoi 106.0,5a 44.b 18.c 0,09.32 BTNT ( Na ) BTNT ( O2 ) a 0,09 0,75a b 0,5c (0,5a mol ) (b mol ) (c mol ) (I ) mCO2 mH 2 O 44.b 18.c 4,96 ( II ) BTKL Este NaOH 7,76 40.a 4 a 106.0,5a 44.b 18.c 0,09.32 ( III ) Giai he ( I II III ) : a 0,12; b 0,08; c 0,08 M ancol (mol ) CH 3 OH 4 0,12 34,333333 2 Ancol la 0,12 CH 3 CH 2 OH NX : Dot chay muoi co : nCO2 nH 2 O Muoi cua axit no, don chuc BTNT (C ) muoi : CMuoi nNa2 CO3 nCO2 nNa 0,5.0,12 0,08 1,666666.... 1 Muoi la : H COONa 0,12 De co 2 este co cung so nguyen tu C 2 muoi hon kem nhau 1C Muoi con la CH 3 COONa H COO CH 3 Suy ra : 3 este trong hon hop la : H COO CH 2 CH 3 % H COO CH 3 61,86% CH 3 COO CH 3 - Lê Văn Hùng (Thầy Hùng Vlog 36H2) - 0983.754.097– G.V Trường THPT Nguyễn Thị Giang (Cơ sở 1- Trường THPT Vĩnh Tường Cũ) – Khu 2 – Thị Trấn Vĩnh Tường – Vĩnh Phúc. - Chúc các đồng nghiệp và các em học sinh có những cách giải hay và ngắn gọn hơn nữa.
- [ĐỀ THI HSG HÓA 9 TỈNH ĐIỆN BIÊN 2019] SỞ GIÁO DỤC VÀ ĐÀO TẠO TỈNH ĐIỆN BIÊN KÌ THI CHỌN HỌC SINH GIỎI LỚP 9 CẤP THÀNH PHỐ NĂM HỌC 2018 - 2019 Môn: HÓA HỌC ĐỀ CHÍNH THỨC Ngày thi: 09/04/2019 Thời gian làm bài: 150 phút (Đề thi gồm 03 trang) Câu 1: (4,0 điểm) 1. Viết các phương trình hóa học thực hiện những biến đổi sau (ghi rõ điều kiện phản ứng): a. Al → NaAlO2 → Al(OH)3 → AlCl3 → Al(NO3)3. b. CH4 → C2H2→ C2H4 → C2H5OH→ CH3COOH→ CH3COOC2H5 → C2H5OH. 2. Có 5 mẫu phân bón hóa học màu trắng: NH4Cl, (NH4)2SO4, NH4NO3, KCl, K2SO4. Trình bày phương pháp hóa học để phân biệt các mẫu phân bón trên. Hướng dẫn 1. a. Al + NaOH + H2O → NaAlO2 + 1,5H2↑ NaAlO2 + CO2 + 2H2O → NaHCO3 + Al(OH)3↓ Al(OH)3 + 3HCl → AlCl3 + 3H2O AlCl3 + 3AgNO3 → Al(NO3)3 + 3AgCl↓ b. o 1500 C 2CH 4 CH CH 3H 2 laøm laïnh nhanh Pd,PbCO 3 CH CH H 2 CH 2 CH 2 to H2SO4 CH 2 CH 2 H 2 O CH3CH 2 OH loaõng men giaám CH3CH 2 OH O2 CH 3COOH H 2 O H SO 2 4 ñaëc CH3COOH C2 H 5OH CH 3COOC2 H 5 H 2 O to CH3COOC2 H 5 NaOH CH3COONa C2 H 5OH 2. [THẦY ĐỖ KIÊN – 0948.20.6996] – HÀ NỘI 1 [ĐỀ THI HSG HÓA 9 TỈNH ĐIỆN BIÊN 2019] NH 4 Cl,(NH 4 )2 SO 4 Ba(OH)2 NH 4 NO3 ,KCl,K 2 SO 4 NH 4 Cl traéng NH 4 Cl AgNO3 NH3 kht NH 4 NO3 NH 4 NO3 traéng K 2 SO 4 (NH 4 )2 SO 4 kht KCl 2NH4Cl + Ba(OH)2 → 2NH3↑ + BaCl2 + 2H2O 2NH4NO3 + Ba(OH)2 → 2NH3↑ + Ba(NO3)2 + 2H2O K2SO4 + Ba(OH)2 → 2KOH + BaSO4↓ (NH4)2SO4 + Ba(OH)2 → BaSO4↓ + 2NH3↑ + 2H2O 3. Nêu hiện tượng, giải thích ngắn gọn và viết phương trình hóa học cho các thí nghiệm sau: a. Cho một mẩu quỳ tím vào cốc đựng dung dịch xút. Sau đó sục từ từ khí clo vào cốc trên cho đến khi phản ứng kết thúc. b. Nhỏ dung dịch CH3COOH vào ống nghiệm có chứa CaCO3. c. Dẫn từ từ đến dư khí CO2 vào dung dịch Ba(OH)2. Hướng dẫn a. Khi cho mẩu giấy quì vào xút, giấy quì chuyển màu xanh. Khi sục khí Clo vào cốc: Cl2 + 2NaOH → NaCl + NaClO + H2O Nước Javen sinh ra có tỉnh tảy màu nên giấy quì chuyển màu trắng. b. 2CH3COOH + CaCO3 → (CH3COO)2Ca + CO2 + H2O [THẦY ĐỖ KIÊN – 0948.20.6996] – HÀ NỘI 2 [ĐỀ THI HSG HÓA 9 TỈNH ĐIỆN BIÊN 2019] Hiện tượng: bề mặt CaCO3 xuất hiện bọt khí không màu, không mùi (CO2), lớp vôi dần bị ăn mòn. c. CO2 + Ba(OH)2 → BaCO3↓ + H2O CO2 + BaCO3 + H2O → Ba(HCO3)2 Hiện tượng: sục khí CO2 vào ddBa(OH)2 ta thấy dung dịch vẩn đục bởi kết tủa trắng, kết tủa tăng dần đến tối đa, sau đó sục tiếp CO2 vào ta thấy kết tủa tan dần, dung dịch dần trong suốt trở lại. Câu 2: (3,5 điểm) 1. Một loại muối ăn (NaCl) có lẫn Ca(HCO3)2, CaCl2, Na2SO4. Trình bày phương pháp hóa học để làm sạch loại muối ăn trên. Viết các phương trình phản ứng xảy ra. 2. Giải thích các hiện tượng thực tế sau: a. Vì sao muốn pha loãng axit sunfuric đặc, ta phải rót từ từ axit vào nước đồng thời khuấy đều mà không làm ngược lại. b. Vì sao cồn có khả năng sát khuẩn. 3. Từ các hóa chất sau: Na, H2O, O2, FeS2 và các điều kiện cần thiết khác. Hãy viết các phương trình hóa học điều chế Fe2(SO4)3 và Fe(OH)2. Hướng dẫn 1. [THẦY ĐỖ KIÊN – 0948.20.6996] – HÀ NỘI 3 [ĐỀ THI HSG HÓA 9 TỈNH ĐIỆN BIÊN 2019] loïc boû : CaCO3 NaCl,Ca(HCO3 )2 to CaCl 2 , Na2 SO4 loïc boû CaCO3 NaCl,CaCl 2 Na2CO3 loïc boû dd NaCl, Na2 CO3 BaCl dö 2 dd Na2 SO4 vöøa ñuû ddNaCl Na2 SO4 o t Ca(HCO3)2 CaCO3↓ + CO2↑ + H2O CaCl2 + Na2CO3 → 2NaCl + CaCO3↓ Na2CO3 + BaCl2 → 2NaCl + BaCO3↓ Na2SO4 + BaCl2 → 2NaCl + BaSO4↓ 2. a. Muốn pha loãng axit H2SO4 đặc, ta rót từ từ axit vào nước rồi khuấy đều. Nếu ta làm ngược lại, rót nước vào axit thì axit sẽ bắn ra xung quanh gây bỏng axit. b. Cồn là dung dịch rượu etylic, có khả năng thẩm thấu cao, có thể xuyên qua màng tế bào đi sâu vào bên trong gây đông tụ protein làm cho tế bào chết. Thực tế là cồn 750 có khả năng sát trùng là cao nhất. Nếu cồn lớn hơn 750 thì nồng độ cồn quá cao làm cho protein trên bề mặt vi khuẩn đông cứng nhanh hình thành lớp vỏ cứng ngăn không cho cồn thắm vào bên trong nên vi khuẩn không chết. Nếu nồng độ nhỏ hơn 750 thì hiệu quả sát trùng kém. 3. to 4FeS2 + 11O2 2Fe2O3 + 8SO2↑ V2O5 SO3 SO2 + ½ O2 to SO3 + H2O → H2SO4 Fe2O3 + 3H2SO4 → Fe2(SO4)3 + 3H2O 2Na + 2H2O → 2NaOH + H2↑ o t Fe2O3 + 3H2 2Fe + 3H2O Fe + H2SO4 → FeSO4 + H2↑ FeSO4 + 2NaOH → Na2SO4 + Fe(OH)2↓ Câu 3: (3,0 điểm) 1. Có 6 lọ dung dịch được đánh số ngẫu nhiên từ 1 đến 6. Mỗi dung dịch chứa một chất tan sau: BaCl2, H2SO4, NaOH, MgCl2, Na2CO3, HCl. Người ta tiến hành các thí nghiệm và thu được kết quả như sau: - Thí nghiệm 1: Dung dịch 2 cho kết tủa khi tác dụng với các dung dịch 3 và 4. - Thí nghiệm 2: Dung dịch 6 cho kết tủa khi tác dụng với các dung dịch 1 và 4. [THẦY ĐỖ KIÊN – 0948.20.6996] – HÀ NỘI 4 [ĐỀ THI HSG HÓA 9 TỈNH ĐIỆN BIÊN 2019] - Thí nghiệm 3: Dung dịch 4 cho khí bay lên khi tác dụng với các dung dịch 3 và 5. Xác định số thứ tự của các lọ dung dịch trên và viết các phương trình hóa học đã xảy ra. Hướng dẫn BaCl2 (2) (2),(6) (1) : NaOH MgCl2 (2) : BaCl 2 (4) (4) : Na2 CO3 (6) : MgCl 2 (5) : HCl (3),(5) HCl (2) (3) (3) : H SO 2 4 H SO 2 4 Na2CO3 + BaCl2 → 2NaCl + BaCO3↓ Na2CO3 + MgCl2 → 2NaCl + MgCO3↓ Na2CO3 + 2HCl → 2NaCl + CO2↑ + H2O Na2CO3 + H2SO4 → Na2SO4 + CO2↑ + H2O MgCl2 + 2NaOH → 2NaCl + Mg(OH)2↓ 2. Cho 7,04 gam hỗn hợp bột kim loại A gồm Mg, Fe vào 200 gam dung dịch Cu(NO3)2. Sau phản ứng thu được 9,6 gam chất rắn B chứa hai kim loại và dung dịch C. Thêm dung dịch NaOH dư vào dung dịch C rồi lọc lấy kết tủa, đem nung trong không khí đến khối lượng không đổi thu được 4 gam chất rắn (biết rằng các phản ứng xảy ra hoàn toàn). a. Viết các phương trình phản ứng xảy ra và tính thành phần % khối lượng từng kim loại có trong A. b. Xác định nồng độ phần trăm của các chất tan trong dung dịch C. Hướng dẫn a. - Rắn B chứa 2 kim loại là: Fe dư và Cu - Giả sử mol ban đầu Mg: x; Fe: y và mol Fe pứ: a Mg + Cu(NO3)2 → Mg(NO3)2 + Cu Fe + Cu(NO3)2 → Fe(NO3)2 + Cu x→ x x x a→ a a a [THẦY ĐỖ KIÊN – 0948.20.6996] – HÀ NỘI 5 [ĐỀ THI HSG HÓA 9 TỈNH ĐIỆN BIÊN 2019] 24x 56y 7, 04 x 0, 06 Mg : x Mg : 20, 45% Fedö : y a Raén 56(y a) 64(x a) 9,6 y 0,1 %m Cu : x a Fe : y Fe : 79,55% a 0, 02 MgO : x 4g Raén 40x 80a 4 Fe2 O3 : 0,5a b. Ta có: mddC = mA + mddCu(NO3)2 - mRắn = 197,44 gam Mg(NO3 )2 : 0, 06 8,88g Mg(NO3 )2 : 4,5% ddC C% Fe(NO3 )2 : 0, 02 3,6g Fe(NO3 )2 :1,82% Câu 4: (4,0 điểm) 1. Dẫn hỗn hợp khí Z gồm hai khí H2 và CO có tỷ khối với H2 là 8,8 qua 20 gam hỗn hợp các oxit Fe2O3, Al2O3 và CuO nung nóng. Kết thúc phản ứng thu được chất rắn B và hỗn hợp khí C. Hòa tan chất rắn B vào dung dịch HCl dư thu được dung dịch D, 6,4 gam chất rắn không tan và 2,24 lít khí (đktc). Dẫn khí C qua nước vôi trong lấy dư thu được m gam kết tủa. Cho dung dich NaOH lấy dư vào dung dịch D thu được một chất kết tủa duy nhất. a. Tính thể tích (đktc) hỗn hợp khí Z đã dùng. b. Tính m. c. Xác định thành phần % theo khối lượng của các oxit trong hỗn hợp. Hướng dẫn - (H2, CO) khử được Fe2O3, CuO còn không khử được Al2O3. - Rắn B gồm: Fe, Al2O3, Cu nên 6,4 gam rắn là Cu. - nH2 = nFe(B) = 0,1 H O H 2 O 2 nên n(H2 + CO) = nO(Oxit) CO CO2 - Nhiệt luyện NaOH ddD dö Fe2 O3 HCl Raén : 6, 4g H Raén B dö Z 2 20g Al 2 O3 H : 0,1 CO 2 CuO Ca(OH)2 C M = 17,6 : m(g) dö x 0, 05 nO(Fe2O3 CuO) 0,25 V 5,6 (lít) Raén 64z 6, 4 Fe2 O3 : x 6,4g H : a a b 0,25 a 0,1 2 Al O : y 2x 0,1 2 2 3 y 51 CuO : z 160x 102y 80z 20 CO : b 2a 28b 17,6(a b) b 0,15 z 0,1 CO Ca(OH) CaCO H O 2 3 2 2 m = 15 gam 0,15 [THẦY ĐỖ KIÊN – 0948.20.6996] – HÀ NỘI 6 [ĐỀ THI HSG HÓA 9 TỈNH ĐIỆN BIÊN 2019] 2. Hỗn hợp khí X (ở đktc) gồm một ankan CnH2n+2 và một anken CmH2m. Cho 6,72 lít hỗn hợp X đi qua bình đựng ước brom dư thấy có 16 gam brom phản ứng. Biết 3,36 lít hỗn hợp X nặng 6,5 gam. a. Tìm công thức phân tử của ankan và anken, biết số nguyên tử cacbon trong mỗi phân tử không quá 4. b. Đốt cháy hoàn toàn 6,72 lít hỗn hợp X, sau đó cho tất cả sản phẩm cháy hấp thụ vào dung dịch NaOH dư, thêm tiếp BaCl2 dư vào thì thu được m gam kết tủa. Tính m. Hướng dẫn a. - nBr2 = nCmH2m = 0,1 → nCnH2n+2 = 0,2 - 3,36 lít X nặng 6,5 gam thì 6,72 lít X nặng 13 gam. (14n 2).0,2 14m.0,1 13 Cn H2n2 : 0,2 Mol n 3 C3 H8 X laø khí 2n m 9 Cm H2m : 0,1 m 3 C3 H6 b. o t C3H8 + 5O2 3CO2 + 4H2O o t C3H6 + O2 3CO2 + 3H2O → nCO2 = 0,9 CO2 + 2NaOH → Na2CO3 + H2O Na2CO3 + BaCl2 → 2NaCl + BaCO3↓ → m = 177,3 gam Câu 5: (3,0 điểm) 1. Một loại đá có công thức dạng xCaCO3.yMgCO3 được hòa tan hết bằng 200 ml dung dịch axit HNO3 thoát ra 3,36 lít khí CO2 (ở đktc). Để trung hòa lượng axit còn dư trong dung dịch sau phản ứng cần 50 gam dung dịch NaOH 8%, thu được dung dịch A. Cô cạn dung dịch A thu được 31,5 gam muối khan. a. Tính khối lượng mỗi chất có trong đá và viết công thức của đá. b. Tính nồng độ mol của dung dịch HNO3 đã dùng. 2. Tính nồng độ % của axit axetic trong dung dịch thu được khi lên men 2,5 lít rượu etylic 4o . Biết khối lượng riêng của rượu etylic là 0,8 g/ml, của nước là 1 g/ml và hiệu suất của quá trình lên men là 92%. Hướng dẫn 1. Mol xCaCO3.yMgCO3: a (mol) CaCO3 + 2HNO3 → Ca(NO3)2 + CO2↑ + H2O ax→ 2ax ax ax MgCO3 + 2HNO3 → Mg(NO3)2 + CO2↑ + H2O ay→ 2ay ay ay NaOH + HNO3 dư → NaNO3 + H2O 0,1→ 0,1 0,1 a. [THẦY ĐỖ KIÊN – 0948.20.6996] – HÀ NỘI 7 [ĐỀ THI HSG HÓA 9 TỈNH ĐIỆN BIÊN 2019] CaCO3 .2MgCO3 CO2 ax ay 0,15 ax 0, 05 x 1; y 2 x 1 0,15 CaCO3 : 5 gam y 2 a 0, 05 164ax 148ay 85.0,1 31,5 ay 0,1 m MgCO : 8, 4 gam 3 b. → nHNO3 = 0,4 → CM ddHNO3 = 2M c. 0,1.0,8 0, 08.92% nCH3COOH m 0, 096(kg) C H OH : 2,5.4% 0,1 lít n = Röôïu 2 5 46 46 H O : 2,5 0,1 2, 4 lít m 2, 4(kg) 2 C%(CH3COOH) 0,96 .100% 38, 71% 2, 4 0, 08 Câu 6: (2,5 điểm) Hỗn hợp X gồm hai axit hữu cơ đồng đẳng kế tiếp A và B (MA < MB) có công thức tổng quát CnH2n+1COOH với n 0. Cho 6,7 gam hỗn hợp X tác dụng với dung dịch NaOH 1M thì cần vừa đủ V ml. Cô cạn dung dịch sau phản ứng thu được 8,9 gam hỗn hợp muối khan. a. Xác định công thức phân tử của hai axit, Biết tỷ lệ số mol của chúng trong hỗn hợp là 1:1 b. Tính V và thành phần % khối lượng của mỗi axit có trong hỗn hợp. c. Đốt cháy hoàn toàn 3,74 gam hỗn hợp X gồm axit A, CH3COOCxHy, CxHyOH thu được 3,584 lít CO2 (đktc) và 3,42 gam nước. Mặt khác, cho 3,74 gam X phản ứng hết với 40ml dung dịch NaOH 1M thu được dung dịch Y và 0,05 mol CxHyOH. Cô cạn dung dịch Y, thu được 2,86 gam chất rắn khan. Xác định công thức phân tử của ancol CxHyOH. Hướng dẫn 1. a. m m Axit nRCOOH Muoái (A; B) CH 3COOH; C2 H 5COOH 23 1 nRCOOH 0,1 M Axit 67 Taêng giaûm khoái löôïng b. nNaOH = nRCOOH = 0,1 → V = 0,1 (lít) CH3COOH : a CH COOH : 44, 78% a b a 0, 05 %m 3 C2 H 5COOH : b 60a 74b 6, 7 b 0, 05 C2 H 5COOH : 55,22% Ta có c. O2 CH3COOH : a CO2 0,16 H 2 O0,19 coâ caïn 3, 74 gam CH 3COOR : b NaOH ddY 2,86 gam 0,04 ROH : c ROH:0,05 - nH2O > nCO2 nên ancol phải no [THẦY ĐỖ KIÊN – 0948.20.6996] – HÀ NỘI 8 [ĐỀ THI HSG HÓA 9 TỈNH ĐIỆN BIÊN 2019] Axit no, 1 chöùc: nCO2 nH2 O Ñoát chaùy Este no, 1 chöùc: nCO2 nH 2 O nROH 0,19 0,16 0, 03 c 0, 03 nAncol no = nH O nCO 2 2 - nROHcuối cùng = 0,05 → b + c = 0,05 60a (59 R)0, 02 (R 17)0, 03 3, 74 CH3COOH : a CH3COONa : a 0, 02 CH3COOR : 0, 02 ROH : 0, 03 Raén NaOH : 0, 04 (a 0, 02) 82.(a 0, 02) 40(0, 02 a) 2,86 dö a 0, 01 Ancol : C2 H5OH R 29 Chuyên đề lý thuyết 100k [THẦY ĐỖ KIÊN – 0948.20.6996] – HÀ NỘI 9
- TON THAN (Chu bién) BUI VAN TUYEN - NGUYEN DUC TRUONG ~ IA CAC CHUYEN DE CHON LOC TOAN & TAP MOT NHA XUAT BAN GIAO DUC VIET NAM wre SAO TARPL IR Lo: NOI DAU Dé gitip cdc em hoc sinh hoc tap t6t mon Toan 6 Trung hoc co sé (THCS) hién nay va 6 Trung hoc phé thong (THPT) sau nay, chting toi bién soan bo sich gdm 8 cu6n : "Cae chuyén dé chon loc Todn 6,7,8,9 tap mot va tap haiâ. M6i cudn trong bo sdch cé céc chuong tuong ting véi cac chuong trong sach giao khoa Toan. Cac chuong déu duoc viét theo nhiing chuyén dé (co ban va nang cao) ma cac tic gia cho rang d6 1a nhing chuyén dé can thiét cho viéc hoc va hiéu sau kién thite cla chuong. Mi chuyén dé g6m ba phan : A. Kién tite can nho: Phan nay dua ra nhimg kién thite co ban, nhimg kién thifc b6 sung can thiét dé c6 thé giai duoc cac bai tap, cdc dang toan cua chuyén dé. B. Mot so vi du: Phan nay trinh bay nhing vi du chon loc minh hoa cho nhig dang todn dién hinh cia chuyén dé v6i cach trinh bay 106i giai chuan muc kém theo nhiing whan xét, law Â¥, bink ludn,... vé phuong phap giai, vé cac sai lim hoc sinh c6 thé mac, vé viéc tim toi thém cac cach giai khac, ... Nhiéu vi du 6 phan nay duoc trich trong cac dé thi hoc sinh gidi Toan 6 THCS, trong cac dé thi vao Iép 10 THPT chuyén. C. Bai tap: Phan nay dua ra hé thong cac bai tap duoc phan loai theo cdc dang todn dé hoc sinh dé str dung. Hé thong cac bai tap nay kha da dang, bao g6m cac bai tap co ban va cac bai tap nang cao cho hoe sinh kha, gidi. Nhiéu bai duoc trich wr cac dé thi hoc sinh giodi Toan 6 trong va ngoai nudc. Méi cuén sach déu cung cdép mot sé lugng Ién cac bai tap véi huéng dan giai kha chi tiét, minh hoa cho phuong phap giai cdc dang todn, cdc chuyén dé da dé cap. Cu6i sdch 14 phan Huéng ddan gidi â Dap sé cho cac bai tap 6 cdc chuyén dé. Qua nhimg huéng dan giai cu thé, hoc sinh sé nam ro hon cach giai cho mi dang toan. Cac kién thttc trong méi cudn sich duge sap xép tt dé dén khé, duoc trinh bay don gian, dé hiéu, dap tmg cho nhiéu doi tugng hoc sinh. Cac tac gia cla bo sich 1a nhimg thay co gido da c6é nhiéu kinh nghiém trong viéc giang day, b6i duGng hoc sinh gioi Toan 6 THCS, d6 la cac thay co giao: PGS.TS NGND Ton Than (Chu bién b6 sach), NGUT Bui Van Tuyén, NGUT Nguyén Ngoc Dam, Ths. Nguyén Dtic Truéng, Ths. Nguyén Ditc Tan, Ths. Nguyén Anh Hoang, Ths. Dang Van Quan, Ths. Pham Thi Lé Hang. Mac di da cé nhiéu cé gang, song bo sach kho tranh khoi nhing thiéu sét. Cac tac gia rat mong nhan dugce thu gop y cua cac em hoc sinh, cac thdy c6 gido va cdc bac phu huynh. Moi y kién xin gin vé theo dia chi : Bun Todn âTin, Nha xudat ban Gido duc Viét Num â 187B Gidng V6 âHa Noi. Hi vong rang, b6 sach sé 1a tai liéu tham khao thiét thuc, hitu fch d6i vGi céc em hoc sinh THCS, cac thay co gido day Toan va ban doc yéu thich Toan. Ha Noi, thang 3 ndm 2013 CAC TAC GIA PHAN DAI SO Crone I PHEP NHAN VA PHEP CHIA CAC DA THUC Chuyén dé 1 PHEP NHAN CAC BDA THUC A. KIEN THUC CAN NHO 1. Muén nhan mot don thitc v6i mot da thic ta nhan don thitc véi timg hang wr cua da thuc réi cong cac tich véi nhau. 2. Muon nhan mot da thie véi mot da thitc, ta nhan méi hang tr cla da thife nay vdi timg hang tu cua da thitc kia réi cong cac tich véi nhau. B. MOT SO Vi DY Vi du 1. Cho b6n s6, s6 sau hon s6 truéc 1a 2. Chig minh rang hiéu cua tich hai s6 6 giita va tich cla s6 dau v6i s6 cudi ludn khong déi. Giai. Goi bon sé da cho la x, x + 2, x + 4 va x + 6. Hiéu cilia tich hai s6 6 gitta va tich cua s6 dau vGi s6 cudi 1a : (x + 2)(x +4) â x(x + 6) =x? + 4x + 2x +8 â x? - 6x = 8 (khong déi). Vi du 2. Cho m s6, mdi sé bang 3n + | va n s6, mdi so bang 9 â 3m. Biét téng tat ca cdc s6 dé bang 5 lan tong m +n. Chimg minh rang m =n. Giai. Téng cha m s6 (3n + 1) voi n s6 (9 â 3m) 1a m(3n + 1) +n(9 â 3m). Theo dé bai ta cé m(3n + 1) + n(9 â 3m) = 5(m +n) <= 3mn +m + 9n â 3mn=5m+5n = 9n-5n=Sm-m @ 4n=4m @n=m. Vi du 3. Tinh tong cac hé s6 cua luy thita bac ba, luf thira bac hai va luy thira bac nhat trong két qua cua phép nhan (x7 +x + Lx â-x+l). Giai Ta c6 (x2 +x + Ix - x41) axr-x¢x2¢xtâ x ex ex? x +1 =x 4x 41. Hé sé ctia luy thiva bac ba 14 0, hé s6 cia luy thira bac 2 14 0, hé so cua luy thira bac nhat 1a 0 nén tong cdc hé sé nay bang 0. Vi du 4. Cho M = (x +a)(xâ + bx + 16) vaN =x° â 64. a) Viét biéu thitc M dui dang mot da thifc thu gon theo luy thira giam dan cua x. b) Voi gid tri nado cla a va b thi hai da thifc M va N lu6n cé gia tri bang nhau v6i moi gid tri cua x ? Giai a) Taco M=(x + a(x? + bx + 16) = x° + bx? + 16x + ax? + abx + 16a=x° + (a+ b)x? + (ab + 16)x + 16a. b) M=N véi moi gia tri cua x ox +(atb)x? + (ab + 16)x + 16a =x° â 64, Vx a+b=0 a=-4 <= sab+16=0 4 b = 4. 16a = -64 Nhan xét : Hai da thitc viét duéi dang thu gon co gia tri bang nhau voi moi gia tri cua bién khi va chi khi cdc hé s6 cha cdc luy thira cing bac bang nhau. Vi du 5. Cho biéu thitc A = (4m â 1)(n â 4) â (m â 4)(4n â 1). Chimg minh rang A : 15 vi moi gid tri nguyén cua m va n. Giai A = (4m â 1)(n â 4) â (m â 4)(4n â 1) = 4mn - 16m ân +4 â (4mn â m â 16n + 4) = 4mn - 16m â-n+4-4mn+m-+ l6n-4 =-15m + 15n=-15(mân): 15. Vi du 6. Cho b6n s6 nguyén lién tiép khong chia hét cho 5, khi chia cho 5 duoe nhimg s6 du khac nhau. Chitmg minh rang hiéu cua tich hai s6 cudi véi tich cua hai sé dau 14 mot s6 cé tan cling dting mot chit sé 0. 6 Giai. Goi bon sé nguyén lién tiép khong chia hét cho 5, khi chia cho 5 dugc nhimg so du khac nhau lan luot 1a Sk + 1, Sk + 2, 5k + 3, Sk + 4 (k ⬠Z). Ta c6 (Sk + 3)(5k + 4) â (5k + 1)(5k + 2) = (25k? + 20k + 15k + 12) â (25k? + 10k + 5k +2) = 25k" + 35k + 12 â 25k? â 15k â 2 = 20k + 10 = 10(2k + 1). Vi 2k + 11a mot so le nén 10(2k + 1) cé tan cing bdi ding mot chit sé 0. C. BAI TAP 1.1. Viét c&c biéu thiic sau duéi dang da thifc sap xép theo luy thita giam cla bién x a) (3x + a)(2x â Sa) â 6a(2x â a) ; b) (9x â Sy)(2x + Ty) â (4x + 3y)(8x â y). 1.2. Chimg minh dang thife (x + a)(x + b) = x? +(a+b)x + ab. Ap dung tinh nhanh : a) (Xx + 5)(x + 2); b) (x -â 7)(x - 4); C) (x + 8)(x - 3); d) (x â 9)(x + 1). 1.3. Cho da thite A=x?+ 11x +m trong do m 1a mot s6 nguyén duong. Tim gia tri nho nhat cia m, gid tri 1l6n nhat cua m dé da thife A 18 tich cia hai da thife vGi hé s6 nguyén. 1.4. Xac dinh cdc hé s6 a, b, c biét rang véi moi gid tri cua x thi: a) (5x â 3)(2x âc) = ax? + bx +21; b) (ax + 4)(x? + bx â 1) = 9x" + 58xâ + 15x +c. 1.5. Cho biéu thttc A = 3xâ¢'(x"! â y") + y"(3x"*! â y") trong dé n ⬠Nâ. Hay thu gon biéu thtic A dé chimg to rang khi thay cdc gid tri clla x va y béi cac s6 d6i cua ching thi gid tri cua biéu thttc A van khong doi. 1.6. Mot khu dat hinh chit nhat cé chu vi 1a 100 m. Néu chiéu dai va chiéu rong cling giam di a (mét) trong dé a < SO thi dién tich khu dat nay giam di bao nhiéu mét vudng ? 1.7. Cho xâ + yâ =2, ching minh dang thit : 2(x + I)(y + 1) = (x + y)(x + y + 2). 1.8. 1.9: 1.10. 111; 1.12. 1.13. 1.14. 1.15. 1.16, 1.17. Cho biét (x + y)(x + z) + (y + zy + x) = 2(z + x)(z + y). Chimg minh rang 7 ey" > . _ 9 x == Tinh gid tri cla biéu thite sau bing céch hop li: a) A=x° â 70x* â 70x* â 70x? â 70x + 29 taix =71; b) B=x° â 36x" + 37x° â 69x? â 34x + 15 tai x = 35. Cho biéu thtte A = 3(x° +X + 2y(x? -~x°-x+ 1) Hay thuc hién phép nhan réi viét két qua theo luy thita giam dan cia x. Cho biét hé s6 cua luy thira bac 4, cla luy thira bac 3, cua luy thira bac 2 trong két qua. Chimg minh rang gid tri cla céc biéu thitc sau khong phu thudc vaio gid tri cla bién x : a) A = (4x â 5)(2x + 3) â 4(x + 2)(2x â 1) + (10x +7); b) B= (7x â 6y)(4x + 3y) â 2(14x + y)(x â 9y) â 19(13xy â 1). Tim x, biét: a) 4x(5x + 2) â (10x â 3)(2x + 7) = 133; b) 3(6x = 5)(4x + 1) = (8x + 3)(9x = 2) = 203. Cho biéu thie B = (n â 1)(n + 6) â (n + 1)(n = 6). Ching minh rang véi moi gid tri nguyén cla n thi B: 10. Cho ba s6 nguyén lién tiép. Lap cdc tich cla hai trong ba sé d6. Biét téng cua ba tich nay 14 242. Tim ba s6 nguyén do. Goi y : Goi sO nguyén 6 gitra 1a a. Cho biéu thife P = (x â a)(x â b)(x - c), trong dé: a+b+c= 12; ab + be + ca =47 va abe = 60. a) Hay viét P duéi dang mot da thifc thu gon, sp xép theo luy thiva giam cua bién x. b) Tinh gid tri cua P khi |x| = 3. Chimg minh dang thifc (aâ 1)\(aâ2)(a +3) â (a+ 1)(a + 2)(aâ 3) = 12. Ap dung két qua trén dé chimg minh ring : 149.148.153 â 151.152.147 = 99.98.103 â 101.102.97. Cho cdc s6 x, y, 2 ti 1é véi cdc sé a, b, c. Chimg minh rang : (x? ~ 2y? + 32°\(a" +2b7 + 3c?) = (ax + 2by + 3cz)°. Chuyén dé 2 NHUNG HANG DANG THUC DANG NHO A. KIEN THUC CAN NHO e(A+B)* =A? +2AB +B? (1) e(A-B) =Aâ-2AB+B° (2) eA*-B? =(A+B)(A-B) (3) e(A+B) =A*?+3A°B+3AB*+B° (4) = A*+B* +3AB(A +B) e(A-B)> =A*â3A°B + 3ABâ-B° (5) = A*- B*- 3AB(A - B) eA°+B°> = (A+B\(A*-AB+B°) (6) eA°-B* =(AâB)(A2+AB +Bâ) (7) B. KIEN THUC BO SUNG 1. Binh phuong cua da thitc (a) +a +..+ a,)° = a? + a3 Pct a2 + 2a,a, + 2a,a, +... + 2aja, + 2458, + 2ana,4 +... + 2a9a, +... + 2a,_)a,. Dac biét, voi n = 3 taco: (a+b+c) =aâ +bâ +câ + 2ab + 2ac + 2be. 2. Luy thtta bac n cua mét nhi thc (nhi thie Niu-ton) ss = al n(n UY) 9-242 ie n(n â1)(n 2) n-31,3 Â¥ (2 1.2.3 Cho n cdc gid tri tr O dén 5 ta duge : Véin=0 th (a+b)â= | (a+b)"=a"+na⢠âb+ wet Bb". Véin=1 thi (a+b)! = a+b V6in=2 thi (a+b)â= a°+2ab+b° Véin=3 th (a+b)â= a°+3a°b+ 3ab" + b* Voin=4 thi (a+b)'= aâ+4a'b+6a°bâ +4ab'+b* V6in=5 thi (a+b)= a°+5aâ*b+ 10a°bâ + 10a°bâ + Sabâ +b° Ta nhan thay khi khai trién (a + b)" ta duoc mot da thie cé n + | hang wr, hang tir dau 1A a", hang tir cudi 1a b", cdc hang tir con lai déu chia cdc nhan tra va b. Vi vay (a + b)" = Bia) + b" = B(b) +a". 3. Bang cdc hé s6 khi khai trién (a + b)â Voin=0: 1 Védin=1: 1 1 Véin=2: 12 1 Voin=3: 1 3 3 l Voin=4: 1 4 6 4] VéinewS5: 15 10 10 5.1 ~â Méi dong déu bat dau bang | va két thiic bang | â Méi s6 6 mot dong ké tir déng thit hai déu bang sé lién trén cong véi s6 bén tral cula sO lién trén. Bang trén day dugce goi 14 tam gidc Pa-xcan. B. MOT SO vi DU Vi du 7. Chimg minh rang néu mot tam gidc cé dé dai ba canh 1a a, b, c thoa man : (5a â 3b + 4c)(Sa - 3b â 4c) = (3a - 5b)â thi tam giic do la tam giac vudng. Giai. Ta c6 (Sa â 3b + 4c)(Sa â 3b â 4c) = (3a - Sb)â > [(Sa â 3b) + 4c][(5a - 3b) - 4c] = (3a - 5b)â = (5a - 3b)" ~ (4c)° = (3a- 5b)â <> 25aâ â 30ab + 9bâ â 16c? = 9aâ â 30ab + 25b" <> 25aâ â 9aâ + 9bâ â 25bâ â 16c* =0 > 16a" â 16b* â 16câ = 0 <> 16aâ = 16b" + 16c7<> a? =b? +câ, Do dé tam gidc cé do dai ba canh 1a a, b, c chinh 14 mot tam gidc vudng. Vi du 8. Cho x + y =â9; xy = 18. Khong tinh cdc gid tri cla x va y, hay tinh gid tri cla cdc biéu thttc sau : a)M=x'+yâ: b)N=x'+yâ; c) P=x?-yâ, 10 Giai. Dé bai cho gia tri cua tong x + y va tich xy nén muon tinh duoc gid tri cua cdc biéu thite M, N, P ta phai biéu dién cic biéu thitc nay dudi dang cic biéu thuc c6 (x + y) va xy. a) M=x+ yâ =x°+ 2xy + y â 2xy =(x + y)â â 2xy = (-9) â 2.18 =45. b)N=x?+ y" =x) + 2xy? + y" - 2x7y" = (x? + yy - (xy) = 45° - 2.187 = 1377. c) Ta cé (x - y) =x"*- 2xy + y= ee 2xy + yââ 4xy = (x +y)° â4xy =(-9) - 4.18 = 9. Suy rax -â y=+3. . e Néux ây =3 thi P=x°- y= (x ây)(x + y) = 3.(-9) = -27. e Néu x â y =-3 thi P= â y = (x â y)(x + y) = (â3).(-9) = 27. Vi du 9. Tim x, y, z biel: x? â 6x + y + 1Oy + 34 =-(4z- iy. Giai. Ta cé x? - 6x +y" + Wy +34 =-(4z- 1) Suy ra (x? â6x+9)+ (y" + 10y + 25) = -(4z - 1) > (x - 3)? + (y +5) + (4z- 1)" =0 Ta thay (x â 3)? > 03 (y +5)° 20; (42-1) 20 ma (x â 3)" + (y +5)" + (4z- 1)° =0. (x - 3)? =0 x= 3 nén j(y +5)? =0 © y=âo - | 4z-1)° =0 zZ=-â. (4z-1) z 4 Nhan xét : Ta goi phuong phip giai trong vi du trén 1a phuong phap "Téng cac binh phuong"â. Noi dung cua phuong phap nay dua vao nhan xét: A*>0;B°20;Câ 20. Néu cé A? +B? +C? = 0 thi A? = Bâ =Câ =0. Vi du 10. Choa +b +c =0, chting minh rang a+b +c = 3abe. 1] Giai. Tir a+b+c=0, suy raat+b=-c. Lap phuong hai vé ta duge (a + byâ =(-c)*. Suy ra a+b + 3ab(a + b) = ae, Thay a + b = âc vao dang thifc trén ta dugc a + b* + 3ab(-c) = -c*. Do dé a° + b* +c° = 3abe. Lint y. e Nén nhé két qua cua vi du nay dé van dung giai nhiéu bai toan khac. ¢ Trong qué tinh giai vi du trén ta da khai trién (a + b)* thanh aâ + b* + 3ab(a + b) (1) tién loi hon 1a khai trién thanh aâ + 3a°b + 3ab? + b* (2) vi trong Khai trién (1) c6 sin (a + b) dé thay bang â c ra két qua duoc nhanh chong. Vidu 11.S6a= 3 â 1 1a s6 nguyén t6 hay hop s6 ? Gidi. Ta c6 3'° = 3 nen ta dat 3!" = 3n (n ENâ). Do d6a=8""-1=(8") - 17 = (8° = 18" +8" 1), S6 a 1a tich cla hai s6 tu nhién I6n hon | nén a 1a hop so. Vi du 12. Chimg minh dang thitc aâ âb° â(aâb)° = Sab(a â b)(a° â ab + b>) Giai hte q' aiG 5 e Xét vé trai T: T=a âb -(a-âb). =a° âb° â(a° â 5aâb + 10a°bâ â 10a°b* + Sab* â b*) =a°âb°â aâ +5aâb - 10a°bâ + 10a°b* â Sabâ +bâ = Sab â 10a°b? + 10aâb* â Sabâ. e Xét vé phai P: 2 2 3 2 2 3 P = S5ab(a â b)(a° â ab + b*) = Sab(aâ â 2a°b + 2ab* â bâ) = Saâb â 10a°b* + 10a7b* â Sabâ. Vay T=P. Vi du 13. Cho (a + b +c)â = 3(ab + be + ca). Chitmg minh rang a= b =c. Gidi. Ta c6 (a + b +c)â = 3(ab + be + ca) <a +b? +c? + ab + be + ca) = 3(ab + be + ca) a? +b* +c? -ab- be -ca=0 2 2 2 2a* + 2b*° + 2c* â 2ab â 2bc â 2ca) = 0 $ er ei rmil|â _~ <> â[(a? â2ab +b? )+(b? â2be +c? y+(c? â2ca+a 2y]=0 = =| (a-b)? +(bâc)? +(c-a)?]=0 => (aâb)* +(b-c)â +(c-a) =0 > (aâb)â =(b-c)* =(c â a) =0 (vi (aâb)* > 0; (b-c)* 20; (câ a)â > 0). a-b=0 = ~b-c=0 ma=be=c. c-a=0 C. BAI TAP e Cac hang dang thiic (1), (2), (3) 1.18. Ching minh ring gid tri cla cdc biéu thitc sau khong phu thudc vao gid tri 1.19. 1.20. 1.21. cua bién : a) 5(x + 4)â + 4(x â 5)â - 9(4 + x(x - 4); b) (x + 2y)" + (2x - y) â 3(x + y)(x â y) â 10(y + 3)(y â 3). Tinh gid tri cla biéu thitc bang cach hop If : a) 413(413 â 26) + 169: b) (6257 + 3)(25° â 3) - 51° +10; 41? +392 + 82.39 c ââ aoe a 5 âi 41? â39 Khong tinh gid tri cu thé cua mdi biéu thitc, hay so sanh gid wi cdc biéu thufe sau : a) A= 2014. 2016 va B= 2015"; b) C=1+48(3" + 1)(3° + 1% + 1) vaD = (3°) + 3°) c) E= 5017 + 503 + 4967 va F = 499° + 4977 + 504°: d) M = 5x" + 10y* - 2xy + 4x -6y +2 vAaN=-I. Cho M = 777 + 75° + 73° +...+3°+ 1°; N=76° +747 +727 +... 4 M-N-3 to JM Tinh gia tri cua biéu thitc 1.22. Rit gon réi tinh gid tri cic biéu thie sau : 4 9 > z l a) A = (3x â 2)° + (3x + 2)" + 2(9x" â 4) tax = -â; b) B=(x + y â 7)" â2(x + y - Ty â 6) + (y â 6) taix = 101; c) C = 4x7 â 20x + 27 tai x = 52.5. 1.23. Cho x + y =â-9, tinh gid tri cla biéu thttc : D = xP 2xy + y" â 6x â 6y â 5. 1.24. Tim x biét: : a) (Sx â 1)" â (5x â 4)(5x + 4) =7: b) (4x â 1)? - (2x +3)? + (x + 2) + 3(x â 2)(x + 2) = 500. 1.25. Cho biéu thitc A = (x +x + I(x? =x#1)(x" =x" + 1). Chimg minh rang biéu thitc A luén ludn cé gid tri duong véi moi gid tri cua bién. 1.26. Chimg minh rang cdc biéu thie sau lun ludn cé gid tri duong véi moi gia tri cua cic bién : a) M = 25xâ - 20x +7; b) N= 9x7 - 6xy + 2y? +I. 1.27. Chimg minh rang gid tri cua cdc biéu thifc sau ludn luén am véi moi gia tri cua ciic bién : 7 y 9 a) P=2x-x' -2; b)Q=-x"-y + 8x +4yâ 21. 1.28. Tim gia tri nho nhat cla cdc biéu thtic sau : a) A=x°> + 12x +39; b) B= 9x" â 12x. 1.29. Tim gia tri lon nhat cua cic biéu thifc sau : a) C=4x-x?41: b) D=3 - 10xâ - 4xy - 4yâ. 1.30. Cho day hinh vudng (h.1) duoi day : Hinh Il inh 7.2 Minh 1.3 Hinh dan Hinh | Hoi 6 hinh 1.75 co bao nhiéu hinh vudng khong dugc to dam ?
- Trắc nghiệm Sinh học lớp 11 bài 4 Câu 1. Để xác định vai trò của nguyên tố magiê đối với sinh trưởng và phát tri ển c ủa cây ngô, người ta trồng cây ngô trong A. Chậu đất và bổ sung chất dinh dưỡng có magiê. B. Chậu cát và bổ sung chất dinh dưỡng có magiê. C. Dung dịch dinh dưỡng nhưng không có magiê. D. Dung dịch dinh dưỡng có magiê. Câu 2. Khi làm thí nghiệm trồng cây trong chậu đất nhưng thiếu một nguyên tố khoáng thì triệu chứng thiếu hụt khoáng thường xảy ra trước tiên ở nhưng lá già. Nguyên tố khoáng đó là A. Nitơ. B. Canxi. C. Sắt. D. Lưu huỳnh. Câu 3. Vai trò của phôtpho trong cơ thể thực vật: A. Là thành phần của thành tế bào và màng tế bào, hoạt hóa enzim. B. Là thành phần của protein, axit nucleic. C. Chủ yếu giữ cân bằng nước và ion trong tế bào, hoạt họa enzim, mở khí khổng. D. Là thành phần của axit nucleic, ATP, photpholipit, coenzim; c ần cho n ở hoa, đ ậu quả, phát triển rễ. Câu 4. Khi thiếu photpho, cây có những biểu hiện như A. Lá màu vàng nhạt, mép lá màu đỏ và có nhiều chấm đỏ trên mặt lá. B. Lá nhỏ, có màu xanh đậm, màu của thân không bình th ường, sinh tr ưởng r ễ b ị tiêu giảm. C. Lá mới có màu vàng, sinh trưởng rễ bị tiêu giảm. D. Sinh trưởng còi cọc, lá có màu vàng. Câu 5. Khi thiếu kali, cây có những biểu hiện như A. Lá nhỏ, có màu lục đậm, màu của thân không bình th ường, sinh tr ưởng r ễ b ị tiêu giảm. B. Lá mới có màu vàng, sinh trưởng rễ bị tiêu giảm. C. Sinh trưởng còi cọc, lá có màu vàng. D. Lá màu vàng nhạt, mép lá màu đỏ và có nhiều chấm đỏ trên mặt lá. Câu 6. Vai trò của kali trong cơ thể thực vật: A. Là thành phần của protein và axit nucleic. B. Hoạt hóa enzim, cân bằng nước và ion, mở khí khổng. C. Là thành phần của axit nucleic, ATP, photpholipit, coenzim; cần cho n ở hoa, đ ậu quả, phát triển rễ. D. Là thành phần của thành tế bào và màng tế bào, hoạt hóa enzim. Câu 7. Cây có biểu hiện: lá nhỏ, mềm, mầm đỉnh bị chất là do thiếu A. Photpho. B. Canxi. C. Magie. D. Nitơ. Câu 8. Vai trò chủ yếu của magie trong cơ thể thực vật: A. Chủ yếu giữ cân bằng nước và ion trong tế bào, hoạt hóa enzim, mở khí khổng. B. Là thành phần của axit nucleic, ATP, photpholipit, coenzim; cần cho n ở hoa, đ ậu quả, phát triển rễ. DOC24.VN 1 C. Là thành phần của thành tế bào, màng tế bào, hoạt hóa enzim. D. Là thành phần của diệp lục, hoạt hóa enzim. Câu 9. Khi cây bị vàng, đưa vào gốc hoặc phun lên lá ion khoáng nào sau đây lá cây s ẽ xanh trở lại? A. Mg2+. B. Ca2+. C. Fe3+. D. Na+ Câu Đáp án Đáp án Câu hỏi trắc nghiệm Sinh học 11 1 2 3 4 5 6 7 C A D B DOC24.VN 2 D B B 8 9 D A
- VẺ ĐẸP CỦA PHƯƠNG ĐỊNH TRONG NHỮNG NGÔI SAO XA XÔI Thế hệ trẻ Việt Nam trong cuộc kháng chiến chống Mĩ cứu nước bước vào thơ ca đã có nhiều chân dung quen thuộc và đáng yêu, đáng cảm phục: những chiến sĩ lái xe trong “Bài th ơ về tiểu đội xe không kính” của Phạm Tiến Duật, những cô gái mở đường trong “Kho ảng tr ời hố bom” của Lâm Thị Mĩ Dạ,… Và Lê Minh Khuê – một nhà văn thuộc thế hệ nh ững tác gi ả bắt đầu sáng tác trong thời kì kháng chiến chống Mĩ – cũng đóng góp một chân dung như thế cho văn học nước nhà: cô gái Phương Định trong truyện ngắn “Những ngôi sao xa xôi”. Đó là một nữ chiến sĩ thanh niên xung phong xinh đẹp, trong sáng, giàu tình cảm và dũng c ảm, ngoan cường. Là một cô gái thanh niên xung phong có nhiệm vụ cùng đồng đội san lấp những hố bom trên tuyến đường Trường Sơn lửa đạn, ngày đêm đối mặt với đất bụi, khói bom nh ưng Ph ương Định không hề mất đi vẻ trẻ trung, xinh đẹp của một cô gái mới lớn. Chị là người nhạy cảm và luôn quan tâm đến hình thức của mình. Chị tự đánh giá: “Tôi là con gái Hà N ội. Nói m ột cách khiêm tốn, tôi là một cô gái khá. Hai bím tóc dày, t ương đ ối m ềm, m ột cái c ổ cao, kiêu hãnh như đài hoa loa kèn. Còn mắt tôi thì các lái xe bảo: Cô có cái nhìn sao mà xa xăm”, v ẻ đẹp ấy của chị đã hấp dẫn bao chàng trai ”các anh pháo thủ và lái xe hay hỏi thăm tôi”. Nhưng điều đặc biệt ở Phương Định là không bị ”cái nết đánh chết cái đẹp”; ng ược lại, ch ị đã để sự dũng cảm, ngoan cường và vẻ đẹp tâm hồn trong sáng, giàu tình th ương tôn thêm vẻ đẹpcho mình. Phương Định cùng những người bạn của mình sống và chiến đấu trên một cao điểm, gi ữa một vùng trọng điểm trên tuyến đường Trường Sơn. Chị phải chạy trên cao điểm đánh phá của máy bay địch. Sau mỗi trận bom, chị cùng đồng đội phải lao ra trọng điểm, đo và ước tính khối lượng đất đá bị bom địch đào xới, đếm những quả bom ch ưa n ổ và dùng nh ững khối thuốc nổ đặt vào cạnh nó để phá. Đó là công việc mạo hiểm v ới cái ch ết luôn g ần k ề tạo áp lực khiến thần kinh vô cùng căng thẳng. Thực hiện công việc đó, Phương Định và đồng đội phải vô cùng bình tĩnh và họ đã thực sự bình tĩnh, ung dung m ột cách l ạ th ường. Thậm chí, với họ, công việc ấy đã trở thành bình thường: ”Có ở đâu như thế này không: đ ất bốc khói, không khí bàng hoàng, máy bay đang ầm ì xa dần. Thần kinh căng như chão, tim đập bất chấp cả nhịp điệu, chân chạy mà vẫn biết rằng có nhiều quả bom chưa nổ, nh ưng nhất định sẽ nổ… Rồi khi xong việc, quay lại nhìn đoạn đường một lần nữa, thở phào, chạy về hang”. Mặc dù đã quen với công việc nguy hiểm này, thậm chí một ngày có thể phải phá tới năm quả bom nhưng mỗi lần vẫn là một thử thách tột độ với thần kinh của Ph ương Đ ịnh. T ừ khung cảnh và không khí chứa đầy căng thẳng đến cảm giác là các anh cao xạ ở trên kia cùng đang theo dõi từng động tác cử chỉ của mình để lòng dũng cảm ở cô như được kích thích b ởi s ự t ự trọng: ’’Tôi đến gần quả bom… đàng hoàng mà bước tới”. Ở bên quả bom, kề sát với cái chết im lìm và bất ngờ, từng cảm giác của con người như cũng trở nên sắc nhọn hơn: “Th ỉnh thoảng lưỡi xẻng… dấu hiệu chẳng lành”. Sống giữa nơi sự sống và cái chết tranh giành nhau từng li một như thế nhưng Phương Đ ịnh không để tâm hồn mình mòn đi. Chị rất giàu tình cảm với đồng chí, đ ồng đ ội, quê h ương và vô cùng lạc quan yêu đời. Giống như hai người đồng đội trong tổ trinh sát, Phương Định yêu mến những người đồng độitrong tổ và cả đơn vị của mình. Đặc biệt, cô yêu mến và cảm phục tất c ả nh ững ng ười chiến sĩ mà hằng đêm cô gặp trên trọng điểm của những con đường vào mặt trận. Phương Định đã lo lắng, sốt ruột khi đồng đội lên cao điểm chưa v ề. Ch ị yêu th ương và g ắn bó v ới bạn bè nên có những nhận xét tốt đẹp đầy thiện cảm về Nho, phát hiện ra v ẻ đ ẹp d ễ th ương ”nhẹ, mát như một que kem trắng” của bạn. Chị còn hiểu và đồng cảm sâu sắc v ới nh ững s ở thích và tâm trạng của chị Thao. Phương Định cũng là người con gái có một thời học sinh hồn nhiên, vô tư bên người mẹ thân thương trong một căn buồng nhỏ nằm trên một đường phố yên tĩnh h ồi ở Hà N ội còn thanh bình trước chiến tranh. Những kỉ niệm ấy luôn sống lại trong cô giữa chiến tr ường d ữ d ội. Nó là niềm khao khát làm dịu mát tâm hồn trong hoàn cảnh căng th ẳng, kh ốc li ệt c ủa chi ến trường. Vào chiến trường đã ba năm, làm quen với những thử thách hiểm nguy, giáp mặt hàng ngày với cái chết nhưng ở Phương Định không mất đi sự hồn nhiên trong sáng và cả những mơ ước về tương lai: ’’Tôi thích nhiều bài hát, dân ca quan họ dịu dàng, dân ca Ý trữ tình giàu có”. “Những ngôi sao xa xôi” của Lê Minh Khuê đã miêu tả chân thực và sinh động tâm lí nhân vật. Tác phẩm được kể từ ngôi thứ nhất tạo thuận lợi để tác giả miêu tả thế giới n ội tâm qua việc để nhân vật tự sự về mình. Phương Định là cô thanh niên xung phong trên tuyến đường huyết mạch Tr ường S ơn nh ững ngày kháng chiến chống Mĩ. Qua nhân vật này, chúng ta hiếu hơn th ế h ệ tr ẻ Vi ệt Nam trong những năm tháng hào hùng ấy. Bước chân lên đường đánh Mĩ, những chàng trai, cô gái thanh niên xung phong tuổi đời còn rất trẻ, có những người vừa rời ghế nhà trường. Tâm hồn các anh, các chị trong trẻo, đầy ước mơ, khao khát và đặc biệt là giàu lí tưởng. Chính những kỉ niệm êm đ ẹp v ề gia đình nh ư k ỉ niệm về người mẹ trên căn gác nhỏ của Phương Định hay những những kỉ niệm v ề bàn bè, mái trường,… là hành trang để các anh, các chị mang vào trận chiến. S ống gi ữa n ơi đ ầu tên mũi đạn họ chiến đấu và hoàn thành nhiệm vụ một cách ngoan cường, dũng cảm. Ai bảo không có những phút giây yếu lòng, lo lắng? Ai bảo tâm h ồn h ọ là thép là đá? Không. Con tim họ cũng biết run lên khi tiếng súng phát nổ. Thần kinh họ cũng căng ra khi quan sát trái bom… Nhưng điều đáng quý và điều làm nên sự khác biệt ở họ là các anh các ch ị đã gi ữ đ ược tâm hồn trong trẻo, giàu yêu thương đối với gia đình, đồng đội, đất nước. Và rồi, chính những tình cảm cao đẹp đó đã trở thành động lực để họ chiến thắng những phút giây hi ểm nguy, nao núng. Các anh các chị thực sự là “… những con người Việt Nam đẹp nhất / Bi ết căm thù và cũng biết yêu thương” như nhà thơ Tố Hữu từng ca ngợi. Không tiếc tuổi thanh xuân, họ hiến dâng trọn vẹn cho Tố quốc những gì quý giá nhất: “Xẻ dọc Trường Sơn đi đánh Mĩ Mà lòng phơi phới dậy tương lai”. Đọc “Những ngôi sao xa xôi” của Lê Minh Khuê, người đọc thấy khâm phục và yêu mến Phương Định trước hết bởi những nét tính cách đáng quý của cô. Nh ưng không ch ỉ vậy, qua nhân vật này chúng ta còn cảm nhận được hình ảnh, tâm hồn thế hệ trẻ Việt Nam trong những năm kháng chiến chống Mĩ hào hùng gian khó. Và đây cũng là thành công quan trọng nhất của tác phẩm giàu chất nhân văn này.
- THI THỬ ONLINE Đề thi do các giảng viên Trường ĐH Bách khoa cùng giảng viên các trường thành viên ĐH Quốc gia TP.HCM biên soạn. THỬ SỨC NGAY Time limit: 02:29:01 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Answered Review PHẦN 1. NGÔN NGỮ – 1.1 TIẾNG VIỆT 1. Câu thơ nghĩ đắn đo không viết Viết đưa ai, ai biết mà đưa Giường kia treo cũng hững hờ Đàn kia gảy cũng ngẩn ngơ tiếng đàn. (Khóc Dương Khuê, Nguyễn Khuyến) Đoạn thơ trên được viết theo thể thơ: A. Song thất lục bát B. Tự do www.MATHVN.com 2 C. Lục bát D. Thất ngôn 2. Đáp án nào thể hiện nội dung chủ yếu và sâu sắc nhất của bài thơ Đàn ghi ta của Lor-ca (Thanh Thảo)? A. Âm thanh mộc mạc, truyền cảm của cây đàn ghi ta B. Di nguyện của nhà thơ Gar-xi-a Lor-ca dành cho thế hệ sau C. Vẻ đẹp của thiên nhiên và con người Tây Ban Nha D. Vẻ đẹp bi tráng của hình tượng Gar-xi-a Lor-ca 3. Từ nào bị sử dụng sai trong hai câu sau: Hôm qua, tôi ngẫu nhiên gặp lại thầy giáo đã dạy tôi thuở thiếu thời. Những điều thầy truyền tụng tôi vẫn còn nhớ mồn một. A. Mồn một B. Truyền tụng C. Thiếu thời D. Ngẫu nhiên 4. Chọn từ đúng để điền vào chỗ trống: Trai khôn tìm vợ chợ … Gái khôn tìm chồng giữa chốn ba quân. A. Khuya 2 B. Không C. Xa D. Đông www.MATHVN.com 5. “Một vẻ đẹp vừa hiện đại vừa dân dã” trong câu “Nhan sắc của hoa hậu H’hen Niê đã thay đổi quan niệm thông thường về cái đẹp của người Việt Nam, một vẻ đẹp vừa hiện đại vừa dân dã” là thành phần nào trong câu? A. Thành phần tình thái B. Thành phần gọi đáp C. Thành phần phụ chú D. Thành phần cảm thán 6. Câu nào trong câu sau đây là sai? A. Anh ta thông minh nhưng lười biếng quá! B. Chiếc túi này tuy hơi lớn và đẹp. C. Quán cà phê này vừa ngon lại vừa gần nhà tôi. D. Anh Nam vẫn quyết tâm đá đến hết trận đấu bằng đôi chân chấn thương của mình. 7. Từ nào bị sử dụng sai trong câu sau: Người ta có thể ghét anh khi đọc những vụ lùm xùm trên báo chí, nhưng nếu gặp anh trực tiếp ngoài đời, khó mà có thiện cảm xấu với anh được. A. Lùm xùm B. Xấu C. Thiện cảm D. Trực tiếp 8. Chọn từ đúng định nghĩa và đúng chính tả cho cụm từ sau Nghèo túng và khốn đốn hết sức A. cùng quẩn www.MATHVN.com 2 B. cùng quẫn C. cùn quẫn D. cùn quẩn 9. Đọc đoạn hội thoại sau. Hùng: Lan ơi! Đi học thôi! Lan: Đợi tớ tí! Tớ đang tìm cuốn tập Anh văn! Hùng: Mau mau lên chứ! Không tớ đi trước đấy! Nếu phân loại theo mục đích nói, câu “Mau mau lên chứ!” là: A. Câu cảm thán B. Câu trần thuật C. Câu nghi vấn D. Câu cầu khiến 10. Chọn từ viết đúng chính tả trong các từ sau: A. hãng hữu B. hảng hữu C. hãn hữu D. hản hữu Sông Hương là vậy, dòng sông của thời gian ngân vang, của sử viết giữa màu cỏ lá xanh biếc. Khi nghe lời gọi, nó biết cách tự biến đời mình làm một chiến công, để rồi nó trở về với cuộc sống bình thường, làm một người con gái dịu dàng của đất nước. (Ai đã đặt tên cho dòng sông – Hoàng Phủ Ngọc Tường) www.MATHVN.com 2 Đáp án nào dưới đây xác định đúng phép liên kết của hai câu văn trên? A. Hai câu trên không dùng phép liên kết B. Hai câu trên được liên kết với nhau bằng phép liên tưởng C. Hai câu trên được liên kết với nhau bằng phép thế D. Hai câu trên được liên kết với nhau bằng phép lặp 12. Từ “âu” trong câu “Một duyên hai nợ âu đành phận” biểu thị nghĩa tình thái nào? A. Nghĩa tình thái chỉ sự việc có khả năng xảy ra B. Nghĩa tình thái chỉ phán đoán/nhận định của cá nhân người viết/người nói C. Nghĩa tình thái chỉ sự việc được nhận thức như một chân lý D. Nghĩa tình thái chỉ sự việc đã xảy ra 13. Tác dụng của dấu ba chấm (dấu chấm lửng) trong nhan đề bài báo Nằm viện nhưng không được… ngủ qua đêm (Tuổi Trẻ Online, ngày 02/03/2019) là để: A. Người viết không muốn nói hết ý mình mà người đọc vẫn hiểu những ý không nói ra B. Biểu thị còn những ý khác mà người viết không thể liệt kê hết ở đây C. Biểu thị sự kéo dài âm thanh, tạo dư âm cho lời nói D. Biểu thị sự châm biếm và gây bất ngờ cho người đọc 14. www.MATHVN.com 2 Em không nghe mùa thu Dưới trăng mờ thổn thức? Em không nghe rạo rực Hình ảnh kẻ chinh phu Trong lòng người cô phụ? (Tiếng thu, Lưu Trọng Lư) Đoạn thơ trên thuộc dòng thơ: A. Thơ mới B. Dân gian C. Hiện đại D. Trung đại 15. Tác phẩm nào dưới đây được xem như “tiếng khóc bi tráng cho một thời kỳ lịch sử đau thương nhưng vĩ đại của dân tộc”? A. Đại cáo bình Ngô (Nguyễn Trãi) B. Hịch tướng sĩ (Trần Quốc Tuấn) C. Văn tế Phan Châu Trinh (Phan Bội Châu) D. Văn tế nghĩa sĩ Cần Giuộc (Nguyễn Đình Chiểu) Câu 16 – 20: Dựa vào các thông tin được cung cấp dưới đây để trả lời các câu hỏi. Ngồi cùng trang giấy nhỏ Tôi đi học mỗi ngày Tôi học cây xương rồng Trời xanh cùng nắng, bão Tôi học lời con trẻ Về thế giới sạch trong Tôi học lời già cả Về cuộc sống vô cùng Tôi học lời chim chóc www.MATHVN.com 2 Tôi học trong nụ hồng Màu hoa chừng rỏ máu Tôi học lời ngọn gió Chẳng bao giờ vu vơ Tôi học lời của biển Đừng hạn hẹp bến bờ Đang nói về bình minh Và trong bia mộ đá Lời răn dạy đời mình (Ngụ ngôn của mỗi ngày, Đỗ Trung Quân) 16. Biện pháp tu từ chủ yếu được tác giả sử dụng trong bài thơ trên là: A. Điệp cấu trúc B. So sánh C. Ẩn dụ D. Hoán dụ 17. Trong bài thơ trên, hình ảnh “cây xương rồng” đã dạy “tôi” lối sống như thế nào? A. Sống đoàn kết B. Sống nhân ái C. Sống kiên cường D. Sống vị tha 18. Trong hai câu thơ “Tôi học lời của biển/ Đừng hạn hẹp bến bờ”, tác giả đã sử dụng biện pháp tu từ nào? A. So sánh B. Nhân hóa www.MATHVN.com 2 C. Hoán dụ D. Ẩn dụ 19. Hình ảnh “bia mộ đá” trong khổ thơ cuối tượng trưng cho điều gì? A. Thời gian B. Cái chết C. Nỗi đau D. Tuổi già 20. Đáp án nào thể hiện chính xác nhất ý nghĩa tựa đề Ngụ ngôn của mỗi ngày? A. Những bài học đơn giản mà sâu sắc từ thiên nhiên và cuộc sống thường ngày B. Những triết lý nhân sinh mà từng ngày nhà thơ chiêm nghiệm được C. Hình ảnh thiên nhiên tươi đẹp, phong phú diệu kỳ quanh nhà thơ D. Cuộc đời với những thăng trầm, biến cố qua từng ngày PHẦN 1. NGÔN NGỮ – 1.2 TIẾNG ANH Questions 21 – 25: Choose a suitable word or phrase (marked A, B, C, or D) to ll in each blank. 21. The student lied to the teacher that he ______ 40 pages of the book. A. has read 2 B. had read C. was reading D. had been reading www.MATHVN.com 22. ______ anything wrong with this device, you can ring us for a refund or exchange. A. Were there to be B. Should there be C. If there had been D. Had there been 23. The questions ______ by the last judge really puzzled the young competitor, and she began to sweat. A. posing B. were posed C. posed D. been posed 24. Inhabitants on this island depend on shing and netting for their ______. A. lifestyle B. living standard C. lifecycle D. livelihood 25. We are very proud that our home team came only second ______ the team from Canberra. A. to B. after C. behind 2 D. for Questions 26 – 30: Each of the following sentences has one error (A, B, C, or D). Find it and blacken your www.MATHVN.com choice on your answer sheet. 26. As soon as the star will arrive (A) in Bangkok, the well-trained (B) reporters will be in the hunt for (C) information about her (D) tour. A. B. C. D. 27. About 200 million (A) years before (B), all the continents (C) were part of (D) one vast land mass called Pangaea. A. B. C. D. 28. The contestant accompanied by (A) her ve teachers has been (B) well prepared for (C) the nal which will be broadcast alive (D) on TV. A. B. C. D. 29. Gone with the wind written (A) after Margaret Mitchell quit (B) her job as (C) a reporter because of (D) an ankle injury. A. B. C. www.MATHVN.com 2
- BỘ NÔNG NGHIỆP VÀ PHÁT TRIỂN NÔNG THÔN TRƯỜNG CAO ĐẲNG CƠ ĐIỆN HÀ NỘI HỘI GIẢNG NHÀ GIÁO GIÁO DỤC NGHỀ NGHIỆP THÀNH PHỐ HÀ NỘI NĂM 2020 Giáo viên: Võ Thị Hường Đơn vị: Trường Cao đẳng Cơ điện Hà Nội TRƯỜNG CAO ĐẲNG CƠ ĐIỆN HÀ NỘI CƠ SỞ 1 Mai Dịch, Cầu Giấy, Hà Nội CƠ SỞ 3 Xuân Hòa, Phúc Yên, Vĩnh Phúc CƠ SỞ 2 Phan Trọng Tuệ, Thanh Trì, Hà Nội TRƯỜNG CAO ĐẲNG CƠ ĐIỆN HÀ NỘI CAO ĐẲNG TRUNG CẤP SƠ CẤP 22 nghề trình độ Cao đẳng và Trung cấp 11 nghề trình độ Sơ cấp 10% 90% Trên 90% sinh viên có việc làm ngay sau khi tốt nghiệp 02 07 09 nghề cấp độ quốc tế nghề trọng điểm nghề chất lượng cao PHÂN PHỐI CHƯƠNG TRÌNH ĐÀO TẠO Bài 1: Xử lý ngoại lệ và VS.NET LẬP TRÌNH WINDOWS 2 (LT: 30h; TH: 60h) Bài 2: Thực đơn Bài 3: Thanh trạng thái Bài 4: Các hộp thoại Bài 5: Các hộp thoại tập tin Bài 6: Các đối tượng Bài 7: Một số tính năng khác Bài 8: Truy cập và xử lý cơ sở dữ liệu Bài 9: Lập báo cáo với CrystalReport VỊ TRÍ BÀI GIẢNG Bài 8. Truy cập và xử lý cơ sở dữ liệu (20) (6) 8.1 Tổng quan về ADO.NET 1 1 8.2 Thao tác dữ liệu với DataSet 1 8.3 Thao tác với CSDL bằng mô hình kết nối 1 8.4 Thao tác CSDL bằng mô hình phi kết nối (13) 1 1 8.5 Nâng cấp các thao tác dữ liệu từ các đối tượng trong ADO.NET 2 8.6 Tìm kiếm, trích lọc dữ liệu 1 8.7 ADO.NET Entity Framework 1 1 3 1 2 8.8 Sử dụng LINQ 3 1 2 8.9 Xây dựng hệ thống quản lý 7 6 1 Ai là người may mắn? 1 2 3 4 5 6 Ai là người may mắn? 1 2 3 4 5 6 Ai là người may mắn? 1 2 3 4 5 6 Ai là người may mắn? SqlCommand 1 DataSet 2 SqlDataRead er 4 DataTable 5 System.Data SqlConnectio n 3 6 MỤC TIÊU Xác định được các đối tượng thuộc mô hình phi kết nối. Thao tác được với CSDL SQL Server bằng mô hình phi kết nối theo yêu cầu bài toán đảm bảo đúng trình tự thực hiện, trong khoảng thời gian 10 phút. Phòng tránh được các lỗi thường gặp. Tuân thủ nội quy phòng máy tính, thể hiện được tính độc lập, tự giác, cẩn thận trong công việc.
- Thứ năm ngày 13 tháng 4 năm 2017 Toán * Đặt tính rồi tính: 96969 : 3 16570 : 5 Thứ năm ngày 13 tháng 4 năm 2017 Toán Chia số có năm chữ số cho số có một chữ số (TT) 12485 : 3 = ? 12485 04 18 05 2 3 416 1 * 12 chia 3 ®îc 4, viÕt 4. 4 nh©n 3 b»ng 12; 12 trõ 12 b»ng 0. Viết 0 * H¹ 4, 4 chia 3 ®îc 1, viÕt 1 1 nh©n 3 b»ng 3, 4 trõ 3 b»ng 1. 18: 18 chia 3 ®îc 6, *1. H¹Viết 8;được 6 nh©n viÕt 6. 3 b»ng 18, 18 trõ 18 b»ng 0. Viết 0. * H¹ 5; 5 chia 3 ®îc 1, viÕt 11 nh©n 3 b»ng 3, 5 trõ 3 b»ng 2. Viết 2. 12485 : 4 = 4161 (dư 2) Thứ năm ngày 13 tháng 4 năm 2017 Toán Chia số có năm chữ số cho số có một chữ số (TT) Bài 1: TÝnh 2 14729 7364 07 12 09 1 3 4 16538 25295 15 5514 12 6323 03 09 08 15 2 3 Thứ năm ngày 13 tháng 4 năm 2017 Toán Chia số có năm chữ số cho số có một chữ số (TT) * Bài 2: Có 10250m vải, may mỗi bộ quần áo hết 3m . Hỏi có thể may được nhiều nhất bao nhiêu bộ quần áo và còn thừa mấy mét vải ? Tóm tắt 3m : 1 bộ. 10250 m : … bộ? (thừa : … m?) Bài giải 10250 : 3 = 3416 ( dư 2) Vậy có 10250 mét vải thì may được 3416 bộ quần áo và còn thừa 2 mét vải. Đáp số: 3416 bộ quần áo, thừa 2 mét vải. Thứ năm ngày 13 tháng 4 năm 2017 Toán Chia số có năm chữ số cho số có một chữ số (TT) Bài 3: số ? Số bị chia Số chia Thương Số dư 15725 3 5241 2 33272 4 8318 0
- NHIỆT LIỆT CHÀO MỪNG QUÝ THẦY CÔ GIÁO VỀ DỰ GIỜ THĂM LỚP Tiết: Toán Lớp: 2A8 GV: Bùi Thị Nhã Giáo viên: Bùi Thị Nhã Trường: Tiểu học Cát Bi Kiểm tra bài cũ : Đặt tính rồi tính : 14 - 5 14 - 7 Toán Bài toán : Có 34 que tính, bớt đi 8 que tính. Hỏi còn lại bao nhiêu que tính? 34 – 8 = ? 34 – 8 =? 34 – 8 = 26 34 – 8 =? 34 .8 26 34 – 8 = 26 *4 không trừ được 8, Lấy 14 trừ 8 bằng 6, viết 6,nhớ 1 *3 trừ 1 bằng 2,viết 2 Trò chơi Trò chơi Câu 1: Phép tính 94 - 9 thuộc dạng phép tính nào? a. 34 – 8 b. 32 – 5 1 giờ 3 2 Hết Câu 2: Phép tính nào đúng ? a. 54 5 b. 64 7 51 57 1 giờ 3 2 Hết Câu 3: Một cửa hàng có 24 kg táo, đã bán 6 kg. Hỏ còn bao nhiêu ki- lô- gam táo? a. 18 quả táo b. 18 kg táo 1 giờ 3 2 Hết
-
ĐỀ SỐ 50 – CHUYÊN LONG AN-HKI-1819-HỆ KC
I – PHẦN TRẮC NGHIỆM (5 điểm)
Câu 1.
2
[0D3.2-3] Tìm tất cả giá trị m để phương trình mx - 3 ( m +1) x - 2 =0 có hai nghiệm trái
dấu.
A. m >0 .
B. m <0 .
C. m >2 .
D. - 1
- SỞ GD&ĐT NINH BÌNH THPT CHUYÊN LƯƠNG VĂN TỤY ĐỀ THI THỬ THPT QG LẦN 1 NĂM 2018-2019 MÔN: VẬT LÝ 12 Thời gian làm bài: 50 phút; (40 câu trắc nghiệm) Mã đề: 132 Câu 1: Đặt một điện áp u = U0cos(ωt)(V) vào hai đầu đoạn mạch gồm điện trở R, tụ điện có điện dung C và dây thuần cảm hệ số tự cảm L mắc theo đúng thứ tự trên. Trong đó tụ điện C không thay đổi, R và L thay đổi được. Ứng với mỗi giá trị R, gọi L1, L2 lần lượt là giá trị L để uRC = U01sinωt (V) và để trong mạch có cộng hưởng. Hình bên là đồ thị biểu diễn sự phụ thuộc của x = L1 – L2 theo R. Giá trị của điện dung C gần đúng với giá trị nào sau đây. A. 540 nF B. 490 nF C. 450 nF D. 590 nF x(mH) 1 O 20 R () Câu 2: Một vật chuyển động tròn đều xung quang điểm O đường kính 60 cm được gắn một thiết bị thu âm. Hình chiếu của vật này lên trục Ox đi qua tâm của đường tròn chuyển động với phương trình A = Acos(10t + φ) .Một nguồn phát âm đằng hướng đặt tại điểm M trên trục Ox và cách O một khoảng 120 cm. Tại thời điểm t = 0, mức cường độ âm đo được có giá trị nhỏ nhất và bằng 50 dB. Tại thời điểm mà hình chiếu của vật đạt tốc độ 1, 5 3m / s lần thứ 2018 thì mức cường độ âm đo được có giá trị gần với giá trị nào sau đây A. 51 dB B. 53 dB C. 55 dB D. 58dB Câu 3: Cho hai dao động cùng phương, có phương trình lần lượt là x1 = 10cos(100πt − 0,5π), x2 = 10cos(100πt + 0,5π) (cm). Độ lệch pha của hai dao động có độ lớn là: A. 0,25π B. 0 C. 0,5π D. π Câu 4: Khi nới về sóng điện từ, tìm phát biểu sai A. Sóng điện từ là sóng nang và truyền được trong chân không B. Với một sóng điện từ khi truyền qua các môi trường khác nhau thì tấn số sóng luôn không đổi C. Tại mỗi một điểm trên phương trình truyền sóng, điện trường và từ trường luôn dao động vuông pha D. Sóng điện từ truyền được trong mọi môi trường vật chất với tốc độ bằng tốc độ ánh sáng trong môi trường đó Câu 5: Trong mạch dao động LC lí tưởng có dao động điện từ tự do. Gọi q là điện tích của một bản tụ điện và i là cường độ dòng điện trong mạch. Phát biểu nào sau đây đúng? A. i ngược pha với q B. i cùng pha với q C. i lệch pha π/2 so với q D. i lệch pha π/4 so với q Câu 6: Dòng điện xoay chiều chạy qua một đoạn mạch chỉ có cuộn dây thuần cảm có độ tự cảm L=1/ππ(H) có 6 biểu thức i = 2 2 cos 100t − (A) t tính bằng giây. Biểu thức điện áp xoay chiều giữa hai đầu đoạn mạch này là: 3 A. u = 200 cos 100t + V 6 C. u = 200 3 cos 100t − V 3 D. u = 200 2 cos 100t − V 2 B. u = 200 2 cos 100t + V Câu 7: Hệ thức nào sau đây có cùng thứ nguyên (đơn vị) với tần số góc ω? A. C/L B. L/C C. 1/RC D. 1/RL Câu 8: Một sóng có tần số 10 Hz và bước sóng 3 cm. Tốc độ truyền sóng là: A. 30 m/s B. 30 cm/s C. 15 cm/s D. 1/3 cm/s Câu 9: Những đại lượng sau, đại lượng nào không phải là đặc trưng sinh lý của âm? A. Tần số B. Âm sắc C. Độ to D. Độ cao Câu 10: Một con lắc đơn dao động điều hoà vơi tần số góc 4 rad/s tại một nơi có gia tốc trọng trường g = 10 m/s2. Chiều dài dây treo con lắc là: A. 62,5 cm B. 50 cm C. 81,5 cm D. 125 cm Câu 11: Trên mặt nước tại hai điểm S1, S2 có hai nguồn sóng dao động cùng pha theo phương thẳng đứng, phát ra sóng kết hợp bước sóngλλ. Trên đường tròn đường kính S1S2 có 26 cực đại dao thoa, trong các cực đại thuộc vân bậc nhất dao động cùng pha với các nguồn. Độ dài S1S2 gần giá trị nào nhất sau đây A. 6,7λ B. 6,1λ C. 6,4λ D. 7λ Câu 12: Một dòng điện xoay chiều chạy qua điện trở R = 10thì nhiệt lượng toả ra trong 30 phút là 9.105 J. Biên độ của cường độ dòng điện là: A. 5 2A B. 20A C. 5A D. 10A Câu 13: Một vật khối lượng m = 100g dao động điều hoà với phương trình x=10cos(2πt+φ) ,t tính bằng giây. Hình chiếu lên trục Ox của hợp lực tác dụng lên vật có biểu thức: A. Fx = −0, 4 cos ( 2t + )( N ) B. Fx = 0, 4 cos ( 2t + )( N ) C. Fx = 0, 4 cos ( 2t + )( N ) D. Fx = −0, 4 cos ( 2t + )( N ) Câu 14: Khi sóng âm truyền từ môi trường kông khí vào môi trường nước thì A. Tần số của nó không thay đổi B. Bước sóng của nó giảm C. Bước sóng của nó không thay đổi D. Chu kì của nó tăng Câu 15: Điện năng được truyền từ nơi phát đến một khu dân cư bằng đường dây tải một pha. Những ngày bình thường thì hiệu suất truyền tải là 90%. Nhưng vào một ngày nắng nóng, lượng điện tiêu thụ tăng trên 64% so với ngày thường. Coi hao phí chỉ do toả nhiệt trên đường dây, hệ số công suất trong các trường đều hợp bằng: Giữ nguyên điện áp nơi phát thì công suất phát vào ngày nắng nóng đã tăng lên bao nhiêu lần so với ngày thường và hiệu suất truyền tải ngày nắng nóng bằng bao nhiêu A. 1,8 và 82% B. 1,8 và 30% C. 1,6 và 84% D. 1,6 và 80% Câu 16: Đặt một điện áp xoay chiều u = U0cosωt vào hai đầu đoạn mạch chỉ có tụ điện. Nếu điện dung của tụ điện không đổi thì dung kháng của tụ sẽ là A. Không thuộc tần số của dung điện B. Giảm khi tần số của dòng điện giảm C. Tăng khi tần số của dòng điện tăng D. Giảm khi tần số của dòng điện tăng Câu 17: Lực kéo về tác dụng lên một chất điểm dao động điều hoà có độ lớn A. Tỉ lệ với độ lớn của li độ và luôn hướng về vị trí cân bằng B. Tỉ lệ với bình phương biên độ C. Tỉ lệ với độ lớn của li độ và luôn hướng không đổi D. Không đổi nhưng hướng thay đổi Câu 18: Chọn câu trả lời không đúng A. Hiện tượng biên độ dao động cưỡng bức tăng nhanh đến một giá trị cực đại khi tần số của lực cưỡng bức bằng tần số riêng của hệ dao động được gọi là sự cộng hưởng B. Hiện tượng cộng hưởng xảy ra khi ngoại lực cưỡng bức lớn hơn lực ma sát gât tắt dần C. Biên độ của dao động cưỡng bức khi có cộng hưởng càng lớn khi ma sát càng nhỏ D. Hiện tượng cộng hưởng có thể có lợi hoặc có hại trong đời sống và kĩ thuật Câu 19: Tìm phát biểu sai khi nói về sóng âm A. Đơn vị mức cường độ âm là dB và 1 dB = 0,1B B. Sóng siêu âm truyền được trong chân không C. Sóng hạ âm không truyền được trong chân không D. Sóng âm truyền trong sắt nhanh hơn trong nước Câu 20: Một sóng cơ học lan truyền trong một môi trường mô tả bởi phương trình u(x,t)=0,05cosπ(2t - 0,01x) , trong đó u và x đo bằng mét và t đo bằng giây. Tại một thời điểm đã cho độ lệch pha của hai phần từ nằm trên cùng phương truyền sóng cách nhau 25m là: A. 5π/2 rad B. 5/2 rad C. 1/4 rad D. π/4 rad Câu 21: Cho mạch dao động LC có phương trình dao động là: q = Q0cos2π107t (C). Nếu dùng mạch trên thu sóng điện từ thì bước sóng thu được có bước sóng là: A. 60π m B. 10m C. 20m D. 30m Câu 22: Cho một con lắc đặt trên mặt phẳng ngang gồm vật nhỏ khối lượng 100g và lò xo có độ cứng 40 N/m. Ban đầu, lò xo đứng yên ở vị trí không biến dạng, mặt phẳng ngang phía bên trái của vật nhẵn bóng còn phía bên phải bị nhăn. Đẩy vật nhỏ theo phương dọc trục lò xo để lò xo bị nén 10 cm rồi buông nhẹ. Tốc độ lớn nhất vật nhỏ đạt được trong quá trình chuyển động từ phải qua trái là 1,6 m/s. Lấy g = 10 m/s2. Hệ số ma sát giữa vật và mặt nhám gần giá trị nào nhất sau đây: A. 0,39 B. 0,24 C. 0,12 D. 0,31 Câu 23: Con lắc lò xo có độ cứng k = 50 N/m và vật nặng m = 0,15 kg tác dụng lên con lắc một ngoại lực biến đổi điều hoà theo thời gian với phương trình F = F0cos10πt. Sau một thời gian ta thấy vật dao động ổn định trên một đoạn thẳng dài 10 cm. Tốc độ cực đại của vật có giá trị bằng : A. 50π cm/s B. 100π cm/s C. 100 m/s D. 50 cm/s Câu 24: Một vật tham gia đồng thời hai dao động điều hoà cùng phương có phương trình lần lượt là : x1 = 3cos(10t + π/6) cm và x2 = 4cos(10t − π/3) cm .Biên độ dao động tổng hợp của vật là : A. 25 cm B. 5cm C. 7cm D. 1cm Câu 25: Phát biểu nào sai khi nói về điện từ ? A. Sóng điện từ dùng trong thông tin vô tuyến gọi là sóng vô tuyến B. Trong sóng điện từ , điện thường và từ trường biển thiên theo thời gian với cùng chu kì C. Trong sóng điện từ , điện thường và từ trường luôn dao động lệch phía nhau π/2 D. Sóng điện từ là sự lan truyền trong không gian của điện từ trường biến thiên theo thời gian Câu 26: Cho mạch điện xoay chiều gồm cuộn cảm thuần , điện trở R và tụ điện mắc nối tiếp .Điện trở R = 100Ω, tụ điện C có thể thay đổi ngược .Đặt vào hai đầu đoạn mạch điện áp xoay chiều ổn định điện áp hiệu dụng U=200V và tần số không đổi . Thay đổi C để ZC = 200Ω Thì điện áp hiệu dụng giữa hai đầu đoạn R-C là URC đạt cực đại . Khi đó giá trị của URC là: A. 400V B. 200V C. 300V D. 100V Câu 27: Một vật dao động điều hoà theo phương trình x = 6cos(πt) cm. Tại thời điểm t=0,5s. Vận tốc của chất điểm có giá trị : A. 6π cm/s B. 3π cm/s C. 2π cm/s D. -6π cm/s Câu 28: Hai nguồn sóng cơ kết hợp A và B dao động cùng pha đặt cách nhau 60 cm. Bước sóng bằng 1,2 cm. Điểm M thuộc miền giao thoa sao cho tam giác MAB vuông cân tại M. Dịch chuyển nguồn A ra xa B dọc theo phương AB một đoạn 10 cm. Số lần điểm M chuyển thành điểm sao động với biên độ cực đại là A. 7 lần B. 8 lần C. 6 lần D. 5 lần Câu 29: Một con lắc đơn dài 25 cm, hòn bi có khối lượng 10 g ,ang điện tích q = 10-4C. Lấy g = 10 m/s2. Treo con lắc đơn giữa hai bản kim loại song song thẳng đứng cách nhau 20 cm. Đặt hai bản dưới hiệu điện thế một chiều 80V. Chu kì dao động của con lắc đơn với biên độ góc nhỏ là: A. 2,92 s B. 0,91 s C. 0,96 s D. 0,58 s Câu 30: Khi nói về sóng cơ, phát biểu nào sau đây sai? A. Sóng cơ lan truuyền được trong chất lỏng B. Sóng cơ lan truyền được trong chất rắn C. Sóng cơ lan truyền được trong chân không D. Sóng cơ lan truyền được trong chất khí Câu 31: Một sóng cơ truyền dọc theo trục Ox. Phương trình dao động của phần tử tại một điêm trên phương truyền sóng là u = 4cos(20πt − π) (u tính bằng mn, t tính bằng giây). Biểt tốc độ truyền sóng bằng 60 cm/s. Bước sóng của sóng này là: A. 3cm B. 9cm C. 6cm D. 5cm Câu 32: Một vật có khối lượng 100g dao động điều hoà, khi hợp lực tác dụng lên vật có độ lớn 0,8N thì vật đạt tốc đoọ 0,6 m/s. Khi hợp lực tác dụng lên vật có độ lớn 0,5 2N tốc độ của vật là 0, 5 2 m/s. Cơ năng của vật là: A. 0,5 J B. 2,5 J C. 0,05 J D. 0,25 J Câu 33: Một sợi dây đàn hồi đang có sóng dừng. Dao động của các phân tử giữa hai nút sóng liền kề có đặc điểm là: A. Cùng biên độ, khác pha B. Ngược pha C. Cùng tần số, cùng biên độ D. Cùng pha Câu 34: Trong hệ trục toạ độ Oxy, đồ thị quan hệ giữa điện áp hai đầu cuộn cảm thuần và dòng điện trong mạch điện xoay chiều là: A. Đường thẳng B. Đường hình sin C. Đường paranol D. Đường elip Câu 35: Một vật nhỏ dao động điều hoà với phương trình x = 8cos(10πt)cm. Thời điểm vật đi qua vị trí x= −4cm ngược chiều dương lần thứ 2 kể từ thời điểm ban đầu là: A. 7/30 s B. 4/15 s C. 1/10 s D. 4/10 s Câu 36: Phát biểu nào sau đây đúng: Hiện tượng cộng hưởng chỉ xảy ra với dao động A. Cưỡng bức B. Tự do C. Điều hoà D. Tắt dần Câu 37: Một con lắc đơn có phương trình động năng như sau: Wd = 1 + 1cos (10t + / 3)( J ) .Hãy xác định tần số của dao động A. 20 Hz B. 2,5 Hz C. 5 Hz D. 10 Hz Câu 38: Trên dây dài 24cm, hai đầu cố định, đang có sóng dừng với 2 bụng sóng. Khi đầu duỗi thẳng, gọi M.N là 2 điểm chia sợi dây thành 3 đoạn bằng nhau. Tỉ số khoẳng cách lớn nhất và nhỏ nhất giữa 2 điểm M,N thu được bằng 1,25. Biên độ dao động tại bụng sóng bằng A. 5cm B. 3 3cm C. 4cm D. 2 3cm Câu 39: Dòng điện trong mạch dao động LC có biểu thức I = 55sin(2500t + π/3)(mA) . Tụ điện trong mạch có điện dung C = 750nF. Độ tự cảm L của cuộn dây là A. 125 mH B. 374 mH C. 426 mH D. 213 mH Câu 40: Một con lắc lò xo dao động điều hoà dọc theo trục Ox với tần số góc ω. Tại thời điểm ban đầu t=0, vật qua vị trí cân bằng theo chiều dương trục toạ độ. Thời điểm vật có gia tốc a = v( với v là vận tốc của vật) lần thứ 3 là 11/32s ( tính từ lúc t=0). Trong một chu kì, khoảng thời gian vật có độ lớn gia tốc không vượt quá một nửa gia tốc cực đại là A. 1/32s B. 1/12 C. 1/16s D. 11/60s ----------- HẾT ---------Thí sinh không được sử dụng tài liệu. Cán bộ coi thi không giải thích gì thêm. 1-B 2-B 3-D 4-C 5-C 6-B 7-C 8-B 9-A 10-A 11-C 12-D 13-A 14-A 15-A 16-D 17-A 18-B 19-B 20-D 21-D 22-B 23-A 24-B 25-C 26-A 27-A 28-C 29-C 30-C 31-C 32-C 33-D 34-D 35-B 36-A 37-B 38-D 39-D 40-D ĐÁP ÁN HƯỚNG DẪN GIẢI CHI TIẾT Câu 1: B + Khi L = L1 thì URC vuông pha với u nên: ZL1 − ZC − ZC R2 2 . = −1 R = ZC ( ZL1 − ZC ) ZL1 = + ZC R R ZC Z = ZC + Khi L = L2 thì mạch có cộng hưởng nên L2 R2 ZL1 − ZL2 = ( L1 − L 2 ) = = x Z C Ta có: + Nhìn vào đồ thị ta thấy khi R = 200 x = 0, 2mH R2 R2 202 1 = x = .ZC = . C = 5.10−7 F = 500nF −3 ZC x 0, 2.10 C → Gần đáp án B nhất Câu 2: B −3m / s −0,3m 0,3m 3m / s + Hình chiếu của vật dao động điều hòa biên độ 30cm và tần số góc 10 rad/s + Mức cường độ âm nhỏ nhất đo được khi vật dao động tới biên âm, khi đó R = 150cm = 1,5m và L1 = 50dB + Thời điểm ban đầu vật ở biên âm, vây thời điểm vật có tốc độ 1,5 3 m/s lần thứ 2018 vật ở vị trí ứng với góc -π/3 + Li độ của vật khi đó là x = 0,15m + Khoảng cách của vật đến nguồn là: R2 = 1,05m có mức cường độ âm L2 Ta có: L1 − L 2 = lg I1 R2 = lg 22 L 2 = 53dB I2 R1 Câu 3: D + Độ lệch pha của hai dao động: = 1 − 2 Câu 4: C + Điện trường và từ trường của sóng điện từ luôn dao động cùng pha Câu 5: C + Dòng điện I = q’ nên i và q vuông pha Câu 6: B + Cảm kháng ZL = L = 100 + Định luật Ôm cho đoạn mạch: U 0 = I0 Z = 200 2V + Mạch chỉ có cuộn cảm thuần thì u sớm pha hơn i góc π/2. + Vây biểu thức điện áp giữa hai đầu đoạn mạch: u = 200 2 cos 100t − Câu 7: C + ZC = 1 1 1 = C ZC .C .F → Tần số góc cùng thứ nguyên với 1 RC Câu 8: B + Tốc độ truyền sóng v = f = 3.10 = 30cm / s Câu 9: A + Tần số là một đặc trưng vật lý của âm. + 6 2 Câu 10: A + = g 4= 10 = 0, 625m = 6, 25cm Câu 11: C ( d 2 − d1 ) 1 − 2 + = cos = −1 2 + Vì tại M là cực đại bậc 1 nên: cos ( d1 + d 2 ) = ( 2k + 1) d1 + d 2 = ( 2k + 1) + Từ hai phương trình trên ta được: d 2 − d1 = + Để tại M cùng pha với hai nguồn: Ta có: 6 S1S2 7 MS1 4,94 MS1 = 4; MS2 = 5 S1S2 = 6, 4 Câu 12: D + Nhiệt lượng tỏa ra: Q = I 2 Rt 9.105 = I 2 .10.30.60 I = 50A I 0 = 10A Câu 13: A k k = m2 = 0,1.42 = 4N ( /m ) + = m + Hợp lực F = −kx = −0, 4 cos ( 2t + ) N Câu 14: A + Sóng âm truyền từ môi trường không khí vào nước thì tần số không đổi. Câu 15: A P2R P = + Công suất hao phí: U 2 cos 2 P ΔP P’ 100 10 90 100.n 10.n2 147,6 100n = 10n 2 + 147, 6 n = 1,8 Thay vào: P = 1,8.100 = 180W 147, 6 + Hiệu suất H = = 82% 180 Câu 16: D 1 + ZC = Nếu tần số dòng điện tăng thì dung kháng giảm C Câu 17: A + Lực kéo về F = -kx nên nó tỉ lệ với độ lớn li độ x và luôn hướng về vị trí cân bằng. Câu 18: B + Điều kiện xảy ra hiện tượng cộng hưởng là tần số ngoại lực cưỡng bức bằng tần số riêng của hệ dao động, khi đó biên độ dao động đạt cực đại. Câu 19: B + Sóng âm không truyền được trong chân không, kể cả sóng siêu âm Câu 20: D 2x + 0, 01x = = 200 ( m ) 2d 2.25 + Độ lệch pha của hai phần tử cách nhau 25m trên phương truyền sóng: = = = rad 200 4 Câu 21: D c c.2 3.108.2 = = 30m + = = f 2.107 Câu 22: B + = k = m 40 = 20 ( rad / s ) 0,1 + Tốc độ cực đại khi chuyển động từ phải qua trái là: v max = A = 4 2mg 2.0,1.10 cm = = = 0, 27 3 k 40 10 − a + 10 − 2A . = (10 − 1,5A ) .20 = 160 2 Câu 23: A + Tần số ngoại lực cưỡng bức bằng tần số hệ dao động cưỡng bức. + Tốc độ cực đại vmax= A = 10π.5 = 50π cm/s Câu 24: B 6 + A = A12 + A 22 + 2A1A 2 cos = 32 + 42 + 2.3.4.cos − − = 5cm 3 Câu 25: C + Sóng điện từ có điện trường và từ trường biến thiên cùng tần số cùng pha. Câu 26: A + U RC = U R 2 + ZC2 R 2 + ( Z L − ZC ) 2 2 2 2 2 + Khi ZC = ZL + ZL + 4R 200 = ZL + ZL + 4.100 ZL = 150 ( ) + Thay vào ta có: U RC = 200. 1002 + 2002 1002 + ( 200 − 150 ) 2 = 400V Câu 27: A 2 / + v = x = 6 cos t + cm / s + Tại thời điểm t = 0,5s v = 6 cm / s Câu 28: C A/ A 60 B 30 2 30 2 + λ = 1,2 cm + Ban đầu kM = 0 + Lúc sau: ( MA / = 102 + 30 2 ) 2 − 2.10.30 2.cos135 = 50cm d 2 − d1 = 30 2 − 50 = −6,3 → Có 6 giá trị k nguyên tương ứng với 6 lân M cực đại Câu 29: C 2 qU 2 + Gia tốc biểu kiến: gh/ = g + a = g + = 10, 77m / s md 2 2 + Chu kì dao động của con lắc: T = 2 2 g/ = 0,96g Câu 30: C + Sóng cơ không lan truyền trong chân không Câu 31: C v v.2 + = = = 6cm f Câu 32: C 2 2 + A =x + v2 F2 2 2 2 2 2 2 2 A = x + v A = + v2 2 2 2 m 2 2 0,82 2 A = 0,12 2 + 0, 6 = 10rad / s 2 0,5 2 A = 0,1m 2 2 2 A = + 0,5 2 0,12 2 1 + Cơ năng của vật: W = m2 A 2 = 0,5.0,1.102.0,12 = 0, 05 ( J ) 2 Câu 33: D + Các phần tử giữa hai nút sóng liền kề nằm trên cùng một bó sóng. ( ) ( ) + Các phân tử trên cùng 1 bó sóng luôn dao động cùng pha. Câu 34: D + Mạch chỉ có cuộn cảm thuần thì u và i vuông pha Câu 35: B 2 + Chu kỳ T = = 0, 2s + Ban đầu vật ở biên dương + Vị trí vật có li độ x = -4cm ngược chiều dương ứng với góc 1200 + Thời gian vật đi qua vị trí x = -4cm theo chiều dương lần thứ 2 là: t = T 4 +T = s 3 15 Câu 36: A + Hiện tượng cộng hưởng xảy ra với dao động cưỡng bức. Câu 37: B + Vật dao động điều hòa tần số f thì động năng biến thiên tuần hoàn tần số 2f = 5Hz → f = 2,5Hz Câu 38: D + Bước sóng: = 24cm;MN = 8cm 2.2 + Biên độ dao động tại M và N là: A M = 2a cos = a 3 = AN 24 + M, N nằm trên hai bó sóng khác nhau nên chúng luôn dao động ngược pha + Khoảng cách lớn nhất giữa MN khi chúng ở hai biên và khoảng cách nhỏ nhất MN khi chúng cùng đi qua VTCB d max = 82 + 2a 3 d min = 8cm ( ) 2 ( 82 + a 3 d max = 1, 25 = d min 8 ) 2 a = 3cm + Biên độ dao động của bụng sóng: 2a = 2 3cm Câu 39: D + = 1 1 2500 = L = 0, 213H = 213mH LC L.750.10−9 Câu 40: D ( −x ) x = A 2 v2 + Vì a = x − x = v A = x + 2 = x 2 + 2 2 + Ban đầu vật ở VTCB chiều dương T T 11 11 + Lần thứ 3 vật có: a = x : t = + = s T = s 2 8 32 20 a A + Khi a max x 2 2 + Khoảng thời gian vật có gia tốc không lớn hơn gia tốc cực đại là T/3 = 11/60s 2 2 2 2 http://tailieugiangday.com – Website đề thi – chuyên đề file word có lời giải chi tiết Quý thầy cô liên hệ đặt mua word: 03338.222.55
- Học tốt Ngữ văn 12: Hướng dẫn viết mở bài, kết bài Sóng Mời các bạn tham khảo 7 mở, kết bài bài thơ Sóng hay và hữu ích dưới đây: Mở bài Sóng 1. Mở bài trực tiếp Sóng Xuân Quỳnh là một trong số những nhà thơ nữ tiêu biểu của thế hệ những nhà th ơ tr ẻ của th ời chống Mỹ. Thơ xuân quỳnh là tiếng lòng của người phụ nữ giàu tình cảm yêu thương, vừa hồn nhiên tươi tắn, vừa chân thành, đằm thắm, vừa mãnh liệt và đầy khát khao trong tình yêu, v ừa luôn âu lo về sự phai tàn, đổ vỡ cùng những dự cảm bất trắc rồi lại rạo rực xôn xao, khát khao đến khắc khoải trong Sóng. Đó là một cõi lòng bị khuấy động đang rung lên đồng điệu với sóng biển. M ột sự trùng hợp đến lạ lùng giữa sóng biển và tâm hồn của nữ thi sĩ đa cảm, một sự hòa hợp kì di ệu gi ữa thiên nhiên và con người. Và bài thơ Sóng đã thể hiện sâu sắc điều đó. 2. Mở bài gián tiếp bài thơ Sóng Không biết từ bao giờ những con sóng ào ạt từ sông, từ biển đã tròn lăn chạm vào trái tim c ủa người nghệ sĩ. Nếu Nguyễn Khuyến thổi vào gợn sóng biếc hơi th ở c ủa m ột mùa thu trong veo, Huy Cận vẽ sóng Tràng Giang bằng những dòng thơ hiu hắt của m ột k ẻ sĩ b ất l ực tr ước th ời cu ộc thì nữ sĩ Xuân Quỳnh đã khoác lên những con sóng bạc đầu tấm áo tình yêu n ồng nàn, vĩnh c ửu bằng một hồn thơ đắm say, cháy bỏng. Giữa lúc cuộc kháng chi ến ch ống M ỹ đang n ước sôi l ửa bỏng, vẻ đẹp dịu dàng, chung thủy trong tình yêu của người con gái được Xuân Quỳnh th ể hi ện trong bài thơ “Sóng” ngời sáng như một hòn ngọc báu của văn chương. 3. Mở bài Sóng cực hay Từ trước đến nay, tình yêu luôn là thứ không thể thiếu trong cuộc sống của mỗi con người. Xuân Diệu đã từng viết: “Làm sao sống được mà không yêu Không nhớ không thương một kẻ nào” (Bài thơ tuổi nhỏ – Xuân Diệu) Đó cũng là lý do tình yêu được đưa rất nhiều vào trong th ơ ca và ngh ệ thu ật, tr ở thành ngu ồn c ảm hứng bất tận với nhiều thi nhân. Có rất nhiều những nhà th ơ, nhà văn t ừng vi ết v ề tình yêu nh ưng có lẽ sâu sắc nhất phải kể đến 2 cây bút thơ tình xu ất s ắc c ủa n ền văn h ọc Vi ệt Nam, đó là Xuân Diệu và Xuân Quỳnh. Nếu như Xuân Diệu từng làm mưa làm gió khiến người đ ọc nh ớ mãi khi đ ặt tất cả dấu ấn tình yêu mãnh liệt của mình với “Biển” thì Xuân Quỳnh – một nhà thơ trưởng thành từ cuộc kháng chiến chống Mỹ đã thể hiện tình cảm người con gái qua hình ảnh “Sóng”. Khi nhắc đến tên tuổi của Xuân Quỳnh, từ trong tiềm thức c ủa mỗi ng ười yêu văn ch ương đ ều bi ết ti ếng thơ chị là tiếng nói nhân hậu, thủy chung, giàu trực cảm và tha thi ết khát v ọng h ạnh phúc đ ời thường. Một trong số những tác phẩm xuất sắc nhất của Xuân Quỳnh phải k ể đ ến tập “Hoa dọc chiến hào” với linh hồn là bài thơ “Sóng” được tác giả viết nhân một chuyến đi thực tế ở biển Diêm Điền năm 1967. 4. Mở bài Sóng ngắn gọn Là nhà thơ có cuộc đời nhiều sóng gió, Xuân Quỳnh luôn khao khát tình yêu, khao khát mái ấm gia đình và tình mẫu tử. Thơ Xuân Quỳnh là tiếng nói của người phụ n ữ giàu yêu th ương, khao khát hạnh phúc bình dị đời thường; cũng là tiếng lòng của một người nhiều âu lo, day dứt, trăn trở trong tình yêu. Xuân Quỳnh có rất nhiều bài thơ hay, tiêu biểu là bài thơ “Sóng”. 5. Mở bài nâng cao bài thơ Sóng Sẽ thật là thừa thãi khi nói về vẻ đẹp, sự huyền bí, sự hấp dẫn, niềm sung sướng và cả những đớn đau do Tình Yêu đem lại. Thế gian đã tốn bao nhiêu giấy m ực, th ậm chí c ả máu đ ể nói, vi ết, ca tụng cho Tình Yêu. Trong cuộc đời trần tục đầy biến ảo này, m ọi th ứ đ ều thay đ ổi, nh ưng có m ột thứ là bất biến, vĩnh hằng. Đó chính là sự thuần khiết, lung linh c ủa Tình yêu. Th ế gi ới tình yêu vốn đã đẹp, thế giới tình yêu trong thơ ca lại càng đẹp hơn. M ỗi vần th ơ vi ết v ề tình yêu đ ều lung linh lãng mạn. Câu chuyện tình yêu nào cũng là câu chuyện cổ tích đẹp đẽ. Và có l ẽ, Sóng của Xuân Quỳnh là câu chuyện cổ tích hay nhất về tình yêu mà ta từng đọc. Bằng th ể th ơ ngũ ngôn giàu nh ịp điệu, nhịp sóng và nhịp lòng – Xuân Quỳnh đã kể ta nghe v ề nh ững khát khao bình d ị c ủa ng ười phụ nữ trong tình yêu. 6. Mẫu mở bài Sóng 6 Tình yêu là đề tài đầy ma lực với bao ngòi bút thơ ca, là cung đàn muôn đi ệu làm rung đ ộng bao trái tim yêu để từ đó ngân lên thành lời thơ nhân loại. Mỗi một nhà thơ đều có những cảm nhận khác nhau về tình yêu: một Tago đầy triết lý ngụ ngôn; một Puskin nồng nàn và cao thượng, m ột Xuân Diệu rạo rực, đắm say, vồ vập; một Hàn Mặc Tử say đắm mà b ơ v ơ…Và đ ến v ới bài th ơ Sóng của Xuân Quỳnh ta lại bắt gặp một cảm xúc tình yêu đầy trăn trở khát khao của một tâm h ồn người phụ nữ luôn da diết trong khát vọng hạnh phúc bình dị đời thường. Kết bài Sóng 7. Kết bài Sóng Trong biển lớn tình yêu cuộc đời hôm nay đã có biết bao con sóng đã t ới b ờ và tìm v ề b ờ. Tình yêu vẫn luôn luôn là đề tài hấp dẫn với mọi lứa tuổi để mọi người đi tìm lời giải đáp cho ẩn s ố tình yêu trong một hành trình tìm kiếm không mệt mỏi. Sóng của Xuân Quỳnh vẫn vỗ những nhịp yêu thương, giúp những người đang yêu thêm tự tin vào chính mình, bởi thế giới c ủa anh và em cũng là thế giới của những con người biết tìm ra ý nghĩa của sự sống thiêng liêng. Sống là được yêu, yêu là sống hết mình với cuộc đời. Đó là ý nghĩa của bài thơ Sóng. 8. Kết bài Sóng nâng cao Xuân Quỳnh viết bài thơ này vào năm 1967, khi cuộc kháng chi ến của nhân dân Mi ền Nam đi vào giai đoạn ác liệt, khi thanh niên trai gái ào ào ra trận “ Xẻ dọc Trường Sơn đi c ứu n ước”, khi sân ga, bến đước, sân đình, sân trường diễn ra những cuộc chia ly màu đỏ. Cho nên có đặt bài th ơ vào trong hoàn cảnh ấy ta mới thấy rõ khát khao của người con gái trong tình yêu: “Khi ta còn trẻ, thơ là người mẹ Ta lớn lên rồi thơ là người yêu Chăm sóc tuổi già, thơ là con gái Lúc chết đi rồi, kỉ niệm hóa lưu thơ” Đọc xong bài thơ Sóng, ta càng cảm thấy ngưỡng mộ hơn những người con gái Việt Nam, nh ững con người luôn sống thủy chung, luôn hết mình vì tình yêu, khát vọng hạnh phúc. Xuân Quỳnh xứng đáng là một nhà thơ nữ của tình yêu lứa đôi khi đã th ổi m ột làn gió m ới vào n ền văn h ọc th ơ ca nước nhà.
- Tinh thần nhân đạo trong văn học Từ xa xưa, cảm hứng nhân đạo và cảm hứng yêu nước đã trở thành một đề tài lớn xuyên su ốt các tác phẩm văn học. Có thể nói cùng với cảm hứng yêu nước, tinh thần nhân đạo là truyền thống có tính muôn thuở của thi ca cũng như của các nhà văn. Chính vì thế nên dù vi ết theo khuynh hướng hay trào lưu nào tinh thần nhân đạo vẫn thấm đậm trong từng tác phẩm. Và khi nhận xét về tinh thần nhân đạo trong văn xuôi giai đoạn 1930-1945, có ý ki ến cho r ằng: Dù được sáng tác theo trào lưu lãng mãn hay hiện thực, những trang viết của các nhà văn đ ầy tài năng và tâm huyết đều thắm đượm tinh thần nhân dạo sâu sắc. Điều đó thế hiện rõ trong nhiều tác phẩm mà tiêu biểu là Gió lạnh đầu mùa của Thạch Lam, Những ngày thơ ấu của Nguyên Hồng và Lão Hạc của Nam Cao. Nói đến tinh thần nhân đạo là nói đến mối quan hệ giữa con người với con ng ười, nh ững gì vì con người, cho con người, cho sự tốt đẹp của bản thân mỗi con người, cho cộng đồng thế giới loài người ... đều nằm trong phạm trù nhân đạo. Hai mặt cảm hứng lớn trong c ảm quan nghệ thuật của tác giả là nhiệt tình ca ngợi và nhiệt tình phê phán. Tinh th ần nhân đ ạo, nhân văn, nhân bản gắn liền với nhau. Từ đó ta có thể khẳng địng tinh thần nhân đạo thắm đượm trong từng trang viết của các nhà văn đầy tài năng và tâm huyết. Tinh thần nhân đạo được thế hiện ở rất nhiều khía cạnh khác nhau với phong cách riêng của từng tác giả nhưng mục đích cuối cùng vẫn là vì và cho con người, ở Thạch Lam, yếu tố lãng mạn và hiện thực kết hợp hài hòa và nhuần nh ị vì v ậy mà truyện ngắn Gió lạnh đầu mùa như một bài thơ trữ tình xinh xắn. Khác với Th ạch Lam, tác phẩm Lão Hạc cũng như một số tác phẩm khác của Nam Cao đ ậm đà tính hi ện th ực. Và cũng góp phần vào mảng đề tài to lớn này, Nguyên Hồng thể hiện qua từng trang hồi kỳ xúc đ ộng về chính tuổi thơ cay đắng của mình. Dù là hiện thực hay lãng mạn song tất cả đều hướng về con người, ca ngợi và bênh vực, đòi quyền sống cho họ. Trước hết, tinh thần nhân đạo của tác giả bộc lộ thông qua những lời ca ngợi, nâng niu những phẩm chất đáng quý của con người. Đó là tình cảm đẹp đẽ truyền thống của con người Việt Nam, tình cha con, mẹ con, anh em, láng giềng. Dù sống trong xã hội thực dân nửa phong kiến thối nát và xấu xa đó, họ vẫn giữ được bản chất của mình. Ai cũng có một người mẹ và trên đời này có ai yêu thương con hơn mẹ. Tình mẹ là n ỗi khao khát của con trẻ, đấy chính là mạch cảm xúc chân thành của nhà văn khi hướng ngòi bút của mình vào con người. Cũng là một đứa con nhưng khốn khổ thay, bé Hồng trong chương hồi ký Trong lòng mẹ lại là kết quả của một cuộc hôn nhân không tình yêu để rồi phải xa mẹ, sống trong sự ghẻ lạnh của gia đình. Hồng sống trong nhớ nhung, khao khát thì mẹ Hồng, người đàn bà bất h ạnh đó cũng luôn canh cánh lòng hình bóng của hai đứa con thân yêu sớm thiếu thốn tình cảm c ủa người mẹ. Giữa những tai tiếng chê cười của họ hàng thì mẹ H ồng là ng ười v ợ không th ủy chung, chưa đoạn tang chồng mà chửa đẻ với người khác Trong xã hội đương thời, đó là trọng tội mà “cạo đầu bôi vôi” là một cực hình đau đớn nhất. Nhưng có ai hiểu được nỗi lòng người đàn bà đó, tiếng gọi của tình yêu và trái tim chưa một lần đ ược yêu và luôn thôi thúc khát khao một tình yêu đích thực. Từ giã con song bà luôn nghỉ tới con trong thương nhớ, day dứt khôn nguôi. Và có ở trong địa VỊ của bà ta mới cảm nhận hết tình yêu thương con của bà nó sâu sắc và thấm thìa tới tận trái tim của người đọc, để cứ một lần gi ở lại trang truy ện là một lần ta thổn thức yêu thương, chua xót. Không những tình cảm mẹ con sâu nặng mà tình cảm cha con cũng được các tác gi ả ca ng ợi và thể hiện sâu đậm trong tác phẩm của mình. Hình ảnh lão Hạc trong truyện ngắn Lão Hạc của Nam Cao là một điển hình tiêu bi ểu. M ặc dù đã sớm mất đi người vợ hiền thân yêu nhất, nhưng lão Hạc không đi b ước n ữa vì s ợ con lão phải khổ, sợ anh phái sống trong cảnh “mẹ ghẻ con chồng”. Có thế nói trong thâm tâm lão, hình ảnh anh con trai, đứa con độc nhất là nguồn vui, là lẽ s ống mà lão dành cho nó c ả tình cảm của mình. Lão Hạc đau đớn và day dứt khi không có ti ền c ưới v ợ cho con, còn n ỗi khổ nào hơn cha nhìn con đau khổ tuyệt vọng mà cũng chẳng giúp được gì ngoài những lời động viên nhẹ nhàng như nhũng khúc tâm can của người bố già nua đau kh ổ. Tấm lòng ng ười cha của lão Hạc được khắc sâu và thể hiện cảm động nhất qua đoạn truy ện t ả cái ch ết c ủa lão. Lão chết là vì con và cho con. Thật đáng thương bao nhiêu trước lời nói của lão: tiêu một xu cũng là tiêu vào tiền của cháu. Tiêu lắm chỉ chết nó. Lão đã chết, để lại cho con tất cả tài sản và cao quý hơn vẫn là tấm lòng người cha không lúc nào không nghĩ tới con. Bên cạnh việc ca ngợi tình cảm mẹ con, cha con, các nhà văn cũng r ất am hi ểu và xúc đ ộng trước tình hiếu thảo của những con người dù là con rất bé. Nghĩ về trẻ thơ với tấm lòng con người, hay là nghĩ về chính cuộc đời thơ trẻ của mình mà Nguyên Hồng đã khắc họa rất thành công tình cảm đối với mẹ của bé Hồng trong chương Trong lòng mẹ. sống giữa những lời chê bai, khích bác của bà cô nhưng bé Hồng vẫn giữ trọn trong tim mình hình bóng m ẹ kính yêu, mặc dù cho mọi người gièm pha chê trách. Tấm lòng của người con khi nhắc tới mẹ là nỗi đau, là vết thương lòng để cười dài trong tiếng khóc. Cười mà lại ra nước m ắt ư? Hay đó chỉ là tiếng cười đau đớn đập vào mặt bà cô vô lương tâm, đập vào nh ững c ổ t ục đã làm cho mẹ Hồng khổ. Còn giọt nước mắt, những giọt máu đỏ tươi trào ra từ trái tim non nớt sớm bị tổn thương là nỗi đau thương cho cuộc đời mẹ. Lúc ấy trái tim bé H ồng nh ư th ốt lên, gào lên tuyệt vọng: Giá như những cổ tục đã đày đọa mẹ tôi là một vật như hòn đá hay cục thủy tinh, đầu mẩu gỗ, tôi quyết vồ ngay lấy mà cắn, mà nhai, mà nghiến cho kì nát v ụn m ới thôi. Lòng yêu thương như giúp cho bé Hồng có một sức mạnh vô biên, hay sức mạnh đó là s ức mạnh của tình con trẻ. Ngoài những tình cảm gia đình đó, còn những mối quan hệ xã hội mà tác giả cũng h ết l ời ca tụng, nâng niu. Mặc dù mới chỉ là cậu bé Sơn trong Gió lạnh đầu mùa của Thạch Lam đã sớm có tình thương ấm áp thông qua việc làm rất có ý nghĩa: cho Hiên cái áo bông cũ. Đó là hành đ ộng r ất bình thường, một tình thương bộc phát của trẻ thơ không suy tính mà có chăng chỉ là sự mách bảo của trái tim, thấy bạn không có áo thì cho và trong lòng cảm thấy ấm áp VUI VUI. S ơn VUI, VUI vì mình vừa làm một việc tốt và thấy cái Hiên mặc áo bông thì S ơn th ấy mình cũng ấm hơn. Đó là hơi ấm của tình người sưởi ấm cho cả một không gian lạnh se cắt khi gió lạnh đầu mùa đông tràn về mà Thạch Lam đã phát hiện, miêu tả sinh động trong truyện của mình. Đó là tình cảm láng giềng khi tối lửa tắt đèn có nhau của lão Hạc đ ối v ới ông giáo trong tác phẩm Lão Hạc của Nam Cao. Trong lúc xã hội rối ren mà mối quan hệ giữa con người với con người là mối quan hệ giữa người và chó sói thì lão H ạc vần tin m ột ni ềm tin b ất di ệt vào vào ông giáo. Chuyện gì lão cũng kể với ông giáo, cũng hỏi ông giáo và ông đã th ực s ự là ch ỗ dựa tin tưởng nhất trong cuộc đời lão. Ngợi ca và trân trọng, kích phục và thương yêu, các tác giả như Nam Cao, Nguyên Hồng, Thạch Lam đã ghi lại hết sức tinh tế phẩm chất tốt đẹp của người dân, từ một cậu bé Sơn vô tư đến một bé Hồng bất hạnh và cao hơn hết là một hình ảnh của một lão H ạc th ật thà, chân chất, yêu thương. Cùng với việc ngợi ca phẩm chất của người dân và trẻ thơ, các tác giả còn t ập trung h ướng ngòi bút của mình lên án xã hội đương thời, đấu tranh đòi quyền sống cho con người. Càng thương cảm cho cuộc đời của mỗi nhân vật, các tác giả càng căm phần những thế lực làm khổ cuộc đời họ. Qua hai tác phẩm Gió lạnh đầu mùa và Lão Hạc, nhà văn Nam Cao và Thạch Lam đã gián tiếp lên xã hội với bọn quan lại sâu dân mọt nước đương thời. Vì sao cả cuộc đời đầu tắt mặt tối, không dám chơi không ngày nào mà m ẹ Hiên v ẫn kh ổ, mà lão Hạc vẫn phái chết. Đó là câu hỏi bức thiết, là lời tố cáo đanh thép và mạnh mẽ quất thẳng vào bộ mặt của xã hội đương thời. Họi làm mà không có ăn vì đâu ư? Vì b ọn quan l ại tham lam bòn rút, vì thuế má ngặt nghèo của lão Hạc là trường hợp tự bức tử. Nếu lão còn s ống thì sống mòn, chết mòn, chết từ từ, chết dần dần trong bàn tay gớm ghiếc của xã hội đã tước đi quyền sống của lão và của bao nhiêu người khác. Hai cái gông phong ki ến và th ực dân đã đánh gục biết bao nhiêu người như lão Hạc, như mẹ cái Hiên, chết đói, chết rét, cái chết mà lẽ ra phải dành cho bọn quan lại và địa chủ sâu dân mọt nước. Khổ vì nghèo, vì đói, vì quan đã là nhục nhã lắm rồi nhưng chưa hết, sống dưới xã hội mà th ực dân n ửa phong ki ến đ ương thời, người dân, mà đặc biệt là lão Hạc, mẹ Hồng còn khổ hơn vì hủ tục phong kiến. Nam Cao và Nguyên Hồng đã tập trung phản ánh nạn nhân của nó, có thể nói mỗi số phận như cô gái người yêu anh con trai của lão Hạc rồi mẹ bé Hồng là lời kêu c ứu th ất thanh văng v ẳng trong trái tim các tác giả. Cũng chỉ vì hú tục trong hôn nhân, cưới xin mà anh con trai lão Hạc không lấy được người mình yêu. Nhà gái thách cưới cao quá, gia đình anh làm sao lo đ ủ, r ồi cuối cùng mỗi người một ngả. Cô gái người yêu anh con trai lão Hạc lấy m ột ng ười ch ồng giàu sang mà mình không yêu rồi số phận đưa đẩy ra sao? Đó là số phận, là tương lai mù m ịt của cô hay chính là mẹ bé Hồng sau này trong tác phẩm Những ngày th ơ ấu. Cu ộc hôn nhân không tình yêu để rồi tất cả cùng đau khổ, bố bé Hồng chết, mẹ bé Hồng vì “cha mẹ đ ặt đâu con ngồi đấy” nên đành chôn vùi tuổi thanh xuân mà sau này “xuất giá tòng phu, phu t ử tòng tử” phải khiến bà phải sống tha hương, cầu thực, bèo dạt mây trôi, tương lai r ồi cũng ch ỉ là một vũng bùn đen tối. Nguyên Hồng đã thể hiện tình cảm gay gắt của mình thông qua hình ảnh bé Hồng muốn tiêu diệt những hủ tục đã đày đọa mẹ mình. Nói tóm lại văn xuôi giai đoạn 1930-1945 mà đặc biệt là ba tác phẩm Gió lạnh đầu mùa, Những ngày thơ ấu, Lão Hạc cho ta thấy được tinh thần nhân đạo cao cả của các nhà văn. Dù là ở các trào lưu khác nhau, hiện thực hay lãng mạn, họ đều thể hiện tinh thần nhân đạo bao la với mọi kiếp người: là em bé khổ đau, là cụ già bất hạnh, là tình người ấm áp trong cơn gió lạnh đầu mùa. Nhưng tinh thần nhân đạo của ba tác phẩm vẫn chưa đạt đến chủ nghĩa nhân đạo cách mạng. Bởi các nhà văn chỉ thấy các nhân vật khổ mà thương xót chứ chưa tìm ra được con đường giải phóng họ. vì vậy mà kết thúc câu chuyện dù lãng mạn hay hiện thực vẫn có những chỗ bế tắc, Hồng vẫn khổ, lão Hạc phải chết v.v... song đó là tiếng kêu đòi quyền sống cho con người mà ta rất kính trọng nâng niu ở các nhà văn. Hạn chế cũng là hạn chế trong tư tưởng tác giả và lịch sử một thời đại. Cảm hứng nhân đạo đã, đang và sẽ là cảm hứng cho tất cả các trào lưu văn h ọc ngh ệ thu ật v ị nhân sinh, đó là tiếng lòng của một nhà thơ sau này và mãi mãi về sau: Có Người Tố Hữu gì yêu đẹp nhau trên sống đời để hơn yêu thế nhau.
- BỘ NÔNG NGHIỆP VÀ PHÁT TRIỂN NÔNG THÔN TRƯỜNG CĐ NGHỀ CƠ ĐIỆN HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ----------------------------------- -------------------ĐỀ SỐ 10 ĐỀ THI KẾT THÚC MÔN HỌC MÔN : MẠNG MÁY TÍNH Thời gian làm bài 90 phút, không kể thời gian phát đề CÂU 1: Cho địa chỉ host 192.168.1.158/28. Hãy cho biết host này thuộc subnet nào? CÂU 2: Xét mạng 192.168.1.0/24, mượn 2 bít .Hãy liệt kê các subnet, số host/subnet, địa chỉ mạng của mỗi subnet, địa chỉ host đầu của mỗi subnet, địa chỉ host cuối của mỗi subnet, địa chỉ broadcast của mỗi subnet, subnet mark được sử dụng? CÂU 3 : Cho một mạng 192.168.1.0/24.Hãy đảm bảo cung cấp đủ các địa chỉ IP cho sơ đồ mạng sau : R1 R2 25 Host KHOA CÔNG NGHỆ THÔNG TIN 20 Host R3 10 Host GIÁO VIÊN RA ĐỀ Hà Nội , Ngày …. Tháng …. Năm ….
-
Trường Cao đẳng Cơ Điện Hà Nội – 160 Mai dịch, Cầu giấy, Hà Nội
KHOA CNTT. Website: http://cntt.codienhanoi.edu.vn
BÀI 1: THIẾT KẾ CSDL QUẢN LÝ BÁN HÀNG ONLINE
Tạo Database BanhangOnline gồm các bảng sau:
About
Category
Contact
Content
ContentTag.
Feedback
Footer
Menu
MenuType
Product
ProductCategory
Role
Slide
Tag
User
UserGroup
17. Company
18. News
BÀI 2: TẠO MỚI PROJECT VÀ CÁCH SỬ DỤNG LAYOUT VÀ SESSION
1. Tạo mới Project.
Bước 1: Khởi động VS Express 2015 for web:
Bước 2: File New Project
2. Tương tác giữa Model – View – Controller.
+Sử dụng ViewBag
Bước 1: Mở Controller để xây dựng ViewBag:
Bước 2: Sử dụng ViewBag đã được xây dựng.
+Sử dụng Models
Bước 1: Tạo Model
Bước 2: Xậy dựng trong Controller.
Bước 3: Viết trong View
3. Tạo mới và sử dụng Areas
-Tạo mới
Phải chuột lên Project BanghangOnline Add Area…
Đặt tên: Admin
Sau khi thêm thành công:
- Sử dụng
Tạo mới 1 HomeController.
Thêm mới 1 View
Chạy chương trình:
Nếu như bạn chạy từ trang chủ bên ngoài chương trình sẽ báo lỗi. Lúc này bạn cần phải sửa ở trong file RouteConfig.cs
Thêm đoạn code sau:
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, namespaces: new[] { "BanHangOnline.Controllers" }
4. Sử dụng template.
Bước 1: Download và giải nén:
Bước 2: Copy thư mục vừa tạo vào Project.
-Trong Project BanhangOnline tạo mới 1 thư mục Assets (chứa tài nguyên)
-Tạo mới thư mục Assets\Admin
Copy các thư mục vào Assets\Admin
Bước 3: Vào thư mục Pages mở file Index ở chế độ Edit
Copy toàn bộ code
Bước 4: Dán vào View Index của Admin
Bước 5: Thay đổi đường dẫn đến thư mục /Assets/Admin
Bước 6: Chạy chương trình:
5. Sử dụng Layout, RenderBody(), RenderSection()
- Tạo và sử dụng Layout và RenderBody().
Bước 1: Tạo_Layout.cshtml trong thư mục share của Admin.
Bước 2: Vào trang index cắt toàn bộ đoạn code và dán vào trang _Layout:
Bước 3: Trong trang _Layout thu gọn lại code, tìm đến thẻ page-wrapper
Cắt đoạn code đó và thay thế @RenderBody()
Bước 4: Qua trang Index
Dán đoạn code vừa cắt ở bước 3, đồng thời thêm dòng
Layout = "~/Areas/Admin/Views/Shared/_Layout.cshtml";
Bước 5: Chạy chương trình.
- Sử dụng RenderSection().
Bước 1: Định nghĩa Section. Tại _Layout.cshtml (Các bạn định nghĩa ở vị trí nào thì sau khi chương trình chạy sẽ thể hiện Html tại vị trí đó)
@RenderSection("Header",required:false)
Bước 2: Sử dụng Section sau khi đã định nghĩa. Qua trang Index
@section Header{"Đây là trang chủ Admin"}
6. Sử dụng RenderPage để chia nhỏ Layout.
Bước 1: Tạo mới 1 View trong thư mục Shared _Navigation.cshtml.
Bước 2: Qua _Layout.cshtml tìm đến Navigation
Cắt (Ctrl+X) và dán vào _Navigation.cshtml
Bước 3: Tại vị trí vừa cắt trong _Layout.cshtml ta thêm dòng lệnh
@RenderPage("_Navigation.cshtml")
Sửa lại giao diện cho trang chủ (Admin) theo mẫu sau:
BÀI 3: KẾT NỐI CSDL VÀ TẠO TRANG ĐĂNG NHẬP.
1. Tạo kết nối CSDL với Code First from Database
Bước 1: Tạo mới 1 Project: Phải chuột lên Solution Add New project ClassLibrary Đặt tên: KetNoiCSDL
Bước 2: Tạo 2 Thư mục EF, DAO trong KetNoiCSDL
Bước 3: Thêm ADO.NET vào EF. Phải chuột lên EF Add New item
Đặt tên: BanhangOnlineDbContext
Kích Add. Chọn Code First From Database
Kích Next
Chọn New Connection
Thiết lập các thông số, kích Test Connection
Chọn Yes,…
Lựa chọn các bảng như trên.
Bước 4: Thêm chuỗi kết nối vào web.config
Mở file App.Config. Copy 3 dòng dưới
Mở file Web.Config dán vào như hình dưới
2. Tạo trang đăng nhập.
Bước 1: Trong thư mục DAO, tạo mới lớp UserDao.cs
Chọn Class và đặt tên UserDao.cs Add
Viết code như sau:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using KetNoiCSDL.EF;
namespace KetNoiCSDL.DAO
{
public class UserDao
{
BanhangOnlineDbContext db = null;
public UserDao()
{
db = new BanhangOnlineDbContext();
}
public bool Login(String UserName, string PassWord)
{
var res = db.User.Count(x => x.UserName == UserName && x.Password == PassWord);
if (res > 0)
{
return true;
}
else
{
return false;
}
}
public User GetByID(string userName)
{
return db.User.SingleOrDefault(x => x.UserName == userName);
}
}
}
Bước 2: Thêm Reference KetNoiCSDL vào trong BanhangOnline
Phải chuột lên ReferencesAdd Reference
Bước 3: Trong Areas\Admin\Models Tạo LoginModel.cs
Viết code như sau:
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace BanHangOnline.Areas.Admin.Models
{
public class LoginModel
{
[Required(ErrorMessage ="Mời bạn nhập Username.")]
public string UserName { set; get; }
[Required(ErrorMessage = "Mời bạn nhập Password.")]
public string PassWord { set; get; }
public bool RememberMe { set; get; }
}
}
Bước 4: Tạo thư mục Common:
Tạo mới 2 Class: UserLogin.cs và CommonConstants.cs:
Viết Code cho UserLogin.cs như sau :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace BanHangOnline.Common
{
[Serializable]
public class UserLogin
{
public long UserID { set; get; }
public string UserName { set; get; }
}
}
Viết code cho CommonConstants.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace BanHangOnline.Common
{
public static class CommonConstants
{
public static string USER_SESSION = "USER_SESSION";
}
}
Bước 5: Viết code cho LoginController.cs
using BanHangOnline.Areas.Admin.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using KetNoiCSDL.DAO;
using BanHangOnline.Common;
namespace BanHangOnline.Areas.Admin.Controllers
{
public class LoginController : Controller
{
// GET: Admin/Login
public ActionResult Index()
{
return View();
}
public ActionResult Login(LoginModel model)
{
if(ModelState.IsValid)
{
var dao = new UserDao();
var res = dao.Login(model.UserName, model.PassWord);
if(res)
{
var user = dao.GetByID(model.UserName);
var userSession = new UserLogin();
userSession.UserName = user.UserName;
userSession.UserID = user.ID;
Session.Add(CommonConstants.USER_SESSION, userSession);
return RedirectToAction("Index", "Home");
}
else
{
ModelState.AddModelError("", "Đăng nhập không đúng.");
}
}
return View("Index");
}
}
}
Bước 6: Thêm mới trang Index của Login:
Copy toàn bộ code trong trang Login.html (trong template mà bạn vừa down về) dán vào trang Index của login. Thay đổi đường dẫn:
Bước 7: Sửa lại trang Index của Login như sau:
Khai báo thêm:
@model BanHangOnline.Areas.Admin.Models.LoginModel
Sửa lại code:
<div class="panel-div">
@using (Html.BeginForm("Login", "Login", FormMethod.Post))
{ <fieldset>
<div class="form-group">
@Html.TextBoxFor(model => model.UserName, new { @class = "form-control", @autofocus = "autofocus" })
</div>
<div class="form-group">
@Html.PasswordFor(model => model.PassWord, new { @class = "form-control" })
</div>
<div class="checkbox">
<label>
@Html.CheckBoxFor(model => model.RememberMe) RememberMe
</label>
</div>
<!-- Change this to a button or input when using this as a form -->
<button type="submit" class="btn btn-lg btn-success btn-block">Login</button>
</fieldset>
}
</div>
Bước 8: Chạy chương trình.
Bước 9: Cài đặt Entity Framework
BÀI 4: MÃ HÓA MD5 VÀ NÂNG CẤP TRANG LOGIN.
1. Mã hóa MD5 cho trường Password.
Bước 1: Tạo class MaHoaMd5.cs vào trong thư mục Common.
Viết code cho class MaHoaMd5.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Web;
namespace BanHangOnline.Common
{
public class MaHoaMd5
{
public static string MD5Hash(string text)
{
MD5 md5 = new MD5CryptoServiceProvider();
//compute hash from the bytes of text
md5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(text));
//get hash result after compute it
byte[] result = md5.Hash;
StringBuilder strBuilder = new StringBuilder();
for (int i = 0; i < result.Length; i++)
{
//change it into 2 hexadecimal digits
//for each byte
strBuilder.Append(result[i].ToString("x2"));
}
return strBuilder.ToString();
}
}
}
Các bạn có thể tìm kiếm phương thức mã hóa này trên mạng như sau:
Copy đoạn code sau và dán vào class MaHoaMd5.cs:
Bước 2: Mở LoginController.cs sửa lại code:
var res = dao.Login(model.UserName, MaHoaMd5.MD5Hash(model.PassWord));
Bước 3 : Vào trang Md5online
Mở User của CSDL copy Password vào trang Md5online để được mã hóa
Copy dán lại vào trường Password:
Bước 4: Chạy thử chương trình.
2. Nâng cấp trang đăng nhập (Login)
Bước 1: Mở UserDao.cs sửa lại code:
public int Login(String UserName, string PassWord)
{
var res = db.User.SingleOrDefault(x => x.UserName == UserName);
if (res == null)
{
return 0;
}
else
if (res.Status == false)
{
return -1;
}
else
{
if (res.Password == PassWord)
return 1;
else
return -2;
}
}
Bước 2: Mở LoginController.cs sửa lại:
using BanHangOnline.Areas.Admin.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using KetNoiCSDL.DAO;
using BanHangOnline.Common;
namespace BanHangOnline.Areas.Admin.Controllers
{
public class LoginController : Controller
{
// GET: Admin/Login
public ActionResult Index()
{
return View();
}
public ActionResult Login(LoginModel model)
{
if (ModelState.IsValid)
{
var dao = new UserDao();
var res = dao.Login(model.UserName, MaHoaMd5.MD5Hash(model.PassWord));
if (res == 1)
{
var user = dao.GetByID(model.UserName);
var userSession = new UserLogin();
userSession.UserName = user.UserName;
userSession.UserID = user.ID;
Session.Add(CommonConstants.USER_SESSION, userSession);
return RedirectToAction("Index", "Home");
}
else if (res == 0)
{
ModelState.AddModelError("", "Tài khoản không tồn tại.");
}
else if (res == -1)
{
ModelState.AddModelError("", "Tài khoản đang bị khóa.");
}
else if (res == -2)
{
ModelState.AddModelError("", "Mật khẩu không đúng.");
}
else
{
ModelState.AddModelError("", "Đăng nhập không đúng.");
}
}
return View("Index");
}
}
}
Bước 3: Vào trang index của login thêm dòng lệnh :
@Html.ValidationSummary(false, "", new { @class = "text-danger" });
Bước 4: Chạy chương trình:
BÀI 5: KIỂM TRA SESSION TRONG ADMIN
Khi người dùng muốn bỏ qua login, mà chuyển đến trang chủ. Thì website phải kiểm tra xem người dùng đã đăng nhập hay chưa. Nếu đã đăng nhập thì đồng ý, còn nếu chưa đăng nhập thì chuyển đến trang Login.
Bước 1: Tạo mới 1 Base Controller
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using BanHangOnline.Common;
namespace BanHangOnline.Areas.Admin.Controllers
{
public class BaseController : Controller
{
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
var session = (UserLogin)Session[CommonConstants.USER_SESSION];
if(session==null)
{
filterContext.Result = new RedirectToRouteResult(new System.Web.Routing.RouteValueDictionary(new { Controller = "Login", action = "Index", Areas = "Admin" }));
}
base.OnActionExecuting(filterContext);
}
}
}
Bước 2: Vào trang HomeController
Thay thế kế thừa từ Controller sang thành BaseController.
Bước 3: Chạy chương trình.
Vào bất cứ trang nào, chương trình sẽ tự động URL về trang Login.
BÀI 6: INSERT DỮ LIỆU
1. Insert dữ liệu vào bảng User
Bước 1: tạo UserController.cs
Bước 2: Add View (Create) cho User
Trong UserDao viết thêm phương thức
public long Insert(User entity)
{
db.User.Add(entity);
db.SaveChanges();
return entity.ID;
}
Bước 3: Trong UserController viết
// POST: Admin/User/Create
[HttpPost]
public ActionResult Create(User user)
{
if (ModelState.IsValid)
{
var dao = new UserDao();
long id = dao.Insert(user);
if (id > 0)
{
return RedirectToAction("Index", "User");
}
else
{
ModelState.AddModelError("", "Thêm user không thành công.");
}
}
return View("Create");
}
Bước 4: Về trang Create.cshtml
Sửa lại dòng:
@using (Html.BeginForm("Create","User",FormMethod.Post))
Bước 5: Thêm mới 1 trang Index của User.
Bước 6: Chạy chương trình.
Hiện tại chương trình đã chèn được người dùng vào CSDL.
Nhưng còn một số vấn đề như sau:
Mã hóa Password sang Md5.
Nếu người dùng chưa nhập dữ liệu phải thông báo yêu cầu nhập đầy đủ thông tin. (Validate data)
Xử lý giao diện tạo người dùng theo mẫu.
Xử lý khi thêm mới trùng tên UserName.
+ Mã hóa Password sang Md5.
Mở UserController.cs thêm dòng lệnh:
var MhMd5 = MaHoaMd5.MD5Hash(user.Password);
user.Password = MhMd5;
+ Nếu người dùng chưa nhập dữ liệu phải thông báo yêu cầu nhập đầy đủ thông tin. (Validate data)
Mở EF\User sửa lại như sau:
Chạy chương trình:
+ Xử lý giao diện tạo người dùng theo mẫu.
Vì ở trang này là thêm User cho phần quản trị. Vì vậy ta chỉ cần lấy các thông tin
Username, Password, Name, Address, Email, Phone, Status.
Mở Create.cshtm chỉnh sửa lại code như sau:
@model KetNoiCSDL.EF.User
@{
ViewBag.Title = "Create";
Layout = "~/Areas/Admin/Views/Shared/_Layout.cshtml";
}
<h2>Tạo danh sách người dùng</h2>
@using (Html.BeginForm("Create", "User", FormMethod.Post))
{
@Html.AntiForgeryToken()
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">
Mời bạn nhập đầy đủ các thông tin <br />
@Html.ValidationMessage("ThongBao")
</div>
<div class="panel-div">
<div class="row">
<div class="col-lg-6">
<form role="form">
<div class="form-group">
<div class="col-md-10">
@Html.LabelFor(model => model.UserName)
@Html.EditorFor(model => model.UserName, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.UserName, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-10">
@Html.LabelFor(model => model.Password)
@Html.EditorFor(model => model.Password, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Password, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-10">
@Html.LabelFor(model => model.Name)
@Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-10">
@Html.LabelFor(model => model.Address)
@Html.EditorFor(model => model.Address, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Address, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-10">
@Html.LabelFor(model => model.Email)
@Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Email, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-10">
@Html.LabelFor(model => model.Phone)
@Html.EditorFor(model => model.Phone, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Phone, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-10">
@Html.LabelFor(model => model.Status)
@Html.CheckBoxFor(model => model.Status, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Status, "", new { @class = "text-danger" })
</div>
</div>
</form>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-primary" />
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
}
Chạy chương trình.
+ Xử lý khi thêm mới trùng UserName.
public ActionResult Create(User user)
{
if (ModelState.IsValid)
{
var dao = new UserDao();
var MhMd5 = MaHoaMd5.MD5Hash(user.Password);
user.Password = MhMd5;
var db = new BanhangOnlineDbContext();
if (db.User.Any(x=>x.UserName== user.UserName))
{
ModelState.AddModelError("ThongBao", "Tên đăng nhập này đã tồn tại");
}
else
{
long id = dao.Insert(user);
if (id > 0)
{
return RedirectToAction("Index", "User");
}
else
{
ModelState.AddModelError("", "Thêm user không thành công.");
}
}
}
return View("Create");
}
BÀI 7: HIỂN THỊ DANH SÁCH DỮ LIỆU VÀ PHÂN TRANG
Để phân trang danh sách dữ liệu chúng ta cần phải cài đặt thêm PagedList ở cả 2 Project:
Bước 1: Cài đặt PagedList
Bước 2: Trong UserDao viết thêm:
using PagedList;
public IEnumerable<User>ListAllPaging(int page,int pageSize)
{
return db.User.OrderByDescending(x=>x.CreatedDate).ToPagedList(page, pageSize);
}
Bước 3: Trong UserController viết như sau:
// GET: Admin/User
public ActionResult Index(int page=1,int pageSize=1)
{
var dao = new UserDao();
var model = dao.ListAllPaging(page, pageSize);
return View(model);
}
Bước 4: Sửa lại trong Index.cshtml:
@model PagedList.IPagedList<KetNoiCSDL.EF.User>
@using PagedList.Mvc;
@{
ViewBag.Title = "Index";
Layout = "~/Areas/Admin/Views/Shared/_Layout.cshtml";
}
<h2>Danh sách người dùng</h2>
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">
Danh sách người dùng
</div>
<!-- /.panel-heading -->
<div class="panel-div">
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th>#</th>
<th>Tài khoản</th>
<th>Tên</th>
<th>Email</th>
<th>Phone</th>
<th>Trạng thái</th>
</tr>
</thead>
<tdiv>
@foreach (var item in Model)
{
<tr>
<td>
<a href="User/Edit/@item.ID">Sửa</a>
<a href="User/Delete/@item.ID">Xóa</a>
</td>
<td>@item.UserName</td>
<td>@item.Name</td>
<td>@item.Email</td>
<td>@item.Phone</td>
<td>@item.Status</td>
</tr>
}
</tdiv>
</table>
@Html.PagedListPager(Model, page => Url.Action("Index", new { page }));
</div>
<!-- /.table-responsive -->
</div>
<!-- /.panel-div -->
</div>
<!-- /.panel -->
</div>
</div>
Bước 5: Chạy chương trình.
BÀI 8: UPDATE BẢN GHI TRONG CSDL
Bước 1: Mở UserDao.cs viết 2 phương thức sau:
public bool Update(User entity)
{
try
{
var user = db.User.Find(entity.ID);
user.Name = entity.Name;
if(!string.IsNullOrEmpty(entity.Password))
{
user.Password = entity.Password;
}
user.Name = entity.Name;
user.Address = entity.Address;
user.Email = entity.Email;
user.Phone = entity.Phone;
user.Status = entity.Status;
db.SaveChanges();
return true;
}
catch
{
return false;
}
}
public User ViewDetail(int id)
{
return db.User.Find(id);
}
Bước 2: Mở UserController.cs viết phương thức sau
public ActionResult Edit(int id)
{
var user = new UserDao().ViewDetail(id);
return View(user);
}
Bước 3: Tạo mới View Edit:
Copy toàn bộ code trong Create.cshtml dán vào Edit.cshtml rồi sửa lại như sau:
@model KetNoiCSDL.EF.User
@{
ViewBag.Title = "Edit";
Layout = "~/Areas/Admin/Views/Shared/_Layout.cshtml";
}
<h2>Cập nhật người dùng</h2>
@using (Html.BeginForm("Edit", "User", FormMethod.Post))
{
@Html.AntiForgeryToken()
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">
Mời bạn nhập đầy đủ các thông tin
</div>
<div class="panel-div">
<div class="row">
<div class="col-lg-6">
<form role="form">
<div class="form-group">
<div class="col-md-10">
@Html.LabelFor(model => model.UserName)
@Html.EditorFor(model => model.UserName, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.UserName, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-10">
@Html.LabelFor(model => model.Password)
@Html.EditorFor(model => model.Password, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Password, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-10">
@Html.LabelFor(model => model.Name)
@Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-10">
@Html.LabelFor(model => model.Address)
@Html.EditorFor(model => model.Address, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Address, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-10">
@Html.LabelFor(model => model.Email)
@Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Email, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-10">
@Html.LabelFor(model => model.Phone)
@Html.EditorFor(model => model.Phone, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Phone, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-10">
@Html.LabelFor(model => model.Status)
@Html.CheckBoxFor(model => model.Status, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Status, "", new { @class = "text-danger" })
</div>
</div>
</form>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Cập nhật" class="btn btn-primary" />
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
}
Bước 4: Mở UserController.cs viết thêm phương thức:
// POST: Admin/User/Edit/5
[HttpPost]
public ActionResult Edit(User user)
{
if (ModelState.IsValid)
{
var dao = new UserDao();
if (!string.IsNullOrEmpty(user.Password))
{
var MhMd5 = MaHoaMd5.MD5Hash(user.Password);
user.Password = MhMd5;
}
var res = dao.Update(user);
if (res)
{
return RedirectToAction("Index", "User");
}
else
{
ModelState.AddModelError("", "Cập nhật không thành công.");
}
}
return View("Index");
}
Bước 5: Chạy chương trình.
Kích vào Sửa
BÀI 9: SỬ DỤNG AJAX ĐỂ XÓA BẢN GHI TRONG CSDL
Bước 1: Cài đặt Microsoft.jQuery.Unobtrusive.Ajax.
Phải chuột lên BanhangOnline ManageNuGetPackages..
Vào ToolNuGet Package Manager Package Manager Console
Qua google tìm lệnh như sau, rồi copy
Dán vào cửa sổ Console. Enter
Install-Package Microsoft.jQuery.Unobtrusive.Ajax -Version 3.2.3
Sau khi cài đặt thành công:
Bước 2: Thêm Ajax vừa cài vào trang _Layout.
Mở trang _Layout.cshtm
Mở thư viện scripts.
Kéo file jquery.unobtrusive-ajax.js thả vào trong _Layout tại vị trí như sau:
Bước 3: Mở UserDao.cs viết thêm phương thức Delete:
public bool Delete(int id)
{
try
{
var user = db.User.Find(id);
db.User.Remove(user);
db.SaveChanges();
return true;
}
catch(Exception)
{
return false;
}
}
Bước 4: Mở UserController.cs viết thêm phương thức:
[HttpDelete]
public ActionResult Delete(int id)
{
var user = new UserDao().Delete(id);
return RedirectToAction("Index");
}
Bước 5: Mở trang Index tại vị trí sau:
Xóa dòng lệnh này và thay thế bằng Ajax:
@Ajax.ActionLink("Xóa","Delete",new { @id = item.ID },new AjaxOptions
{
Confirm="Bạn có muốn xóa người dùng này?",
OnComplete="$('#row_"+item.ID+"').remove()",
HttpMethod="Delete"
})
Sau khi thay thế:
Bước 6: Chạy chương trình:
BÀI 10: TẠO CHỨC NĂNG TÌM KIẾM DỮ LIỆU
Bước 1: Mở UserDao.cs sửa phương thức ListAllPaging:
public IEnumerable<User> ListAllPaging(string searchString,int page, int pageSize)
{
IQueryable<User> model= db.User;
if (!string.IsNullOrEmpty(searchString))
{
model = model.Where(x => x.UserName.Contains(searchString) || x.Name.Contains(searchString));
}
return model.OrderByDescending(x => x.CreatedDate).ToPagedList(page, pageSize);
}
Bước 2: Mở UserController.cs sửa lại phương thức:
// GET: Admin/User
public ActionResult Index(string searchString,int page = 1, int pageSize = 3)
{
var dao = new UserDao();
var model = dao.ListAllPaging(searchString,page, pageSize);
return View(model);
}
Bước 3: Vào trang Index, sửa lại như sau:
@using (Html.BeginForm("Index", "User", FormMethod.Get))
{
<div class="row">
<div class="col-lg-12">
<div class="col-md-offset-0">
<input type="text" name="searchString" />
<input type="submit" value="Tìm kiếm" class="btn btn-primary" />
</div>
</div>
</div>
}
Bước 4: Chạy chương trình
Phần tìm kiếm cần chỉnh sửa sao cho:
+ Sau khi tìm kiếm, ô tìm kiếm không bị mất thông tin cần tìm.
+ Nếu tìm thấy nhiều kết quả thì hiển thị phân trang.
Bước 1: Mở UserController.cs thêm dòng lệnh:
ViewBag.ChuoiTimKiem = searchString;
Bước 2: Mở trang Index.cshtml thêm lệnh: value="@ViewBag.ChuoiTimKiem" như sau:
<input type="text" value="@ViewBag.ChuoiTimKiem" name="searchString" />
Bước 3: Ở trang Index.cshtml chỗ phân trang thêm lệnh:
,@searchString= ViewBag.ChuoiTimKiem như sau:
@Html.PagedListPager(Model, page => Url.Action("Index", new { page,@searchString= ViewBag.ChuoiTimKiem }));
BÀI 11: TÍCH HỢP CKFINDER ĐỂ QUẢN LÝ THƯ VIỆN ẢNH ONLINE
Bước 1: Download CKFinder, giải nén chúng ta được.
Sau khi giải nén chúng ta xóa 2 thư mục đầu tiên
Bước 2: Trong BanhangOnline. Tạo thư mục Plugins
Bước 3: Sao chép thư mục Ckfinder vừa giải nén ở bước 1 dán vào thư mục Plugins này:
Đồng thời Include in Project (Để hiển thị các file nên chọn show all file) ở trên
Bước 4: Mở _Layout.cshtm kéo và thả file ckfinder.js vào đúng vị trí sau:
Bước 5: Tạo mới 1 ContentController:
Bước 6: Tạo mới 1 Create View
Tìm đến trường Image
Sửa lại như sau:
<div class="form-group">
@Html.LabelFor(model => model.Image, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextBoxFor(model => model.Image, new { htmlAttributes = new { @class = "form-control"},@id="txtImage" })
<a id="SelectImage">Chọn ảnh</a>
@Html.ValidationMessageFor(model => model.Image, "", new { @class = "text-danger" })
</div>
</div>
Bước 7: Add thêm file CkFinder.dll vào References
Chọn nút Browse chọn đường dẫn:
\BanHangOnline\BanHangOnline\Assets\Admin\js\Plugins\ckfinder\bin\Release
Bước 8: Mở _Layout.cshtml thêm dòng lệnh
@RenderSection("jsFooter",required:false)
Bước 9: Vào trang Create.cshtml
@section jsFooter{
<script>
$('#SelectImage').on('click', function (e) {
e.preventDefault();
var finder=new CKFinder();
finder.selectActionFunction=function(url){
$('#txtImage').val(url);
};
finder.popup();
})
</script>
}
Bước 10: Mở file Config.ascx
- Đổi return false; thành return true;
LicenseName = "@tuannguyen";
LicenseKey = "AUKPSE6XSVSJTP4MSV9RQKJBKGLL3KN7";
BaseUrl = "/Anh";
Bước 11: Tạo thư mục Anh:
Bước 12: Chạy chương trình
BÀI 12 TÍCH HỢP TRÌNH SOẠN THẢO CKEDITOR.
Bước 1: Tải ckeditor. Vào ckeditor/download chọn Full Package.
Giải nén ra ta được thư mục ckeditor
Bước 2: Sao chép thư mục ckeditor vào thư mục Plugins trong BanhangOnline.
Sau đó Include project:
Bước 3: Nhúng Ckeditor.js vào file _Layout.cshtml tại vị trí sau ckfinder.js
Bước 4: Vào trang Config.js viết:
CKEDITOR.editorConfig = function( config ) {
// Define changes to default configuration here. For example:
// config.language = 'fr';
// config.uiColor = '#AADC6E';
config.syntaxhightlight_lang = 'cshap';
config.syntaxhightlight_hideControls = true;
config.language = 'vi';
config.filebrowserBrowseUrl = '/Assets/Admin/js/Plugins/ckfinder/ckfinder.html';
config.filebrowserImageBrowseUrl = '/Assets/Admin/js/Plugins/ckfinder.html?Type=Images';
config.filebrowserFlashBrowseUrl = '/Assets/Admin/js/Plugins/ckfinder.html?Type=Flash';
config.filebrowserUploadUrl = '/Assets/Admin/js/Plugins/ckfinder/core/connector/aspx/connector.aspx? command=QuickUpload&Type=File';
config.filebrowserImageUploadUrl = '/Anh';
config.filebrowserFlashUploadUrl = '/Assets/Admin/js/Plugins/ckfinder/core/connector/aspx/connector.aspx? command=QuickUpload&Type=Flash';
CKFinder.setupCKEditor(null, '/Assets/Admin/js/Plugins/ckfinder');
};
Bước 5: Mở trang Create của Content, tìm đến trường detail sửa lại như sau:
<div class="form-group">
@Html.LabelFor(model => model.Detail, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextAreaFor(model => model.Detail, new { htmlAttributes = new { @class = "form-control" },@id="txtContent" })
@Html.ValidationMessageFor(model => model.Detail, "", new { @class = "text-danger" })
</div>
</div>
Đồng thời viết thêm:
var editor = CKEDITOR.replace('txtContent', {
customConfig: '/Assets/Admin/js/Plugins/ckeditor/config.js',
});
Bước 6: Build và chạy chương trình.
Bài tập làm thêm:
- Insert được Content vào trong CSDL
Chú ý: CKEDITOR viết thêm htmlEncodeOutput: true
var editor = CKEDITOR.replace('txtContent', {htmlEncodeOutput: true ,
customConfig: '/Assets/Admin/js/Plugins/ckeditor/config.js',
});
BÀI 13: SỬ DỤNG DROPDOWNLIST.
Mở bảng Category và nhập dữ liệu như sau:
Bước 1: Tạo CategoryDao.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using KetNoiCSDL.EF;
namespace KetNoiCSDL.DAO
{
public class CategoryDao
{
BanhangOnlineDbContext db = null;
public CategoryDao()
{
db = new BanhangOnlineDbContext();
}
public List<Category> ListAll()
{
return db.Category.Where(x => x.Status == true).ToList();
}
}
}
Bước 2: Vào ContentController.cs viết code:
// GET: Admin/Content/Create
public ActionResult Create()
{
SetViewBag();
return View();
}
public void SetViewBag(long? selectedID=null)
{
var dao = new CategoryDao();
ViewBag.CategoryID = new SelectList(dao.ListAll(), "ID", "Name", selectedID);
}
Bước 3: Về view Create
Tìm đến CategoryID sửa lại dòng:
@Html.DropDownListFor(model => model.CategoryID,null, new { htmlAttributes = new { @class = "form-control" } })
Bước 4: chạy chương trình
Để sử dụng Dropdownlist vào việc Create, Edit chúng ta cần làm như sau
+ Create:
Bước 1: Viết HttpGet và HttpPost cho phương thức Create như sau:
[HttpGet]
public ActionResult Create()
{
SetViewBag();
return View();
}
[HttpPost]
public ActionResult Create(Content model)
{
if(ModelState.IsValid)
{
//Lệnh thêm vào CSDL ở đây.
}
SetViewBag();
return View();
}
Bước 2: Tạo mới ContentDao.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using KetNoiCSDL.EF;
{
public class ContentDao
{
BanhangOnlineDbContext db = null;
public ContentDao()
{
db = new BanhangOnlineDbContext ();
}
public Content GetByID(long id)
{
return db.Content.Find(id);
}
}
}
+ Edit :
Viết phương thức Edit cho HttpGet và HttpPost như sau:
// GET: Admin/Content/Edit/5
[HttpGet]
public ActionResult Edit(long id)
{
var dao = new ContentDao();
var content = dao.GetByID(id);
SetViewBag(content.CategoryID);
return View();
}
// POST: Admin/Content/Edit/5
[HttpPost]
public ActionResult Edit(Content model)
{
if(ModelState.IsValid)
{
//Lệnh sửa viết ở đây.
}
SetViewBag(model.CategoryID);
return View();
}
BÀI 14 TẠO THÔNG BÁO CHO NGƯỜI DÙNG VỚI BOOTSTRAP STYLE
Bước 1: Mở BaseController.cs Viết phương thức sau:
protected void SetAlert(string message, string type)
{
TempData["AlertMessage"] = message;
if (type == "success")
{
TempData["AlertType"] = "alert-success";
}
else if (type == "warning")
{
TempData["AlertType"] = "alert-warning";
}
else if (type == "error")
{
TempData["AlertType"] = "alert-danger";
}
}
Bước 2: Tạo 1 file Alert.js và viết Code như sau:
$(function () {
$('#AlertBox').removeClass('hide');
$('#AlertBox').delay(1000).slideUp(500);
});
Bước 3 : Nhúng file Alert.js vào trong _Layout.cshtml
<script src="/Assets/Admin/js/Alert.js"></script>
Bước 4: Áp dụng Alert. Mở UserController.
Trong phương thức Create, thông báo thành công hay thất bại.
SetAlert("Thêm User thành công", "success");
SetAlert("Tên đăng nhập này đã tồn tại", "error");
Bước 5: Mở _Layout.cshtml thêm đoạn code sau
@if (TempData["AlertMessage"] != null)
{
<div id="AlertBox" class="alert @TempData["AlertType"] hide">
@TempData["AlertMessage"]
</div>
}
Bước 6: Chạy chương trình.
BÀI 15 TẠO TRANG CHỦ CHO NGƯỜI DÙNG.
Bước 1: Bạn truy cập vào trang https://w3layouts.com.
Tìm kiếm Home shoppe
Download và giải nén.
Bước 2: Copy các thư mục sau và đưa vào Project trong thư mục Assets\Client
Copy hoàn thành:
Bước 3: Tạo mới 1 trang _Layout.cshtml trong thư mục View\Shared
Bước 4: Mở trang Index coypy toàn bộ code và dán vào trang _Layout.cshtml
Xóa những dòng này
Dán vào
Bước 5: Thay đổi đường dẫn cho các tài nguyên: /Assets/Client/
Bước 6: Tạo mới 1 trang Index (trang chủ) lấy layout là trang _Layout.cshtml vừa thiết lập.
Bước 7: Cắt đoạn code (thẻ main) trong _Layout dán qua trang Index:
Đồng thời tại vị trí vừa cắt ta thay bằng lệnh @RenderBody()
Bước 8: Cắt thẻ Slide đưa qua trang Index. (Sử dụng Section)
Bước 9: Chạy chương trình:
BÀI 16: LẤY DỮ LIỆU CHO CÁC THÀNH PHẦN DÙNG CHUNG
1. Lấy dữ liệu cho Menu chính
Bước 1: Nhập dữ liệu như sau:
Bước 2: Tạo mới MenuDao.cs
Viết phương thức ListByGroupID
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using KetNoiCSDL.EF;
namespace KetNoiCSDL.DAO
{
public class MenuDao
{
BanhangOnlineDbContext db = null;
public MenuDao()
{
db = new BanhangOnlineDbContext();
}
public List<Menu>ListByGroupID(int groupId)
{
return db.Menu.Where(x => x.TypeID ==groupId).ToList();
}
}
}
Bước 3: Viết phương thức MainMenu trong HomeController.
[ChildActionOnly]
public ActionResult MainMenu()
{
var model = new MenuDao().ListByGroupID(1);
return PartialView(model);
}
Bước 4: Tạo mới View MainMenu.cshtml
Chú ý chọn Create as a partial view
Bước 5: Thay đổi code tĩnh bằng code động.
Vào trang _Layout.cs tìm đến thẻ menu
Cắt thẻ này (Chỗ đánh dấu)
Dán vào MainMenu.cshtml vừa Add ở bước 4.
Viết lại code cho trang MainMenu.cshtml như sau:
@model List<KetNoiCSDL.EF.Menu>
<div class="menu">
<ul>
@foreach(var item in Model)
{
<li><a href="@item.Link" target="@item.Target">@item.Text</a></li>
}
<div class="clear"></div>
</ul>
</div>
Qua trang _Layout.cshtml tại vị trí đã cắt thẻ menu thay thế bằng câu lệnh:
@{Html.RenderAction("MainMenu","Home");}
2. Lấy dữ liệu cho Menu Top.
Bước 1: Tạo phương thức TopMenu trong HomeController.
[ChildActionOnly]
public ActionResult TopMenu()
{
var model = new MenuDao().ListByGroupID(2);
return PartialView(model);
}
Bước 2: Add mới view TopMenu.cshtml
Bước 3: Thay đổi Top Menu tĩnh bằng Top Menu động.
Mở _Layout.cshtml tìm đến thẻ call và cắt thẻ này
Dán qua TopMenu.cshtml
Sửa lại code:
@model List<KetNoiCSDL.EF.Menu>
<div class="call">
<p><span>Nếu bạn cần?</span> Xin hãy gọi <span class="number">0978-187-154</span></span></p>
</div>
<div class="account_desc">
<ul>
@foreach (var item in Model)
{
<li><a href="@item.Link" target="@item.Target">@item.Text</a></li>
}
</ul>
</div>
<div class="clear"></div>
Qua trang _Layout.cshtml viết lệnh sau tại vị trí đã cắt
@{Html.RenderAction("TopMenu", "Home");}
Chú ý:
- Nếu muốn Menu hiển thị theo thứ tự theo DisplayOrderby trong CSDL thì ở phương thức ListByGroupID trong UserDao ta sửa lại như sau:
public List<Menu>ListByGroupID(int groupId)
{
return db.Menu.Where(x => x.TypeID ==groupId).OrderBy(x=>x.DisplayOrder).ToList();
}
-Nếu muốn chỉ hiển thị những Menu có status =1
return db.Menu.Where(x => x.TypeID ==groupId && x.Status==true).OrderBy(x=>x.DisplayOrder).ToList();
3. Lấy dữ liệu cho Footer
Bước 1: Tạo FooterDao
using KetNoiCSDL.EF;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KetNoiCSDL.DAO
{
public class FooterDao
{
DBContext db = null;
public FooterDao()
{
db = new DBContext();
}
public Footer LayFooter()
{
return db.Footer.SingleOrDefault();
}
}
}
Bước 2: Tạo phương thức trong HomeController.
[ChildActionOnly]
public ActionResult MenuFooter()
{
var model = new FooterDao().LayFooter();
return PartialView(model);
}
Bước 3: Tạo mới View MenuFooter.
Viết code:
@model KetNoiCSDL.EF.Footer
@Html.Raw(Model.Content)
Bước 4: Qua trang _Layout.cshtml thay đổi dữ liệu tĩnh sang động.
Tìm đến thẻ Footer, sau đó cắt thẻ wrap ở hình dưới
Thay thế bằng câu lệnh
@{Html.RenderAction("MenuFooter", "Home");}
Bước 5: Qua SQL Server. Dùng câu lệnh chèn đoạn code vừa cắt vào bảng Footer.
BÀI 17: LẤY DỮ LIỆU CHO TRANG CHỦ.
1. Lấy dữ liệu cho menu trái
Bước 1: Tao mới 1 CategoryDao.
Viết code cho phương thức ListAll
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using KetNoiCSDL.EF;
namespace KetNoiCSDL.DAO
{
public class CategoryDao
{
BanhangOnlineDbContext db = null;
public ProductCategoryDao()
{
db = new BanhangOnlineDbContext();
}
public List<Category> ListAll()
{
return db. Category.Where(x => x.Status == true).OrderBy(x => x.DisplayOrder).ToList();
}
}
}
Bước 2: Tạo mới phương thức Category trong HomeController.
[ChildActionOnly]
public ActionResult Category()
{
var model = new CategoryDao().ListAll();
return PartialView(model);
}
Bước 3: Thêm mới view Category
Bước 4: Thay đổi code để chuyển từ dữ liệu tĩnh sang động.
Vào Index.cshtml tìm đến thẻ categories. Cắt thẻ này và dán vào Category.cshtml
Sửa lại code cho Category.cshtml
@model List<KetNoiCSDL.EF.Category>
<div class="categories">
<ul>
<h3>Danh mục sản phẩm</h3>
@foreach (var item in Model)
{
<li><a href="/san-pham/@item.MetaTitle">@item.Name</a></li>
}
</ul>
</div>
Về trang Index.cshtml tại vị trí vừa cắt thay thế bằng đoạn code:
@{ Html.RenderAction("Category", "Home");}
2. Lấy dữ liệu cho Slide (Sử dụng ViewBag)
Các bạn có thể dùng như cách trên để binding dữ liệu hoặc có thể dùng ViewBag như sau
Bước 1: Tạo mới SlideDao
Viết code cho SlideDao
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using KetNoiCSDL.EF;
namespace KetNoiCSDL.DAO
{
public class SlideDao
{
BanhangOnlineDbContext db = null;
public SlideDao()
{
db = new BanhangOnlineDbContext();
}
public List<Slide> ListAll()
{
return db.Slide.Where(x => x.Status == true).OrderBy(y => y.DisplayOrder).ToList();
}
}
}
Bước 2: Vào HomeController Viết code:
public ActionResult Index()
{
ViewBag.TuiSlide = new SlideDao().ListAll();
return View();
}
Bước 3: Vào trang Index, sửa lại để lấy dữ liệu động
Viết câu lệnh: Khai báo sử dụng ViewBag
var sli = (List<KetNoiCSDL.EF.Slide>)ViewBag.TuiSlide;
Tìm đến thẻ mover như hình dưới
Sử dụng lệnh @Foreach như hình dưới
Chuyển đoạn code được đánh dấu vào trong khối lệnh @Foreach
Xóa 2 thẻ được đánh dấu như hình dưới
Sửa lại code cho vòng lặp @Foreach
3. Lấy dữ liệu cho các sản phẩm
Nhập dữ liệu:
Trong sản phẩm có 2 danh sách: Sản phẩm mới và Sản phẩm bán chạy
- Sản phẩm mới.
Bước 1: Tạo ProductDao.cs
Viết code
public class ProductDao
{
DBContext db = null;
public ProductDao()
{
db = new DBContext();
}
}
public List<Product>NewProList(int numpro)
{
return db.Product.Where(x => x.Status == true).OrderByDescending(x => x.CreatedDate).Take(numpro).ToList();
}
Bước 2: Vào HomeController viết code sử dụng ViewBag
ViewBag.TuiNewPro = new ProductDao().NewProList(4);
Bước 3: Vào trang Index, sửa lại để lấy dữ liệu động
Khai báo sử dụng ViewBag
var newpro = (List<KetNoiCSDL.EF.Product>)ViewBag.TuiNewPro;
Tìm đến thẻ section group có 4 sản phẩm như hình dưới
Sử dụng lệnh lặp foreach, cắt 1 dòng đưa vào khối lặp. Xóa 3 dòng dưới
Chỉnh sửa code:
- Sản phẩm bán chạy
Bước 1: Mở ProductDao.cs viêt phương thức sau:
public List<Product>FeatureProList(int numpro)
{
return db.Product.Where(x => x.Status == true).OrderByDescending(x => x.ViewCount).Take(numpro).ToList();
}
Bước 2: Vào HomeController. Viết code sử dụng ViewBag:
ViewBag.TuiFeaturePro = new ProductDao().FeatureProList(4);
Bước 3: Vào trang Index sửa lại như sau:
BÀI 18: CÁCH TẠO URL THÂN THIỆN CHO SEO
1. Tạo URL cho Danh mục sản phẩm ProductCategory. (Lấy nhiều sản phẩm)
Bước 1: Mở View Category.cshtml sửa lại như sau:
@model List<KetNoiCSDL.EF.Category>
<div class="categories">
<ul>
<h3>Danh mục sản phẩm</h3>
@foreach (var item in Model)
{
<li><a href="san-pham/@item.MetaTitle-@item.ID">@item.Name</a></li>
}
</ul>
</div>
Bước 2: Mở ProductCategoryDao. Viết phương thức
public List<ProductCategory>DStheoID(long id)
{
return db.ProductCategory.Where(x => x.ParentID == id).ToList();
}
Bước 3: Tạo mới ProductCategoryController. Viết phương thức
public ActionResult DanhMucSP(long id)
{
ViewBag.DmSp = new ProductCategoryDao().DStheoID(id);
return View();
}
Bước 4: Add View
Viết code cho View:
@{
ViewBag.Title = "Danh mục";
Layout = "~/Views/Shared/_Layout.cshtml";
var dmsp = (List<KetNoiCSDL.EF.ProductCategory>)ViewBag.DmSp;
}
<h1>Danh mục sản phẩm</h1>
<a>-----------------------</a>
@foreach (var item in dmsp)
{
<h3>@item.Name</h3>
<a>-----------------------</a>
}
Bước 5: Mở RouterConfig.cs
Viết thêm đoạn code sau:
routes.MapRoute(
name: "Category",
url: "san-pham/{outputpre}-{id}",
defaults: new { controller = "ProductCategory", action = "DanhMucSP", id = UrlParameter.Optional },
namespaces: new[] { "BanHangOnline.Controllers" }
);
Bước 6: Chạy chương trình:
Kích vào Tivi
2. Tạo URL cho chi tiết sản phẩm Product. (Lấy 1 sản phẩm)
Bước 1: Vào ProductDao.cs viết phương thức sau:
public Product LaySP(long id)
{
return db.Product.Find(id);
}
Bước 2: Vào ProductController.cs viết phương thức:
public ActionResult ChiTietSP(long id)
{
ViewBag.ctsp = new ProductDao().LaySP(id);
return View();
}
Bước 3: Tạo mới View ChiTietSP
@{
ViewBag.Title = "ChiTietSP";
Layout = "~/Views/Shared/_Layout.cshtml";
var CTSP = (KetNoiCSDL.EF.Product)ViewBag.ctsp;
}
<h1>Chi tiết sản phẩm</h1>
<a>------------------------</a>
@{ var item = CTSP;}
<h3>@item.Name</h3>
<h3>@item.Price</h3>
Bước 4: Vào RouterConfig.cs viết code:
routes.MapRoute(
name: "Product",
url: "chi-tiet/-{id}",
defaults: new { controller = "Product", action = "ChiTietSP", id = UrlParameter.Optional },
namespaces: new[] { "BanHangOnline.Controllers" }
);
Bước 5: Chạy chương trình:
Kích vào sản phẩm bất kỳ.
3. Tạo URL cho những trang không có tham số (ví dụ như trang Giới thiệu,…)
Bước 1: Tạo AboutController.cs
Bước 2: Add View
Bước 3: Vào RouterConfig khai báo:
routes.MapRoute(
name: "Gioi thieu",
url: "gioi-thieu",
defaults: new { controller = "About", action = "index", id = UrlParameter.Optional },
namespaces: new[] { "BanHangOnline.Controllers" }
Bước 4: Chạy chương trình.
Tương tự như vậy các em tạo các liên kết cho trang Giao hàng
BÀI 19: TẠO LIÊN HỆ (INSERT CSDL)
Bước 1: Tạo ContactDao.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using KetNoiCSDL.EF;
namespace KetNoiCSDL.DAO
{
public class ContactDao
{
BanhangOnlineDbContext db = null;
public ContactDao()
{
db = new BanhangOnlineDbContext();
}
public long Insert(Contact entity)
{
db.Contact.Add(entity);
db.SaveChanges();
return entity.ID;
}
}
}
Bước 2: Tạo ContactController.
using KetNoiCSDL.DAO;
using KetNoiCSDL.EF;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace BanHangOnline.Controllers
{
public class ContactController : Controller
{
// GET: Contact
public ActionResult Index()
{
return View();
}
protected void SetAlert(string message, string type)
{
TempData["AlertMessage"] = message;
if (type == "success")
{
TempData["AlertType"] = "alert-success";
}
else if (type == "warning")
{
TempData["AlertType"] = "alert-warning";
}
else if (type == "error")
{
TempData["AlertType"] = "alert-danger";
}
}
[HttpPost]
public ActionResult Create(Contact contact)
{
if (ModelState.IsValid)
{
var dao = new ContactDao();
long id = dao.Insert(contact);
if (id > 0)
{
SetAlert("Gửi đi thành công", "success");
}
else
{
SetAlert("Chưa được gửi", "error");
}
}
return View("Index");
}
}
}
Bước 3: Add thêm View
Viết code cho View
@model KetNoiCSDL.EF.Contact
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<script src="~/Assets/Admin/js/Alert.js"></script>
@using (Html.BeginForm("Create", "Contact", FormMethod.Post))
{
@Html.AntiForgeryToken()
<div class="main">
<div class="content">
<div class="section group">
<div class="col span_2_of_3">
<div class="contact-form">
<div id="status_view">
@if (TempData["AlertMessage"] != null)
{
<div id="AlertBox" class="alert @TempData["AlertType"] hide">
@TempData["AlertMessage"]
</div>
}
</div>
<h2>Xin để lại thông tin</h2>
<form role="form">
<div>
@Html.LabelFor(model => model.Name)
@Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
</div>
<div>
@Html.LabelFor(model => model.Mobi)
@Html.EditorFor(model => model.Mobi, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Mobi, "", new { @class = "text-danger" })
</div>
<div>
@Html.LabelFor(model => model.Email)
@Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Email, "", new { @class = "text-danger" })
</div>
<div>
@Html.LabelFor(model => model.subject)
@Html.EditorFor(model => model.subject, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.subject, "", new { @class = "text-danger" })
</div>
<div>
<span><input type="submit" value="Gửi" class="myButton"></span>
</div>
</form>
</div>
</div>
<div class="col span_1_of_3">
<div class="contact_info">
<h3>Tìm địa chỉ Công ty</h3>
<div class="map">
<iframe width="100%" height="175" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.co.in/maps?f=q&source=s_q&hl=en&geocode=&q=Lighthouse+Point,+FL,+United+States&aq=4&oq=light&sll=26.275636,-80.087265&sspn=0.04941,0.104628&ie=UTF8&hq=&hnear=Lighthouse+Point,+Broward,+Florida,+United+States&t=m&z=14&ll=26.275636,-80.087265&output=embed"></iframe><br><small><a href="https://maps.google.co.in/maps?f=q&source=embed&hl=en&geocode=&q=Lighthouse+Point,+FL,+United+States&aq=4&oq=light&sll=26.275636,-80.087265&sspn=0.04941,0.104628&ie=UTF8&hq=&hnear=Lighthouse+Point,+Broward,+Florida,+United+States&t=m&z=14&ll=26.275636,-80.087265" style="color:#666;text-align:left;font-size:12px">View Larger Map</a></small>
</div>
</div>
<div class="company_address">
<h3>Company Information :</h3>
<p>500 Lorem Ipsum Dolor Sit,</p>
<p>22-56-2-9 Sit Amet, Lorem,</p>
<p>USA</p>
<p>Phone:(00) 222 666 444</p>
<p>Fax: (000) 000 00 00 0</p>
<p>Email: <span>[email protected]</span></p>
<p>Follow on: <span>Facebook</span>, <span>Twitter</span></p>
</div>
</div>
</div>
</div>
</div>
}
Mẫu view khi chạy
Bước 4: Tạo Link Liên hệ ở trang chủ
Vào RouterConfig.cs viết lệnh như sau :
routes.MapRoute(
name: "LienHe",
url: "lien-he",
defaults: new { controller = "Contact", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "BHOnline.Controllers" }
);
BÀI 20: TẠO TRANG TIN TỨC
Mẫu trang tin tức như sau:
Khi kích vào Chi tiết.
Thiết kế bảng News:
Nhập dữ liệu cho bảng New khoảng 3 đến 5 bản ghi.
Bước 1: Tạo NewsDao.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using KetNoiCSDL.EF;
using PagedList;
namespace KetNoiCSDL.DAO
{
public class NewsDao
{
BanhangOnlineDbContext db = null;
public NewsDao()
{
db = new BanhangOnlineDbContext();
}
//Phân trang
public IEnumerable<News> ListAllPage(int page, int pageSize)
{
return db.News.OrderByDescending(x => x.CreatedDate).ToPagedList(page, pageSize);
}
//Đọc từng bản tin khi người dùng kích vào Chi tiết
public News ReadNew(long id)
{
return db.News.Where(x => x.ID == id).SingleOrDefault();
}
}
}
Bước 2: Tạo NewsController.cs using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using KetNoiCSDL.DAO;
namespace BanHangOnline.Controllers
{
public class NewsController : Controller
{
//Phân trang
public ActionResult Index(int page=1, int pageSize = 2)
{
var dao = new NewsDao();
var model = dao.ListAllPage(page, pageSize);
return View(model);
}
//Đọc tin chi tiết
public ActionResult Detail(long id)
{
ViewBag.detail = new NewsDao().ReadNew(id);
return View();
}
}
}
Bước 3: Tạo View cho trang Tin-Tức:
@model PagedList.IPagedList<KetNoiCSDL.EF.News>
@using PagedList.Mvc;
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_LayoutNoFoot.cshtml";
}
<div class="main">
<div class="content">
@foreach (var item in Model)
{
var url = "/tin-tuc/-" + item.ID;
<div class="image group">
<div class="grid images_3_of_1">
<amp-img src="@item.Image" alt="@item.Title" />
</div>
<div class="grid news_desc">
<h3>@item.Title </h3>
<h4>Đăng bài ngày @item.CreatedDate.ToString() by <span><a href="#">@item.ModifiedBy</a></span></h4>
<p>@item.Description</p>
<p><a href="@url" pre="Xem chi tiết">[Chi tiết]</a></p>
</div>
</div>
}
</div>
<div class="content-pagenation">
<li class="active">@Html.PagedListPager(Model, page => Url.Action("Index", new { page }));</li>
<div class="clear"> </div>
</div>
</div>
Bước 4: Tạo view cho trang Tin tức chi tiết: (Detail)
Về NewsController.cs
Viết code cho view
@{
ViewBag.Title = "Detail";
Layout = "~/Views/Shared/_Layout.cshtml";
var news = (List<KetNoiCSDL.EF.News>)ViewBag.news;
var tin = (KetNoiCSDL.EF.News)ViewBag.detail;
}
<div class="main">
<div class="content">
<div class="image group">
<div class="grid images_3_of_1">
<amp-img src="@tin.Image" alt="@tin.Title" />
</div>
<div class="grid news_desc">
<h3>@tin.Title </h3>
<h4>Đăng bài lúc @tin.CreatedDate.ToString() bởi <span><a href="#">@tin.Name</a></span></h4>
<p>@tin.Description</p>
<p>@tin.Detail</p>
</div>
</div>
</div>
</div>
Bước 5: Mở RouteConfig.cs viết thêm:
routes.MapRoute(
name: "News",
url: "tin-tuc",
defaults: new { controller = "News", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "BHOnline.Controllers" }
);
routes.MapRoute(
name: "NewsDetail",
url: "tin-tuc/-{id}",
defaults: new { controller = "News", action = "Detail", id = UrlParameter.Optional },
namespaces: new[] { "BHOnline.Controllers" }
BÀI 21 CÁCH GỬI EMAIL TRONG ASP.NET MVC
Bước 1: Khai báo trong file web.config như sau:
<add key="FromEmailAddress" value="[email protected]" />
<add key="FromEmailDisplayName" value="Đóng góp ý kiến" />
<add key="FromEmailPassword" value="abcd$1234" />
<add key="SMTPHost" value="smtp.gmail.com" />
<add key="SMTPPort" value="587" />
<add key="EnabledSSL" value="true" />
<add key="ToEmailAddress" value="[email protected]" />
Bước 2: Xây dựng class MailHelper.cs
Tạo mới class MailHelper.cs trong thư mục Common như sau:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Mail;
using System.Text;
using System.Threading.Tasks;
using System.Configuration;
using System.Net;
namespace BanHangOnline
{
public class MailHelper
{
public void SendMail(string toEmailAddress, string subject,string content)
{
var fromEmailAddress = ConfigurationManager.AppSettings["FromEmailAddress"].ToString();
var fromEmailDisplayName = ConfigurationManager.AppSettings["FromEmailDisplayName"].ToString();
var fromEmailPassword = ConfigurationManager.AppSettings["FromEmailPassword"].ToString();
var smtpHost = ConfigurationManager.AppSettings["SMTPHost"].ToString();
var smtpPort = ConfigurationManager.AppSettings["SMTPPort"].ToString();
bool enabledSsl = bool.Parse(ConfigurationManager.AppSettings["EnabledSSL"].ToString());
string div = content;
MailMessage message = new MailMessage(new MailAddress(fromEmailAddress, fromEmailDisplayName), new MailAddress(toEmailAddress));
message.Subject = subject;
message.IsBodyHtml = true;
message.Body = div;
var client = new SmtpClient();
client.Credentials = new NetworkCredential(fromEmailAddress, fromEmailPassword);
client.Host = smtpHost;
client.EnableSsl = enabledSsl;
client.Port = !string.IsNullOrEmpty(smtpPort) ? Convert.ToInt32(smtpPort) : 0;
client.Send(message);
}
}
}
Chú ý để sử dụng được using System.Configuration; ta cần phải Add References
Bước 3: Tạo mới file GopY.html trong thư mục Assets/Client/Temp/GoyY.html
<!DOCTYPE html>
<html>
<head>
<pre> Khách hàng đóng góp ý kiến: {{CustomerName}}</pre>
<output charset="utf-8" />
</head>
<div>
Thông tin về khách hàng đóng góp ý kiến: {{CustomerName}}
Điện thoại: {{Phone}} <br />
Email: {{Email}}<br />
Nội dung: {{noidung}}<br />
</div>
</html>
Bước 4: Tạo GopYController.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Configuration;
using Common;
using BanHangOnline.Models;
namespace BanHangOnline.Controllers
{
public class GopYController : Controller
{
// GET: YKien
public ActionResult Index()
{
return View();
}
protected void SetAlert(string message, string type)
{
TempData["AlertMessage"] = message;
if (type == "success")
{
TempData["AlertType"] = "alert-success";
}
else if (type == "warning")
{
TempData["AlertType"] = "alert-warning";
}
else if (type == "error")
{
TempData["AlertType"] = "alert-danger";
}
}
Bước 5: Trong thư mục Models tạo class EmailInfor.cs
Bước 6: Về Controller GopY Add View
Nội dung của View copy từ contact và sửa lại
@model BanHangOnline.Models.EmailInfor
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<script src="~/Assets/Admin/js/Alert.js"></script>
@using (Html.BeginForm("Send", "GopY", FormMethod.Post))
{
@Html.AntiForgeryToken()
<div class="main">
<div class="content">
<div class="section group">
<div class="col span_2_of_3">
<div class="contact-form">
<div id="status_view">
@if (TempData["AlertMessage"] != null)
{
<div id="AlertBox" class="alert @TempData["AlertType"] hide">
@TempData["AlertMessage"]
</div>
}
</div>
<h2>Góp ý</h2>
<form role="form">
<div>
<span><label>Tên của bạn:</label></span>
@Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })
</div>
<div>
<span><label>E-mail</label></span>
@Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control" } })
</div>
<div>
<span><label>Phone</label></span>
@Html.EditorFor(model => model.Mobile, new { htmlAttributes = new { @class = "form-control" } })
</div>
<div>
<span><label>Nội dung góp ý</label></span>
@Html.TextBoxFor(model => model.Noidung, new { htmlAttributes = new { @class = "form-control" } })
</div>
<div>
<span><input type="submit" value="Gửi" class="myButton"></span>
</div>
</form>
</div>
</div>
<div class="col span_1_of_3">
<div class="contact_info">
<h3>Tìm địa chỉ Công ty</h3>
<div class="map">
<iframe width="100%" height="175" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.co.in/maps?f=q&source=s_q&hl=en&geocode=&q=Lighthouse+Point,+FL,+United+States&aq=4&oq=light&sll=26.275636,-80.087265&sspn=0.04941,0.104628&ie=UTF8&hq=&hnear=Lighthouse+Point,+Broward,+Florida,+United+States&t=m&z=14&ll=26.275636,-80.087265&output=embed"></iframe><br><small><a href="https://maps.google.co.in/maps?f=q&source=embed&hl=en&geocode=&q=Lighthouse+Point,+FL,+United+States&aq=4&oq=light&sll=26.275636,-80.087265&sspn=0.04941,0.104628&ie=UTF8&hq=&hnear=Lighthouse+Point,+Broward,+Florida,+United+States&t=m&z=14&ll=26.275636,-80.087265" style="color:#666;text-align:left;font-size:12px">View Larger Map</a></small>
</div>
</div>
<div class="company_address">
<h3>Company Information :</h3>
<p>500 Lorem Ipsum Dolor Sit,</p>
<p>22-56-2-9 Sit Amet, Lorem,</p>
<p>USA</p>
<p>Phone:(00) 222 666 444</p>
<p>Fax: (000) 000 00 00 0</p>
<p>Email: <span>[email protected]</span></p>
<p>Follow on: <span>Facebook</span>, <span>Twitter</span></p>
</div>
</div>
</div>
</div>
</div>
}
- Về Controller GopY viết tiếp
[HttpPost]
public ActionResult Send(EmailInfor EM)
{
try
{
string cus = EM.Name.ToString();
string phone = EM.Mobile.ToString();
string email = EM.Email.ToString();
string nd = EM.Noidung.ToString();
string content = System.IO.File.ReadAllText(Server.MapPath("~/Assets/Client/temp/GopY.html"));
content = content.Replace("{{CustomerName}}", cus);
content = content.Replace("{{Phone}}", phone);
content = content.Replace("{{Email}}", email);
content = content.Replace("{{noidung}}", nd);
var toEmail = ConfigurationManager.AppSettings["ToEmailAddress"].ToString();
new MailHelper().SendMail(email, "Cảm ơn bạn đã đóng góp ý kiến", content);
new MailHelper().SendMail(toEmail, "Đóng góp ý kiến từ bán hàng Online", content);
SetAlert("Gửi đi thành công", "success");
}
catch
{
SetAlert("Chưa được gửi", "error");
}
return View("Index");
}
}
}
Bước 7: Chạy chương trình và kiểm tra kết quả.
Mở hộp thư: [email protected] kiểm tra kết quả:
BÀI 22: TÍCH HỢP GOOGLE MAP API.
Yêu cầu của bài: Mở View GopY.cshtml thiết kế và viết code. Sau khi chạy:
Nhập dữ liệu cho bảng Company như sau:
Bước 1: Tạo CompanyDao.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using KetNoiCSDL.EF;
namespace KetNoiCSDL.DAO
{
public class CompanyDao
{
BanhangOnlineDbContext db = null;
public CompanyDao()
{
db = new BanhangOnlineDbContext();
}
public Company Laycty()
{
return db.Company.Where(x => x.CompanyName != null).Single();
}
}
}
Bước 2: Mở GopYController.cs
Viết thêm ViewBag:
ViewBag.cty = new CompanyDao().Laycty();
Bước 3: Về View sửa lại
@model BanHangOnline.Models.EmailInfor
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
var Cty = (KetNoiCSDL.EF.Company)ViewBag.cty;
}
<style>
#mapCanvas {
height: 300px;
}
</style>
@section jsFooter{
<script src=""></script>
<script src="/assets/client/js/controller/contactController.js"></script>
<script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB4snF4PWG0iYRFRr7O_BdTCefSW3kSiV4&callback=initMap"
type="text/javascript"></script>
<script>
//AIzaSyB4snF4PWG0iYRFRr7O_BdTCefSW3kSiV4
//21.043976, 105.866707
function initMap() {
var uluru = { lat: 21.043976, lng: 105.866707 };
var map = new google.maps.Map(document.getElementById('mapCanvas'), {
zoom: 16,
center: uluru
});
var contentString = '@Cty.CompanyName @Cty.Address';
var infowindow = new google.maps.InfoWindow({
content: contentString
});
var marker = new google.maps.Marker({
position: uluru,
map: map,
pre: 'Địa chỉ'
});
marker.addListener('click', function () {
infowindow.open(map, marker);
});
}
google.maps.event.addDomListener(window, 'load', initMap);
</script>
}
@using (Html.BeginForm("Send", "GopY", FormMethod.Post))
{
@Html.AntiForgeryToken()
<div class="main">
<div class="content">
<div class="section group">
<div class="col span_2_of_3">
<div class="contact-form">
<div id="status_view">
@if (TempData["AlertMessage"] != null)
{
<div id="AlertBox" class="alert @TempData["AlertType"] hide">
@TempData["AlertMessage"]
</div>
}
</div>
<h2>Góp ý</h2>
<form role="form">
<div>
<span><label>Tên của bạn:</label></span>
@Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })
</div>
<div>
<span><label>E-mail</label></span>
@Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control" } })
</div>
<div>
<span><label>Phone</label></span>
@Html.EditorFor(model => model.Mobile, new { htmlAttributes = new { @class = "form-control" } })
</div>
<div>
<span><label>Nội dung góp ý</label></span>
@Html.TextAreaFor(model => model.Noidung, new { htmlAttributes = new { @class = "form-control" } })
</div>
<div>
<span><input type="submit" value="Gửi" class="myButton"></span>
</div>
</form>
</div>
</div>
<div class="col span_1_of_3">
<div class="contact_info">
<h3>Địa chỉ Công ty</h3>
<div class="col-md-6">
<h3>Bản đồ</h3>
<div class="map" id="mapCanvas"></div>
</div>
</div>
<div class="company_address">
<h3>Thông tin về Công ty :</h3>
<p>Tên công ty: @Cty.CompanyName</p>
<p>Địa chỉ: @Cty.Address</p>
<p>Email: <span>@Cty.Email</span></p>
<p>Phone: @Cty.Phone</p>
<p>Follow on: <span>Facebook</span>, <span>Twitter</span></p>
</div>
</div>
</div>
</div>
</div>
}
Chú ý: Để lấy được đoạn code chèn bản đồ ở trên bạn làm như sau:
Tìm đến trang Google map API
Chọn WEB
Chọn SAMPLES\Infor windows
Copy đoạn code trên, rồi sửa lại.
Bước 4: vào trang _Layout.html
Viết thêm: @RenderSection("jsFooter", required: false)
Bước 5: Chạy chương trình.
BÀI 23: TẠO FORM ĐĂNG KÝ THÀNH VIÊN CÓ TÍCH HỢP CAPTCHA
1. Tạo form đăng ký thành viên.
Bước 1: Tạo Models\RegisterModel.cs
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace BanHangOnline.Models
{
public class RegisterModel
{
[Key]
public long ID { set; get; }
[Display(Name = "Tên đăng nhập")]
[Required(ErrorMessage = "Yêu cầu nhập tên đăng nhập")]
public string UserName { set; get; }
[Display(Name = "Mật khẩu")]
[StringLength(20, MinimumLength = 6, ErrorMessage = "Độ dài mật khẩu ít nhất 6 ký tự.")]
[Required(ErrorMessage = "Yêu cầu nhập mật khẩu")]
public string Password { set; get; }
[Display(Name = "Xác nhận mật khẩu")]
[Compare("Password", ErrorMessage = "Xác nhận mật khẩu không đúng.")]
public string ConfirmPassword { set; get; }
[Display(Name = "Họ tên")]
[Required(ErrorMessage = "Yêu cầu nhập họ tên")]
public string Name { set; get; }
[Display(Name = "Địa chỉ")]
public string Address { set; get; }
[Required(ErrorMessage = "Yêu cầu nhập email")]
[Display(Name = "Email")]
public string Email { set; get; }
[Display(Name = "Điện thoại")]
public string Phone { set; get; }
[Display(Name="Tỉnh/thành")]
public string ProvinceID { set; get; }
[Display(Name = "Quận/Quyện")]
public string DistrictID { set; get; }
}
}
Bước 2: Vào UserDao tạo thêm 2 phương thức sau:
public bool CheckUserName(string userName)
{
return db.User.Count(x => x.UserName == userName) > 0;
}
public bool CheckEmail(string email)
{
return db.User.Count(x => x.Email == email) > 0;
}
Bước 3: Tạo UserController.cs
[HttpGet]
public ActionResult Register()
{
return View();
}
Bước 4: Add View Register.schtml
@model BanHangOnline.Models.RegisterModel
@{
ViewBag.Title = "Register";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@using (Html.BeginForm("Register", "User", FormMethod.Post))
{
@Html.AntiForgeryToken()
<div class="main">
<div class="content">
<div class="section group">
<div class="col span_2_of_3">
<div class="contact-form">
<div id="status_view">
@if (TempData["AlertMessage"] != null)
{
<div id="AlertBox" class="alert @TempData["AlertType"] hide">
@TempData["AlertMessage"]
</div>
}
</div>
<h2>Đăng ký thành viên</h2>
<div class="form-group">
<div>
@if (ViewBag.Success != null)
{<div class="alert alert-success">@ViewBag.Success</div> }
</div>
<div class="form-group">
@Html.LabelFor(model => model.UserName, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextBoxFor(model => model.UserName, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.UserName, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Password, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.PasswordFor(model => model.Password, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.Password, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.ConfirmPassword, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.PasswordFor(model => model.ConfirmPassword, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.ConfirmPassword, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextBoxFor(model => model.Name, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Address, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextAreaFor(model => model.Address, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.Address, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Email, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextBoxFor(model => model.Email, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.Email, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Phone, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextBoxFor(model => model.Phone, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.Phone, "", new { @class = "text-danger" })
</div>
</div>
@* Captcha lát nữa sẽ thêm chỗ này *@
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Đăng ký" class="btn btn-primary" />
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
}
Bước 5: Vào UserController Viết phương thức [Httpost]
[HttpPost]
public ActionResult Register(RegisterModel model)
{
if (ModelState.IsValid)
{
var dao = new UserDao();
if (dao.CheckUserName(model.UserName))
{
ModelState.AddModelError("", "Tên đăng nhập đã tồn tại");
}
else if (dao.CheckEmail(model.Email))
{
ModelState.AddModelError("", "Email đã tồn tại");
}
else
{
var user = new User();
user.UserName = model.UserName;
user.Name = model.Name;
user.Password = MaHoaMd5.MD5Hash(model.Password);
user.Phone = model.Phone;
user.Email = model.Email;
user.Address = model.Address;
user.CreatedDate = DateTime.Now;
user.Status = true;
var result = dao.Insert(user);
if (result > 0)
{
ViewBag.Success = "Đăng ký thành công";
model = new RegisterModel();
}
else
{
ModelState.AddModelError("", "Đăng ký không thành công.");
}
}
}
return View("Register");
}
Bước 6: Khai báo trong RouterConfig.
routes.MapRoute(
name: "Dang ky thanh vien",
url: "dang-ky",
defaults: new { controller = "User", action = "Register", id = UrlParameter.Optional },
namespaces: new[] { "BanHangOnline.Controllers" }
);
Bước 7: Chạy chương trình. Sau khi chương trình chạy đúng rồi thì ta tiến hành chèn Captcha.
2. Chèn CaptCha
Bước 1: Install BotDetect
Sau khi cài đặt mở Web.config kiểm tra xem:
<system.web>
<httpHandlers>
<!-- Register the HttpHandler used for BotDetect Captcha
requests -->
<add verb="GET" path="BotDetectCaptcha.ashx" type="BotDetect.Web.CaptchaHandler, BotDetect" />
</httpHandlers>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<!-- Register the HttpHandler used for BotDetect Captcha
requests (IIS 7.0+) -->
<remove name="BotDetectCaptchaHandler" />
<add name="BotDetectCaptchaHandler" preCondition="integratedMode" verb="GET" path="BotDetectCaptcha.ashx" type="BotDetect.Web.CaptchaHandler, BotDetect" />
</handlers>
Bước 2: Vào Register.cshtml khai báo thư viện captcha.
@model BanHangOnline.Models.RegisterModel
@using BotDetect.Web.Mvc;
<link href="@BotDetect.Web.CaptchaUrls.Absolute.LayoutStyleSheetUrl"
rel="stylesheet" type="none" />
@{ MvcCaptcha registerCapcha = new MvcCaptcha("registerCapcha"); }
@{
ViewBag.Title = "Register";
Layout = "~/Views/Shared/_Layout.cshtml";
}
Hiển thị captcha
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
@Html.Captcha(registerCapcha)
@Html.TextBox("CaptchaCode")
</div>
</div>
Bước 3: Vào UserController.cs Viết thêm
[CaptchaValidation("CaptchaCode", "registerCapcha", "Mã xác nhận không đúng!")]
Bước 4: Thêm dòng lệnh sau vào file RouteConfig.cs
routes.IgnoreRoute("{*botdetect}",
new { botdetect = @"(.*)BotDetectCaptcha\.ashx" });
Bước 5: Chạy chương trình
Bài tập làm thêm.
Vào trang https://w3layouts.com/ tìm kiếm mẫu form register
Download mẫu trên rồi đưa vào chương trình. Sản phẩm sau khi hoàn thành:
BÀI 24: TẠO TRANG ĐĂNG NHẬP VÀ ĐĂNG XUẤT CHO KHÁCH.
Bước 1: Tạo Models/LoginModel.cs
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace BanHangOnline.Models
{
public class LoginModel
{
[Key]
[Display(Name = "Tên đăng nhập")]
[Required(ErrorMessage = "Bạn phải nhập tài khoản")]
public string UserName { set; get; }
[Required(ErrorMessage = "Bạn phải nhập mật khẩu")]
[Display(Name = "Mật khẩu")]
public string Password { set; get; }
}
}
Sau khi tạo xong nhớ Build lại chương trình.
Bước 2: Vào UserController.cs tạo phương thức:
public ActionResult Login()
{
return View();
}
Bước 3: Add mới 1 View Login
Sửa lại code cho View:
@model BanHangOnline.Models.LoginModel
@{
ViewBag.Title = "Login";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<div class="content">
@using (Html.BeginForm("Login", "User", FormMethod.Post))
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>Đăng nhập</h4>
<hr />
<div class="form-group">
<label class="control-label col-md-2"></label>
<div class="col-md-10">
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.UserName, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextBoxFor(model => model.UserName, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.UserName, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Password, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.PasswordFor(model => model.Password, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.Password, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Đăng nhập" class="btn btn-primary" />
</div>
</div>
</div>
}
</div>
Bước 4: Mở UserController. Viết phương thức HttpPost cho Login
[HttpPost]
public ActionResult Login(LoginModel model)
{
if (ModelState.IsValid)
{
var dao = new UserDao();
var result = dao.Login(model.UserName, MaHoaMd5.MD5Hash(model.Password));
if (result == 1)
{
var user = dao.GetByID(model.UserName);
var userSession = new UserLogin();
userSession.UserName = user.UserName;
userSession.UserID = user.ID;
Session.Add(CommonConstants.USER_SESSION, userSession);
return Redirect("/");
}
else if (result == 0)
{
ModelState.AddModelError("", "Tài khoản không tồn tại.");
}
else if (result == -1)
{
ModelState.AddModelError("", "Tài khoản đang bị khoá.");
}
else if (result == -2)
{
ModelState.AddModelError("", "Mật khẩu không đúng.");
}
else
{
ModelState.AddModelError("", "đăng nhập không đúng.");
}
}
return View();
}
Bước 5: Mở RouterConfig viết thêm
routes.MapRoute(
name: "Dang nhap",
url: "Dang-nhap",
defaults: new { controller = "User", action = "Login", id = UrlParameter.Optional },
namespaces: new[] { "BanHangOnline.Controllers" }
);
Bước 6: Mở TopMenu.cshtml viết thêm:
@model List<KetNoiCSDL.EF.Menu>
<div class="call">
<p><span>Nếu bạn cần?</span> Xin hãy gọi <span class="number">0978-187-154</span></span></p>
</div>
<div class="account_desc">
@{
var session = (BanHangOnline.Common.UserLogin)Session[BanHangOnline.Common.CommonConstants.USER_SESSION];
}
@if (session == null)
{
<ul>
@foreach (var item in Model)
{
<li><a href="@item.Link" target="@item.Target">@item.Text</a></li>
}
</ul>
}
else
{
<ul>
<li>Xin chào:@session.UserName</li>
<li>@Html.ActionLink("Thoát", "Logout", "User")</li>
</ul>
}
</div>
<div class="clear"></div>
Bước 7: Mở UserController. Viết phương thức Logout
public ActionResult Logout()
{
Session[CommonConstants.USER_SESSION] = null;
return Redirect("/");
}
Bước 8: Chạy chương trình.
Chọn Đăng nhập.
Đăng nhập thành công, Kích Thoát
BÀI 25 ĐĂNG NHẬP BẰNG TÀI KHOẢN FACEBOOK
Bước 1: Truy cập vào trang https://developers.facebook.com
Kích vào Cài đặt
Nhập đầy đủ thông tin: Miền ứng dụng, ta copy Local host.
Kích vào Hiển thị
Bước 2: Vào Web.Config thiết lập
<add key="FbAppId" value="251739685346369"/>
<add key ="FbAppSecret" value="121915bbbbcaa3ec694a3628804147c4"/>
Bước 3: Vào cài đặt Facebook
Bước 4: Vào trang Login thiết kế nút đăng nhập:
<a class="btn btn-facebook" href="/User/LoginFacebook"> Đăng nhập bằng Facebook </a>
Bước 5: Vào UserDao.cs viết phương thức:
public long InsertForFacebook(User entity)
{
var user = db.User.SingleOrDefault(x => x.UserName == entity.UserName);
if (user == null)
{
db.User.Add(entity);
db.SaveChanges();
return entity.ID;
}
else
{
return user.ID;
}
}
Bước 6: Vào UserController.cs Viết 2 phương thức:
public ActionResult LoginFacebook()
{
var fb = new FacebookClient();
var loginUrl = fb.GetLoginUrl(new
{
client_id = ConfigurationManager.AppSettings["FbAppId"],
client_secret = ConfigurationManager.AppSettings["FbAppSecret"],
redirect_uri = RedirectUri.AbsoluteUri,
response_type = "code",
scope = "email",
});
return Redirect(loginUrl.AbsoluteUri);
}
public ActionResult FacebookCallback(string code)
{
var fb = new FacebookClient();
dynamic result = fb.Post("oauth/access_token", new
{
client_id = ConfigurationManager.AppSettings["FbAppId"],
client_secret = ConfigurationManager.AppSettings["FbAppSecret"],
redirect_uri = RedirectUri.AbsoluteUri,
code = code
});
var accessToken = result.access_token;
if (!string.IsNullOrEmpty(accessToken))
{
fb.AccessToken = accessToken;
// Get the user's information, like email, first name, middle name etc
dynamic me = fb.Get("me?fields=first_name,middle_name,last_name,id,email");
string email = me.email;
string userName = me.email;
string firstname = me.first_name;
string middlename = me.middle_name;
string lastname = me.last_name;
var user = new User();
user.Email = email;
user.UserName = email;
user.Status = true;
user.Name = firstname + " " + middlename + " " + lastname;
user.CreatedDate = DateTime.Now;
var resultInsert = new UserDao().InsertForFacebook(user);
if (resultInsert > 0)
{
var userSession = new UserLogin();
userSession.UserName = user.UserName;
userSession.UserID = user.ID;
Session.Add(CommonConstants.USER_SESSION, userSession);
}
}
return Redirect("/");
}
Viết RedirectUri
private Uri RedirectUri
{
get
{
var uriBuilder = new UriBuilder(Request.Url);
uriBuilder.Query = null;
uriBuilder.Fragment = null;
uriBuilder.Path = Url.Action("FacebookCallback");
return uriBuilder.Uri;
}
}
Bước 7: Chạy chương trình
Bài tập làm thêm:
Vào trang https://w3layouts.com tìm kiếm login, download mẫu form sau:
Sử dụng mẫu form này, cho Form đăng nhập.
Sau khi chỉnh sửa:
BÀI 26: CÁCH ĐỌC FILE XML RA DROP DOWN LIST BẰNG AJAX
Sử dụng 1 file XML lấy dữ liệu ra cho Tỉnh và huyện như sau:
Cho 1 file dữ liệu tỉnh và quận huyện : Provinces_Data.xml.
Copy file này vào \Assets\Client\data\Provinces_Data.xml
Bước 1: Vào View Register.cshtml viết thêm 2 trường sau:
<div class="icon1">
<i class="fa fa-user" aria-hidden="true"></i>
@Html.LabelFor(model => model.ProvinceID)
@Html.DropDownList("ProvinceID", new SelectList(new string[] { }), new { @class = "form-control", @id = "ddlProvince" })
</div>
<div class="icon1">
<i class="fa fa-user" aria-hidden="true"></i>
@Html.LabelFor(model => model.DistrictID)
@Html.DropDownList("DistrictID", new SelectList(new string[] { }), new { @class = "form-control", @id = "ddlDistrict" })
</div>
Bước 2: Tạo 2 Models:
+ ProvinceModel.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace BanHangOnline.Models
{
public class ProvinceModel
{
public int ID { set; get; }
public string ProvinceName { set; get; }
}
}
+ DistrictModel.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace BanHangOnline.Models
{
public class DistrictModel
{
public int ID { set; get; }
public string DistrictName { set; get; }
public int ProvinceID { set; get; }
}
}
Bước 3: Tạo file \Assets\Client\js\controller\ userController.js
var user = {
init: function () {
user.loadProvince();
user.registerEvent();
},
registerEvent: function () {
$('#ddlProvince').off('change').on('change', function () {
var id = $(this).val();
if (id != '') {
user.loadDistrict(parseInt(id));
}
else {
$('#ddlDistrict').html('');
}
});
},
loadProvince: function () {
$.ajax({
url: '/User/LoadProvince',
type: "POST",
dataType: "json",
success: function (response) {
if (response.status == true) {
var html = '<option value="">--Chọn tỉnh thành--</option>';
var data = response.data;
$.each(data, function (i, item) {
html += '<option value="' + item.ID + '">' + item.ProvinceName + '</option>'
});
$('#ddlProvince').html(html);
}
}
})
},
loadDistrict: function (id) {
$.ajax({
url: 'User/LoadDistrict',
type: "POST",
data: { ProvinceID: id },
dataType: "json",
success: function (response) {
if (response.status == true) {
var html = '<option value="">--Chọn quận huyện--</option>';
var data = response.data;
$.each(data, function (i, item) {
html += '<option value="' + item.ID + '">' + item.DistrictName + '</option>'
});
$('#ddlDistrict').html(html);
}
}
})
}
}
user.init();
Bước 4: Vào UserController viết 2 phương thức LoadProvince và LoadDistrict
//Lấy tỉnh
public JsonResult LoadProvince()
{
var xmlDoc = XDocument.Load(Server.MapPath(@"/Assets/client/data/Provinces_Data.xml"));
var xElements = xmlDoc.Element("Root").Elements("Item").Where(x => x.Attribute("type").Value == "province");
var list = new List<ProvinceModel>();
ProvinceModel province = null;
foreach (var item in xElements)
{
province = new ProvinceModel();
province.ID = int.Parse(item.Attribute("id").Value);
province.ProvinceName = item.Attribute("value").Value;
list.Add(province);
}
return Json(new
{
data = list,
status = true
});
}
//Lấy Quận/huyện
public JsonResult LoadDistrict(int provinceID)
{
var xmlDoc = XDocument.Load(Server.MapPath(@"/Assets/Client/data/Provinces_Data.xml"));
var xElement = xmlDoc.Element("Root").Elements("Item")
.Single(x => x.Attribute("type").Value == "province" && int.Parse(x.Attribute("id").Value) == provinceID);
var list = new List<DistrictModel>();
DistrictModel district = null;
foreach (var item in xElement.Elements("Item").Where(x => x.Attribute("type").Value == "district"))
{
district = new DistrictModel();
district.ID = int.Parse(item.Attribute("id").Value);
district.DistrictName = item.Attribute("value").Value;
district.ProvinceID = int.Parse(xElement.Attribute("id").Value);
list.Add(district);
}
return Json(new
{
data = list,
status = true
});
}
Bước 5: Trong UserController Viết thêm để insert mã tỉnh và mã huyện vào bảng User
if (!string.IsNullOrEmpty(model.ProvinceID))
{
user.ProvinceID = int.Parse(model.ProvinceID);
}
if (!string.IsNullOrEmpty(model.DistrictID))
{
user.DistrictID = int.Parse(model.DistrictID);
}
Bước 6: Vào View Register.cshtml thêm thư viện:
<script src="/Assets/Client/js/jquery-3.2.1.min.js"></script>
<script src="/Assets/Client/js/controller/userController.js"></script>
Bước 7: Chạy chương trình.
BÀI 27: CÁCH SỬ DỤNG OUTPUTCACHE ĐỂ TĂNG TỐC ĐỘ
Cú pháp:
Trong đó :
+ Duration : là thời gian cache được tính bằng giây.
+ Location : Vị trí cache gồm :
Any: Bất kỳ vị trí nào (Mặc định)
Client: Cache ở máy trạm
Downstream:
None:
Server:
ServerAndClient:
+ Nostore:
+ Order:
+ SqlDependency:
+ VaryByContenEncoding:
+ VaryByCustom:
+ VaryByHeader:
+ VaryByParam:
Thực hiện như sau :
Cách 1: Đưa trực tiếp vào Controller.
Bước 1: Vào HomeController.cs khai báo
[OutputCache (Duration=3600, Location =System.Web.UI.OutputCacheLocation.Client) ]
Cách 2: Đưa vào Webconfig.
Bước 1: Mở Web.config tìm đến thẻ <system.web> khai báo thêm thẻ <caching>
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name ="1hour" duration="3600" location="Client" varyByParam="none"/>
<add name ="1day" duration="86400" location="Server"/>
</outputCacheProfiles>
</outputCacheSettings>
</caching>
Bước 2: Về HomeController:
[OutputCache(CacheProfile ="1hour")]
Tương tự các bạn có thể caching tại những vị trí khác.
BÀI 28: PHÂN QUYỀN CHO NGƯỜI DÙNG.
1. Phân quyền truy cập vào trang Admin
Tạo thêm 3 bảng sau:
-Role
-UserGroup
-Credential
Nhập dữ liệu:
Vào bảng User trường GroupID gõ MEMBER như hình dưới
Bước 1: Tạo mới một class Constans.cs trong Common
Bước 2: Vào UserDao.cs Viết lại phương thức Login
public int Login(string userName, string passWord, bool isLoginAdmin = false)
{
var result = db.Users.SingleOrDefault(x => x.UserName == userName);
if (result == null)
{
return 0;
}
else
{
if (isLoginAdmin == true)
{
if (result.GroupID == CommonConstants.ADMIN_GROUP || result.GroupID == CommonConstants.MOD_GROUP)
{
if (result.Status == false)
{
return -1;
}
else
{
if (result.Password == passWord)
return 1;
else
return -2;
}
}
else
{
return -3;
}
}
else
{
if (result.Status == false)
{
return -1;
}
else
{
if (result.Password == passWord)
return 1;
else
return -2;
}
}
}
}
Bước 3: Vào LoginController.cs Viết thêm vào phương thức Login như sau:
var res = dao.Login(model.UserName, MaHoaMd5.MD5Hash(model.PassWord),true);
else if (res == -3)
{
ModelState.AddModelError("", "Bạn không có quyền đăng nhập.");
}
else
Kết quả như sau:
public ActionResult Login(LoginModel model)
{
if (ModelState.IsValid)
{
var dao = new UserDao();
var res = dao.Login(model.UserName, MaHoaMd5.MD5Hash(model.PassWord),true);
if (res == 1)
{
var user = dao.GetByID(model.UserName);
var userSession = new UserLogin();
userSession.UserName = user.UserName;
userSession.UserID = user.ID;
Session.Add(CommonConstants.USER_SESSION, userSession);
return RedirectToAction("Index", "Home");
}
else if (res == 0)
{
ModelState.AddModelError("", "Tài khoản không tồn tại.");
}
else if (res == -1)
{
ModelState.AddModelError("", "Tài khoản đang bị khóa.");
}
else if (res == -2)
{
ModelState.AddModelError("", "Mật khẩu không đúng.");
}
else if (res == -3)
{
ModelState.AddModelError("", "Bạn không có quyền đăng nhập.");
}
else
{
ModelState.AddModelError("", "Đăng nhập không đúng.");
}
}
return View("Login");
}
Bước 4: Chạy chương trình
Vào CSDL sửa lại 1 quyền bất kỳ là ADMIN
Đăng nhập lại sẽ thành công!
2. Phân quyền chi tiết cho quản trị
Bước 1: Mở UserDao.cs. Viết thêm phương thức
//Phân quyền người dùng
public List<string> GetListCredential(string userName)
{
var user = db.User.Single(x => x.UserName == userName);
var data = (from a in db.Credential
join b in db.UserGroup on a.UserGroupID equals b.ID
join c in db.Role on a.RoleID equals c.ID
where b.ID == user.GroupID
select new
{
RoleID = a.RoleID,
UserGroupID = a.UserGroupID
}).AsEnumerable().Select(x => new Credential()
{
RoleID = x.RoleID,
UserGroupID = x.UserGroupID
});
return data.Select(x => x.RoleID).ToList();
}
Bước 2: Vào EF\Credential.cs. Khai báo thêm [Serializable]
Bước 3: Vào Common\ CommonConstants.cs Khai báo thêm:
public static string SESSION_CREDENTIALS = "SESSION_CREDENTIALS";
Bước 4: Tạo mới Class HasCredentialAttribute.cs trong Common
Viết code cho class HasCredentialAttribute.cs như sau:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Common;
using System.Web.Routing;
using BanHangOnline.Common;
namespace BanhangOnline
{
public class HasCredentialAttribute : AuthorizeAttribute
{
public string RoleID { set; get; }
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
var session = (UserLogin)HttpContext.Current.Session[CommonConstants.USER_SESSION];
if (session == null)
{
return false;
}
List<string> privilegeLevels = this.GetCredentialByLoggedInUser(session.UserName);
// Call another method to get rights of the user from DB
if (privilegeLevels.Contains(this.RoleID) || session.GroupID == Common.Constants.ADMIN_GROUP)
{
return true;
}
else
{
return false;
}
}
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
filterContext.Result = new ViewResult
{
ViewName = "/Areas/Admin/Views/Shared/401.cshtml"
};
}
private List<string> GetCredentialByLoggedInUser(string userName)
{
var credentials = (List<string>)HttpContext.Current.Session[CommonConstants.SESSION_CREDENTIALS];
return credentials;
}
}
}
Bước 5: Tạo mới View 401.cshtml
@{
ViewBag.Title = "View";
Layout = "/Areas/Admin/Views/Shared/_Layout.cshtml";
}
<div class="alert alert-danger">
Bạn không có quyền truy cập.
</div>
Bước 6: Chạy chương trình:
- Đăng nhập User TruongPhi được phân quyền là MOD sẽ không vào xem được danh sách user.
- Đăng nhập User quyền ADMIN sẽ xem được:
Phần Quyền lại cho MOD ở bảng Credential. Chạy lại để xem kết quả.
BÀI 29: TỐI ƯU HÓA ĐƯỜNG TRUYỀN BẰNG CÁCH NÉN CSS VÀ JAVASCRIPT
Bước 1: Install Nuget Asp.net.Web.Optimization như hình dưới.
Bước 2: Trong thư mục App_Start tạo mới 1 class BundleConfig.cs
Trong Class BundleConfig.cs viết các phương thức thay thế cho css hay JavaScript như sau:
using System.Web.Optimization;
namespace BanHangOnline.App_Start
{
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/assets/Client/js/jquery-1.7.2.min.js",
"~/assets/Client/js/move-top.js",
"~/assets/Client/js/easing.js",
"~/assets/Client/js/startstop-slider.js",
"~/assets/Client/js/slides.min.jquery.js"
));
bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
"~/Assets/Client/css/boostrap-social.css"
));
bundles.Add(new StyleBundle("~/bundles/css").Include(
"~/assets/Client/css/style.css",
"~/assets/Client/css/slider.css",
"~/Assets/Client/css/global.css"));
}
}
}
Bước 3: Qua trang _Layout.cshtml thay thế:
@Styles.Render("~/bundles/css")
@Styles.Render("~/bundles/bootstrap")
@Scripts.Render("~/bundles/jquery")Chú ý:
- Vào ~\View\Web.config viết thêm lệnh
<add namespace="System.Web.Optimization"/>
- Vào Global.asax viết thêm lệnh
BundleConfig.RegisterBundles(BundleTable.Bundles);
Bước 4: Chạy chương trình. Nhấn phím F12
BÀI 30: CÁC QUY TẮC TỐI TƯU CHO SEO (Search Engine Optimization)
160 Lập trình Web2 – ASP.NET MVC
Giáo viên: Thái Ngô Hùng – Biên soạn.
- PHÒNG GIÁO DỤC PHÙ YÊN ĐỀ KIỂM TRA HỌC KỲ II SƠN LA MÔN TOÁN LỚP 6 Thời gian làm bài: 90 phút I. Trắc nghiệm khách quan (2 điểm). Trong mỗi câu từ câu 1 đến câu 4 đều có 4 phương án trả lời A, B, C, D; trong đó chỉ có một phương án đúng. Hãy khoanh tròn vào chữ cái đứng trước phương án đúng. Câu 1: Phân số tối giản của A. 2 ; 7 B. Câu 2: Hỗn số −4 A. −4 ; 3 10 ; 35 B. −1 ; 9 Câu 4: Tính C. 50 ; 175 D. 12 5 1 được viết dưới dạng phân số là: 3 −7 ; 3 Câu 3: Số nghịch đảo của A. 100 là: 350 C. −11 ; 3 D. − 13 3 1 là: 9 C. − 9; B. 1; D. 9 5 −5 + được kết quả là 6 9 A. 0; B. −5 ; 18 C. 5 ; 18 D. −5 54 Câu 5. Điền dấu “x” vào ô thích hợp Khẳng định Đúng Sai a) Hai số đối nhau là hai số có tích bằng 1. b) Hai phân số a c (b, d ≠ 0) gọi là bằng nhau nếu ad = bc . và b d c) Phân số tối giản là phân số mà tử và mẫu chỉ có ước chung là 1 và −1. d) Hai góc kề nhau là hai góc có tổng số đo bằng 900. Đề số 6/lớp 6/kì 2 1 II. Tự luận (8 điểm) Câu 6: (2 điểm) 3 7 a) Tính giá trị của biểu thức A = 5 + 1 7 b) Tìm x biết 3 : x = 2 −3 4 −3 9 . + . 7 13 7 13 3 4 Câu 7: (3 điểm) Một lớp học có 40 học sinh. Số học sinh giỏi chiếm 25% số học sinh cả lớp. Số học sinh trung bình bằng 2 số học sinh giỏi. Còn lại là học sinh khá. 5 a) Tính số học sinh mỗi loại của lớp. b) Tính tỉ số phần trăm của số học sinh khá so với số học sinh cả lớp. Câu 8: (3 điểm) Trên một nửa mặt phẳng có bờ chứa tia Ox, vẽ hai tia Oy và Oz sao cho n = 1100 , xOz n = 550 . xOy a) Hỏi trong ba tia Ox, Oy, Oz, tia nào nằm giữa 2 tia còn lại ? n. b) Tính số đo yOz n hay không? Giải thích. c) Hỏi tia Oz có là tia phân giác của xOy Đề số 6/lớp 6/kì 2 2 PHÒNG GIÁO DỤC QUẬN 3 THÀNH PHỐ HỒ CHÍ MINH ĐỀ KIỂM TRA HỌC KỲ II MÔN TOÁN LỚP 6 Thời gian làm bài: 90 phút I. Trắc nghiệm khách quan (2điểm) Trong mỗi câu từ câu 1 đến câu 8 đều có 4 phương án trả lời A, B, C, D; trong đó chỉ có một phương án đúng. Hãy khoanh tròn vào chữ cái đứng trước phương án đúng. Câu 1: Số đối của số A. 4 5 −4 là: 5 ; B. −5 −4 C. − ; 4 5 ; D. −5 4 Câu 2: Hai số nào sau đây là nghịch đảo của nhau? A. 1,3 và 3,1 ; B. −2 3 và ; 3 2 C. – 0,2 và – 5; D. 1 và –1 Câu 3: Trong các khẳng định sau, khẳng định nào là đúng? A. 20 −20 = 11 11 ; Câu 4: Trong các phân số A. −3 4 ; B. −5 5 = 9 −9 ; ; 25 2 = 35 3 ; D. − 30 −15 = 4 −2 D. − 11 12 −3 6 −7 11 , phân số nhỏ nhất là: , , ,− 4 −7 −8 12 B. 6 −7 ; Câu 5: Cho x là số nguyên âm và thỏa mãn A. 6 C. B. 36 ; C. −7 −8 ; x 12 = , khi đó x bằng: 3 x C. -18 ; 0 3 3 D. –6 Câu 6: Giá trị của biểu thức –10 – (–10) + (75) . (–1) + (–2) : (–2) bằng: A. 3 ; B. –24 ; C. –9 ; D. 5 0 Câu 7: Với hai góc phụ nhau, nếu một góc có số đo 80 thì góc còn lại có số đo bằng: A. 100; B. 400; C. 900 ; D. 1000. Câu 8: Hình gồm các điểm cách điểm O một khoảng 6cm là A. hình tròn tâm O, bán kính 6cm . B. đường tròn tâm O, bán kính 3cm. C. đường tròn tâm O, bán kính 6cm. D. đường tròn tâm O, bán kính 3cm. II. Tự luận: (8điểm) Câu 9: (3 điểm) Tính : 7 11 5 + − 12 18 9 1 8 3 b) B = − : 8 − 3 : .(−2) 2 7 7 4 15 ⎛ 4 2 ⎞ 1 c) C = 1, 4. − ⎜ + ⎟ : 2 49 ⎝ 5 3 ⎠ 5 a) A = − Đề số 13/ Toán 6 /học kỳ 2/Quận 3- TP Hồ Chí Minh 1 Câu 10: (2,5 điểm) 11 3 1 x+ = − 12 4 6 1 2 2 ⎛ ⎞ b) Tìm x biết 3 − ⎜ − x ⎟ . = ⎝6 ⎠ 3 3 a) Tìm x biết − c) Tìm tất cả các số nguyên x, biết 1 x < ≤0 −2 2 Câu 11: (0,75 điểm) 1 1 1 với − 2.3 2 3 1 1 1 1 (tổng này có 2005 số hạng) + + + """" + b) Tính 1.2 2.3 3.4 2005.2006 a) So sánh Câu 12: (1,75 điểm) yOt = 400 . Cho góc bẹt xOy. Vẽ tia Ot sao cho n a) Tính số đo của góc xOt. n = 1000 . Tia Ot b) Trên nửa mặt phẳng bờ xy chứa tia Ot, vẽ tia Om sao cho xOm có phải là tia phân giác của góc yOm không ? Vì sao ? Đề số 13/ Toán 6 /học kỳ 2/Quận 3- TP Hồ Chí Minh 2 PHÒNG GIÁO DỤC ĐỀ KIỂM TRA HỌC KỲ II THÀNH PHỐ HÀ ĐÔNG MÔN TOÁN LỚP 6 HÀ TÂY Thời gian làm bài: 90 phút I. Trắc nghiệm khách quan (2 điểm). Trong mỗi câu từ câu 1 đến câu 4 đều có 4 phương án trả lời A, B, C, D; trong đó chỉ có một phương án đúng. Hãy khoanh tròn vào chữ cái đứng trước phương án đúng. Câu 1. Cho x − 28 . Khi đó giá trị của x bằng = 8 32 A.-7 B.-12 Câu 2.Viết hỗn số − 4 A. − 43 12 B. −3 5 B. − 53 12 1 6 B. C. − 48 12 D. − 43 12 −3 −5 −7 −9 thì phân số nhỏ nhất là: ; ; ; 5 7 9 11 −5 7 Câu 4. Kết quả của phép tính A. D.12 5 dưới dạng phân số ta được: 12 Câu 3.Trong các phân số A. C. 7 −1 6 C. −7 9 D. −9 11 1 −2 bằng + 2 3 C. 1 5 D. −1 5 Câu 5: Điền dấu “x” vào ô trống thích hợp: Câu Đúng A. Hai phân số a c và (b, d ≠ 0) gọi là bằng nhau nếu ac = bd. b d B. Hai số gọi là đối nhau nếu tổng của chúng bằng 0. Đề số 12/Lớp 6/kì 2 1 Sai C. Đường tròn tâm O, bán kính R là hình gồm các điểm cách O một khoảng bằng R. D. Hai góc bù nhau là hai góc có tổng bằng 900. II/ Tự luận (8 điểm) Câu 6: (2 điểm).Tính giá trị các biểu thức sau a) 2 1 8 3 9 3 . (-0,4) + 1 . 1,75 + (-7,2) : 4 5 11 2 5 4 7 5 8 1 1 5 8 b) .15 + 1 . − 17 . Câu 7: (2 điểm).Tìm x. a) (2,4 x - 36) : 1 b) 5 = -14 7 5 2 −7 -x= + 6 12 3 Câu 8: (2 điểm) Một xí nghiệp cần phải hoàn thành một số sản phẩm trong hai ngày. Ngày thứ nhất xí nghiệp đó đã làm được 48% số sản phẩm, như vậy ngày thứ hai còn phải làm tiếp 208 sản phẩm nữa mới xong.Tính số sản phẩm xí nghiệp đó được giao theo kế hoạch và số sản phẩm xí nghiệp đã làm trong ngày thứ nhất. Câu 9: (2 điểm).Trên một nửa mặt phẳng bờ chứa tia Ox vẽ hai tia Oy, Oz sao cho góc xOy là 1000, góc xOz là 200. a/ Trong 3 tia Ox, Oy, Oz tia nào nằm giữa 2 tia còn lại? b/ Vẽ tia Om là tia phân giác của góc yOz. Tính số đo của góc xOm. Đề số 12/Lớp 6/kì 2 2 TRƯỜNG THCS ĐỒNG NAI CÁT TIÊN – LÂM ĐỒNG ĐỀ KIỂM TRA HỌC KỲ II MÔN TOÁN LỚP 6 Thời gian làm bài: 90 phút I. Trắc nghiệm khách quan (3 điểm) Trong mỗi câu từ câu 1 đến câu 12 đều có 4 phương án trả lời A, B, C, D; trong đó chỉ có một phương án đúng. Hãy khoanh tròn chữ cái đứng trước phương án đúng. Câu 1. ƯCLN(18;60) là: A. 60 B . 18 C. 6 D. 12. Câu 2. Nếu 2 của x bằng 12, thì x bằng 3 A. 8 B. 18 C. 36 D. −36. Câu 3. Hai tia đối nhau là A. hai tia chung gốc. B. hai tia tạo thành một đường thẳng C. hai tia chung gốc và cùng nằm trên một đường thẳng D. hai tia chung gốc và tạo thành một đường thẳng. 5 8 −19 A. 8 Câu 4. Số −3 được viết dưới dạng phân số là: B. 19 8 C. −29 8 D. −15 . 8 Câu 5. Điểm M là trung điểm của đoạn thẳng AB khi: A. Điểm M nằm giữa A và B B. MA = MB C. MA = MB = 1 AB 2 D. MA + MB = AB. Câu 6. Hai góc phụ nhau là hai góc A. có tổng số đo bằng 900 B. có tổng số đo bằng 1800 C. kề nhau và có tổng số đo bằng 900 D. kề nhau và có tổng số đo bằng 1800. Câu 7. Kết quả của phép tính 3- (-2 -3) là: A. 2 B. -2 C. 8 D. 4 Câu 8. Tia Ox được gọi là tia phân giác của góc yOz nếu: A. Tia Ox nằm giữa tia Oy và Oz B. Tia Ox tạo với hai tia Oy và Oz hai góc bằng nhau. C. Tia Ox nằm giữa tia Oy và Oz và tạo với hai tia Oy và Oz hai góc bằng nhau. n = xOz n. D. xOy Câu 9. Tỉ số phần trăm của 5 và 20 là A. 25 B. 2,5% Đề số 7/Lớp 6/kì 2 C. 25% 1 D. 0,25%. 2 1 x = . Thế thì: 3 5 3 2 B. x = A. x = 10 15 Câu 10. Biết C. x = 10 3 D. x = 15 . 2 Câu 11. Biết a.b = c.d (a, b c, d ∈ Z và a, b c, d ≠ 0 ). Kết luận nào sau đây không đúng ? A. a d = c b B. c b = a d c b C. = a d D. a c = . b d Câu 12. Hình gồm các điểm cách điểm O một khoảng bằng 4cm là A. hình tròn tâm O bán kính 4cm B. đường tròn tâm O bán kính 4cm C. đường tròn tâm O đường kính 4cm D. hình tròn tâm O đường kính 4cm. II. Tự luận (7 điểm) Câu 13: (2 điểm) Tính bằng cách hợp lý nhất ; a) 11 3 ⎛ 4 3⎞ − ⎜2 + 5 ⎟ ; 13 ⎝ 7 13 ⎠ b. 2 1 2 1 .5 − .3 . 7 4 7 4 Câu 14: (1,5 điểm) Tìm x biết : a) x + 5 = 20 – (12 – 7); 2 3 8 3 1 3 b) 2 x + = 3 . Câu 15: (1,5 điểm) Một trường THCS có 3020 học sinh, số học sinh khối 6 bằng 3 số học sinh toàn trường. Số học sinh khối 9 bằng 20% số học sinh toàn trường. 10 1 Số học sinh khối 8 bằng số học sinh khối 6 và khối 9. Tính số học sinh khối 7. 2 Câu 16: (2 điểm) Trên cùng một nửa mặt phẳng bờ chứa tia Ox, vẽ hai tia Ot và n = 250 ; xOy n = 500 Oy sao cho xOt a. Tia Ot có nằm giữa hai tia Ox và Oy không ? b. So sánh góc tOy và góc xOt. n không ? Vì sao ? c. Tia Ot có là tia phân giác của xOy Đề số 7/Lớp 6/kì 2 2 TRƯỜNG THCS ĐỒNG NAI CÁT TIÊN – LÂM ĐỒNG ĐỀ KIỂM TRA HỌC KỲ II MÔN TOÁN LỚP 6 Thời gian làm bài: 90 phút I. Trắc nghiệm khách quan (4 điểm) Trong mỗi câu từ câu 1 đến câu 16 đều có 4 phương án trả lời A, B, C, D; trong đó chỉ có một phương án đúng. Hãy khoanh tròn chữ cái đứng trước phương án đúng. Câu 1. Biết x + 2 là số nguyên âm lớn nhất. Thế thì x có giá trị là: A. 3 B. 1 C. −3 D. −11. Câu 2. Trong các số sau đây, số nào thỏa mãn −12.x < 0 ? A. x = -2 B. x= 2 C. x= -1 D. x = 0. Câu 3. Biết 7 – x = 9 thì x là số nào sau đây? A. 16 B. 2 D. –16. C. −2 Câu 4. Kết quả của phép tính 195 − (230 + 194) − 1 là C. 158 B. −230 Câu 5. Kết quả của phép tính (−5). −4 là D. −232. A. 230 A. 20 C. −20 B. –9 D. −1. Câu 6. Kết quả của phép tính ( −2 ) .7 − ( −3) : 3 là 3 A. −40 B. −9 2 C. −59 Câu 7. Với n là số nào trong các số sau đây thì D. −53. 5 là số nguyên? n−3 A. n = 5 B. n = 8 C.n = 10 Câu 8. Trong các phân số sau, phân số nào là tối giản? A. 6 12 B. −4 16 C. −3 4 D. −3. D. 5 . 20 Câu 9. Đoạn thẳng AB dài 2cm; đoạn thẳng CD dài 1,2m. Tỷ số độ dài của đoạn thẳng AB và đoạn thẳng CD là A. 20 12 B. 2 12 2 120 D. 2 . 1200 C. −3 −9 và −5 15 D. −2 2 và . 7 17 C. 43 20 D. −27 . 20 C. Câu 10. Cặp phân số nào sau đây bằng nhau? A. −2 6 và 5 15 B. 1 4 và 3 12 2 5 Câu 11. Kết quả của phép tính + A. 1 Đề số 8/Lớp 6/kì 2 B. −5 9 −7 là: 4 ⎛ −5 2 ⎞ −5 Câu 12. Kết quả của phép tính ⎜ : ⎟ là: ⎝ 7 7⎠ 2 A. 25 49 B. D. −1. C. 1 25 4 Câu 13. Gọi M là điểm nằm giữa hai điểm A, B. Lấy điểm O không nằm trên đường thẳng AB. Vẽ 3 tia OA, OB, OM. Kết luận nào sau đây là đúng? A. Tia OA nằm giữa 2 tia còn lại B. Tia OB nằm giữa 2 tia còn lại C. Tia OM nằm giữa 2 tia còn lại D. Không có tia nào nằm giữa 2 tia còn lại. Câu 14. Cho góc A có số đo bằng 35° , góc B có số đo bằng 55° . Ta nói góc A và B là 2 góc: A. bù nhau B. kề bù C. kề nhau D. phụ nhau. n = 50° . Để góc xOz n là góc tù Câu 15. Tia Oy nằm giữa hai tia Ox và Oz. Biết xOy yOz phải có số đo: thì góc n A. n yOz > 40° B. 40° < n yOz < 130° C. 40° ≤ n yOz < 130° D. 40° < n yOz ≤ 130° . n bằng bao nhiêu? yMt = 90°, n yMz = 35° . Số đo góc tMz Câu 16. Cho hình bên: Biết n A. 145° B. 35° C. 90° D. 55° . t x M z y II. Tự luận (6 điểm) Câu 17. (1 điểm) Tính: 1⎞ ⎛ 1 1⎞ 1 ⎛ 1 ⎜ 2 + 3 ⎟ : ⎜ −4 + 3 ⎟ + 7 . 2⎠ ⎝ 6 7⎠ 2 ⎝ 3 Câu 18. (1 điểm) Tìm số nguyên x biết a) x( x + 2) = 0 b) x ≤ 3 Câu 19. (2 điểm) a) Một lớp học có 54 học sinh. Số học sinh giỏi chiếm 2 số học sinh cả lớp. Số 9 2 3 học sinh khá chiếm 1 số học sinh giỏi, còn lại là học sinh trung bình (không có học sinh yếu kém). Tính số học sinh mỗi loại. b) Chiều dài một hình chữ nhật bằng 120% chiều rộng. Biết chiều dài là 18cm. Tính chu vi và diện tích hình chữ nhật đó. Đề số 8/Lớp 6/kì 2
- TÁC ĐỘNG CỦA CON NGƯỜI ĐỐI VỚI MÔI TRƯỜNG I/ Mục tiêu: 1/ Kiến thức: - Chỉ ra được hoạt động của con người làm thay đổi thiên nhiên như thế nào. - Từ đó ý thức được trách nhiệm cần phải bảo vệ môi trường sống cho chính mình và cho các thế hệ mai sau. 2/ Kĩ năng: - Rèn kĩ năng thu thập thông tin từ sách báo. - Kĩ năng hoạt động nhóm. - Khả năng khái quát hóa kiến thức. 3/ Thái độ: Giáo dục ý thức bảo vệ môi trường. II/ Phương tiện dạy học: 1/ Giáo viên: - Tư liệu về môi trường, hoạt động của con người tác động đ ến môi trường - Tranh phóng to hình 53.1 - 53.3/SGK. - Bảng phụ ghi nội dung bảng 53.1 SGK/159. 2/ Học sinh: Đọc trước bài III/ Tiến trình dạy học: 1/ Ổn định: 2/Kiểm tra bài cũ: 2/ Bài mới: Hoạt động 1: Tác động của con người tới môi trường qua các th ời kì phát triển của xã hội Hoạt động của giáo viên Hoạt động của học sinh - Cho HS quan sát tranh hình 53.1 – - HS quan sát hình, đọc SGK và thảo 53.3 SGK và đọc SGK để nêu lên luận theo nhóm để trả lời câu hỏi. được sự tác động của con người tới - Cử đại diện nhóm báo cáo kết quả môi trường qua các thời kì: các nhóm khác bổ sung và cùng đưa +Thời kì nguyên thủy. ra kết luận. + Xã hội nông nghiệp. + Xã hội công nghiệp. - Sau khi thảo luận GV gọi HS trình bày HS khác bổ sung. GV theo dõi, nhận xét, bổ sung và hoàn thiện kết luận. -GV liên hệ thực tế Kết luận - Thời kì nguyên thủy:+ Trong thời kì này, con người sống hoà đ ồng v ới t ự nhiên. Cách sống cơ bản là săn bắt động vật và hái lượm cây rừng. + Tác động đáng kể của con người đối với môi trường là con ng ười bi ết dùng lửa để sưởi ấm, đốt rừng, đào hố săn bắt thú dữ, nấu chín th ức ăn, xua đuổi thú dữ... giảm diện tích rừng. + Trong thời kì này con người lệ thuộc hoàn toàn vào tự nhiên. - Xã hội nông nghiệp: Hoạt động trồng trọt và chăn nuôi. Phá rừng làm khu dân cư, khu sản xuất Thay đổi đất và tầng nước mặt. + Tuy nhiên ngoài việc phá rừng hoạt động nông nghiệp còn đem lại lợi ích là tích luỹ được nhiều giống cây trồng và vật nuôi, hình thành các h ệ sinh thái trồng trọt. - Xã hội công nghiệp: Khai thác tài nguyên bừa bãi, xây dựng nhiều khu công nghiệp đất càng thu hẹp. Rác thải rất lớn. + Bên cạnh những tác động làm suy giảm môi trường, Nền công nghiệp phát triển cũng góp phần cải tạo môi trường. Nhiều giống vật nuoi và cây trồng quí lại được lai tạo và nhân giống. Hoạt động 2: Tác động của con người làm suy thoái môi trường t ự nhiên Hoạt động của giáo viên Hoạt động của học sinh - Yêu cầu HS nghiên cứu SGK, thảo - HS nghiên cứu SGK, thảo luận luận nhóm để thực hiện SGK. nhóm thống nhất ý kiến trong - Gọi đại diện HS trình bày kết quả nhóm. - Đại diện lên bảng ghi kết quả HS khác bổ sung. vào bảng 53.1 SGK các nhóm - GV thông báo đáp án đúng và tìm hiểu khác nhận xét bổ sung. số nhóm có kết quả đúng. * Đáp án: Liên hệ: Em hãy cho biết tác hại của + Những hoạt động của con việc chặt phá rừng và đốt rừng trong người phá hủy môi trường tự những năm gần đây? nhiên: (bảng dưới) Hoạt động của con người Ghi kết quả 1. Hái lượm 1. a 2. Săn bắt động vật hoang dã. 3. Đốt rừng lấy đất trồng trọt. 4. Chăn thả gia súc. 5. Khai thác khoáng sản. 6. Phát triển khu dân cư. 7. Chiến tranh. 2. a, h Kết luận: 3. a, b, c, d, e, g, h. 4. a, b, c, g, h. 5. a, b, c, d, e, g, h. 6. a, b, c, d, g, h. 7. a, b, c, d, e, g, h. Hậu quả phá hủy môi trường tự nhiên a) Mất nhiều loài sinh vật. b) Mất nơi ở của sinh vật. c) Xói mòn và thoái hóa đất. d) Ô nhiễm môi trường. e) Cháy rừng. g) Hạn hán h) Mất cân bằng sinh thái. + Những hoạt động của con người phá hủy môi trường t ự nhiên: Ho ạt động chặt phá rừng bừa bãi và gây cháy rừng sẽ dẫn đến nhiều hậu quả nghiêm trọng: Gây xói mòn đất, lũ lụt (nhất là lũ quét gây nguy hiểm tới tính mạng tài sản con người và ô nhiễm), làm gi ảm l ượng nước ngầm, giảm lượng mưa, khí hậu thay đổi, giảm đa dạng sinh h ọc và mất cân bằng sinh thái. Hoạt động 3: Vai trò của con người trong việc bảo vệ và cải tạo môi trường tự nhiên Hoạt động của giáo viên Hoạt động của học sinh - Yêu cầu HS tìm hiểu - HS tìm hiểu SGK, thảo luận theo nhóm để SGK và kết hợp với hiểu thống nhất đáp án. biết vốn có để trả lời câu - Dưới sự hướng dẫn của GV, cả lớp cùng đã ra hỏi ở mục SGK. đáp án chung. + Những biện pháp ở SGK. + Những biện pháp bảo vệ môi trường ở địa phương: trồng cây gây rừng, bảo vệ nguồn nước, cải tạo đất bạc màu, không săn bắn chim... Kết luận: (sgk) 4/ Kiểm tra đánh giá: - Cho HS trả lời câu hỏi 1 SGK. - HS làm bài tập. Chọn câu đúng trong các câu sau : Những biện pháp bảo vệ và cải tạo môi trường là gì? a. Hạn chế sự tăng nhanh dân số. b. Sử dụng có hiệu quả các nguồn tài nguyên. c. Tăng cường trồng rừng ở tất cả các quốc gia. d. Bảo vệ các loài sinh vật. e. Kiểm soát và giảm thiểu các nguồn chất thải gây ô nhiễm. f. Tạo các loại vật nuôi, cây trồng có năng suất cao. Đáp án: tất cả các câu trên đều đúng. 5/ Dặn dò: - Học bài, trả lời câu hỏi 1, 2 SGK. - Chuẩn bị cho bài mới: Ô nhiễm môi trường.
- Đề thi thử THPT Quốc gia môn Ngữ văn năm 2018 - 2019 trường THPT Chuyên KHTN - Hà Nội lần 1 Đọc đoạn trích sau sau và thực hiện các yêu cầu từ Câu 1 đến Câu 4: Tỉ phủ Hồng Kông Yu Rang - Lin vừa qua đời ở tuổi 93, để lại di chúc hiến toàn bộ tài sản trị giá khoảng 2 tỉ USD cho hoạt động từ thiện. Ông giải thích hành động của mình: "Nếu các con tôi giỏi hơn tôi thì chẳng cần phải để nhiều tiền cho chúng. Nếu chúng kém c ỏi thì có nhi ều ti ền cũng chỉ có hại cho chúng mà thôi”. Yu Pang - Lin không phải là ng ười đ ầu tiên trên thế giới "keo kiệt" với con nhưng lại hào phóng với xã h ội. Người giàu nhất thế giới - Bill Gates - từng tuyên bố sẽ ch ỉ đ ể lại cho con 0,05% tổng tài sản kếch xù của mình. Báo chí hỏi tại sao lại nh ư v ậy, ông tr ả l ời đại ý: Con tôi là con người, mà đã là con ng ười thì ph ải tự ki ếm s ống, không chi kiếm sống để phục vụ chính bản thân mình mà còn ph ải góp phần thúc đẩy xã hội. Đã là con người thì phải lao động. Tại sao tôi phải cho con tiền? [...]. Có người nói rằng, có hai thứ mà cha mẹ cần trang bị cho con cái và chỉ hai thứ đó là đi, còn không, nếu có để lại cho con th ứ gì đi n ữa mà thiếu hai đó thì coi như chưa cho con gì cả. Hai th ứ đó là ý th ức t ự ch ịu trách nhiệm về bản thân mình và năng lực để tự chịu trách nhiệm. (Theo Nhật Huy, Không để lại tiền cho con, Dẫn theo http://tuoitre.vn, ngày 10/5, 2015) Câu 1. Đoạn văn trên thuộc phong cách ngôn ngữ nào? A. Khoa học B. Nghệ thuật C. Báo chí D. Chính luận Câu 2. Vi sao những người cha tỉ phú như Yu Pang - Lin, Bill Gates.... không muốn để lại nhiều của cải cho con cái? Câu 3. Anh chị có đồng tình với ý kiến: "Đã là con người thì phải lao động" không? Vì sao? Câu 4. Anh/chị hiểu "ý thức tự chịu trách nhiệm về bản thân mình và năng lực để tự chịu trách nhiệm" nghĩa là gì? Phần II: Làm văn (7,0 điểm): Câu 1 (2,0 điểm): Hãy viết một đoạn văn (khoảng 200 chữ), trình bày suy nghĩ của anh/ch ị về ý kiến sau: “Có người nói rằng, có hai thứ mà cha mẹ cần trang bị cho con cái và ch ỉ hai thứ đó là đi, còn không nếu có để lại cho con thứ gì đi nữa mà thiếu hai đó thì coi như chưa cho con gì cả. Hai thứ đó là: ý thức tự chịu trách nhi ệm về bản thân mình và năng lực để tự chịu trách nhiệm”. Câu 2 (5,0 điểm): Trình bày cảm nhận của anh/chị về đoạn thơ sau: Những người vợ nhớ chồng còn góp cho Đất Nước những núi Vọng Phu Cặp vợ chồng yêu nhau góp nên hòn Trống Mái Gót ngựa của Thánh Gióng đi qua còn trăm ao đầm để lại Chín mươi chín con voi góp mình dựng Đất tổ Hùng Vương Những con rồng nằm im góp dòng sông xanh thẳm Người học trò nghèo giúp cho Đất Nước mình núi Bút, non Nghiên. Con cóc, con gà quê hương cùng góp cho Hạ Long thành thắng cảnh Những người dân nào đã góp tên Ông Đốc, Ông Trang, Bà Đen, Bà Điểm Và ở đâu trên khắp ruộng đồng gò bãi Chẳng mang một dáng hình, một ao ước, một lối sống ông cha Ôi Đất Nước sau bốn ngàn năm đi đâu ta cũng thấy Những cuộc đời đã hoá núi sông ta... (Trích Đất Nước - Nguyễn Khoa Điềm, Dẫn theo Ngữ văn 12, tập một, NXB Giáo dục Việt Nam, 2015, tr.120)