Tải bản đầy đủ (.pdf) (49 trang)

Emailing buoi01 tong quan ve may tinh va phan mem may tinh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.03 MB, 49 trang )

IT001 – NHẬP MƠN LẬP TRÌNH
BÀI 1 – TỔNG QUAN VỀ MÁY TÍNH
VÀ PHẦN MỀM MÁY TÍNH


Nội dung
1. Tổng quan về máy tính
2. Các khái niệm cơ bản về lập trình

3. Các ngơn ngữ lập trình
4. Hệ đếm trên máy tính
5. Giới thiệu C++

6. Một số chương trình minh họa
7. Một số quy tắc cần nhớ khi viết chương trình

2


1. Tổng quan về máy tính
a. Máy tính là gì?
b. Cấu trúc tổng quan của máy tính và các thiết bị ngoại vi

c. Phần mềm máy tính
d. Thơng tin được biểu diễn và đo lường như thế nào?
Làm sao máy tính xử lý được thơng tin?

3


1.a. Máy tính là gì?


Máy tính là những thiết bị hay hệ thống dùng để tính
tốn hay kiểm sốt các hoạt động mà có thể biểu diễn
dưới dạng số hay quy luật lơgic. (*)

* Máy tính Wikipedia />4


1.a. Máy tính là gì?
CPU (Central
Processing Unit)
Motherboard

Memory

Secondary Storage

Máy tính dùng để làm gì?
5


1.b. Cấu trúc tổng quan của máy tính
và các thiết bị ngoại vi

* Tony Gaddis - Starting Out with C++
6


1.b. Cấu trúc tổng quan của máy tính
và các thiết bị ngoại vi


Input Unit

Thiết bị nhập (Input Unit):
nhận dữ liệu từ người dùng hoặc
từ các chương trình khác

Đơn vị xuất (Output Unit): hiển
thị kết quả cho người dùng hoặc
cho các chương trình khác.
Output Unit

7


1.b. Cấu trúc tổng quan của máy tính
và các thiết bị ngoại vi

CPU (Central Processing Unit):
Đọc các chỉ thị từ bộ nhớ chính và thực thi
các chỉ thị.

RAM (Main Memory):

lưu trữ các chương trình đang thực thi và
các dữ liệu liên quan

Secondary
Storage

Secondary Storage:


lưu trữ chương trình và các tập tin
chứa dữ liệu.

??? Main memory vs Secondary Storage
8


1.c. Phần mềm máy tính
Phần mềm máy tính (Computer Software) là gì?
Một tập hợp những câu lệnh hoặc chỉ thị (Instruction) được viết bằng một hoặc
nhiều ngơn ngữ lập trình theo một trật tự xác định, và các dữ liệu hay tài liệu liên
quan nhằm tự động thực hiện một số nhiệm vụ hay chức năng hoặc giải quyết một
vấn đề cụ thể nào đó.

Phần mềm thực thi như thế nào?
Gửi các chỉ thị trực tiếp đến phần cứng (Computer Hardware) hoặc cung cấp dữ liệu
để phục vụ các chương trình hay phần mềm khác

Phần mềm là một khái niệm trừu tượng.
Điểm khác biệt chính so với phần cứng là "phần mềm khơng thể sờ hay đụng vào",
và nó cần phải có phần cứng mới có thể thực thi được.

* Phần mềm máy tính - />9


1.c. Phần mềm máy tính

Windows
Linux

OSX

Avast
7zip
Data-backup

Visual studio
Code::Block
Xcode
Netbean

Chrome
Foxit reader
Office
Skype

Teamviewer

10


1.d. Thơng tin
Trong máy tính, các thơng tin được biểu diễn bằng hệ đếm nhị
phân cịn gọi là bit.

Ví dụ: Cần chia 1 ổ đĩa cứng 2TB thành 3 ổ đĩa C: 350GB, D:
500GB.
Hỏi: Ổ đĩa C, D, E sau khi chia có bao nhiêu MB dung lượng?
11



1.d. Thơng tin
Ví dụ:
Cần chia 1 ổ đĩa cứng 2TB thành 3 ổ đĩa C: 350GB, D: 500GB.
Hỏi: Ổ đĩa C, D, E sau khi chia có bao nhiêu MB dung lượng?
Giải:
1 TB = 1024 GB
1 GB = 1024 MB
C: 350GB = 350 * 1024 = 358,400 MB
D: 500GB = 500 * 1024 = 512,000 MB
E: 2TB – 350GB – 500GB

= 1198 GB
= 1198 * 1024
= 1,226,752 MB
12


1.d. Q trình xử lý thơng tin trên máy tính
Nhận thông tin (Receive input):

chuyển đổi các thông tin ở thế giới thực sang biểu diễn thơng tin trong máy tính thông qua các thiết bị đầu vào.

Xử lý thông tin (process information):

biến đổi, phân tích, tổng hợp, tra cứu những thơng tin ban đầu để có được những thơng tin mong muốn.

Xuất thông tin (produce output):

đưa các thông tin trở lại thế giới bên ngồi thơng qua các thiết bị đầu ra.


Lưu trữ thông tin (store information):

ghi lại các thông tin để có thể đem ra sử dụng trong những lần xử lý về sau.

CPU
Input Unit

Output Unit
Main Memory

Secondary
Storage
13


2. Các khái niệm cơ bản về lập trình
a.

Lập trình máy tính, lập trình viên

b.

Chương trình máy tính, mã nguồn, mã máy

c.

Ngơn ngữ lập trình

d.


Chương trình dịch: Trình biên dịch, trình thơng dịch

14


2.a. Lập trình máy tính, lập trình viên
Lập trình (programming)

Là kỹ thuật cài đặt một hoặc nhiều thuật toán trừu tượng có liên quan với nhau
bằng một hoặc nhiều ngơn ngữ lập trình để tạo ra một chương trình máy tính

Lập trình viên (programmer)

người sử dụng ngơn ngữ lập trình để viết các chương trình máy tính

?
Trí tuệ nhân tạo
AI
Artificial Intelligent
15


2.b. Chương trình máy tính,
thuật tốn, mã nguồn, mã máy

Chương trình (Program)

Là một danh sách các chỉ thị cho máy thực hiện một chức năng nào đó. Các
chỉ thị được viết bằng ngơn ngữ lập trình.


Thuật tốn (Algorithm)

Một tập hợp các chỉ thị được định nghĩa rõ rang nhằm giải quyết 1 vấn đề.
Những chỉ thị này được sắp xếp theo thứ tự rõ ràng.

Mã nguồn (Source code)

Một tập hợp các câu lệnh được viết bằng ngơn ngữ lập trình

Mã máy (Machine code)

Một dãy các số nhị phân (0 hoặc 1). Ví dụ: 10110100000000101

16


2.c. Ngơn ngữ lập trình
(Programming Languages)

Là ngơn ngữ dùng để viết các chương trình cho máy tính.
Cũng như các ngơn ngữ thơng thường, NNLT cũng có từ vựng,
cú pháp và ngữ nghĩa.

Nguồn: />17


2.d. Chương trình dịch

Nguồn: />18



Thơng dịch và biên dịch
Trình biên dịch (Compiler):

Dịch tồn bộ mã nguồn thành mã máy và thực thi trên một hệ điều hành,
phụ thuộc vào nền tảng và hệ điều hành.
C, C++ là ngơn ngữ sử dụng trình biên dịch

Trình thơng dich (Interpreter):

Dịch và thực thi từng dịng lệnh trên 1 trình thơng dịch. Có thể chạy trên
nhiều hệ điều hành miễn sao có trình thơng dịch trên hệ điều hành đó.
Python, Ruby là ngơn ngữ sử dụng trình thơng dịch

19


3. Các ngơn ngữ lập trình
a.

Vai trị của NNLT đối với cơng nghệ lập trình.

b.

Ngơn ngữ lập trình cấp thấp

c.

Ngơn ngữ lập trình cấp cao


d.

Một vài ngơn ngữ lập trình thông dụng

20


3.a. Vai trị của ngơn ngữ lập trình


Mơ hình phát triển phần mềm water fall

NNLT đóng vai trị là một công cụ giúp con người thực hiện
bước cài đặt (code) chương trình.
21


3.b. Ngôn ngữ máy (Machine language)
Ngôn ngữ máy là các chỉ thị dưới dạng nhị phân, can
thiệp trực tiếp vào trong các mạch điện tử.

Chương trình được viết bằng ngơn ngữ máy thì có thể
được thực hiện ngay khơng cần qua bước trung gian nào.

Machine Language
Rất khó để đọc và lập
trình.

22



3.b. Ngôn ngữ cấp thấp (Low-level language)
Ngôn ngữ cấp thấp ví dụ như hợp ngữ (assembly) là
ngơn ngữ gần với ngơn ngữ máy. Thích hợp cho việc phát
triển hệ điều hành hoặc viết firmware cho các thiết bị
điện tử. Muốn thực thi chương trình ta cần phải dịch ngơn
ngữ này sang ngôn ngữ máy.

Machine Language

Low-level Language

23


3.c. Ngôn ngữ cấp cao (high-level languages)
Ngôn ngữ cấp cao: gần với ngôn ngữ tự nhiên và giúp con
người dễ dàng đọc, tiếp thu, và lập trình.

Machine Language

Low-level Language

High-level Language
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
cout<<"Xin chào!"<

getch();
return 0;
}

24


3.c. So sánh
Khác biệt Low level languages
Ý nghĩa
Gần với ngôn ngữ máy

High level languages
Gần với ngôn ngữ tự
nhiên của con người
Tốc độ
Thực thi và trả về kết quả Thực thi chậm hơn do có
nhanh
nhiều tầng biên dịch trước
khi đến được phần cứng.
Linh hoạt Chỉ chạy trên 1 mơi
Có thể chạy trên nhiều
trường, hoặc thiết bị
môi trường khác nhau
Ngôn ngữ nào tốt hơn?
Tốc độ
Thách thức, cần nhiều kinh
nghiệm và kiến thức

Sáng tạo

Dễ dàng sửa lỗi, quản lý
25


×