1. Trang chủ
  2. » Thể loại khác

Tài liệu+Đề thi THCS2 ver_T3 2017 - PTITVL KyThuat LapTrinh1

66 228 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • 1.1. Ngôn ngữ lập trình và thuật toán

    • 1.1.1. Ngôn ngữ lập trình

    • 1.1.2. Thuật toán (Algorithm)

    • 1.1.3. Sự ra đơi và phát triển của ngôn ngữ C

  • 1.2. Các phần tử cơ bản trong ngôn ngữ C

    • 1.2.1. Bộ ký tự (character set)

    • 1.2.2. Các từ khóa (key words, reserved words)

    • 1.2.3. Tên và cách đặt tên (identifier)

    • 1.2.4. Lời giải thích (comment)

    • 1.2.5. Một vài chương trình C đơn giản

  • 1.3. Cấu trúc chương trình trong C

    • 1.3.1. Các thành phần của một chương trình C

    • 1.3.2. Soạn thảo và chạy một chương trình C

      • a. Soạn thảo chương trình

      • b. Dịch và chạy chương trình

  • 2.1. Các kiểu dữ liệu cơ sở

  • 2.2. Hằng

    • 2.3. Kiểu enum

    • 2.4. Biến

    • 2.5. Mảng và chuỗi

    • 2.6. Định nghĩa kiểu bằng typedef

    • 2.7. Khối lệnh

    • 2.8. Vài nét về hàm và chương trình

    • 2.9. Biến, mảng tự động

    • 2.10. Biến, mảng ngoài

    • 2.11. Toán tử sizeof

    • 2.12. Biến tĩnh, mảng tĩnh

    • 3.1. Khái niệm biểu thức(expression)

    • 3.2. Phép toán số học

    • 3.3. Các phép thao tác bit

    • 3.4. Các phép toán quan hệ và logic

    • 3.5. Phép chuyển đổi kiểu giá trị

    • 3.6. Phép toán tăng giảm

    • 3.7. Câu lệnh gán và biểu thức

    • 3.8. Biểu thức điều kiện

    • 3.9. Thứ tự ưu tiên các phép toán

    • 4.1. Hàm printf

    • 4.2. Hàm scanf

    • 4.3. Đưa ra máy in- hàm fprintf

    • 4.4. Dòng vào stdin và các hàm nhập dữ liệu

    • 4.5. Nhập /xuất số liệu cho chuỗi và ký tự

    • 4.6. Một số hàm xử lý chuỗi

    • 4.7. Sự khác biệt giữa mảng và chuỗi

    • 4.8. Các hàm vào ra và dịch chuyển vị trí trên màn hình

    • 4.9. Các luồng nhập xuất cin,cout

    • 5.1. Nhắc lại khái niệm câu lệnh và khối lệnh

    • 5.2. Toán tử if

    • 5.3. else if

    • 5.4. Toán tử switch

    • 5.5. Toán tử goto và nhãn

    • 5.6. Toán tử for

    • 5.6. Toán tử while

    • 5.7. do ... while

    • 5.8. Lệnh break và lệnh continue

    • 6.1. Khai báo và định nghĩa hàm

    • 6.2. Các hàm void

    • 6.3. Lời gọi hàm

    • 6.4. Sử dụng hàm assert() để kiểm tra điều kiện trước

    • 6.5. Các đối số mặc định

    • 6.6. Truyền tham số cho hàm

    • 6.7. Hàm chồng(Overloaded function)

    • 6.8. Các mẫu (template)

    • 6.9. Hàm với các tham số là mảng

    • 7.1. Con trỏ và địa chỉ

    • 7.2. Con trỏ và mảng một chiều

    • 7.3. Con trỏ tới hàm

    • 7.4. Khả năng đệ quy của hàm

    • 7.5. Hàm main có đối (tham khảo tài liệu [2], trang 198)

    • 8.1. Kiểu cấu trúc

    • 8.2. Truy nhập đến thành phần cấu trúc

    • 8.3. Phép gán cấu trúc

    • 8.4. Cấu trúc trong C++

    • 8.5. Thành phần kiểu fields

    • 8.6. Union

    • 10.1. Chọn kiểu màn hình văn bản

    • 10.3. Sự khác biệt giữa các hàm nhập xuất dữ liệu

    • 10.4. Một số hàm thao tác màn hình khác

    • 10.5. Ví dụ ứng dụng: Tạo thực đơn trên cửa sổ

    • 11.1. Khái niệm về đồ họa

    • 11.2. Độ phân giải màn hình đồ họa

    • 11.3. Vẽ hình trong màn hình đồ họa

    • 11.4. Đặt màu nền, màu vẽ, màu tô

    • 11.5. Vẽ một số đường và hình cơ bản

    • 11.6. Cửa sổ (viewport)

    • 11.7. Xử lý văn bản trên màn hình đồ họa

    • 11.8. Tạo hình ảnh chuyển động

Nội dung

Tài liệu+Đề thi THCS2 ver_T3 2017 - PTITVL KyThuat LapTrinh1 tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bà...

Kỹ thuật Lập trình C C++ Chương Tổng quan C C++ 1.1 Ngơn ngữ lập trình thuật tốn 1.1.1 Ngơn ngữ lập trình Trong phần “Nhập mơn tin học” tìm hiểu Winword Excel, phần mềm ứng dụng công việc soạn thảo văn làm bảng tính toán Đặc điểm phần mềm ứng dụng định rõ phạm vi ứng dụng cung cấp nhiều tốt cơng cụ để hồn thành chức Tuy nhiên người sử dụng bị bó buộc phạm vi quy định chương trình Chẳng hạn ta khó dùng Excel để giải tốn gồm nhiều bước tính tốn tính nghiệm gần phương trình vi phân hay giải hệ phương trình tuyến tính Mặc dầu phần mềm ứng dụng ngày nhiều thuộc đủ lĩnh vực xây dựng, thiết kế, hội họa, âm nhạc bao trùm hết vấn đề nẩy sinh thực tế vô phong phú Rõ ràng chuyên gia tin học mà người sử dụng, cán kỹ thuật, cần đến phần mềm uyển chuyển mềm dẻo hơn, có khả thực nhiều thị người sử dụng để giúp họ giải công việc đa dạng máy tính Phần mềm có tính chất gọi ngơn ngữ lập trình Chính xác ngơn ngữ lập trình ngơn ngữ nhân tạo bao gồm tập từ vựng (mà ta gọi từ khóa để phân biệt với ngôn ngữ thông thường) tập quy tắc (gọi Syntax - cú pháp) mà ta sử dụng để biên soạn lệnh cho máy tính thực Như ta biết, ô nhớ máy tính biểu diễn số Vì ngơn ngữ mà máy hiểu trực tiếp ngơn ngữ lệnh dãy số nhị phân gọi ngôn ngữ máy (machine language) Mọi ngôn ngữ khác phải thông dịch biên dịch sang ngôn ngữ máy (Interpreter - thông dịch cho chạy lệnh Compiler - biên dịch thành chương trình ngơn ngữ máy hồn chỉnh, chạy nhanh thơng dịch) Có nhiều loại ngơn ngữ lập trình, hầu hết nhà khoa học máy tính cho khơng có ngơn ngữ độc có đủ khả phục vụ cho yêu cầu tất lập trình viên Theo truyền thống, ngơn ngữ lập trình phân làm loại: ngôn ngữ bậc thấp ngôn ngữ bậc cao Ngơn ngữ lập trình bậc thấp (low-level programming language): Ngơn ngữ máy, hợp ngữ (asembler: chương trình dịch hợp ngữ, assembly language: ngôn ngữ hợp ngữ) Hợp ngữ ngôn ngữ bậc từ ngơn ngữ máy Nó khác với ngôn ngữ máy việc sử dụng mã biểu thị chức mà máy thực Lập trình hợp ngữ phiền tối: có đến vài tá dòng mã cần thiết để thực phép cộng số Các chương trình hợp ngữ khó viết; chúng khơng có cấu trúc modun hóa rõ ràng Chương trình hợp ngữ khơng dễ chuyển từ loại máy tính sang loại máy tính khác Các chương trình viết theo tập lệnh đặc thù loại vi xử lý định Lập trình hợp ngữ mã gọn chạy nhanh Do hầu hết chương trình điều hành hệ thống viết hợp ngữ Tuy nhiên phức tạp cơng việc lập trình nên hãng sản xuất phần mềm chuyên dụng thích viết chương trình ngơn ngữ C (do Bell Laboratories hãng AT&T xây dựng) loại ngôn ngữ kết hợp cấu trúc ngôn ngữ bậc cao đại với tốc độ tính hiệu hợp ngữ cách cho phép nhúng lệnh hợp ngữ vào chương trình Ngơn ngữ lập trình bậc cao: Các ngơn ngữ lập trình bậc cao Basic, Pascal, C, C++ cho phép lập trình viên diễn đạt chương trình từ khóa câu lệnh gần giống với ngôn ngữ tự nhiên Các ngơn ngữ dược gọi “bậc cao” chúng giải phóng lập trình viên khỏi quan tâm lệnh máy tính tiến hành nào, phận thông dịch biên dịch chương trình giải chi tiết mã nguồn biến đổi thành ngôn ngữ máy Một câu lệnh ngôn ngữ bậc cao tương ứng với số lệnh ngơn ngữ máy, bạn thảo chương theo ngôn ngữ bậc cao nhanh so với bậc thấp Tuy nhiên bạn phải trả giá cho việc Chương trình ngơn ngữ máy dịch từ mã nguồn viết ngôn ngữ bậc cao chứa nhiều chi tiết thừa, tốc độ chạy chậm nhiều so với chương trình viết hợp ngữ Thơng thường trình biên dịch đặc trưng thường sinh số lệnh mã máy gấp lần hay nhiều số lệnh cần thiết viết mã máy Một cách phân loại khác ngơn ngữ lập trình: Ngơn ngữ thủ tục (Procedural Language) ngôn ngữ khai báo (Declarative Language) Ngơn ngữ thủ tục: Lập trình viên phải xác định thủ tục mà máy tính tuân theo để hồn thành cơng việc định trước Thí dụ: Basic, C, Fortran, Ngôn ngữ khai báo: Ngôn ngữ định nghĩa loạt yếu tố quan hệ, đồng thời cho phép bạn tiến hành xếp hàng kết xác định Thí dụ: Prolog, SQL (Structured Query Language) Điều then chốt việc lập trình chun dụng mơdun hóa ngơn ngữ - phát triển cho nhiệm vụ lập trình phân phối cho thành viên nhóm lập trình, kết đạt phận khác hoạt động phù hợp với nhiệm vụ người hồn thành Ngơn ngữ lập trình mơdun, Module-2 ngôn ngữ hướng đối tượng C++, cho phép lập trình viên tập trung vào việc lập mã, biên dịch gỡ rối module chương trình riêng biệt, đồng thời cho chạy (kiểm tra thử) riêng module Khi module riêng chạy tốt chúng liên kết với mà khơng gây trục trặc 1.1.2 Thuật tốn (Algorithm) Thuật ngữ Algorithm dịch tiếng Việt thuật toán, thuật giải giải thuật chúng tơi dùng từ thuật tốn cách gọi quen thuộc với nhiều người Thuật toán dãy hữu hạn bước, bước mơ tả xác phép toán hành động cần thực hiện, để giải vấn đề Để hiểu đầy đủ ý nghĩa khái niệm thuật toán, nêu đặc trưng sau thuật toán: Input Mỗi thuật tốn thường có số liệu vào Ouput Mỗi thuật tốn thường có số liệu Tính xác định (Definiteness) Mỗi bước mơ tả xác, có cách hiểu đủ đơn giản để thực Tính dừng (Finiteness) Thuật tốn phải dừng sau số hữu hạn bước thực Tính hiệu (Effectiveness) Các phép toán bước phải đủ đơn giản để thực Tính tổng qt (Generalness) Thuật tốn phải có tính tổng qt, áp dụng cho lớp đối tượng Ví dụ: Thuật tốn Euclid: Tìm ước số chung lớn hai số tự nhiên m,n Input: m,n nguyên dương Output: g ước số chung lớn m n Phương pháp: r= m mod n Nếu r=0 g:=n Ngược lại (r>0) m:=n; n:=r quay lại bước 1.1.3 Sự đơi phát triển ngôn ngữ C Năm 1970 Ken Thompson sáng tạo ngôn ngữ B dùng môi trường hệ điều hành UNIX máy điện toán DEC PD-7 B chữ tắt BCPL (do Martin Richards viết) Năm 1972 Dennis Ritchie hãng Bell Laboratories (và Ken Thompson) sáng tạo nên ngôn ngữ C nhằ m tăng hiệu cho ngôn ngữ B Lúc đầu ngôn ngữ C không người ưa dùng Nhưng sau D.Ritchie cho xuất "The C Programming Language" ngơn ngữ C ý sử dụng rộng rãi Người ta dùng C để viết hệ điều hành đa nhiệm UNIX, O/S ngôn ngữ Dbase C cải tiến qua nhiều phiên bản: trình biên dịch Turbo C từ phiên đến phiên 5, Microsoft C từ phiên đến phiên Hiện nay, C lại phát triển để thành C++ với trình biên dịch: Borland C++ (dùng DOS Windows), Visual C++ (dùng DOS Windows) Turbo C++ (dùng DOS) Có thể nói hầu hết phần mềm ứng dụng viết trực tiếp gián tiếp C C++ Trong tài liệu giới thiệu C số lệnh C++ 1.2 Các phần tử ngôn ngữ C 1.2.1 Bộ ký tự (character set) 1.2.2 Các từ khóa (key words, reserved words) Các từ khóa thơng dụng C auto break base char continue default double else extern float for goto if int long register return short sizeof static struct switch typedef union unsigned void public while volatile 1.2.3 Tên cách đặt tên (identifier) Đối với C, tên cần phải khai báo trước sử dụng Tên ta dãy ký tự liền nhau, bắt đầu ký tự dấu gạch dưới, ký tự, số dấu gạch Chú ý: Tên không chứa dấu cách C phân biệt chữ hoa chữ thường 1.2.4 Lời giải thích (comment) Lời giải thích từ vi trí đến cuối dòng: // Lời giải thích nhiều dòng: /* */ 1.2.5 Một vài chương trình C đơn giản Chương trình C đơn giản chạy khơng báo lỗi: Khơng làm void main() { } Hiện câu chào //002CHAO1.cpp Hien cau chao tren man hinh #include void main() {printf("\nTurbo C xin chao ban"); } Xóa hình câu chào #include #include void main() {clrscr(); printf("Turbo C xin chao ban!"); getch(); } 1.3 Cấu trúc chương trình C 1.3.1 Các thành phần chương trình C Phần quan trọng khơng thể thiếu chương trình C hàm main() Thơng thường hàm main() có dạng void main() { //các lệnh } int main() { //các lệnh return(0); } Thơng thường chương trình C đầy đủ có phần sau:  Chỉ dẫn tiền xử lý (preprocessor directive) - Các bao hàm (#include) - Các vĩ lệnh (#define) Khai báo toàn cục - Khai báo nguyên mẫu cho hàm (function prototype) - Khai báo biến toàn cục  Hàm main()  Định nghĩa chi tiết hàm người sử dụng vừa khai báo Phần "Định nghĩa chi tiết hàm " đặt sau phần khai báo toàn cục Một số hàm tệp bao hàm tương ứng: Tệp bao hàm stdio.h conio.h math.h stdlib.h ctype.h string.h Các hàm định nghĩa tệp printf,scanf,gets getch,clrscr sqrt,abs,fabs abs,random,randomize,calloc,malloc,atof,atoi toupper,islower,isdigit strcmp,strcmpi,strcpy,strcat,strlen,strlwr,strupr iostream.h iomanip.h cin,cout setw,setprecision, (cout z de chon: "; char chon=toupper(getch()); 59 if(chon=='Z') break; int mh=DETECT,gmode=0,x,y,i; initgraph(&mh,&gmode,"C:\\TC\\BGI"); setbkcolor(GREEN); switch(chon) {case '1':f=tan;a=-4*M_PI,b=4*M_PI; gocx=gocy=scalex=scaley=0;n=400;color=RED; vedothi(sin,a,b,n,gocx,gocy,scalex,scaley,color); vedothi(cos,a,b,n,gocx,gocy,scalex,scaley,color); a=-10;b=10; break; case '2':f=exp;a=-2,b=4; gocx=gocy=scalex=scaley=0;n=400;color=RED; break; case '3':f=xmu3;a=-4,b=4; gocx=gocy=scalex=scaley=0;n=400;color=RED; break; case '4':f=sinmu3;a=-4*M_PI,b=4*M_PI; gocx=gocy=scalex=scaley=0;n=400;color=RED; break; case '5':f=log;a=0.01,b=4; gocx=gocy=scalex=scaley=0;n=400;color=RED; break; case '6':f=g;a=-4,b=4; gocx=gocy=scalex=scaley=0;n=400;color=RED; break; case '7':f=h;a=-4,b=4; gocx=gocy=scalex=scaley=0;n=400;color=RED; break; } setcolor(BLUE); vedothi(f,a,b,n,gocx,gocy,scalex,scaley,color); getch(); closegraph(); } } 11.7 Xử lý văn hình đồ họa Hiển thị văn void outtext(char *s); void outtextxy(int x, int y, char *s); Chọn phông hướng hiển thị văn void settextstyle(int font, int direction, int charsize); font Tên DEFAULT_FONT TRIPLEX_FONT SMALL_FONT SANS_SERIF_FONT GOTHIC_FONT Giá trị số 60 direction Tên HORIZ_DIR VERT_DIR Giá trị số Hướng văn Nằm ngang, trái sang phải Đứng, lên charsize Giá trị số 10 Độ lớn ký tự (số pixel) 8*8 16*16 24*24 80*80 Quan hệ văn với vị trí trỏ void settextjustify(int horiz, int vert); Vị trí văn so với trỏ theo chiều ngang Với tham số horiz LEFT_TEXT CENTER_TEXT RIGHT_TEXT Giá trị số Giải thích Bên phải Chỉnh tâm Bên trái Vị trí văn so với trỏ theo chiều đứng Với tham số vert BOTTOM_TEXT CENTER_TEXT TOP_TEXT Giá trị số Giải thích Phía Chỉnh tâm Phía 61 Chương trình sau mơ tả cách sử dụng hàm xử lý văn bản: #include #include #include #include #include #define Enter 13 #define Lmargin 10 void text_write(int &x,int &y,char *s) {outtextxy(x,y,s); x+=textwidth(s); } //================================================= void text_writeln(int &x,int &y, char *s) {outtextxy(x,y,s); x=Lmargin; y=y+textheight(s)+5; } //================================================= /*void text_read(int &x,int &y, char *s) {int i=0;char ch,*s1; while(1) {ch=getch(); if(ch==Enter) break; *s1=ch; text_write(x,y,s1); s[i]=ch;++i; } s[i]=0; } */ //================================================= void text_read(int &x,int &y, char *s) {int i=0;char ch[2]; ch[1]='\0'; while(1) {ch[0]=getch(); if(ch[0]==Enter) break; text_write(x,y,ch); s[i]=ch[0];++i; } s[i]=0; } //================================================= void main() {clrscr(); int mh=DETECT,gmode=0,x,y,xmax,ymax; char name[25]; initgraph(&mh,&gmode,"c:\\tc\\bgi"); setbkcolor(GREEN); setcolor(RED); settextstyle(TRIPLEX_FONT,HORIZ_DIR,3); x=Lmargin;y=100; text_write(x,y,"cho ten cua ban:"); text_read(x,y,name); text_writeln(x,y,""); text_write(x,y,"chao ban:"); 62 text_write(x,y,name); getch(); closegraph(); } 11.8 Tạo hình ảnh chuyển động Thí dụ sau mơ tả cách tạo hình ảnh chuyển động Chương trình tạo bầu trời đầy nhấp nháy đĩa bay bay cách ngẫu nhiên bầu trời Hình ảnh kết thúc nhấn phím //SAUCER.CPP #include #include #include #include #include //============================================ void *p; int xx[1001],yy[1001],nsize,i; //=============================== int uscln(int u,int v) {int t; u=u%v; while(u>0) {int tmp=u;u=v;v=tmp; u=u%v; } return(v); } //============================================ void ve_diabay() {//Ve tau vu tru setcolor(RED); ellipse(100,50,0,360,20,8); ellipse(100,46,190,357,20,6); line(107,44,110,38); circle(110,38,2); line(93,44,90,38); circle(90,38,2); setfillstyle(SOLID_FILL,BLUE); floodfill(101,54,RED); setfillstyle(SOLID_FILL,MAGENTA); floodfill(94,45,RED); //Luu anh tau vu tru vao bo nho nsize=imagesize(79,36,121,59); p= malloc(nsize); getimage(79,36,121,59,p); return; } //============================================ void nhap_nhay_bt() {static i=1;//Lenh thuc hien mot lan dich int j; //Cho nhap nhay bang cach doi mau 50 ngoi for(j=1;j1000) i=1; } 63 } //============================================ void tau_cd(int xa,int ya,int xb,int yb) {int dx,dy,mx,my,x,y,step,i; mx=abs(xb-xa);my=abs(yb-ya); if(mx==0) {dx=0;dy=1;step=dy;} else if(my==0) {dy=0;dx=1;step=dx;} else if(mx>my) {dy=10;dx=10*mx/my;int m=uscln(dx,dy); dx=dx/m;dy=dy/m;step=mx/dx;} else {dx=10;dy=10*my/mx;int m=uscln(dx,dy); dx=dx/m;dy=dy/m;step=my/dy;} dx=xb-xa>0?dx:-dx; dy=yb-ya>0?dy:-dy; for(i=0;i

Ngày đăng: 23/11/2017, 20:04

TỪ KHÓA LIÊN QUAN

w