<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Q&amp;A FIT - Câu hỏi và trả lời trong Kiến thức CNPM</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=qa&amp;qa_1=ki%E1%BA%BFn-th%E1%BB%A9c-cnpm</link>
<description>Powered by Question2Answer</description>
<item>
<title>Đã trả lời: THẮC MẮC VỀ XUẤT FILE</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=1764&amp;qa_1=th%E1%BA%AFc-m%E1%BA%AFc-v%E1%BB%81-xu%E1%BA%A5t-file&amp;show=1842#a1842</link>
<description>bạn có thể sử dụng thư viện sau &lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
fstream f;&lt;br /&gt;
&lt;br /&gt;
f.open(fileName, options) =&amp;gt; f.open(&amp;quot;input.txt&amp;quot;,ios::app); f &amp;lt;&amp;lt; &amp;quot;nội dung ghi vào file&amp;quot;; &lt;br /&gt;
&lt;br /&gt;
ios::app sẽ ghi vào cuối của file.&lt;br /&gt;
&lt;br /&gt;
ios::out sẽ ghi đè lên dữ liệu cũ.</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=1764&amp;qa_1=th%E1%BA%AFc-m%E1%BA%AFc-v%E1%BB%81-xu%E1%BA%A5t-file&amp;show=1842#a1842</guid>
<pubDate>Sun, 05 Mar 2017 04:47:26 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: Thắc mắc khi soạn thảo</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=1757&amp;qa_1=th%E1%BA%AFc-m%E1%BA%AFc-khi-so%E1%BA%A1n-th%E1%BA%A3o&amp;show=1758#a1758</link>
<description>Chào bạn,&lt;br /&gt;
&lt;br /&gt;
vì chuẩn bây giờ là hàm main phải trả về 1 thứ để chương trình có thể hiểu là thành công hay không thành công. Ở đây có thể bạn có thể hiểu là return 0 ý chỉ thành công và khác 0 ý chỉ có lỗi.&lt;br /&gt;
&lt;br /&gt;
Còn việc tại sao Visual Studio hay các thầy cô (sử dụng slide) đều sử dụng void main là tại vì visual nó đã tạo ra &amp;quot;style riêng&amp;quot; (mặc dù có vẫn tuân theo chuẩn) nhưng 1 số hàm (ví dụ itoa) hay điển hình void main này, các thầy cô ghi void main vì đơn giản là nó ngắn gọn (không cần return tốn dòng).&lt;br /&gt;
&lt;br /&gt;
Thân</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=1757&amp;qa_1=th%E1%BA%AFc-m%E1%BA%AFc-khi-so%E1%BA%A1n-th%E1%BA%A3o&amp;show=1758#a1758</guid>
<pubDate>Wed, 26 Oct 2016 15:37:38 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: LẬP TRÌNH ĐỆ QUY</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=1551&amp;qa_1=l%E1%BA%ADp-tr%C3%ACnh-%C4%91%E1%BB%87-quy&amp;show=1557#a1557</link>
<description>Theo mình nghĩ thì điều kiện dừng của bạn bị sai vì khi bạn chia tới số kế cuối n sẽ bằng 1 mà 1/2=0 (thỏa điều kiện dừng) nên nó sẽ không lấy số dư của n=1 đó</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=1551&amp;qa_1=l%E1%BA%ADp-tr%C3%ACnh-%C4%91%E1%BB%87-quy&amp;show=1557#a1557</guid>
<pubDate>Sat, 14 May 2016 14:41:17 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: DANH SACH LIEN KET</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=1555&amp;qa_1=danh-sach-lien-ket&amp;show=1556#a1556</link>
<description>ở trong vòng lặp while bạn bị sai ở dòng code cuối, phải là l.phead = z (cập nhập vị trí cho l.phead) mới đúng bạn</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=1555&amp;qa_1=danh-sach-lien-ket&amp;show=1556#a1556</guid>
<pubDate>Sat, 14 May 2016 14:28:49 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: LẬP TRÌNH ĐỆ QUY</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=1545&amp;qa_1=l%E1%BA%ADp-tr%C3%ACnh-%C4%91%E1%BB%87-quy&amp;show=1546#a1546</link>
<description>&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px 0px 0px 15px; border: 0px; font-size: 1.1em; font-family: BitstreamVeraSansMonoRoman; vertical-align: baseline; font-stretch: normal; line-height: 1.5; color: rgb(248, 248, 242); background-color: rgb(39, 40, 34);&quot;&gt;
&lt;span class=&quot;nb&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;long&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;tinhGiaiThua&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nb&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;long&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;ret&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline; color: rgb(249, 38, 114);&quot;&gt;//&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;de&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;quy&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;duoi&lt;/span&gt;
&lt;span class=&quot;p&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;k&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline; color: rgb(102, 217, 239);&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;n&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline; color: rgb(249, 38, 114);&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline; color: rgb(174, 129, 255);&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;)&lt;/span&gt;
		&lt;span class=&quot;k&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline; color: rgb(102, 217, 239);&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;ret&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;k&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline; color: rgb(102, 217, 239);&quot;&gt;else&lt;/span&gt;
		&lt;span class=&quot;k&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline; color: rgb(102, 217, 239);&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;ret&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline; color: rgb(249, 38, 114);&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;tinhGiaiThua&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;n&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline; color: rgb(249, 38, 114);&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;mi&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline; color: rgb(174, 129, 255);&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;ret&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline; color: rgb(249, 38, 114);&quot;&gt;*=&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot; style=&quot;margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; font-size: 13.2px; font-family: inherit; vertical-align: baseline;&quot;&gt;}&lt;/span&gt;&lt;/pre&gt;</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=1545&amp;qa_1=l%E1%BA%ADp-tr%C3%ACnh-%C4%91%E1%BB%87-quy&amp;show=1546#a1546</guid>
<pubDate>Thu, 12 May 2016 13:27:01 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: Hỏi về nhập tên tập tin bằng tham số hàm main</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=1509&amp;qa_1=h%E1%BB%8Fi-v%E1%BB%81-nh%E1%BA%ADp-t%C3%AAn-t%E1%BA%ADp-tin-b%E1%BA%B1ng-tham-s%E1%BB%91-h%C3%A0m-main&amp;show=1515#a1515</link>
<description>&lt;p&gt;
	chào bạn,&amp;nbsp;trước hết thì mình hướng dẫn bạn debug code với tham số&amp;nbsp;command line:&lt;/p&gt;
&lt;p&gt;
	- bạn click chuột phải vào project -&amp;gt; chọn Properties (hoặc chọn PROJECT từ thanh công cụ, chọn xxx Properties..., xxx là tên project của bạn), hiện ra một cửa sổ&lt;/p&gt;
&lt;p&gt;
	-&amp;nbsp;ở khung bên trái, chọn Configuration Properties -&amp;gt; Debugging,&amp;nbsp;ở khung bên phải, dòng Command&amp;nbsp;Arguments, nhập vào tham số bạn sẽ nhập lúc chạy nhưng bỏ&amp;nbsp;đi tên file&amp;nbsp;exe sẽ chạy, vd bình thường bạn nhập &amp;gt;&amp;gt; test1.exe in.txt out.txt thì bây giờ chỗ này bạn nhập vào là in.txt out.txt, chọn OK&lt;/p&gt;
&lt;p&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://i.imgur.com/0VZ8CDP.png?1&quot;&gt;&lt;/p&gt;
&lt;p&gt;
	như vậy bạn có thể&amp;nbsp;đặt breakpoint và debug như bình thường&lt;/p&gt;
&lt;p&gt;
	Tiếp theo,&amp;nbsp;code của bạn có một số vấn&amp;nbsp;đề ntn:&lt;/p&gt;
&lt;p&gt;
	ở phiên bản VS mới (ở đây mình dùng 2013, không biết 2012 có bị ko), nó sẽ báo lỗi&amp;nbsp;ở hàm fopen,&amp;nbsp;để bỏ qua lỗi&amp;nbsp;đó, bạn có thể sử dụng:&lt;/p&gt;
&lt;div&gt;
	#define _CRT_SECURE_NO_WARNINGS&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
	Vấn&amp;nbsp;đề thứ 2 là vòng lặp của bạn sẽ làm cho chương trình&amp;nbsp;đọc kí tự cuối cùng của file tới 2 lần, có thể xử lý như sau:&lt;/div&gt;
&lt;div&gt;
	&lt;div&gt;
		while (1)&lt;/div&gt;
	&lt;div&gt;
		{&lt;/div&gt;
	&lt;div style=&quot;margin-left: 40px;&quot;&gt;
		fscanf(fin, &quot;%c&quot;, &amp;amp;g);&lt;/div&gt;
	&lt;div style=&quot;margin-left: 40px;&quot;&gt;
		if (feof(fin))&lt;/div&gt;
	&lt;div style=&quot;margin-left: 80px;&quot;&gt;
		break;&lt;/div&gt;
	&lt;div style=&quot;margin-left: 40px;&quot;&gt;
		p = &amp;amp;g;&lt;/div&gt;
	&lt;div style=&quot;margin-left: 40px;&quot;&gt;
		printf(&quot;%c&quot;, *p);&lt;/div&gt;
	&lt;div style=&quot;margin-left: 40px;&quot;&gt;
		fprintf(fout, &quot;%c&quot;, *p);&lt;/div&gt;
	&lt;div&gt;
		}&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
	code này mình&amp;nbsp;đã sửa một chút&amp;nbsp;để nó ghi ra file out.txt có nội dung&amp;nbsp;đúng hoàn toàn với file in.txt, code của bạn là bạn in ra&amp;nbsp;địa chỉ của p, chứ ko phải giá trị của p&lt;/p&gt;
&lt;p&gt;
	Thứ 3, nếu hàm fcloseall() báo lỗi thì hãy dùng _fcloseall()&lt;/p&gt;</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=1509&amp;qa_1=h%E1%BB%8Fi-v%E1%BB%81-nh%E1%BA%ADp-t%C3%AAn-t%E1%BA%ADp-tin-b%E1%BA%B1ng-tham-s%E1%BB%91-h%C3%A0m-main&amp;show=1515#a1515</guid>
<pubDate>Sat, 09 Apr 2016 16:51:16 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: Hỏi về lệnh strtok trong C/C++</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=1501&amp;qa_1=h%E1%BB%8Fi-v%E1%BB%81-l%E1%BB%87nh-strtok-trong-c-c&amp;show=1502#a1502</link>
<description>&lt;p&gt;
	Khi thực hiện &lt;em&gt;strtok(s, &quot; &quot;)&lt;/em&gt; thì chuỗi s bị sửa đổi (bị cắt ngắn lại&amp;nbsp;&lt;img alt=&quot;angel&quot; height=&quot;20&quot; src=&quot;https://courses.fit.hcmus.edu.vn/q2a/qa-plugin/wysiwyg-editor/plugins/smiley/images/angel_smile.gif&quot; title=&quot;angel&quot; width=&quot;20&quot;&gt; : My name is Tony Blurt -&amp;gt; name is Tony Blurt), lúc tạo chuỗi =&lt;em&gt; char* &lt;/em&gt;thì mình không thay đổi được nội dung của nó nên xảy ra lỗi, còn &lt;em&gt;char s[]&lt;/em&gt; thì ngược lại.&lt;/p&gt;
&lt;p&gt;
	Bạn tham khảo cái này nè:&lt;/p&gt;
&lt;p&gt;
	&lt;a rel=&quot;nofollow&quot; href=&quot;http://stackoverflow.com/questions/1704407/what-is-the-difference-between-char-s-and-char-s-in-c&quot;&gt;http://stackoverflow.com/questions/1704407/what-is-the-difference-between-char-s-and-char-s-in-c&lt;/a&gt;&lt;/p&gt;</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=1501&amp;qa_1=h%E1%BB%8Fi-v%E1%BB%81-l%E1%BB%87nh-strtok-trong-c-c&amp;show=1502#a1502</guid>
<pubDate>Thu, 07 Apr 2016 01:26:02 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: Hỏi về bài tập lập trình C</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=1218&amp;qa_1=h%E1%BB%8Fi-v%E1%BB%81-b%C3%A0i-t%E1%BA%ADp-l%E1%BA%ADp-tr%C3%ACnh-c&amp;show=1223#a1223</link>
<description>Chào bạn.&lt;br /&gt;
&lt;br /&gt;
Hướng dẫn cơ bản:&lt;br /&gt;
&lt;br /&gt;
- &amp;nbsp;Vẽ quạt cần dựa vào 1 điểm tâm, ví dụ hàm vecanhquat(int x, int y, int h), x, y là tọa độ tâm, h là chiều dài cạnh&lt;br /&gt;
&lt;br /&gt;
- &amp;nbsp;Lỗi của bạn có vẻ như không phải do hàm gotoxy mà có thể là do cách tính toán tọa độ của bạn đã bị sai, bạn nên kiểm tra lại&lt;br /&gt;
&lt;br /&gt;
- &amp;nbsp;key = getch(); sau đó bạn có thể kiểm tra giá trị thập phân của key có phải là của phím mũi tên hay không (các giá trị của phím mũi tên bạn có thể tra gg hoặc tự test lấy).&lt;br /&gt;
&lt;br /&gt;
- &amp;nbsp;Nếu key == lên: giảm tọa độ y của điểm trung tâm 1 đơn vị. sau đó xóa màn hình và gọi lại hàm vẽ với tọa độ trung tâm mới. Tương tự cho các hướng khác (nhớ xử lý trường hợp vượt biên =)) )&lt;br /&gt;
&lt;br /&gt;
Hy vọng giúp được bạn.</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=1218&amp;qa_1=h%E1%BB%8Fi-v%E1%BB%81-b%C3%A0i-t%E1%BA%ADp-l%E1%BA%ADp-tr%C3%ACnh-c&amp;show=1223#a1223</guid>
<pubDate>Fri, 11 Dec 2015 15:27:03 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: THẮC MẮC VỀ ĐỒ ÁN 1 K15</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=1204&amp;qa_1=th%E1%BA%AFc-m%E1%BA%AFc-v%E1%BB%81-%C4%91%E1%BB%93-%C3%A1n-1-k15&amp;show=1206#a1206</link>
<description>&lt;p&gt;
	Menu là một list liệt kê các chức năng mà người dùng có thể chọn để thực hiện một chức năng nào đó.&lt;/p&gt;
&lt;p&gt;
	Ví dụ, với màn hình console, menu có thể là:&lt;/p&gt;
&lt;p&gt;
	&lt;img alt=&quot;&quot; src=&quot;http://i.imgur.com/fXh3PBV.png&quot; style=&quot;width: 663px; height: 336px;&quot;&gt;&lt;/p&gt;</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=1204&amp;qa_1=th%E1%BA%AFc-m%E1%BA%AFc-v%E1%BB%81-%C4%91%E1%BB%93-%C3%A1n-1-k15&amp;show=1206#a1206</guid>
<pubDate>Thu, 03 Dec 2015 03:48:30 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: Cho em hỏi về cách viết hàm</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=1160&amp;qa_1=cho-em-h%E1%BB%8Fi-v%E1%BB%81-c%C3%A1ch-vi%E1%BA%BFt-h%C3%A0m&amp;show=1162#a1162</link>
<description>Đây là bài tính tổng 1 + 1/2 + 1/3 + ... + 1/n&lt;br /&gt;
&lt;br /&gt;
nếu code như bạn thì kết quả sẽ là 1 vì vòng lặp đầu tiên 1/1 = 1, các vòng lặp sau sẽ cộng thêm 0 vì (1 / i) với i &amp;gt; 1 sẽ bằng 0 vì nó chia nguyên, nếu bạn muốn chia đúng thì phải là (1.0 / i) hoặc ép kiểu (double)1 / i thì cộng dồn mới đúng được.</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=1160&amp;qa_1=cho-em-h%E1%BB%8Fi-v%E1%BB%81-c%C3%A1ch-vi%E1%BA%BFt-h%C3%A0m&amp;show=1162#a1162</guid>
<pubDate>Tue, 17 Nov 2015 17:18:01 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: 1560446-15CK4-em không hiểu về Visual Studio ngôn ngữ C/C++</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=1010&amp;qa_1=1560446-15ck4-em-kh%C3%B4ng-hi%E1%BB%83u-v%E1%BB%81-visual-studio-ng%C3%B4n-ng%E1%BB%AF-c-c&amp;show=1017#a1017</link>
<description>C/C++ là ngôn ngữ lập trình đầu tiên chúng ta nên học nhé. Bước này rất là quan trọng, vì đây là 2 ngôn ngữ nền tảng trong máy tính. Còn ntn thì bạn tìm hiểu trong link sau: &lt;a href=&quot;http://techmaster.vn/posts/33449/ngon-ngu-lap-trinh-tot-nhat-cho-nguoi-moi-bat-dau&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://techmaster.vn/posts/33449/ngon-ngu-lap-trinh-tot-nhat-cho-nguoi-moi-bat-dau&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Còn bạn lấy sách tự đọc mà không hiểu thì ... là chuyện bình thường bạn nhé. Nhưng khi bạn được giáo viên hướng dẫn qua rồi thì về nhà đọc tự hiểu rất nhanh.&lt;br /&gt;
&lt;br /&gt;
Sau khi bạn đã học C/C++ xong rồi thì bạn có thể chuyển qua Java hay C# hay bất cứ ngôn ngữ khác rất là nhanh bạn nhé. Bởi vì chúng tương tự nhau, chỉ khác cách viết thôi. ::D&lt;br /&gt;
&lt;br /&gt;
P/s: chia sẽ từ một sinh viên năm 2 chuẩn bị học lại nhập môn lập trình. :D</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=1010&amp;qa_1=1560446-15ck4-em-kh%C3%B4ng-hi%E1%BB%83u-v%E1%BB%81-visual-studio-ng%C3%B4n-ng%E1%BB%AF-c-c&amp;show=1017#a1017</guid>
<pubDate>Sun, 27 Sep 2015 07:07:48 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: Hoàn thành số tín chỉ CĐ nhóm môn định hướng chuyên ngành.</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=972&amp;qa_1=ho%C3%A0n-th%C3%A0nh-s%E1%BB%91-t%C3%ADn-ch%E1%BB%89-c%C4%91-nh%C3%B3m-m%C3%B4n-%C4%91%E1%BB%8Bnh-h%C6%B0%E1%BB%9Bng-chuy%C3%AAn-ng%C3%A0nh&amp;show=973#a973</link>
<description>&lt;p&gt;
	Chào em,&lt;/p&gt;
&lt;p&gt;
	Trong phần B3 - Tự chọn theo định hướng chuyên ngành (&lt;a rel=&quot;nofollow&quot; href=&quot;http://www.fit.hcmus.edu.vn/vn/caodang/ctdt/CTDT_CaoDang_TuKhoa2009.pdf&quot;&gt;Chương trình đào tạo áp dụng từ khóa tuyển 2009 đến khóa tuyển 2012&lt;/a&gt;), SV tích lũy 5 học phần trong danh sách. Nếu em rớt môn Lập trình web 2, em có thể học trả nợ lại môn này hoặc học môn khác thay thế. Em chỉ cần tích lũy 5 học phần trong danh sách quy định thì em đã đạt khối kiến thức phần này.&lt;/p&gt;
&lt;p&gt;
	Theo kế hoạch, học kỳ 2 năm học 2015-2016 sẽ có mở môn Lập trình web 2 nhé.&lt;/p&gt;
&lt;p&gt;
	Chúc em học tốt.&lt;/p&gt;</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=972&amp;qa_1=ho%C3%A0n-th%C3%A0nh-s%E1%BB%91-t%C3%ADn-ch%E1%BB%89-c%C4%91-nh%C3%B3m-m%C3%B4n-%C4%91%E1%BB%8Bnh-h%C6%B0%E1%BB%9Bng-chuy%C3%AAn-ng%C3%A0nh&amp;show=973#a973</guid>
<pubDate>Mon, 07 Sep 2015 01:54:21 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: Lập trình Java</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=878&amp;qa_1=l%E1%BA%ADp-tr%C3%ACnh-java&amp;show=879#a879</link>
<description>cái này bạn fix lại java 7 là xài đc.&lt;br /&gt;
&lt;br /&gt;
Trước kia mình cũng bị tìm hiểu đủ cách thì biết java 8 không hỗ trợ buộc phải sử dụng version cũ thôi</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=878&amp;qa_1=l%E1%BA%ADp-tr%C3%ACnh-java&amp;show=879#a879</guid>
<pubDate>Wed, 08 Jul 2015 13:24:37 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: Lập trình c#</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=863&amp;qa_1=l%E1%BA%ADp-tr%C3%ACnh-c%23&amp;show=869#a869</link>
<description>Môn lập trình windows, học kì 1 năm 2 ak bạn</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=863&amp;qa_1=l%E1%BA%ADp-tr%C3%ACnh-c%23&amp;show=869#a869</guid>
<pubDate>Sat, 27 Jun 2015 15:03:32 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: [Struct] Cách truyền chỉ một phần của một mảng cấu trúc vào lời gọi 1 hàm?</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=500&amp;qa_1=struct-c%C3%A1ch-truy%E1%BB%81n-ch%E1%BB%89-m%E1%BB%99t-ph%E1%BA%A7n-c%E1%BB%A7a-m%E1%BB%99t-m%E1%BA%A3ng-c%E1%BA%A5u-tr%C3%BAc-v%C3%A0o-l%E1%BB%9Di-g%E1%BB%8Di&amp;show=501#a501</link>
<description>&lt;p&gt;
	câu trả lời là không được nhé bạn, một mảng kiểu HocSinh không thể chuyển thành mảng kiểu int được, vậy sao bạn không viết thêm một hàm tương tự nhỉ:&lt;/p&gt;
&lt;pre style=&quot;margin-top: 0.5em; margin-bottom: 0.5em; padding: 0px; line-height: 1.1em; color: rgb(0, 0, 0); background-color: rgb(246, 246, 246);&quot;&gt;
&lt;span class=&quot;kt&quot; style=&quot;line-height: 13px; color: rgb(153, 102, 204); font-weight: bold;&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;InMaHocSinh&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot; style=&quot;line-height: 13px; color: rgb(153, 102, 204); font-weight: bold;&quot;&gt;HocSinh&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;mangHocSinh&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot; style=&quot;line-height: 13px;&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;&lt;span class=&quot;kt&quot; style=&quot;line-height: 13px; color: rgb(153, 102, 204); font-weight: bold;&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;_iN&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;k&quot; style=&quot;line-height: 13px; color: rgb(0, 51, 204); font-weight: bold;&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot; style=&quot;line-height: 13px; color: rgb(153, 102, 204); font-weight: bold;&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot; style=&quot;line-height: 13px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;_iN&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot; style=&quot;line-height: 13px; color: rgb(204, 153, 51); font-weight: bold;&quot;&gt;&quot;%d&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mangHocSinh&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;].MaHocSinh);&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;/pre&gt;</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=500&amp;qa_1=struct-c%C3%A1ch-truy%E1%BB%81n-ch%E1%BB%89-m%E1%BB%99t-ph%E1%BA%A7n-c%E1%BB%A7a-m%E1%BB%99t-m%E1%BA%A3ng-c%E1%BA%A5u-tr%C3%BAc-v%C3%A0o-l%E1%BB%9Di-g%E1%BB%8Di&amp;show=501#a501</guid>
<pubDate>Thu, 01 Jan 2015 04:34:03 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: [C/C++] Hỏi một số cái khó hiểu khi mới học về file</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=474&amp;qa_1=c-c-h%E1%BB%8Fi-m%E1%BB%99t-s%E1%BB%91-c%C3%A1i-kh%C3%B3-hi%E1%BB%83u-khi-m%E1%BB%9Bi-h%E1%BB%8Dc-v%E1%BB%81-file&amp;show=476#a476</link>
<description>1. khi mở file, nếu chỉ ghi tên file mà không đưa vào đường dẫn thì có 2 trường hợp:&lt;br /&gt;
&lt;br /&gt;
----&amp;gt; 1.1. run bằng VS thì nó sẽ lấy đường dẫn tại thư mục chứa source code&lt;br /&gt;
&lt;br /&gt;
----&amp;gt; 1.2. run bằng file exe thì nó sẽ lấy thư mục chứa file exe&lt;br /&gt;
&lt;br /&gt;
2. mở file sẽ có 2 dạng: mở để đọc và mở để ghi&lt;br /&gt;
&lt;br /&gt;
----&amp;gt; 2.1. mở để đọc thì nếu file có tồn tại thì bình thường, nhưng nếu file không tồn tại thì f = NULL (file sẽ không được tạo)&lt;br /&gt;
&lt;br /&gt;
----&amp;gt; 2.2. mở file để ghi cũng có nhiều loại, thường dùng nhất là mở để ghi toàn bộ nội dung file ( nếu file không tồn tại thì sẽ tự động tạo file, nếu file đã tồn tại thì toàn bộ nội dung trước đó sẽ bị xóa hết) và mở để ghi vào cuối file (nếu file không tồn tại thì sẽ tự động tạo file, nếu đã tồn tại thì nội dung trước đó không bị xóa, và nội dung mới sẽ được ghi vào cuối file)&lt;br /&gt;
&lt;br /&gt;
3. f = NULL thì file không tồn tại nhé</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=474&amp;qa_1=c-c-h%E1%BB%8Fi-m%E1%BB%99t-s%E1%BB%91-c%C3%A1i-kh%C3%B3-hi%E1%BB%83u-khi-m%E1%BB%9Bi-h%E1%BB%8Dc-v%E1%BB%81-file&amp;show=476#a476</guid>
<pubDate>Sun, 21 Dec 2014 14:33:09 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: [C++] Hỏi về struct</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=439&amp;qa_1=c-h%E1%BB%8Fi-v%E1%BB%81-struct&amp;show=443#a443</link>
<description>ví dụ:&lt;br /&gt;
struct Date&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int Day;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int Month;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int Year;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct Student&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Date birthday;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// các thông tin khác&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Student a;&lt;br /&gt;
&lt;br /&gt;
- ta truy xuất tới thuộc tính muốn set / get bằng cách:&lt;br /&gt;
------&amp;gt; truy xuất tới ngày sinh: a.birthday&lt;br /&gt;
------&amp;gt; truy xuất tới ngày, tháng cụ thể thì: a.birthday.Day; a.birthday.Month; a.birthday.Year; còn muốn nhập hay xuất thì tùy bạn :))</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=439&amp;qa_1=c-h%E1%BB%8Fi-v%E1%BB%81-struct&amp;show=443#a443</guid>
<pubDate>Wed, 10 Dec 2014 10:37:11 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: Về ngôn ngữ lập trình</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=428&amp;qa_1=v%E1%BB%81-ng%C3%B4n-ng%E1%BB%AF-l%E1%BA%ADp-tr%C3%ACnh&amp;show=430#a430</link>
<description>&lt;p&gt;
	1. C++: Sử dụng ở nhiều môn còn lại, chắc chắn phải học ở môn kỹ thuật lập trình.&lt;/p&gt;
&lt;p&gt;
	2. C#: Học ở môn lập trình win, một số môn bên công nghệ phần mềm...&lt;/p&gt;
&lt;p&gt;
	3. Java: Học ở môn lập trình Java, lập trình di động...&lt;/p&gt;
&lt;p&gt;
	4. SQL: Học ở môn CSDL, các môn bên HTTT....&lt;/p&gt;
&lt;p&gt;
	5. MATLAB: Học ở môn cơ sở trí tuệ nhân tạo, sử dụng ở nhiều môn còn lại.&lt;/p&gt;
&lt;p&gt;
	6. Prolog: Học ở môn cơ sở trí tuệ nhân tạo, logic toán, lập trình hàm...&lt;/p&gt;
&lt;p&gt;
	7. Php: Học ở môn Ứng dụng phân tán.&lt;/p&gt;
&lt;p&gt;
	8. Javascript: Học ở môn lập trình web, ứng dụng phân tán.&lt;/p&gt;
&lt;p&gt;
	9. Hợp ngữ: Học ở môn kiến trúc máy tính, lập trình nhúng...&lt;/p&gt;
&lt;p&gt;
	10. Shell scipt: Học ở môn Linux.&lt;/p&gt;
&lt;p&gt;
	11. Scheme: Môn nguyên lý các ngôn ngữ lập trình.&lt;/p&gt;
&lt;p&gt;
	12. R: Học ở môn thống kê máy tính.&lt;/p&gt;
&lt;p&gt;
	13. Lua: Môn phát triền game.&lt;/p&gt;
&lt;p&gt;
	Vân vân...&lt;img alt=&quot;indecision&quot; height=&quot;20&quot; src=&quot;https://courses.fit.hcmus.edu.vn/q2a/qa-plugin/wysiwyg-editor/plugins/smiley/images/whatchutalkingabout_smile.gif&quot; title=&quot;indecision&quot; width=&quot;20&quot;&gt;&lt;/p&gt;</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=428&amp;qa_1=v%E1%BB%81-ng%C3%B4n-ng%E1%BB%AF-l%E1%BA%ADp-tr%C3%ACnh&amp;show=430#a430</guid>
<pubDate>Sun, 07 Dec 2014 18:40:26 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: Mảng một chiều (ngôn ngữ  C )- kiểu dữ liệu chuỗi</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=417&amp;qa_1=m%E1%BA%A3ng-m%E1%BB%99t-chi%E1%BB%81u-ng%C3%B4n-ng%E1%BB%AF-c-ki%E1%BB%83u-d%E1%BB%AF-li%E1%BB%87u-chu%E1%BB%97i&amp;show=421#a421</link>
<description>Dùng mảng động char** arr;&lt;br /&gt;
&lt;br /&gt;
Hoặc char * arr[N];&lt;br /&gt;
&lt;br /&gt;
ví dụ: char * arr[3] = {&amp;quot;toi&amp;quot;, &amp;quot;la&amp;quot;, &amp;quot;ai&amp;quot;};&lt;br /&gt;
&lt;br /&gt;
Cách khai báo mảng động bạn tham khảo trên mạng.</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=417&amp;qa_1=m%E1%BA%A3ng-m%E1%BB%99t-chi%E1%BB%81u-ng%C3%B4n-ng%E1%BB%AF-c-ki%E1%BB%83u-d%E1%BB%AF-li%E1%BB%87u-chu%E1%BB%97i&amp;show=421#a421</guid>
<pubDate>Sat, 06 Dec 2014 15:58:01 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: [C++] Có cách nào chèn hàm này vào hàm kia bằng câu lênh gọi hàm?</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=328&amp;qa_1=c-c%C3%B3-c%C3%A1ch-n%C3%A0o-ch%C3%A8n-h%C3%A0m-n%C3%A0y-v%C3%A0o-h%C3%A0m-kia-b%E1%BA%B1ng-c%C3%A2u-l%C3%AAnh-g%E1%BB%8Di-h%C3%A0m&amp;show=390#a390</link>
<description>&lt;p&gt;
	Chào em,&lt;/p&gt;
&lt;p&gt;
	Vấn đề mà em nói đến đúng là kỹ thuật sử dụng&amp;nbsp;&lt;strong&gt;Con trỏ hàm.&amp;nbsp;&lt;/strong&gt;Kỹ thuật này em sẽ được tìm hiểu trong học kỳ 2, năm nhất, trong môn &lt;strong&gt;Kỹ thuật lập trình.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
	Thân.&lt;/p&gt;</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=328&amp;qa_1=c-c%C3%B3-c%C3%A1ch-n%C3%A0o-ch%C3%A8n-h%C3%A0m-n%C3%A0y-v%C3%A0o-h%C3%A0m-kia-b%E1%BA%B1ng-c%C3%A2u-l%C3%AAnh-g%E1%BB%8Di-h%C3%A0m&amp;show=390#a390</guid>
<pubDate>Tue, 02 Dec 2014 02:00:16 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: [Bài tập mảng một chiều]</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=376&amp;qa_1=b%C3%A0i-t%E1%BA%ADp-m%E1%BA%A3ng-m%E1%BB%99t-chi%E1%BB%81u&amp;show=379#a379</link>
<description>&lt;p&gt;
	Bài này thì bạn tìm số lớn nhất trong mảng (gọi là n), rồi tìm số nguyên tố (snt) nhỏ nhất lớn hơn n. Bạn chỉ cần kiểm tra lần lượt các số lẻ lớn hơn n có phải là snt hay không. Đặt i = n + 2 nếu n lẻ và i = n + 1 nếu n chẵn, xét i rồi tăng cứ tăng i 2 bước mà xét tiếp.&lt;/p&gt;
&lt;p&gt;
	Vì khoảng các giữa 2 số nguyên tố kề nhau là rất nhỏ so với chúng, nên số các số i cần xét đến khi ra đáp án không nhiều. Ví dụ khoảng cách giữa 2 snt 31397 và 31469 chỉ là 72 thôi. Nếu n là 31398 thì số các số i cần xét là (31469-31399+1)/2 = 36.&lt;/p&gt;
&lt;p&gt;
	Còn để xét i có phải là snt hay không, bạn xét thử i có chia hết cho các số lẻ từ 3 đến sqrt(i) không thôi. Bởi vì nếu i chia hết cho 1 số nào đó sau sqrt(i) thì sẽ cho ra số nằm trong đoạn 3 đến sqrt(i). Nếu bạn muốn nhanh hơn nữa thì có thể tìm hiểu thêm các cách tối ưu, giảm các số mà i cần phải chia thử. Còn muốn nặng đô hơn nữa (nhanh nhất có thể) ^^ thì dùng thuật toán Miller-Rabin để xét i có phải là snt.&lt;/p&gt;
&lt;p&gt;
	&lt;a href=&quot;http://en.wikipedia.org/wiki/Primality_test&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Primality_test&lt;/a&gt;&lt;/p&gt;</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=376&amp;qa_1=b%C3%A0i-t%E1%BA%ADp-m%E1%BA%A3ng-m%E1%BB%99t-chi%E1%BB%81u&amp;show=379#a379</guid>
<pubDate>Sun, 30 Nov 2014 08:37:02 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: Hỏi về contructor của int *</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=351&amp;qa_1=h%E1%BB%8Fi-v%E1%BB%81-contructor-c%E1%BB%A7a-int&amp;show=352#a352</link>
<description>&lt;p&gt;
	int* là con trỏ int, chứ không phải là một object nên không có &quot;constructor&quot;, đúng hơn là dùng &quot;initialization&quot;. Nếu bạn muốn gán nguyên mảng bằng 0 có thể viết đơn giản như sau:&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;int *a = new int[10] {};&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
	Tuy nhiên để gán nguyên mảng với giá trị khác thì bạn có thể dùng &lt;strong&gt;std::fill_n&lt;/strong&gt;&lt;br&gt;
	&lt;a href=&quot;http://www.cplusplus.com/reference/algorithm/fill_n/&quot; rel=&quot;nofollow&quot;&gt;http://www.cplusplus.com/reference/algorithm/fill_n/&lt;/a&gt;&lt;br&gt;
	Chẳng hạn gán 7 giá trị đầu là -3: &lt;strong&gt;std::fill_n(a, 7, -3)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
	Template là để cài đặt class/hàm có các thuộc tính/tham số có kiểu khác nhau nhưng được xử lý như nhau. Không có liên quan gì đến việc khởi tạo các kiểu mảng C cả (dùng 2 cách mình nêu trên hoặc dùng vòng lặp). Còn đối với các object thuộc các container class của C++ STL, đều có sẵn constructor để khởi tạo nguyên container với một giá trị nào đó, chẳng hạn:&lt;br&gt;
	&lt;strong&gt;std::list&amp;lt;int&amp;gt; myList(7, -3); &lt;/strong&gt;//Tạo 1 linked list với 7 phần tử -3&lt;/p&gt;</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=351&amp;qa_1=h%E1%BB%8Fi-v%E1%BB%81-contructor-c%E1%BB%A7a-int&amp;show=352#a352</guid>
<pubDate>Fri, 28 Nov 2014 10:04:39 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: [Thắc mắc về lệnh break của vòng lặp]</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=325&amp;qa_1=th%E1%BA%AFc-m%E1%BA%AFc-v%E1%BB%81-l%E1%BB%87nh-break-c%E1%BB%A7a-v%C3%B2ng-l%E1%BA%B7p&amp;show=346#a346</link>
<description>là vì bạn hiểu sai ý nghĩa của break và return thôi&lt;br /&gt;
&lt;br /&gt;
- break: thoát ra khỏi 1 scope nào đó ( for, foreach, while, do while, switch case)&lt;br /&gt;
&lt;br /&gt;
- return: trả về kết quả của 1 hàm&lt;br /&gt;
&lt;br /&gt;
nguyên tắc:&lt;br /&gt;
&lt;br /&gt;
1. khi trong cùng 1 scope: bất cứ câu lệnh nào nằm sau câu lệnh break / return đều không được xử lý ( coi như là vô nghĩa)&lt;br /&gt;
&lt;br /&gt;
2. khi viết 1 hàm có trả về kết quả: hàm phải được trả kết quả về trong bất cứ trường hợp nào ( trả lời cho câu hỏi &amp;quot;tại sao lại như vậy&amp;quot; của bạn: với hàm của bạn ở trên khi câu lệnh break được gọi thì sẽ thoát ra khỏi vòng for, nhưng không gặp câu lệnh return nào nên hàm không trả về được kết quả, báo lỗi), có một số trình biên dịch phát hiện được trường hợp này thì sẽ nhắc nhở mình, nhưng một số lại không có nên bạn phải cẩn thận trường hợp này (đôi khi có lỗi mà không biết tại sao :v)</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=325&amp;qa_1=th%E1%BA%AFc-m%E1%BA%AFc-v%E1%BB%81-l%E1%BB%87nh-break-c%E1%BB%A7a-v%C3%B2ng-l%E1%BA%B7p&amp;show=346#a346</guid>
<pubDate>Fri, 28 Nov 2014 06:58:56 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: [C++] Số tham số của 1 hàm &amp; các hàm trong thư viện</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=327&amp;qa_1=c-s%E1%BB%91-tham-s%E1%BB%91-c%E1%BB%A7a-1-h%C3%A0m-%26-c%C3%A1c-h%C3%A0m-trong-th%C6%B0-vi%E1%BB%87n&amp;show=331#a331</link>
<description>&lt;p&gt;
	1. Có, đối với C standard là 127, và đối với C++ standard là 256. Tuy vậy, một hàm được viết hiệu quả không nên có quá nhiều tham số (không chỉ ảnh hưởng đến đọc hiểu code, mà còn đến chi phí gọi hàm nữa).&lt;/p&gt;
&lt;p&gt;
	2. Bạn sử dụng thư viện nào thì dùng #include tên header của thư viện ấy. Bạn có thể tìm hiểu cách sử dụng các hàm trong thư viện C++ STL (standard template library, thư viện chuẩn của C++) trên trang sau:&lt;/p&gt;
&lt;p&gt;
	&lt;a href=&quot;http://www.cplusplus.com/&quot; rel=&quot;nofollow&quot;&gt;http://www.cplusplus.com/&lt;/a&gt; (nếu đọc các mô tả tham số không quen, thì có thể xem ví dụ)&lt;br&gt;
	Chẳng hạn, các cách khởi tạo chuỗi std::string&lt;br&gt;
	&lt;a href=&quot;http://www.cplusplus.com/reference/string/string/string/&quot; rel=&quot;nofollow&quot;&gt;http://www.cplusplus.com/reference/string/string/string/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	Ngoài STL ra còn có muôn vàn các thư viện khác (Boost C++ chẳng hạn) mà bạn phải tải về, và tìm hướng dẫn trên trang chủ của thư viện. Với cấp độ bạn đang học, chỉ cần nắm vững (sử dụng hiệu quả các hàm, cấu trúc dữ liệu) STL là quá tốt rồi.&lt;/p&gt;</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=327&amp;qa_1=c-s%E1%BB%91-tham-s%E1%BB%91-c%E1%BB%A7a-1-h%C3%A0m-%26-c%C3%A1c-h%C3%A0m-trong-th%C6%B0-vi%E1%BB%87n&amp;show=331#a331</guid>
<pubDate>Wed, 26 Nov 2014 15:43:25 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: [C++] inline function và macro: có nên sử dụng?</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=312&amp;qa_1=c-inline-function-v%C3%A0-macro-c%C3%B3-n%C3%AAn-s%E1%BB%AD-d%E1%BB%A5ng&amp;show=313#a313</link>
<description>Trong C/C++, một hàm mà được inline, và bạn gọi hàm đó ở các vị trí đâu đó, thì khi compile, compiler sẽ thay thế những chỗ đó bằng chính đoạn code trong hàm inline, và xử lý trực tiếp luôn chứ không gọi hàm.&lt;br /&gt;
&lt;br /&gt;
Lợi ích: tránh chi phí overhead mỗi lần gọi hàm trong C/C++, chi phí đó bao gồm tạo stack frame, đưa các giá trị thanh ghi vào stack, truyền tham số vào stack, tăng con trỏ stack…và đó mới chỉ là chi phí khi gọi, overhead bao gồm chi phí khi kết thúc hàm nữa. Vì thế nếu một hàm được gọi rất nhiều lần (trong các vòng lặp lồng nhau chẳng hạn) thì chi phí overhead có thể đáng kể và chậm hơn rõ rệt so với inline hàm đó.&lt;br /&gt;
&lt;br /&gt;
Khuyết điểm: nếu hàm cần inline có code rất dài mà chương trình của bạn không gọi hàm đó nhiều lần lắm mà gọi ở nhiều nơi thì khi biên dịch code của hàm đó được chèn nhiều chỗ khiến chương trình dung lượng lớn hơn.&lt;br /&gt;
&lt;br /&gt;
May mắn là theo mình tìm hiểu, các compiler C/C++ hiện giờ đủ thông minh để tự động nên hay không nên inline một cách hiệu quả. Việc bạn dung cú pháp “inline” chẳng qua chỉ là “gợi ý” cho compiler thôi, muốn nó bắt buộc inline hàm nào đó thì dùng “__forceinline”&lt;br /&gt;
&lt;br /&gt;
Macro là tên đại diện của một đoạn code nào đó (giống như VND đại diện cho Việt Nam Đồng ấy ^^), được cài đặt bằng #define. Mục tiêu của nó là giúp lập trình viên viết nhanh các đoạn code lặp đi lặp lại nhiều nhưng có cấu trúc giống nhau. Chẳng hạn:&lt;br /&gt;
&lt;br /&gt;
//với mỗi(mảng, vị trí)&lt;br /&gt;
#define voimoi(mang, vitri) for(vitri = 0; vitri &amp;lt; mang.size(); vitri++)&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
&lt;br /&gt;
std∷vector&amp;lt;int&amp;gt; m;&lt;br /&gt;
…&lt;br /&gt;
int i;&lt;br /&gt;
voimoi(m, i)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;printf(“%d ”, m[i]);&lt;br /&gt;
&lt;br /&gt;
Tóm lại, inline giúp chương trình bạn chạy nhanh hơn (nên để compiler tự động) và macro giúp bạn viết code nhanh hơn (và có thể khả quang, đọc dễ hiểu hơn tùy mình cài đặt)</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=312&amp;qa_1=c-inline-function-v%C3%A0-macro-c%C3%B3-n%C3%AAn-s%E1%BB%AD-d%E1%BB%A5ng&amp;show=313#a313</guid>
<pubDate>Fri, 21 Nov 2014 17:36:58 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: [C++] Sử dụng Iterator trong Vector</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=302&amp;qa_1=c-s%E1%BB%AD-d%E1%BB%A5ng-iterator-trong-vector&amp;show=307#a307</link>
<description>Iterator là khái niệm tổng quát cho cơ chế duyệt một tập hợp (collection), với tập hợp đó có thể là mảng, danh sách, đồ thị v.v.&lt;br /&gt;
&lt;br /&gt;
Nhờ iterator mà các thuật toán có thể làm việc tổng quát với mọi loại tập hợp, thông qua cơ chế duyệt iterator. Việc vector hỗ trợ iterator như vậy là đương nhiên. Các cơ chế operator như [] chỉ là thao tác tiện lợi thôi.</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=302&amp;qa_1=c-s%E1%BB%AD-d%E1%BB%A5ng-iterator-trong-vector&amp;show=307#a307</guid>
<pubDate>Wed, 19 Nov 2014 07:15:38 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: Software security</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=272&amp;qa_1=software-security&amp;show=275#a275</link>
<description>Bên CNPM có giới thiệu nhưng đương nhiên chỉ mang tính chất &amp;quot;giới thiệu&amp;quot; thôi. Còn đi sâu thì theo mình biết hướng an toàn thông tin nằm chủ yếu bên công nghệ tri thức á bạn (Các môn liên quan đến mã hóa, mật mã, an ninh máy tính, bảo mật mạng, CSDL v.v..).. Tuy nhiên khoa mình không hoạt động thực sự mạnh ở lĩnh vực này lằm (Cuộc thi SV với ATTT không thấy trường mình tham gia!?). Về ưu thế khi đi làm thì mình nghĩ là không so sánh được đâu bạn, vì thông thường nếu xét khi tuyển dụng đây là một nhánh tách biệt với các vị trí bên công nghệ phần mềm, bên mạng máy tính/ csdl thì mình không rõ lắm.&lt;br /&gt;
&lt;br /&gt;
Đối với developers, khi xây dựng phần mềm, với các vấn đề liên quan đến bảo mật, những người có kinh nghiệm thường cảnh báo là &amp;quot;đừng tự tay đụng vào&amp;quot;, hay đừng tự xây dựng hệ thống bảo mật riêng của mình, thay vào đó các framework có hỗ trợ thực hiện điều này rồi (và bạn cũng không thể làm tốt hơn họ được, họ có nguyên một đội ngũ và framework của họ đã được cộng đồng kiểm chứng), đương nhiên để sử dụng cũng cần có một chút kiến thức cơ bản.</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=272&amp;qa_1=software-security&amp;show=275#a275</guid>
<pubDate>Fri, 14 Nov 2014 18:36:32 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: Hỏi về việc phát triển Game</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=257&amp;qa_1=ho%CC%89i-v%C3%AA%CC%80-vi%C3%AA%CC%A3c-pha%CC%81t-tri%C3%AA%CC%89n-game&amp;show=263#a263</link>
<description>&lt;p&gt;
	Trường mình không dạy phát triển game chuyên nghiệp đâu, nếu muốn đào tạo bài bản thì bạn có thể đăng ký mấy khóa phát triển game của vtc arcademy, nếu thiên về đồ họa thì bên fpt arena. Còn nếu bạn muốn tự học và không chỉ dừng lại ở mức sử dụng công cụ lập trình, engine để xây dựng game thì bạn có thể xem cấu trúc chương trình đại học chuyên ngành phát triển game ở một số trường đại học như UIT, CMU, UCSC hoặc có thể tham khảo qua một chương trình ở &lt;a rel=&quot;nofollow&quot; href=&quot;http://www.aie.edu.au/LiteratureRetrieve.aspx?ID=109840&quot;&gt;đây&lt;/a&gt;.&lt;/p&gt;</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=257&amp;qa_1=ho%CC%89i-v%C3%AA%CC%80-vi%C3%AA%CC%A3c-pha%CC%81t-tri%C3%AA%CC%89n-game&amp;show=263#a263</guid>
<pubDate>Wed, 12 Nov 2014 12:56:07 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: Lập trình windows form (C#)</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=125&amp;qa_1=l%E1%BA%ADp-tr%C3%ACnh-windows-form-c%23&amp;show=223#a223</link>
<description>Bạn để ngoài form_load</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=125&amp;qa_1=l%E1%BA%ADp-tr%C3%ACnh-windows-form-c%23&amp;show=223#a223</guid>
<pubDate>Wed, 05 Nov 2014 02:31:45 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: Có cách nào để skip vòng lặp trong hàm main khi debug (VS)?</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=160&amp;qa_1=c%C3%B3-c%C3%A1ch-n%C3%A0o-%C4%91%E1%BB%83-skip-v%C3%B2ng-l%E1%BA%B7p-trong-h%C3%A0m-main-khi-debug-vs&amp;show=199#a199</link>
<description>&lt;p&gt;
	&lt;span style=&quot;color: rgb(51, 51, 51); font-family: Helvetica, Arial, sans-serif; font-size: 14px; line-height: 21px;&quot;&gt;int a[100];&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 51, 51); font-family: Helvetica, Arial, sans-serif; font-size: 14px; line-height: 21px;&quot;&gt;
	&lt;span style=&quot;color: rgb(51, 51, 51); font-family: Helvetica, Arial, sans-serif; font-size: 14px; line-height: 21px;&quot;&gt;for (int i = 0; i &amp;lt; 100; ++i)&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 51, 51); font-family: Helvetica, Arial, sans-serif; font-size: 14px; line-height: 21px;&quot;&gt;
	&lt;span style=&quot;color: rgb(51, 51, 51); font-family: Helvetica, Arial, sans-serif; font-size: 14px; line-height: 21px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a[i] = i;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	&lt;span style=&quot;color: rgb(51, 51, 51); font-family: Helvetica, Arial, sans-serif; font-size: 14px; line-height: 21px;&quot;&gt;Một cách khác nếu bạn không muốn đặt breakpoint, Right click sau dòng a[i] = i, chọn Run to Cursor.&lt;/span&gt;&lt;/p&gt;</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=160&amp;qa_1=c%C3%B3-c%C3%A1ch-n%C3%A0o-%C4%91%E1%BB%83-skip-v%C3%B2ng-l%E1%BA%B7p-trong-h%C3%A0m-main-khi-debug-vs&amp;show=199#a199</guid>
<pubDate>Sat, 01 Nov 2014 13:45:57 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: vấn đề chạy chương trình</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=110&amp;qa_1=v%C3%A2%CC%81n-%C4%91%C3%AA%CC%80-cha%CC%A3y-ch%C6%B0%C6%A1ng-tri%CC%80nh&amp;show=138#a138</link>
<description>[Gửi các bạn đã vote down post này]&lt;br /&gt;
&lt;br /&gt;
trang này được tạo ra là để hỏi và trả lời, vậy thì em út nó không biết thì mới lên đây hỏi, với lại, em nó là K14, mới làm quen nên chưa biết về lập trình nhiều, các bạn đã vào xem, không trả lời giúp em út thì thôi, còn nỡ lòng nào vote down, không biết các bạn nghĩ gì chứ mình nhìn vào xem giống như là &amp;quot;cái chuyện nhỏ nhặt này mà cũng không biết&amp;quot;, còn nếu như các bạn có ý là &amp;quot;chuyện này không nên hỏi ở đây&amp;quot;, thì ít ra các bạn cũng comment cho em nó một câu, chứ đừng có im im lặng lặng mà vote down em nó thế.. đến thầy cô mà còn không bao giờ trách móc sinh viên mặc dù nó hỏi một câu được cho là &amp;quot;hỏi ngu&amp;quot; thì các bạn có quyền gì mà làm như vậy chứ..&lt;br /&gt;
&lt;br /&gt;
~Thân~</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=110&amp;qa_1=v%C3%A2%CC%81n-%C4%91%C3%AA%CC%80-cha%CC%A3y-ch%C6%B0%C6%A1ng-tri%CC%80nh&amp;show=138#a138</guid>
<pubDate>Tue, 28 Oct 2014 16:09:55 +0000</pubDate>
</item>
<item>
<title>Đã trả lời: Tư vấn về mảng Thiết Kế Web</title>
<link>https://courses.fit.hcmus.edu.vn/q2a/?qa=32&amp;qa_1=t%C6%B0-v%E1%BA%A5n-v%E1%BB%81-m%E1%BA%A3ng-thi%E1%BA%BFt-k%E1%BA%BF-web&amp;show=46#a46</link>
<description>&lt;p&gt;
	Chào em,&lt;/p&gt;
&lt;p&gt;
	Thường thì thiết kế web nó sẽ nằm trong cụm từ &quot;Thiết kế và lập trình web&quot;, tức là ngoài việc thiết kế giao diện web nói chung thì cần có lập trình các xử lý cho trang web đó. Đây chỉ là một môn học trong nhiều môn học của ngành CNTT thôi. Nếu em muốn đi về hướng thiết kế và lập trình web thì nên học một số kiến thức sau:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		Kiến thức về thiết kế web với HTML, CSS&lt;/li&gt;
	&lt;li&gt;
		Kiến thức về lập trình web ở client (trình duyêt): Javascript, AJAX, JQuery&lt;/li&gt;
	&lt;li&gt;
		Lập trình web ở server: PHP hoặc ASP.NET hoặc JSP hoặc Ruby, ...&lt;/li&gt;
	&lt;li&gt;
		Kiến thức về CSDL: SQL Server hoặc MySQL, ...&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
	Ngoài ra để có thể tăng cơ hội nghề nghiệp: thì nên tìm hiểu thêm các mã nguồn mở hỗ trợ lập trình, thiết kế giao diện, các mô hình về lập trình như mô hình 3 lớp, MVC, entity framework, ....&lt;/p&gt;</description>
<category>Kiến thức CNPM</category>
<guid isPermaLink="true">https://courses.fit.hcmus.edu.vn/q2a/?qa=32&amp;qa_1=t%C6%B0-v%E1%BA%A5n-v%E1%BB%81-m%E1%BA%A3ng-thi%E1%BA%BFt-k%E1%BA%BF-web&amp;show=46#a46</guid>
<pubDate>Mon, 27 Oct 2014 02:37:44 +0000</pubDate>
</item>
</channel>
</rss>