khái niệm về lập trình ,ngôn ngữ lập trình ,quy trình lập trình,biên dịch và thực thi lập trình là những kiến thưc cơ bản nhất về lâpj trình mà chúng tôi muốn giới thiệu với các bạn trong bài viết này.đây là tài liệu thiêt thực cho các bạn khi các bạn mới bắt đầu làm quen với lập trình.hi vọng đây sẽ là tài liệu hữu ích cho việc học tập và nghiên cứu của các bạn
Trang 1Nhập Môn Lập Trình
Khái Niệm Cơ Bản
Trang 2Giới Thiệu
Đề Cương Môn Học
Liên hệ hỗ trợ
– Bùi Ngọc Lê: Le.BuiNgoc@hoasen.edu.vn
– Nguyễn T Phương Liên: Lien.NguyenThiPhuong@hoasen.edu.vn – Nguyễn Văn Sơn: Son.NguyenVan@hoasen.edu.vn
– Nguyễn Bá Trung: Trung.NguyenBa@hoasen.edu.vn
– Lê Thanh Tùng: Tung.LeThanh@hoasen.edu.vn
– Lê Anh Vũ: Vu.LeAnh@hoasen.edu.vn
– Trực tiếp: phòng A103
– OpenLab: phòng A212
Trang 4Road Map (tt)
Giới thiệu ngôn ngữ C
Các khái niệm cơ bản: Tập ký tự, từ khóa, định danh, các
kiểu dữ liệu cơ bản, hằng, biến
Nhập/xuất (input/output) với hàm scanf và printf.
Một chương trình cơ bản trong C
Trang 5Giới thiệu về Hệ Thống Máy Tính
Trang 6Ví dụ - Hệ Thống Máy Tính
Các dụng cụ sau đây, đâu là máy tính ?
Máy tính cộng trừ nhân chia
Điện thoại IPhone
Trang 7Ví dụ - Hệ Thống Máy Tính
Muốn là máy tính:
- Phải biết “ghi nhớ” dữ liệu
- Có thể “dạy việc”
IPhone, máy tính để bàn, robot: Đều “thông
minh” và có thể “dạy việc”
TV, máy nghe CD, máy tính cộng trừ nhân
chia: Không thể “dạy việc” được
7
Trang 8 Hai thành phần chính: phần cứng và phần mềm
Cấu trúc Máy Tính
Computer System
Hardware Software
Trang 9 Các cơ phận (physical part) nối kết với nhau tạo nên
Trang 11 Hãy cho biết các input/output của Iphone và Robot ?
Trang 12 Máy tính hiện tại không thể TỰ SUY
NGHĨ
Phần cứng được điều khiển bởi phần
mềm
Phần mềm là tập hợp các chương trình
dùng điều khiển và hoạt động phần cứng
để đưa đến kết quả mong muốn
Phần Mềm
Trang 13 Phần mềm hệ thống:
– Điều khiển tất cả hoạt động máy tính, phần mềm ứng
dụng
– Vận chuyển dữ liệu vào ra bộ nhớ và ổ chứa.
– Quản lý sự trao đổi dữ liệu bên trong ứng dụng, bên
trong hệ thống máy tính, bên trong hệ thống mạng.
– Bảo mật dữ liệu, kiểm tra lỗi, v.v…
Phần mềm ứng dụng: giúp máy tính thực hiện một
công việc hoặc giải quyết một bài toán cụ thể người dùng muốn
Phần Mềm: hệ thống và ứng dụng
13
Trang 14• chương trình kết nối (linker),
• chương trình tiện ích (system utilities)
Phần mềm ứng dụng:
• MS office
• Database management systems
• Games
Trang 15 Phần cứng và phần mềm hoàn toàn phụ thuộc vào nhau:
– Như là hai mặt của đồng tiền
– Riêng rẽ thì không thể thực hiện bất cứ việc gì
Phần mềm “bảo” phần cứng:
– Làm gì, làm như thế nào: qua từng mã lệnh
(instruction)
– Phần cứng thực hiện thao tác (operation) và
hoàn tất công việc (task)
Mối quan hệ: phần cứng - phần mềm
15
Trang 17www.hoasen.edu.vn 17
Lập Trình Là Gì?
Lập trình (programming): là tạo ra một chương trình
bằng một ngôn ngữ nào đó để máy tính thực hiện một công việc gì đó.
void main() {
printf(“Hello\n”); printf(“Baby!!!”); }
Trang 19 Giải thuật (algorithm): là một bộ các qui tắc hay qui
trình từng bước cụ thể:
– nhằm giải quyết một vấn đề trong một số bước hữu hạn, hoặc – nhằm cung cấp một kết quả từ một tập hợp của các dữ kiện
Chương trình (program):
- Giải thuật thể hiện dưới một ngôn ngữ lập trình
- “Ra lệnh” (instruct) máy tính Thực hiện một công việc cụ thể
Lập Trình Là Gì?
19
Trang 20 Ngôn ngữ lập trình (programming language): Cách
thức/quy tắc ra lệnh cho máy tính.
Câu lệnh (instruction) là đơn vị cơ bản của một ngôn
ngữ lập trình.
Mỗi chương trình (program) là tập hợp các câu lệnh
giải quyết một bài toán cụ thể Một nhóm lệnh một chương trình.
Một nhóm các chương trình một phần mềm
(software)
Câu lệnh, Chương trình, Phần Mềm
Trang 21Câu lệnh, Chương trình, Phần Mềm
21
Software
Program 2 Program 1
Trang 221 Ngôn ngữ máy tính (Machine language)
– Chuổi số nhị phân (0 và 1)
– Ngôn ngữ duy nhất máy tính có thể hiểu
– Mức ngôn ngữ thấp nhất được nhận công nhận và dùng bởi
bộ vi xử lý
– Một câu lệnh (instruction) gồm 2 phần
Phần đầu: phần mã lệnh (comand or opcode or operation
code)
Phần sau: toán hạng (operand) hay dữ liệu được dùng bảo
bộ xử lý nơi tìm hoặc nơi lưu của dữ liệu hay mã lệnh khác được chế tác
Ngôn ngữ lập trình
Trang 23– VD: câu lệnh cộng register 1 và 2 xong lưu kết quả vào
Trang 242 Ngôn ngữ cấp thấp (Assembly language and Assembler)
– Thế hệ ngôn ngữ lập trình mức thấp đầu tiên
– Phổ biến trong năm 1960,
– sử dụng từ viết tắt hoặc mã số cho mã số hoạt động và địa
Trang 25Ngôn ngữ lập trình
25
Assembler
Assembly
language
Machine language
Trang 263 Ngôn ngữ cấp cao hơn và biên dịch (Higher level
languages and compiler)
– Câu lệnh được viết bằng ngôn ngữ tiếng Anh với các biểu
tượng và chữ số
– Gần gũi hơn với ngôn ngữ tự nhiên của con người
– Ví dụ FORTRAN, BASIC, COBOL, PASCAL, PROLOG, C,
C++
– Để thực hiện các câu lệnh, các mã nguồn được dịch sang
dạng nhị phân bằng chương trình biên dịch hoặc thông dịch
Ngôn ngữ lập trình
Trang 274 Biên dịch
– Chuyển đổi các câu lệnh từ hình thức con người dễ hiểu sang
mẫu máy dễ hiểu
– Tất cả các ngôn ngữ lập trình cao cấp yêu cầu trình biên dịch
riêng của mình để dịch chương trình
– Ví dụ, các ngôn ngữ lập trình PASCAL yêu cầu trình biên
dịch Pascal và C sử dụng các trình biên dịch C
Ngôn ngữ lập trình
27
Trang 295 Thông dịch
– cũng chuyển đổi các mã nguồn sang ngôn ngữ máy tính
– Thực hiện mỗi dòng khi nó được nhập vào
– Các bản dịch của các chương trình mã nguồn diễn ra cho
mỗi lần chạy
– Chậm hơn so với các mã biên dịch
– Chương trình thông dịch viên phải đi cùng với mã đối tượng
để chạy một chương trình
– Ngôn ngữ lập trình BASIC và LISP sử dụng thông dịch
Ngôn ngữ lập trình
29
Trang 301 lệnh thực thi CPU
Trang 31 Quy trình lập trình (the programming
Trang 32 Soạn thảo/Xử lý từ (editor/word processor)
Mã nguồn (source code)
Trang 33Biên dịch và thực thi một chương trình (Compiling and Running)
User-File
Các tập tin thực thi khác của
Trang 34 Sau khi được viết, chương trình cần phải được biên dịch
và thực thi
Nếu cần chỉnh sửa, nguồn mã cần phải được biên dịch và
thực thi lại → quy trình
Khi kết quả đạt yêu cầu, quy trình sẽ kết thúc
Chỉnh Sửa
Edit Compile Execute
Trang 35Road Map (tt)
Ngôn ngữ C
Giới thiệu ngôn ngữ C
Các khái niệm cơ bản: Tập ký tự, từ khóa, định danh, các
kiểu dữ liệu cơ bản, hằng, biến
Nhập/xuất (input/output) với hàm scanf và printf.
Một chương trình cơ bản trong C
35
Trang 36• Ngôn ngữ C do Dennish Ritchie đề xuất tại
phòng thí nghiệm Bell) vào những năm 70.
• Đến năm 1978 giáo trình “Ngôn ngữ lập trình
C” cho chính tác giả viết được xuất bản và
phổ biến rộng rãi.
• Hiện nay ngôn ngữ C được hầu hết các trường đại học dùng để dạy cho các sinh viên chuyên ngành máy tính.
• Nhiều ngôn ngữ hiện đại ngày nay đều bắt
nguồn từ C như: MS VC++, Java, C#
Ngôn ngữ lập trình C
Trang 37- Ký tự gạch nối dưới (under score) : _
- Các ký hiệu đặc biệt: ,;:[]{}?!&%#$
- Ký tự space (khoảng trắng) dùng để cách các từ
Trang 38TỪ KHÓA – KEYWORDS
Từ khóa là những từ có một ý nghĩa xác định.
Nó dùng để diễn đạt các phát biểu như khai báo các kiểu dữ liệu, viết các toán tử và các câu lệnh.
Trang 39www.hoasen.edu.vn 39
Nhóm từ khai báo kiểu dữ liệu:
Kiểu số nguyên : char , int , short , unsigned , long
Kiểu số thực: float , double
Kiểu rời rạc : enum
Kiều cấu trúc : struct , union
Kiểu rỗng: void
Tự định kiểu: typedef
Khai báo hằng: const ,
Khai báo biến: static , extern , auto, register, volatile
TỪ KHÓA – KEYWORDS
Trang 41www.hoasen.edu.vn 41
TÊN (ĐỊNH DANH) - IDENTIFIER
Tên là 1 từ : dùng để xác định các đối tượng khác nhau trong chương trình như: tên hằng, tên biến, tên mảng, tên hàm…
Các từ trong C phân biệt chữ hoa chữ thường sensitive)
(case- Bắt đầu của tên phải là ký tự chữ hoặc ký tự gạch nối, các ký tự sau là ký tự chữ, số, gạch nối _
Trang 42bai tap: có khoảng trắng
bai-tap: sử dụng dấu gạch ngang
TÊN (ĐỊNH DANH) - IDENTIFIER
Trang 43www.hoasen.edu.vn 43
CÁC KIỂU DỮ LIỆU CƠ BẢN
Kiểu cho số nguyên: char , int , long
Kiểu cho ký tự: char (lưu trữ dạng mã ASCII của ký
tự).
Kiểu rời rạc : enum
Kiểu cho số thực :float , double , long double
Trang 44Kích thước và tầm trị của kiểu dữ liệu phụ thuộc vào trình biên dịch ( xem file limit.h và float.h )
Kiểu Số bit Tầmtrị
unsigned char 8 bits 0 255
char 8 bits -128 127
enum 16 bits -32,768 32,767
unsigned int 16 bits 0 65,535
short int 16 bits -32,768 32,767
long double 80 bits 3.4 * (10 -4932 ) 1.1 * (10 +4932 )
CÁC KIỂU DỮ LIỆU CƠ BẢN
Trang 45const long MaxSalary=12000000;
Cách 4: Viết thẳng trị hằng trong chương trình.
Trang 46BIẾN - VARIABLE
- Biến là gì?
+ Biến là một giá trị có thể thay đổi khi chương trình thực thi + Khi biến được tạo sẽ xuất hiện một vùng nhớ để lưu trữ giá trị của biến
- Mọi biến đều phải khai báo trước khi sử dụng.
Ví dụ khai báo biến:
int a; /* khai báo 1 biến kiểu số nguyên */
float b,c,d; /*khai báo 3 biến kiểu float */
int x=10,y=5; /*khai báo 2 biến kiểu int và khởi
tạo giá trị ban đầu cho nó */
- Để lấy địa chỉ của biến ta dùng phép toán:&tênbiến
Trang 48Nhập dữ liệu với hàm scanf :
scanf(“chuỗi định dạng”,&biến1,&biến2…);
Ví dụ :
scanf(“%d%d”,&x,&y);
NHẬP/XUẤT DỮ LIỆU
Trang 49www.hoasen.edu.vn 49
Chuỗi định dạng qui định:
+ Phải nằm trong dấu nháy kép “ ”
+ Có bao nhiêu biến phải có bấy nhiêu định dạng
+ Thứ tự định dạng phải phù hợp với DS biến
+ Mã định dạng phải phù hợp với kiểu DL của biến
+ Mỗi mã định dạng bắt đầu bằng dấu %
Danh sách biến qui định:
+ Các biến phải phân cách bằng dấu phẩy
+ Giá trị của biến phải phù hợp với mã định dạng
+ Riêng với lệnh scanf thì trước các biến phải có ký hiệu &
(ampersant)
NHẬP/XUẤT DỮ LIỆU
Trang 50Mã định dạng Ý nghĩa
%4ld In số nguyên (long) có độ dài 4 ký tự
Trang 51 \b Backspace Lùi con nháy 1 vị trí
\f Form feed Sang trang kế tiếp
\n New line Sang dòng mới
\r Carriage return Đưa con trỏ về đầu dòng
\t Horizontal tab Di chuyển con trỏ tới vị trí tab kế tiếp
\\ Backslash Ký tự ‘\’
\’ Single quote Ký tự dấu nháy đơn
\” Double quote Ký tự dấu nháy đôi
\? Question mark Ký tự dấu hỏi
\<octal digit> Hằng hệ 8
\<hexa digit> Hằng hệ 16
NHẬP/XUẤT DỮ LIỆU
Trang 52Road Map (tt)
Giới thiệu ngôn ngữ C
Các khái niệm cơ bản: Tập ký tự, từ khóa, định danh, các
kiểu dữ liệu cơ bản, hằng, biến
Nhập/xuất (input/output) với hàm scanf và printf.
Một chương trình cơ bản trong C
VISUAL STUDIO
Trang 53www.hoasen.edu.vn 53
Khởi động môi trường Visual Studio 2008
Trang 54Tạo một project Visual C++
(Console)
Từ menu File Chọn New Project
Hoặc (Control + Shift + n)
Trang 55www.hoasen.edu.vn 55
- Chọn Visual C++ chọn Win32 Console Application
- Đặt tên Baitap1 Ok Next
Tạo một project Visual C++
(Console)
Trang 56Tạo một project Visual C++ (Console)
- Click chọn Console Application; Chọn Empty project
- Chọn Finish
Trang 57www.hoasen.edu.vn 57
Tạo một source file
Từ cửa sổ Solution Explorer Right click Source file
Trang 58Tạo một source file
Trang 59Road Map (tt)
Giới thiệu ngôn ngữ C
Các khái niệm cơ bản: Tập ký tự, từ khóa, định danh, các
kiểu dữ liệu cơ bản, hằng, biến
Nhập/xuất (input/output) với hàm scanf và printf.
Một chương trình cơ bản trong C
Một số ví dụ đơn giản
59
Trang 60MỘT CHƯƠNG TRÌNH C đơn giản
/* HELLO.CPP
Chuong trinh minh hoa don gian */
// Xuat chuoi HELLO! ra man hinh
Khai báo sử dụng thư viện
#include : chỉ thị tiền xử lý
- Chương trình chính , bắt buộc
là hàm main()
- Dấu phẩy (;) kết thúc 1 phát biểu đơn
Trang 61www.hoasen.edu.vn 61
#include <stdio.h>
#include <conio.h>
void main(){ printf(“Hello!”);
getch();
}Viết chương trình in câu “Hello!” ra màn hình
VÍ DỤ 1
Trang 63printf(“Nhap gia tri a :”);
Trang 64độ rộng
là 6 và 2
số lẻ
VÍ DỤ 4
Trang 66BÀI TẬP (điểm cộng)
1/ Viết chương trình hiện ra màn hình hai câu thông báo sau:
Chao ban!
Chuc mung ban den voi mon hoc Ky Thuat Lap Trinh.
2/ Viết chương trình in ra màn hình hình tam giác cân gồm các dấu sao (*) 3/ Viết chương trình nhập vào hai số nguyên dương Tính tổng, hiệu, tích của 2 số Hiển thị kết quả ra màn hình.
4/ Viết chương trình tính tổng bình phương của hai số được nhập vào
từ bàn phím.
5/ Viết chương trình nhập vào một số dương có 2 chữ số, in ra số đảo ngược của số đó
6/ Viết chương trình nhập giờ, phút, giây In ra tổng số giây.
7/ Viết chương trình nhập bán kính r, tính diện tích của hình tròn.
8/ Viết chương trình nhập cạnh a, tính diện tích của hình vuông
9/ Viết chương trình nhập bán kính r, tính chu vi của hình tròn
10/ Viết chương trình nhập đáy nhỏ, đáy lớn và chiều cao của hình thang cân, tính chu vi