\documentclass[12pt,a4paper]{report}
\usepackage[utf8x]{vietnam}
\usepackage{graphicx}
\usepackage{fancybox}
\usepackage[left=2.50cm, right=2.00cm, top=2.00cm, bottom=2.00cm]{geometry}
%định dạng trang và căn lề
\begin{document}
\thispagestyle{empty} %xóa header và footer
\thisfancypage{
\setlength{\fboxsep}{0pt}
\fbox}{} %đóng khung trang
\begin{center}
\begin{large}
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
\end{large} \\
\begin{large}
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
\end{large} \\
\textbf{ * }\\[1cm] %xuống dòng 7cm
\begin{center}
\includegraphics[scale=0.04]{bach_khoa.png}\\[2cm]
\end{center}
{\fontsize{32pt}{1}\selectfont BÁO CÁO MÔN HỌC}\\
{\fontsize{20pt}{1}\selectfont NHẬP MÔN CÔNG NGHỆ THÔNG TIN \& TT}\\[3cm]
\end{center}
\hspace{3cm} Nhóm sinh viên thực hiện :
\textbf{\hspace{4cm} Nguyễn Văn A}\hspace{14pt} - CN CNTT 01 K58 - 20133333
\textbf{\hspace{4cm} Nguyễn Thành B} - CN CNTT 01 K58 - 20134444
\textbf{\hspace{4cm} Trần Văn C}\hspace{33pt} - CN CNTT 01 K58 - 20135555
\textbf{\hspace{4cm} Nguyễn Thạc D}\hspace{9pt} - CN CNTT 01 K58 - 20136666 \\
\\
\hspace{3cm} Giảng viên hướng dẫn \hspace{14pt} : \hspace{4pt} \textbf{TS.
Nguyễn Tuấn Dũng}
\hspace{8.3cm} \textbf{TS. Vũ Văn Thiệu}
\vspace{3.5cm}
\begin{center}
{\fontsize{16pt}{1}\selectfont HÀ NỘI}\\
{\fontsize{16pt}{1}\selectfont {Ngày 28 tháng 11 năm 2014}}
\end{center}
\newpage
\addcontentsline{toc}{chapter}{Lời cảm ơn }
\begin{center}
{\LARGE \textbf{Lời cảm ơn}}
\end{center}
Chúng em xin chân thành cảm ơn thầy Vũ Văn Thiệu và thầy Nguyễn Tuấn Dũng đã
cung cấp cho chúng em những kiến thức vô cùng bổ ích,cũng như tận tình giúp đỡ
chúng em khi tìm hiểu về CNTT nói chung và môn học này nói riêng để hoàn thành
bài báo cáo này.
\newpage
\addcontentsline{toc}{chapter}{Lời nói đầu }
\begin{center}
{\LARGE \textbf{Lời nói đầu}}
\end{center}
\quad Chúng em là những sinh viên mới bắt đầu học về ngành CNTT, đây là một
ngành khoa học mới nhưng phát triện rất nhanh do đó chúng em cần có một nền
tảng kiến thức vững chắc và phương pháp nghiên cứu hợp lý mới có thể theo kịp
những bước tiến của khoa học và công nghệ. Dưới sự hướng dẫn của các thầy
giảng dạy môn "Nhập môn CNNTT \& TT" chúng em đã tìm hiểu được những kiến thức
cơ bản nhất về \LaTeX , Scilab, Web. Đây là những công cụ cơ bản và cần thiết
nhất để những sinh viên CNTT như chúng em có thể ứng dụng cho bản thân cũng
như học những môn học khác.
\newpage
\addcontentsline{toc}{chapter}{Tóm tắt nội dung }
\begin{center}
{\LARGE \textbf{Tóm tắt nội dung}}
\end{center}
\quad Trong bản báo cáo này chúng em trình bày những kiến thức cơ bản nhất về
\LaTeX , Scilab và lập trình Web
\\[30pt]
{\Large \textbf{1. \LaTeX}} \\[7pt]
-Cách download, cài đặt và chạy phần mềm soạn thảo MiKTeX, Texmaker trên
window
\\[7pt]
-Cấu Trúc một tập tin mã nguồn
\\[7pt]
-Một số lệnh đơn giản
\\[30pt]
{\Large \textbf{2. Scilab}} \\[7pt]
-Cách download, cài đặt và chạy phần mềm Scilab trên Window \\[7pt]
-Các kiểu dữ liệu và toán tử cơ bản của Scilab \\[7pt]
-Ví dụ về giải phương trình bậc hai bằng Scilab \\[7pt]
-Xử lý ma trận trong Scilab \\[30pt]
{\Large \textbf{3. Thiết kế Web}}
\newpage
\addcontentsline{toc}{chapter}{Mục lục}
\tableofcontents
\newpage
\addcontentsline{toc}{chapter}{Giới thiệu }
\begin{center}
\textbf{{\LARGE Giới thiệu}}
\end{center}
\quad Chúng em nhận thấy các vấn đề được các thầy cô truyền thụ là những kiến
thức cơ bản và hết sức quan trọng để chúng em ứng dụng trong quá trình học
tập,nghiên cứu tại trường đại học cũng như đời sống.\\[20pt]
\quad Cụ thể: \\[5pt]
\qquad -\LaTeX: Đây là công cụ hữu ích để chúng em viết các bản báo cáo khoa
học khi học tập,nghiên cứu các vấn đề chuyên môn. \\[10pt]
\qquad -Scilab: Đây là công cụ miễn phí nhưng lại rất mạnh mẽ để giải quyết
các bài toán và vật lý. \\[10pt]
\qquad - Web: Đây là những kiến thức cơ bản nhất để chngs em có thể tự thiết
kế 1 trang web cá nhân,hoặc nâng cao hơn nữa là 1 trang web doanh nghiệp.
\newpage
\chapter[Chương 1. \LaTeX]{\LaTeX}
\section{\LaTeX là gì?}
\quad \LaTeX{} là một hệ thống sắp chữ,một ngôn ngữ biết diễn văn bản dẫn
xuất từ \TeX{} được viết viết bởi Lesile Lamport. Và \TeX{} được viết bởi
Donald Knuth và giới thiệu lần đầu vào năm 1978.\\[10pt]
$\bullet$ \textbf{Ưu điểm:}\\
- Soạn thảo văn bản lớn không ảnh hưởng đến tốc độ gõ. Với Microsoft Word
hoặc OpenOffice cả tài liệu sẽ bị định dạng lại khi ta gõ.\\
-Tài liệu viết bằng \LaTeX{} thường có vẻ chuyện nghiệp hơn các tài liệu
khác.\\
-Gõ các công thức,ký hiệu nhanh và tiện lợi hơn. Thuận tiện cho viết báo cáo
khoa học.\\
-Hoàn toàn miễn phí\\
-Kích thước mã nguồn khiêm tốn.\\[10pt]
$\bullet$ \textbf{Nhược điểm:}\\
-Không nhìn thấy trực tiếp văn bản khi gõ\\
-Phải nhớ tên lệnh\\
-Khó khăn cho người mới bắt đầu.
\newline
\section{Cơ bản về \LaTeX}
\subsection{Cài đặt \LaTeX}
\quad Để soạn thảo được văn bản \LaTeX{} cần tiến hành tải về và cài đặt một
số engine và front-end. Toàn bộ quá trình cài đặt và sử dụng chúng em tiến
hành trên hệ điều hành Window 8.1 \\[7pt]
-Engine: MiKTeX 2.9 ( />
-Front-end: Texmaker 4.3 ( />
\quad \textit{Ngoài ra có thể sử dụng các công cụ khác tuy nhiên do yêu cầu
môn học nên chúng em không trình bày thêm ở đây.}\\
\quad Sau khi tải về những phần mềm cần thiết tiến hành cài đặt như bình
thường. Chương trình soạn thảo Texmaker sẽ xuất hiện như hình
\begin{center}
\includegraphics[scale=0.3]{Fily005.jpg}
\end{center}
\quad Tuy nhiên để có thể soạn thảo văn bản bằng tiếng Việt, cần tải thêm gói
ngôn ngữ vntex được chia sẻ trên internet. Lưu thư mục ngôn ngữ vntex vào 1
vùng trên ổ cứng. Sau đó nhấn tổ hợp Window + S và tìm kiếm với từ khóa
"Setting", chọn kết quả "Setting(Admin)" sẽ xuất hiện cửa sổ cài đặt MiKTeX\\
\begin{center}
\includegraphics[scale=0.6]{Fily001.jpg}
\end{center}
\quad Chọn thẻ Roots, add thư mục vntex vừa tải về. Sau đó chọn thẻ General và
nhấn "Refresh FNDB" rồi Ok là đã có thể soạn thảo bằng tiếng Việt được rồi. \\
\subsection{Các tập tin nhập liệu của \LaTeX}
\quad Dữ liệu đưa vào cho \LaTeX thường lưu dưới dạng ký tự ASCII. Tập tin này
sẽ chưa phần văn bản cũng như các lệnh định dạng của \LaTeX.\\[5pt]
\subsection{Khoảng trắng:} Các ký tự khoảng trắng hay tab được xem như nhau và
đều được gọi là "khoảng trắng". Nhiều ký tự khoảng trắng liên tiếp cũng chỉ
được xem là 1 khoảng trắng. Các khoảng trắng bắt đầu một hàng thì được bỏ qua.
Ngoài ra ký tự xuống hàng đơn cũng là 1 khoảng trắng. \\[5pt]
\subsection{Một số ký tự đặc biệt:} Một số ký tự chi dành riêng hoặc có ý
nghĩa đặc biệt trong \LaTeX . Khi nhập chúng một cách trực tiếp thì thông
thường sẽ không ra và đôi khi khiến \LaTeX{} làm một số việc ngoài ý muốn. \\
[3pt]
\# \$ \% \^{} \& \_ \{ \} \~{} \textbackslash \\[3pt]
Để hiển thị những ký tự này trong văn bản cần thêm ký tự "\textbackslash' ở
phía trước, và đặc biệt để hiển thị ký tự "\textbackslash" cần dùng tới câu
lệnh \textbackslash textbackslash.\\[3pt]
\subsection{Lệnh trong \LaTeX :} Các lệnh của \LaTeX cần phải được nhập vào
theo đúng chữ hoa và chữ thường. Nó có dạng như sau: \\
\qquad \textbackslash tên lệnh\{tham số bắt buộc\}\{tham số tùy chọn\} \\[5pt]
\subsection{Chú thích trong \LaTeX:} Khi \LaTeX gặp ký tự \% nó sẽ bỏ qua phần
còn lại của hàng đang được xử lý. Chúng ta có thể dùng ký tự này để thực hiện
việc ghi chú ngắn gọn vào tập tin soạn thảo. Nếu như lời chú thích dài hơn
chiều dài 1 dòng thì cần khai báo thêm gói \textbackslash usepackage\
{verbatim\} và dùng môi trường comment dạng \textit{\textbackslash begin\
{comment\} chú thích \textbackslash end\{comment\}}. \\[5pt]
\section{Cấu trúc của tập tin nhập liệu}
\quad Cấu trúc chung của một tập tin:\\[9pt]
\textbackslash documentclass[tham số tùy chọn]\{class\} \\
\textbackslash usepackage[tham số tùy chọn]\{package\}\\
\textbackslash begin\{document\} \\
\textit{\% Nội dung tập tin \\}
\textbackslash end\{document\}
\subsection{Lệnh documentclass}
\quad Là lệnh bắt buộc dùng để khai báo loại tài liệu. Tham số tùy chọn để tùy
chỉnh định dạng của tài liệu như kích cỡ trang giấy,kích cỡ chữ, font chữ
Tham số "class" để khai báo loại tài liệu như article, report, book
\subsection{Lệnh usepackage}
\quad Khai báo \textbackslash usepackage[tham số tùy chọn]\{package\} để thêm
vào các tính năng mở rộng không có sẵn trong \LaTeX bằng việc đưa vào các gói
bổ sung. Trong đó tham số tùy chọn để thiết đặt các thông số cho package sử
dụng. Ví dụ như việc sử dụng trong tài liệu này: \\[2pt]
\textbackslash usepackage[utf8x]\{vietnam\} \\[9pt]
Để sử dụng gói ngôn ngữ vntex hỗ trợ tiếng Việt. Hoặc: \\[2pt]
\textbackslash usepackage\{graphicx\}\\[9pt]
Để thực hiện chèn hình ảnh vào tài liệu.
\section{Tựa đề, các chương và các mục}
\quad Giúp cho người đọc dễ dàng tìm ra những phần cần thiết trong tài liệu.
Các lệnh sau có sẵn dành cho lớp tài liệu dạng article:\\[9pt]
\textbackslash section\{ \}\\
\textbackslash subsection\{ \}\\
\textbackslash subsubsection\{ \}\\
\textbackslash paragraph\{ \}\\
\textbf{•} subparagraph\{ \}\\
Với lớp tài liệu report như ở bản báo cáo này thì cấu trúc chia lớn nhất là:
\\[9pt]
\textbackslash chapter\{ \}\\[2pt]
\section{Soạn thảo văn bản}
\subsection{Font}
\quad Có thể dùng lệnh thay đổi font hoặc lệnh khai báo font. Lệnh thay đổi
font chỉ ảnh hưởng với nội dung là tham số của lệnh. Còn lệnh khai báo font
ảnh hưởng tới tài liệu từ vị trí lệnh về sau hoặc trong khối lệnh \{ \}. Các
lệnh thay đổi font thường dùng: \\[9pt]
\textbackslash textbf\{ \} \hspace{50pt} \textbf{dùng in đậm ký tự} \\
\textbackslash textit\{ \} \hspace{51pt} \textit{dùng in nghiêng ký tự} \\
\textbackslash underline\{ \} \hspace{33pt} \underline{dùng gạch chân ký tự}
\\[5pt]
Và các lệnh thay đổi kích thước font chữ dùng trong môi trường : \\[9pt]
\textbackslash tiny \\
\textbackslash scriptaize \\
\textbackslash footnotesize \\
\textbackslash small \\
\textbackslash normalsize \\
\textbackslash large \\
\textbackslash Large \\
\textbackslash LARGE \\
\textbackslash huge \\
\textbackslash Huge \\
\subsection{Môi trường}
\quad Có cấu trúc:\\[9pt]
\textit{\textbackslash begin\{tên môi trường\} nội dung \textbackslash end \
{tên môi trường\}}
\quad Ví dụ như dùng môi trường để thay đổi kích thước font chữ: \\[2pt]
\textbackslash begin\{Large\} nội dung \textbackslash end \{Large\} \qquad sẽ
được \qquad \begin{Large}
nội dung
\end{Large} \\[9pt]
Hoặc dùng môi trường để căn lề:\\
-Căn lề trái: \textit{flushleft}\\
-Căn lề phải: \textit{flushright}\\
-Căn giữa: \textit{center}\\[3pt]
Cũng có thể sử dụng môi trường để tạo bảng biết với cấu trúc:\\[9pt]
\textit{\textbackslash begin\{tabular\}[pos]\{table spec\}\\
\%nội dung\\
\textbackslash end\{tabular\}\\[3pt]
}
Tham số "pos" để chỉ ra vị trí của bảng so với chữ ở xung quanh\\
Tham số "table spec" định nghĩa cấu trúc cột của bảng: "l" để chỉ ra một cột
căn lề trái, "c" để chi ra một cột căn giữa, "r" để chỉ ra một cột căn lề
phải. Và ký hiệu "|" để chỉ ra một đường kẻ giữa 2 cột. Ví dụ:\\[9pt]
\textbackslash begin\{tabular\}[t]\{|l|c|r|\} \\
\textbackslash hline Máy tính bỏ túi \& Máy tính để bàn \& Máy tính xách tay
\textbackslash \textbackslash \\
\textbackslash hline Giá rẻ \& Giá trung bình \& Giá cao \textbackslash
\textbackslash \\
\textbackslash hline
\textbackslash end\{tabular\} \\[9pt]
\quad sẽ in ra
\begin{tabular}[t]{|l|c|r|}
\hline Máy tính bỏ túi & Máy tính để bàn & Máy tính xách tay\\
\hline Giá rẻ & Giá trung bình & Giá cao \\
\hline
\end{tabular}\\[9pt]
\quad Trong bảng, hai cột liên tiếp ngăn cách nhau bằng dấu "\&". Để tạo đường
kẻ giữa 2 dòng dùng "\textbackslash hline"
\section{Soạn thảo công thức toán học}
\quad Phần nội dung toán học trong văn bản có thể được soạn thảo giữa cặp dấu
\$ \$ hoặc \textbackslash( \textbackslash ) hoặc \textbackslash begin\
{math\} \textbackslash end\{math\}. Để tách các công thức lớn khỏi đoạn
biên soạn có thể sử dụng cặp \textbackslash [ \textbackslash ]. Và để đánh
số các phương trình có thể sử dụng môi trường "equation". Ví dụ: \\[9pt]
\textit{Hằng đẳng thức đầu tiên với 2 biến \$a\$ và \$b\$ là: \textbackslash
\textbackslash \\
\textbackslash[(a+b)\^{}2 = a\^{}2 + 2ab + b\^{}2\textbackslash]
\textbackslash \textbackslash \\
Hằng đẳng thức thứ hai là \textbackslash \textbackslash \\
\textbackslash begin\{equation\}
(a-b)\^{}2 = a\^{}2 - 2ab + b\^{}2
\textbackslash end\{equation\} \\[5pt]}
Sẽ in ra: \\
\textbf{Hằng đẳng thức đầu tiên với 2 biến $a$ và $b$ là:
\[(a+b)^2 = a^2 + 2ab + b^2\] \\
Hằng đẳng thức thứ hai là
\begin{equation}
(a-b)^2 = a^2 - 2ab + b^2
\end{equation}
}
\subsection{Một số ký hiệu}
\begin{tabular}{|l|c|}
\hline \textbackslash alpha & $\alpha$ \\
\textbackslash beta & $\beta$ \\
\textbackslash gamma & $\gamma$ \\
\textbackslash delta & $\delta$ \\
\textbackslash lambda & $\lambda$ \\
\textbackslash pi & $\pi$ \\
\textbackslash varepsilon & $\varepsilon$ \\
\textbackslash mu & $\mu$ \\
\textbackslash omega & $\omega$ \\
& \\
\hline
\end{tabular}\\
\subsection{Mũ, chỉ số, căn thức, phân thức }
\begin{tabular}{|l|l|c|}
\hline Cấu trúc & Khai báo & Hiển thị \\
\hline \^{}\{ \} & x\^{}2 & $x^2$ \\
\_\{ \} & x\_ 2 & $x_2$ \\
\textbackslash sqrt[ ]\{ \} & \textbackslash sqrt[3]\{4\} & $\sqrt[3]{4}$
\\
\textbackslash frac\{ \}\{ \} & \textbackslash frac\{3\}\{4\} & $\frac{3}
{4}$ \\ \hline
\end{tabular}
\subsection{Khoảng cách trong văn bản toán học}
\quad Để tạo khoảng cách giữa hai công thức liên tiếp có thể dùng lệnh
\textbackslash quad hoặc \textbackslash qquad để tạo khoảng cách lớn hơn. Ví
dụ: \\[9pt]
\textit{\$ \textbackslash sqrt[3]\{x\} = 2\$ \textbackslash quad \$x\^{}2 - x
= 0\$ \textbackslash \textbackslash \\
\$ \textbackslash sqrt[3]\{x\} = 2\$ \textbackslash qquad \$x\^{}2 - x = 0\$
\\}
Sẽ in ra: \\[9pt]
$\sqrt[3]{x} = 2$ \quad $x^2 - x = 0$\\
$\sqrt[3]{x} = 2$ \qquad $x^2 - x = 0$
\section{Chèn hình ảnh vào văn bản}
\quad Để có thể chèn hình ảnh vào văn bản cần phải thêm gói graphicx: \\[3pt]
\textbackslash usepackage\{graphicx\} \\[3pt]
Để chèn hình dùng lệnh \\[2pt]
\textbackslash includegraphics[tham số tùy chọn]\{ tên file\} \\[3pt]
và cần lưu ý \textbf{file hình ảnh phải ở cùng thư mục với file .tex đang được
soạn thảo}. Trong đó tham số tùy chọn để xác định thuộc tính hình ành, như: \\
[3pt]
\begin{tabular}{|l|l|}
\hline width , height & Xác định chiều rộng và chiều dài \\
scale & Xác định tỉ lệ ảnh so với ảnh gốc \\
angle & Xác định góc quay của ảnh\\
\hline
\end{tabular}
\section{Ứng dụng}
\quad Chứng em đã áp dụng những kiến thức về \LaTeX{} để hoàn thành bản báo
cáo này.
\newpage
\chapter[Chương 2. Scilab]{Scilab}
\section{Giới thiệu chung}
-Scilab là ngôn ngữ lập trình kết hợp với các phép toán số học trên nhiều lĩnh
vực khoa học. \\
-Scilab thuộc loại ngôn ngữ thông dịch.\\
-Khả năng xử lý với scilab: \\
\quad -Số học tuyến tính, ma trận \\
\quad -Các hàm đa thức và các hàm hữu tỷ\\
\quad -Xử lý đồ thị 2D, 3D\\
\quad -Giải các phương trình vi phân, phương trình đại số
\quad -
\section{Cài đặt scilab}
\quad Scilab là một phần mêm tính toán số mã nguồn mở dùng miễn phí. Các hệ
điều hành tương thích với phần mềm gồm có Windows, Linux , Mac OS. Có thể tải
Scilab về tại trang chủ http:\textbackslash \textbackslash
www.scilab.org\textbackslash \\
Tiến hành các đặt như các phần mềm thông thường. Để cài đặt được đầy đủ cần
kết nối internet để tải về các module cần thiết. Mở scilab sẽ có giao diện như
dưới đây
\begin{center}
\includegraphics[scale=0.2]{Fily007.jpg}
\end{center}
\section{Các phương thức tương tác với Scilab}
$\bullet$ Console (Hình 1.1) , Editor (Hình 1.2) \\[9pt]
-Console: \\
\begin{center}
\includegraphics[scale=0.4]{Fily109.jpg} \\
Hình 2.1
\end{center}
-Editor: Dễ dàng soạn thảo các file chưa tập các đoạn code của Scilab. Để gọi
ra editor vào Application/Editor hoặc vào editor() từ console \\
\begin{center}
\includegraphics[scale=0.5]{Fily110.jpg} \\
Hình 1.2
\end{center}
\section{Sử dụng help trong Scilab}
\quad Vào chức năng help từ thanh công cụ (Hình 2.3) \\
\begin{center}
\includegraphics[scale=0.36]{Fily108.jpg} \\
Hình 2.3
\end{center}
Nếu biết tên lệnh nhưng quên hoặc chưa biết cú pháp có thể dùng lệnh
help<name> với <name> là tên lệnh cần tra.\\
Ví dụ:\\
Câu lệnh "help sqrt" cho biết cú pháp hàm căn bậc hai trong toán tử \\
\begin{center}
\includegraphics[scale=0.37]{Fily107.jpg}\\
Hình 2.4 \\
\end{center}
Nếu không biết rõ tên lệnh, có thể dùng lệnh apropos để tìm thông tin liên
quan. Ví dụ: \\
"apropos logarith" cho kết quả hàm liên quan đến logarit (Hình 2.5)\\
\begin{center}
\includegraphics[scale=0.3]{Fily008.jpg} \\
Hình 2.5
\end{center}
\section{Các loại biến trong Scilab}
\quad Trong Scilab, các loại biến đều được coi là ma trận (trừ một số loại như
list và một số cấu trúc dữ liệu đặc biệt). Bao gồm: biến thực, biến boolean,
biến phức, biến xâu, ma trận (bao gồm cả vector). Với mỗi kiểu biến có một số
toán tử tương ứng. Tên biến: để dài tùy ý nhưng chỉ xét 24 ký tự đầu tiên. Mã
ASCII: a-z, A-Z, 0-9, \% \_ \# ! ? \$. Có phân biệt chữ hoa và chữ thường. \\
[3pt]
Một số hàm toán học cơ bản: sin(x), asin(x), cos(x), acos(x), tan(x), atan(x),
cotg(x), acot(x)
\section{Giải phương trình bậc hai}
\quad Có thể ứng dụng Scilab để giải quyết các bài toán, ví dụ như giải phương
trình bậc hai: (Hình 1.6) \\
\begin{center}
\includegraphics[scale=0.6]{Fily111.jpg}\\
Hình 2.6
\end{center}
\quad Tiến hành thử với giá trị bất kỳ sẽ được kết quả (Hình 2.7) \\
\begin{center}
\includegraphics[scale=0.4]{Fily112.jpg}\\
Hình 2.7
\end{center}
\section{Ma trận, vector}
\subsection{Khởi tạo ma trận}
Các ký hiệu dùng để khai báo ma trận:
\begin{itemize}
\item {Ngoặc vuông ``['' và ``]'' để đánh dấu vị trí bắt đầu và kết
thúc của ma trận.}
\item {Dấu phẩy ``,'' để phân chia các giá trị giữa các cột.}
\item {Dấu chấm phẩy``;'' để phân chia các hàng.}
\end{itemize}
Ngoài ra có một số hàm như
\begin{flushleft}
\hspace{1cm}{ones, eye, zeros, rand}
\end{flushleft}
để khởi tạo một số dạng ma trận đặc biệt.\\
Ma trận rỗng:
\begin{flushleft}
\hspace{1cm}{A = [ ]}
\end{flushleft}
tạo ra ma trận A là ma trận rỗng.
\\subsection{Truy cập phần tử của ma trận}
Với ma trận A cho trước:
\begin{itemize}
\item {Để truy cập một phần tử:}
\begin{flushleft}
\hspace{0.5cm}{A[i,j]}
\end{flushleft}
Trong đó i,j là chỉ số hàng và cột (tính từ 1)
\item {Để truy cập nhiều phần tử:}
\begin{flushleft}
\hspace{0.5cm}{A[$x_{1}$:$x_{2}$ , $j_{1}$:$j_{2}$]}
\end{flushleft}
Trong đó $x_{1}$ , $x_{2}$ thứ tự là chỉ số đầu và cuối của
các hàng lấy giá trị, $y_{1}$ , $y_{2}$ thứ tự là ch số đầu và
cuối của cột lấy giá trị. Có thể dùng toán tử \$ để chỉ hàng hoặc cột cuối
cùng.
\end{itemize}
\subsection{Các phép toán ma trận}
Có các phép toán +, - , *, /, tính định thức (det), trị riêng (spec) là các
phép toán áp dụng với cả ma trận như toán học.\\[0.5cm]
Ma trận chuyển vị a', ma trận nghịch đảo inv(a), hạng của ma trân rank(a)\\
Ngoài ra còn các phép toán như .* , ./ để áp dụng trên từng phần tử của hai
ma trận.\\
Ví dụ: Cho hai ma trận
\begin{center}
$
A=\left[ \begin{array}{ccc}
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9\end{array} \right]$ ;
$
B=\left[\begin{array}{ccc}
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9\end{array} \right]$
\end{center}
Khi đó:
\begin{center}
$A*B=\left[\begin{array}{ccc}
30 & 36 & 42\\
66 & 81 & 96\\
102 & 126 & 150\end{array} \right]$ ;
$A.*B=\left[\begin{array}{ccc}
1 & 4 & 9\\
16 & 25 & 36\\
49 & 64 & 81\end{array} \right]$
\end{center}
\chapter[Chương 3. HTML - XHTML, CSS, JavaScript]{HTML - XHTML, CSS,
JavaScript}
\section{Một số khái niệm cơ bản về WWW}
\textbf{World Wide Web}, gọi tắt là \textbf{Web} hoặc \textbf{WWW}, mạng lưới
toàn cầu là một không gian thông tin toàn cầu mà mọi người có thể truy nhập
(đọc và viết) qua các máy tính nối với mạng Internet. Thuật ngữ này thường
được hiểu nhầm là từ đồng nghĩa với chính thuật ngữ Internet. Nhưng Web thực
ra chỉ là một trong các dịch vụ chạy trên Internet, ngoài Web ra còn các dịch
vụ khác như thư điện tử hoặc FTP.
\subsection{Các thành phần của Web}
\begin{itemize}
\item WebPage: là một trang Web.
\item Website: Là tập hợp các WebPage có nội dung thống nhất
\item Uniform Resource Locator: dùng để định vị tài nguyên trên Internet theo
cách thuận tiện cho
người sử dụng (thay cho địa chỉ IP không mang ý nghĩa và khó nhớ)
Cấu trúc: giao thức://địa chỉ máy:cổng/đường dẫn đến tài nguyên
\item Web Server: cung cấp tài nguyên cho máy khác.
\item Web Browser: dùng để khai thác dịch vụ Web.
\end{itemize}
\section{Một số công cụ thường dùng để tạo trang (X)HTML, CSS,JavaScript}
\subsection{Cách tạo file HTML}
Trước tiên ta tạo một file index.txt đơn giản bằng notepad trong Window với
nội dung sau:\\
<p>Hello</p>
Sau đó "Save As" lại file với định dạng mới là .html\\
Ngoài cách tạo đơn giản trên, chúng ta cũng có thể tạo file HTML trực tiếp
thông qua một số ứng dụng như: notepad++, Dreamweaver, \\
\begin{center}
\includegraphics[scale=0.7]{html.png}
\end{center}
\begin{enumerate}
\item \textbf{Dreamweaver}: Là công cụ có phí, mạnh, dễ sử dụng. class\\
\begin{center}
\includegraphics[scale=0.5]{dream.png}
\end{center}
\item \textbf{Notepad}++ \\
\begin{center}
\includegraphics[scale=0.5]{n++.png}
\end{center}
:Phần mềm rất mạnh, độ tùy biến cao và lại hoàn toàn miễn phí. Nó là trình
soạn thảo code viết cho người sử dụng Windows và hỗ trợ một vài ngôn ngữ lập
trình
\item \textbf{e-Texteditor}: tích hợp FTP ngay trong editor, Project Panel,
highlight code, auto complete v.v . Nhưng đây là phần mềm phải trả phí
\item \textbf{Eclipse} \\
\begin{center}
\includegraphics[scale=0.5]{eclipse (1).png}
\end{center}
Đây là phần mềm mã nguồn mở phát triển dựa trên nền tảng Java. Ban đầu Eclipse
chỉ được sử dụng bởi những người phát triển Java. Nhưng sau này người dùng có
thể mở rộng những tính năng của nó bằng cách cài đặt thêm nhiều Plugin. Từ đó
Eclipse được sử dụng rộng rãi hơn bởi nhiều chuyên gia trong nhiều lĩnh vực
khác nhau. Những plugin phổ biến như cho C, C++, Perl, PHP, ColdFusion, Ruby,
Python và cả C\# nữa.
\item \textbf{Komodo Edit}\\
\begin{center}
\includegraphics[scale=0.5]{komodo.png}
\end{center}
Là trình soạn code cũng hỗ trợ nhiều ngôn ngữ như HTML, CSS, JavaScript, Perl,
PHP, Ruby, Django v.v Nó cũng có những tính năng như auto-complete, menu hỗ
trợ, kiểm tra cú pháp, xem trước code HTML, code snippet (dạng làm trước),
edit nhiều trang cùng một lúc và cả Project Management.
\end{enumerate}
\section{HTML - XHTML}
\subsection{HTML, XHTML là gì?}
\textbf{Định nghĩa}
HTML (HyperText Markup Language) là ngôn ngữ đánh dấu dùng để miêu tả một
trang Web.
XHTML (eXtensible HyperText Markup Language) có chức năng tương tự HTML nhưng
tuân theo XML
(Extensible Markup Language) và được định nghĩa chặt chẽ hơn HTML. XHTML có
thể được các parser
XML xử lý, do đó dễ xử lý bằng các ngôn ngữ, nền tảng khác hơn HTML (tận dụng
được các thư viện
có sẵn).
HTML và XHTML đều được tạo thành từ các tags (gồm tag mở và tag đóng) để định
nghĩa cách hiển
thị các thành phần của trang web.
\textbf{Các phiên bản}
Phiên bản chính thức mới nhất của HTML là HTML 4.01, HTML 5 đang là dự thảo
với nhiều tính năng
mới. Phiên bản đầu tiên của HTML được Tim Berner Lee phát minh và được W3C đưa
thành chuẩn vào
năm 1994, phiên bản mới nhất là 4.01 hiện tại được hoàn thành vào 24-12-1999
\newpage
\subsection{Cú pháp của các tags (thẻ) trong (X)HTML}
Bao gồm 1 thẻ mở và 1 thẻ đóng, nội dung nằm ở giữa 2 thẻ, các thẻ có thể lồng
nhau nhưng các thẻ
phải được mở và đóng đúng thứ tự (mở trước thì phải đóng sau). Ở thẻ mở có thể
có các thuộc tính
(attributes).
Ví dụ:
<div class="ex"><b><i>Chữ này vừa được in đậm vừa được in nghiêng và có thể
chứa các lệnh
định dạng của class “ex"</i></b></div>
Với \textbf{XHTML} thì tên các thẻ bắt buộc viết thường, với \textbf{HTML} thì
không phân biệt chữ thường chữ hoa.
Tuy nhiên các trình duyệt thường không thông báo lỗi cú pháp nhưng sẽ dẫn đến
kết quả hiển thị không
đúng mong muốn và khi validate sẽ báo lỗi.
\subsection{Chú thích}
Cách chú thích trong (X)HTML:\\
<!– Nội dung chú thích –>
\subsection{Cấu trúc một trang HTML - XHTML}
Cấu trúc cơ bản của trang \textbf{HTML/XHTML} có dạng như sau, thường gồm 3
phần:
\begin{itemize}
\item <!Doctype>: Phần khai báo chuẩn của html hay xhtml.
\item <head></head>: Phần khai báo ban đầu, khai báo về meta, title, css,
javascript…
\item <body></body>: Phần chứa nội dung của trang web, nơi hiển thị nội dung.
\end{itemize}
\textbf{Cấu trúc cơ bản của trang web}
Mỗi trang web đều có cách thể hiện cấu trúc khác nhau, có trang 1 cột, có
trang 2 và cũng có trang chứa nhiều cột, bên dưới đây chúng ta tham khảo một
trang đơn giản sử dụng 2 cột để layout.
\begin{itemize}
\item Phần đầu: header, có thể chứa logo, câu slogan, các liên kết, các banner
liên kết, các button, đoạn flash, hoặc các form ngắn như form tìm kiếm,
\item Phần liên kết toàn cục: global navigation, dùng để chứa các liên kết đến
những trang quan trọng trong toàn bộ trang, trong phần này có thể chứa thêm
các liên kết con (sub navigation).
\item Phần thân của trang: page body, phần này chứa phần nội dung chính
(content) và phần nội dung phụ (sidebar).
Phần nội dung chính: content, phần này chứa nội dung chính cần thể hiện cho
người dùng xem.
\item Phần nội dung phụ: sidebar, phần này có thể chứa liên kết phụ của từng
trang (local navigation), hoặc các banner chứa liên kết liên quan, hoặc có thể
dùng để chứa các liên kết quảng cáo,
\item Phần cuối trang web: footer, phần này thường chứa phần liên hệ như: tên
công ty, địa chỉ, số điện thoại, mail liên hệ, và đặc biệt là copyright,
hoặc có thể chứa các liên kết toàn trang, các banner liên kết,
\end{itemize}
\subsection{Một số thẻ hay dùng}
\textbf{Các thẻ khối (block-level) thường dùng}
Là các thẻ hiển thị trên màn hình dưới dạng một đoạn riêng. Ví dụ: <p>, <h1>,
<h2>,
\begin{itemize}
\item <p> định nghĩa một đoạn (paragraph) trong trang web (ở trước và sau thẻ
<div> tự động xuống
dòng).
\item <h1> đến <h6> dùng để định nghĩa các tiêu đề (<h1> là lớn nhất, <h6> là
nhỏ nhất)
\item <div> nhóm các tags để tạo một mục hoặc tiểu mục có cùng cách hiển thị
(kết hợp CSS, nếu không
kết hợp với CSS thì không ảnh hưởng đến cách hiển thị của trang web)
\end{itemize}
\textbf{Các thẻ inline thường dùng}
\begin{itemize}
\item <i> in nghiêng chữ
\item <b> in đậm chữ
\item <u> gạch chân
\item <span> tác dụng tương tự thẻ <div> nhưng chỉ dùng với các thẻ inline
\end{itemize}
\textbf{Các thẻ dùng để tạo bảng}
\begin{itemize}
\item <table> dùng để tạo bảng.
\item <tr> dùng để tạo hàng.
\item <td> dùng để tạo ô.
\end{itemize}
Ví dụ:
$<table border="1"> \\
<tr> \\
<td>Row 1, Column 1</td> \\
<td>Row 1, Column 2</td> \\
</tr> \\
<tr>\\
<td>Row 2, Column 1</td>\\
<td>Row 2, Column 2</td>\\
</tr>\\
</table>$ \\
\begin{center}
\includegraphics[scale=1]{table.png}
\end{center}
\textbf{Một số thẻ để chèn nội dung đa phương tiện}
\begin{itemize}
\item Thẻ <img> dùng để chèn hình ảnh. Thuộc tính “src” để chỉ ra đường dẫn
đến file ảnh, thuộc tính
“alt” (alternative) sẽ hiển thị trong trường hợp trình duyệt không hiển thị
được ảnh hoặc không
được hiển thị ảnh, cũng có thể được dùng trong các chương trình đọc màn hình
để hỗ trợ người
khuyết tật, các máy tìm kiếm cũng dùng thuộc tính này để lập chỉ mục cho web.
Hiện nay nhiều
trình duyệt hiển thị thuộc tính này như một chú thích cho ảnh khi di chuột
vào.
Ví dụ: <img src="example.jpg" alt="Example image" />
\item Thẻ <object> để chèn flash, nhạc, phim.
\end{itemize}
\subsection{Form trong (X)HTML}
Form trong (X)HTML cho phép người dùng nhập thông tin để gửi về máy chủ. Form
trong (X)HTML
được đặt trong thẻ <form>.\\
$<form action="action_page.php">\\
Username:\\
<br>\\
<input type="text" name="user">\\
<br><br>\\
Encryption:\\
<br>\\
<keygen name="security">\\
<br><br>\\
<input type="submit">\\
</form>$\\
\includegraphics[scale=1]{summit.png}
Một số thuộc tính của thẻ <form>:
\begin{itemize}
\item action: địa chỉ trang web hoặc chương trình ở server xử lý dữ liệu của
form.
\item method: chỉ ra cách thức dữ liệu được gửi về server: có 2 cách: “get” và
“post”
\end{itemize}
Một số công cụ để nhập dữ liệu trong form:
\begin{itemize}
\item Với thẻ <input> có thể tạo ra các ô nhập dữ liệu, các nút tùy vào thuộc
tính “type”. Một số giá trị
của thuộc tính “type”:
text Tạo ra textbox.
password Tạo ra ô nhập password.
checkbox Tạo ra ô chọn có thể chọn nhiều giá trị một lúc.
radio Tạo ra ô chọn, chỉ được chọn 1 trong số các ô.
submit Tạo ra nút để gửi dữ liệu về server.
reset Tạo ra nút để đưa giá trị các ô trong form về trạng thái mặc định.
\item Với thẻ <textarea> có thể tạo ra ô cho phép nhập liệu dữ liệu nằm trên
nhiều dòng.
\item Với thẻ <select> có thể tạo ra danh sách lựa chọn. Thẻ <option> để chỉ
ra các lựa chọn. Nếu thẻ
<select> không thiết lập thuộc tính “multiple” và “size” thì sẽ có một drop-
down box, nếu không
sẽ có một danh sách.
\end{itemize}
\textbf{Ví dụ}\\
$<select name="cars">\\
<option value="volvo">Volvo</option>\\
<option value="saab">Saab</option>\\
<option value="fiat">Fiat</option>\\
<option value="audi">Audi</option>\\
</select>$
\begin{figure}[hbtp]
\caption{Example}
\centering
\includegraphics[scale=1]{select.png}
\end{figure}
\section{CSS}
\subsection{CSS là gì?}
CSS (cascading style sheet) sử dụng để định dạng trang web (màu, kích thước
font chữ; độ rộng, màu
của đường; khoảng cách giữa các thành phần trang, )
Vị trí đặt CSS
\begin{itemize}
\item Ở trong trang web: đặt trong thẻ <style> của phần <head> hoặc thuộc tính
style của các thẻ có
thuộc tính này.
Ví dụ:
<style type="text/css">
body {
color:\#000000;\\
background-color:\#ffffff;\\
font-family:arial, verdana, sans-serif; }\\
h1 {font-size:18pt;}\\
p {font-size:12pt;}\\
</style>\\
hoặc\\
< td style="font-family:courier; padding:5px;\\
border-style:solid; border-width:1px; border-color:\#000000" >\\
\item Trong 1 file ở ngoài (thường có phần mở rộng là css), đưa vào trang web
bằng cách dùng thẻ <link>
trong phần <head>
Ví dụ:\\
<link rel="stylesheet" type="text/css" href="example.css" />\\
\end{itemize}
\textbf{Ví Dụ:}\\
$<!DOCTYPE html>\\
<html>\\
<head>\\
<style>\\
body\\ \{ \\
background-color: \# d0e4fe;\\
\} \\
h1 \\ \{
color: orange;\\
text-align: center;\\
\}\\
p \{
font-family: "Times New Roman";\\
font-size: 20px;\\
\}\\
</style>\\
</head>\\
<body>\\
<h1>My First CSS Example</h1>\\
<p>This is a paragraph.</p>\\
</body>\\
</html>$
\begin{center}
\includegraphics[scale=0.4]{css.png}
\end{center}
\subsection{Cấu trúc một quy tắc CSS}
Bao gồm hai phần: selector để chỉ ra đối tượng áp dụng khai báo này,
declaration để định nghĩa các định
dạng.\begin{itemize}
\item Selector: có thể là tên thẻ, class (xác định bằng thuộc tính “class” của
thẻ), id (xác định bằng thuộc
tính “id” của thẻ), có tính kế thừa.
\item Declaration: Gồm 2 phần, có dạng: property:value;
\begin{itemize}
\item property: chỉ ra thuộc tính.
\item value: xác định giá trị thuộc tính
Ví dụ:
td {width:36px;}
Comment trong CSS: bắt đầu bằng “/* ” kết thúc bằng “*/”.
\end{itemize}
\end{itemize}
\subsection{Một số thuộc tính thường dùng}
\textbf{Về font}
\begin{tabular}{llll}
Tên& Mục Đích &Một số giá trị cho phép & \\
font&Thiết lập nhiều thuộc tính font cùng & ghép các giá trị ở dưới & \\
font-family &Xác định họ font &serif, & sans-serif, monospace \\
font-size ,Kích thước font &Kích thước font & 10px, small, smaller & \\
\end{tabular}
\textbf{Về background:}
\begin{tabular}{lll}
Tên &Mục đích &Một số giá trị cho phép \\
background-color & Thiết lập màu nền & \# cccccc\\
background-image url{bg.gif} & Thiết lập ảnh nền &url{bg.gif} \\
\end{tabular}
\section{JavaScript}
\subsection{JavaScript là gì?}
JavaScript là một ngôn ngữ kịch bản để cho phép lập trình truy cập các đối
tượng trong trang web ở
client-side cũng như một số đối tượng của trình duyệt, hỗ trợ tạo trang web
động và một số hiệu ứng
đơn giản.
JavaScript là ngôn ngữ có kiểu động, hỗ trợ hướng đối tượng (dưới dạng
“prototype-based”, không phải
“class-based” như java, C++).
\textbf{Vị trí đặt mã JavaScript}
Dùng thẻ <script>, mã có thể đặt hay trong phần <head> hoặc dùng thuộc tính
“src” của thẻ script để
chỉ ra file chứa mã.
\textbf{Ví Dụ:} \\
$<!DOCTYPE html>\\
<html>\\
<body>\\
<h1>My First JavaScript</h1>\\
<button type="button"\\
onclick="document.getElementById('demo').innerHTML = Date()">\\
Click me to display Date and Time.</button>\\
<p id="demo"></p>\\
</body>\\
</html>$ \\
\begin{center}
\includegraphics[scale=1]{java.png}
\end{center}
\subsection{ Các thành phần tạo nên JavaScript}
\begin{itemize}
\item ECMAScript: định nghĩa cú pháp, kiểu, cấu tr•úc, từ khóa,
\item Document Object Model (DOM) ánh xạ trang web thành các hệ thống các nút.
\item Browser Object Model (BOM) cho phép truy suất một số thành phần của
browser.
\end{itemize}
Cú pháp của JavaSript phần lớn tương tự các ngôn ngữ như C/C++, Java nhưng
JavaScript là ngôn ngữ
có kiểu động.
\subsection{ Một vài ứng dụng}
\begin{itemize}
\item Làm cho giao diện trang Web sinh động hơn (có thể có một số hiệu ứng đơn
giản)
\item Là thành phần không thể thiếu của AJAX (Asynchronous JavaScript and XML)
dùng để tăng tính
tương tác, tốc độ cho trang Web, đồng thời giảm tải cho server vì chỉ cần cập
nhật 1 phần trang
Web (không bắt buộc phải cập nhật toàn bộ trang như cũ)
\end{itemize}
\section{Một số vấn đề về thiết kế Web}
\subsection{Nên dùng CSS thay cho bảng, nhất là đối với cả trang web}
\textbf{Lý do:}
\begin{itemize}
\item Nếu dùng bảng, trình duyệt phải tải hết nội dung trang về mới hiển thị,
tạo cho người dùng cảm
giác trang web tải chậm.
\item Dùng CSS lúc chỉnh sửa giao diện dễ hơn.
\end{itemize}
\subsection{Với các đoạn JavaScript, CSS lớn, dùng cho toàn bộ website nên đặt
ở file ngoài}
\textbf{Lí do}
\begin{itemize}
\item Nếu đặt ở file ngoài, trình duyệt chỉ phải tải một lần và sẽ cache lại,
do đó giảm thời gian tải, giảm
tải cho server.
\item Dễ chỉnh sửa
\end{itemize}
\newpage
\addcontentsline{toc}{chapter}{Kết luận }
\begin{center}
{\LARGE \textbf{Kết luận}}
\end{center}
\quad Trên đây là bản báo cáo của chúng em về 3 nội dung \LaTeX, Scilab,
Web.\\[5pt]
Chúng em đã rất cố gắng tuy nhiên bản báo cáo không tránh khỏi có những sai
sót, em xin đón nhận sự góp ý của thầy cô để các bản báo cáo sau của chúng em
dần tốt hơn.
\newpage
\addcontentsline{toc}{chapter}{Tài liệu tham khảo }
\begin{center}
{\LARGE \textbf{Tài liệu tham khảo}}
\end{center}
\begin{itemize}
\item \LaTeX{} 2$\epsilon$ Tobias Oetiker, Hubert Partl, Irene Hyna, Elisabeth
Schlegl
\item
\item
\end{itemize}
\end{document}