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

Bài giảng Tin học đại cương

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 (1.15 MB, 92 trang )

Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 1/92
MỤC LỤC

CHƢƠNG 1 TỔNG QUAN VỀ MÁY TÍNH ĐIỆN TỬ 3
1.1. Thông tin 3
1.1.1. Khái niệm 3
1.1.2. Đơn vị đo thông tin 3
1.1.3. Mã hóa và xử lý thông tin 4
1.2. Tin học và công nghệ thông tin 5
1.3. Lịch sử ra đời và khuynh hƣớng phát triển kỹ thuật máy tính 5
1.4. Tổng quan về máy tính và các thiết bị ngoại vi 6
1.4.1. Đơn vị xử lý trung tâm (Central Processing Unit - CPU) 6
1.4.2. Bộ nhớ chính (Memory) 7
1.4.3. Các thiết bị ngoại vi 7
1.5. Phần mềm, phần cứng 7
CHƢƠNG 2 HỆ ĐẾM, BIỂU DIỄN THÔNG TIN 8
2.1. Các hệ đếm, các phép tính cơ bản 8
2.1.1. Khái niệm hệ đếm 8
2.1.2. Các phép tính trong hệ nhị phân 8
2.2. Chuyển đổi giữa các hệ đếm 9
CHƢƠNG 3 LẬP TRÌNH CƠ BẢN 12
3.1. Thuật toán 12
3.1.1. Khái niệm 12
3.1.2. Các đặc trƣng của thuật toán 12
3.1.3. Biểu diễn thuật toán 13
3.2. Các khái niệm cơ bản 14
3.2.1. Tập các ký hiệu của ngôn ngữ C 14
3.2.2. Các từ khóa 14
3.2.3. Tên gọi 15
3.2.4. Chú thích 15


3.2.5. Câu lệnh 16
3.3. Cấu trúc tổng quát một chƣơng trình 16
3.4. Các kiểu dữ liệu cơ sở 17
3.4.1. Các kiểu số 18
3.4.2. Các kiểu ký tự 19
3.5. Biến 19
3.6. Hằng 21
3.7. Toán tử 22
3.7.1. Toán tử số học 22
3.7.2. Toán tử gán 23
3.7.3. Toán tử tăng giảm 23
3.7.4. Toán tử quan hệ 23
3.7.5. Toán tử logic 24
3.8. Biểu thức 24
3.9. Các lệnh trong ngôn ngữ C 26
3.9.1. Lệnh nhập/xuất 26
3.9.2. Lệnh phức (khối lệnh) 28
3.9.3. Lệnh rẽ nhánh 29
3.9.4. Lệnh lặp 37
CHƢƠNG 4 LẬP TRÌNH VỚI DỮ LIỆU CÓ CẤU TRÚC 49
4.1. Mảng một chiều 49
4.1.1. Định nghĩa và khai báo 49
4.1.2. Các thao tác trên mảng một chiều 52
Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 2/92
4.2. Mảng nhiều chiều 54
4.2.1. Định nghĩa và khai báo 54
4.2.2. Các thao tác trên mảng nhiều chiều 55
4.3. Chuỗi ký tự 56
4.3.1. Định nghĩa và khai báo 56

4.3.2. Các thao tác trên chuỗi ký tự 57
CHƢƠNG 5 LẬP TRÌNH MODULE 70
5.1. Phƣơng pháp lập trình module 70
5.2. Xây dựng hàm 71
5.2.1. Quy tắc xây dựng hàm 71
5.2.1.2. Xác định tên và trình tự các đối số 72
5.2.1.3. Tiêu đề hàm 72
5.2.2. Lời gọi hàm 73
5.2.3. Biến toàn cục, biến cục bộ 74
5.2.4. Truyền đối số cho hàm 77
5.2.5. Xác định kiểu trả về cho hàm 78
5.3. Phân tích một số chƣơng trình và giải một số bài toán bằng phƣơng pháp lập trình
module 80
5.3.1 Xác định số ngày của một tháng trong năm 80
5.3.2 Thực hiện các phép tính +, -, *, / 81
5.3.3. Giải phƣơng trình bậc 1 82
5.3.4. Xuất ra màn hình các số trong đoạn và 10 câu “AAAAAAAAA” 83
5.3.5. Nhập vào N số nguyên, xác định tổng và số nhỏ nhất 84
5.3.6. Vẽ hình chữ nhật đặc các ký tự 85
5.3.7. Nhập vào một dãy các số nguyên dƣơng (kết thúc khi nhập vào số âm) và tính
tích của chúng 86
5.3.8. Nhập vào dãy các số nguyên dƣơng 3 chữ số cho đến khi tổng của chúng lớn
hơn M cho trƣớc, xuất ra tổng và số lƣợng số nhập vào 87
5.3.9 Tìm bội số chung nhỏ nhất của hai số nguyên dƣơng 87
5.3.10. Đổi số từ hệ 10 sang hệ b 88
5.3.11 Tính tổng 88
Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 3/92
CHƢƠNG 1
TỔNG QUAN VỀ MÁY TÍNH ĐIỆN TỬ


1.1. Thông tin
1.1.1. Khái niệm




               




1.1.2. Đơn vị đo thông tin













Tên gọi Ký hiệu Giá trị
Byte B 8bit
KiloByte KB 2
10

B = 1024Byte
MegaByte MB 2
20
B
GigaByte GB 2
30
B
TeraByte TB 2
40
B
Petabyte PB 2
50
B
Exabyte EB 2
60
B
Zettabyte ZB 2
70
B
Yottabyte YB 2
80
B
Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 4/92
1.1.3. Mã hóa và xử lý thông tin
a. Mã hóa thông tin











 
           


- z,
AZ, 0
- 

b. Xử lý thông tin
- 


     

     







- 



Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 5/92
1.2. Tin học và công nghệ thông tin
Tin học là ngành khoa học nghiên cứu các phương pháp và quá trình xử lý thông
tin một cách tự động dựa trên các phương tiện kỹ thuật mà hiện nay phương tiện đó là
MTĐT.







      


sau:
"Công nghệ Thông tin là tập hợp các phương pháp khoa học, các phương tiện và
công cụ kỹ thuật hiện đại - chủ yếu là kỹ thuật máy tính và viễn thông - nhằm tổ chức
và khai thác và sử dụng có hiệu quả nguồn tài nguyên thông tin rất phong phú và tiềm
tàng trong mọi lĩnh vực hoạt động của con người và xã hội Công nghệ thông tin được
phát triển trên nền tảng phát triển của các công nghệ Tin học -Điện tử -Viễn thông và
Tự động hoá".
 

1.3. Lịch sử ra đời và khuynh hƣớng phát triển kỹ thuật máy tính
Thế hệ thứ nhất (1945 đến 1955) máy tính dùng đèn điện tử: 




           tronic Numberical

-

Thế hệ thứ hai (1955 đến 1965) máy tính dùng Transitor: 


- 0 .
Thế hệ thứ ba (1965 đến 1980) máy tính dùng Mạch tích hợp (IC): 



Thế hệ thứ tƣ (từ 1980) máy tính dùng mạch tích hợp mức cao (VLSI): 

cao (VLSI Very Large Scale I

Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 6/92
               

1.4. Tổng quan về máy tính và các thiết bị ngoại vi

 
 
 














Cấu trúc chung của một máy tính điện tử





1.4.1. Đơn vị xử lý trung tâm (Central Processing Unit - CPU)



Control Unit-

-















Các thiết bị ngoại vi
Khối trung tâm
Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 7/92
1.4.2. Bộ nhớ chính (Memory)



:
 RAM (Random Access Memory): 



 ROM (Read Only Memory)
  




1.4.3. Các thiết bị ngoại vi





 

1.5. Phần mềm, phần cứng
Phần cứng (hardware) 


Phần mềm (software) 


               
 


Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 8/92
CHƢƠNG 2
HỆ ĐẾM, BIỂU DIỄN THÔNG TIN

2.1. Các hệ đếm, các phép tính cơ bản
2.1.1. Khái niệm hệ đếm




 
 Ví dụ:

hau: 000, 001,






2.1.2. Các phép tính trong hệ nhị phân
Cộng: Thực hiện cộng từ phải sang trái (giống như trong hệ thập phân) có nhớ theo
quy tắc.
0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 0

  2.1: 1101 + 1000 = 10101
Trừ: Thực hiện trừ từ phải sang trái (giống như trong hệ thập phân) có nợ theo quy
tắc.
0 - 0 = 0

0 - 1 = 1

1 - 0 = 1

1 - 1 = 0

  2.2: 1101  1010 = 11
Nhân: Thực hiện nhân từ phải sang trái giống như trong hệ thập phân theo quy tắc.










Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 9/92
  2.3:
1101

1101
+1101
100111
Chia: Thực hiện phép chia giống như trong hệ thập phân.
  2.4: 1111 : 101 = 11
2.2. Chuyển đổi giữa các hệ đếm
Nguyên tắc 1: Đổi một số thập phân sang hệ cơ số b
 Đổi phần nguyên từ một số thập phân sang hệ cơ
số b:


    


  2.5: Cho X = 6
10


2



 Đổi phần thập phân của một số thập phân sang hệ cơ số b:




  2.6:




Nguyên tắc 2: Đổi một số từ hệ cơ số b về hệ thập phân



 a
0
, a
1
, a
2
, , a
n
;  
  2.7: 
2
= 1*2
2
+ 1*2

1
+ 0 = 6.




0
0000
0
1
0001
1
6 2
0
3 2
11 2
1 0
0.6875 * 2 = .375
0.375 * 2 = .75
0.75 * 2 = .5
0.5 * 2 = .0
1
0
1
1
X
b
=a
n
a

n-1
…a
1
a
0
= a
n
b
n
+a
n-1
b
n-1
+….+a
1
b
1
+a
0
b
0
(*)
Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 10/92
2
0010
2
3
0011
3

4
0100
4
5
0101
5
6
0110
6
7
0111
7
8
1000
8
9
1001
9
10
1010
A
11
1011
B
12
1100
C
13
1101
D

14
1110
E
15
1111
F

Nguyên tắc 3: Đổi một số từ hệ nhị phân sang hệ thập lục phân.

 

  2.8: 
2
= 3B
16

Nguyên tắc 4: Đổi một số từ hệ thập lục phân sang hệ nhị phân.

trong 
  2.9: X = 3B
16
= 111011
2



Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 11/92
BÀI TẬP CHƢƠNG 2


Bài 1: 

a. 1301 b.2105 c.67 d.612 e.75.75
Bài 2: 
a.1010000 b.100110010 c.111011100
Bài 3: 
a.2351 b.1012 c.6610
Bài 4: 
a.1AFD8 b.54BCD c.A1902
Bài 5:  
a. 1111 + 1011 b. 1100-1011  d. 1111:101
Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 12/92
CHƢƠNG 3
LẬP TRÌNH CƠ BẢN

3.1. Thuật toán
3.1.1. Khái niệm



(Algorithm) 
Abu Abd - Allah ibn Musa al’Khwarizmi, 
       

                

3.1.2. Các đặc trƣng của thuật toán
Tính xác định



Tính hữu hạn dừng

Tính đúng đắn
Sa

Tính tổng quát






Tính có đại lƣợng vào và ra
 

Tính hiệu quả

 
 
 
 
Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 13/92
 Ví dụ 3.1: Thuật toán giải phƣơng trình bậc hai ax
2
+bx+c=0
1. 
2. 



3.  

2
-4ac


1

2

3.
a
b
x
2
1



a
b
x
2
2







0



a
b
x
2






3.1.3. Biểu diễn thuật toán
  
  








1
2
3
4

5

Sai
Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 14/92
Khối 1: 
Khối 2: 
Khối 3: 

Khối 4:      


Khối 5:  
3.2. Các khái niệm cơ bản
3.2.1. Tập các ký hiệu của ngôn ngữ C
  

 (CT) 
  

: A B C Z
: a b c z
: 0 1 2 9
 + - * / = ( )
: _
: . , : ; [ ] {} ! \ & % # $


Chú ý:
 



2

 = b
2
- 

3.2.2. Các từ khóa


asm
break
case
cdecl
char
const
continue
default
do
double
else
enum
extern
far
float
for
goto
huge
if

int
Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 15/92
interrupt
long
near
pascal
register
return
short
signed
sizeof
static
struct
switch
tipedef
union
unsigned
void
volatile
while




 
 

3.2.3. Tên gọi





 
 
.
 
 
 
-Compiler-Source-Identifier length khi


 Ví dụ 3.2:  delta x1 _step GAMA

3MN

m#2

f(x)

do

te ta

Y-3

Chú ý:
        




3.2.4. Chú thích






 
 
Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 16/92
 Ví dụ 3.3:




3.2.5. Câu lệnh



x=0;
++i;
scanf( );

3.3. Cấu trúc tổng quát một chƣơng trình















 #include
   

Cấu trúc cơ bản của chƣơng trình nhƣ sau:

#include
#define


typedef







main()
Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 17/92

{



}

 

{



}

 H() .

 Ví dụ 3.4: Ch :
#include "stdio.h"
#include "math.h"
main()
{
double x,y,z;
printf("\n Nhap x va y");
scanf("%lf%lf",&x,&y);
z=pow(x,y); /*  
printf("\n x= %8.2lf \n y=%8.2lf \n z=%8.2lf",x,y,z);
}

Một số lƣu ý khi viết chƣơng trình:
 


  #include, #define   

 

 

 
 


3.4. Các kiểu dữ liệu cơ sở


 


Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 18/92

3.4.1. Các kiểu số
T :
Kiểu số nguyên
Tên kiểu
trong C
Dung
lƣợng
(byte)
Phạm vi





unsigned char
1


char
1
-



unsigned int
2


int
2
-



unsigned long
4
0  4,294,967,295


long
4

 2,147,483,648 
2,147,483,647

Kiểu số thực
Tên kiểu
trong C



float
4
3.4 * 10
38
 3.4 * 10
38


double
8
1.7 * 10
308
 1.7 *
10
308



long double
10
3.4 * 10

4932
 1.1 *
10
4932


o : +, -, *, % (phép chia giữa hai số nguyên lấy phần dư,
chẳng hạn 5 % 3 = 2), / ((a) nếu hai vế của phép chia đều là số nguyên thì / là
Các kiểu dữ liệu cơ bản










Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 19/92
phép chia lấy phần nguyên (ví dụ, 5 / 3 = 1), (b) ngược lại, / là phép chia có kết
quả là số thực (ví dụ, 5.0 / 3 = 1.66)).
o so sánh bằng), != (so sánh khác).
Tràn số và biểu diễn “quay vòng”
Khi giá trị của một số vượt quá chặn trên miền xác định của kiểu số (tràn số) thì
xảy ra tình trạng “quay vòng” tính từ chặn dưới của miền xác định
                 -



-32768 (c-

.32766
-32766.
3.4.2. Các kiểu ký tự
                 

char unsigned char 


unsigned char

char
-128 127])
0
0
0
1
1
1



127
127
127
128 (=127 + 1)
128
-128 (= -128)
129 (=127 + 2)

129
-127 (= -128 + 1)



255 (=127 + 128)
255
-1 (-128 + 127)
Các phép toán trên kiểu ký tự có thể xem là các phép toán trên mã ASCII của các
ký tự, hay là các phép toán trên kiểu số nguyên.

3.5. Biến


au :
1. 
2. 
 (LTV) 



Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 20/92





 




 




Hiển thị giá trị tổng của 24, 56, 72, 36 và 82





sum = 24 + 56 + 72 + 36 + 82
sum là biến 

Avg = sum / 5

 Ví dụ 3.5: 

BEGIN

INPUT A, B
C = A + B
DISPLAY C
END











Cú pháp khai báo biến (trước khi sử dụng):
kiểu_dữ_liệu tên_biến_1 = giá_trị_ban_đầu_1,
Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 21/92
tên_biến_2 = giá_trị_ban_đầu_2,
…;
“= giá_trị_ban_đầu” 


 Ví dụ 3.6
int tong_tien, to_trong_tui, to_vua_lay, uscln, a, b;
float dtich_hcn, dtich_hvuong, tong_dtich, cdai, crong, canh;
char xep_loai, chuc_vu;
color mau_nen, mau_chu;
cac_ngay ngay_lam_viec;

int tong_tien, ;
float dtich_hcn dtich_hvuong;
char xep_loai, chuc_vu
3.6. Hằng

 




5 
„Black‟ 
             hằng số (numeric constant),
 hằng chuỗi (string constant).


#define tên_hằng giá_trị
hoặc const kiểu_dữ_liệu tên_hằng = giá_trị;
 Ví dụ 3.7: M
#define PI 3.1416
#define EPSILON 0.000001
#define GIAY_TREN_GIO 3600
#define  60
#define KY_TU 

const float PI = 3.1416;
const float EPSILON = 0.000001;
const unsigned int GIAY_TREN_GIO = 3600;
const  = 60;
const char KY_TU = 
Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 22/92

#define PI 3.1416;
const float PI = 3.1416, EPSILON= 0.000001;


 :
Cách viết

Giá trị
Cách viết
Giá trị
\
'
\
\0 (null)
\
"
\
Tab
\\
\
\
Backspace
\
\
„\141‟
    


8

0345


2
+ 4*8
1
+ 5)

1234L

0xA5


1


1.5e+23
1.5 * 10
23


3.7. Toán tử
3.7.1. Toán tử số học
:
Phép toán
Ý nghĩa
Ví dụ
+

a+b
-

a-b
*

a*b
/


a/b

%

a%b

- -
 Ví dụ 3.8:
11/3 = 3
11%3 = 2
-(2+6) = -8
- 
 


Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 23/92
3.7.2. Toán tử gán


<Tên biến> = <biểu thức>;
Gán liên tiếp


a = b = c =10;
a, b,c. 

int a = int b = int c= 0;

3.7.3. Toán tử tăng giảm


 
 Ví dụ 3.9:
n=5
++n Cho ta n=6
n Cho ta n=4
  n, n


  
 Ví dụ 3.10:
n=5
x=++n 
x=n++ Cho ta 
3.7.4. Toán tử quan hệ

Phép toán
Ý nghĩa
Ví dụ
>

a>b

>=

a>=b

<

a<b


<=

a<=b

==

a==b

!=

a!=b




Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 24/92


i<n-1
-1).
3.7.5. Toán tử logic



a
!a




0



1


Ph
a
b
a&&b
a||b


1
1


0
1


0
1


0
0


:
(a<b)&&(c>d)
:
a<b && c>d
Chú ý: 
3.8. Biểu thức




 
 
              
0).
B:
 
 
 
 
Thứ tự ƣu tiên các phép toán
 


TT


1
() [] ->

2

! ~ & * - ++ (type ) sizeof

3
* 

Bài giảng Tin học đại cương Khoa Công nghệ thông tin
Trang 25/92
4
+ -

5
<< >>

6
< <= > >=

7
== !=

8
&

9
^

10
|

11
&&


12
||

13
?:

14
= += -= *= /= %= <<= >>= &= ^= |=

15
,

Chú thích



trình tự kết hợp.
Chuyển đổi kiểu giá trị







(type) <biểu thức>
 Ví dụ 3.11:
(float) (a+b)
Chuyển đổi kiểu trong biểu thức :


 




 Ví dụ 3.12:
1.5*(11/3) = 4.5
1.5*11/3 = 5.5
(11/3)*1.5 = 4.5

Chuyển đổi kiểu thông qua phép gán




 Ví dụ 3.13:
int n;

×