Bài giảng Tin học Đại cương - Nhập môn lập trình

BIỂU DIỄN BÀI TOÁN TRÊN MÁY TÍNH

Bài toán và thuật toán:

Khái niệm bài toán trong tin học.

Khái niệm thuật toán, các đặc trưng cơ bản của thuật toán.

Biểu diễn bài toán trên máy tính.

Biểu diễn thuật toán.

II. Ngôn ngữ lập trình Pascal

Khái niệm về ngôn ngữ lập trình và chương trình dịch.

Các lệnh cơ bản: lệnh nhập/xuất, lệnh rẽ nhánh (if), lệnh lặp (while, for).

Sử dụng ngôn ngữ lập trình để giải một số bài toán cơ bản.

 

ppt108 trang | Chia sẻ: hienduc166 | Lượt xem: 840 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Tin học Đại cương - Nhập môn lập trình, để xem tài liệu hoàn chỉnh bạn click vào nút TẢI VỀ ở trên
 n do	 begin	 write(‘nhap phan tu thu ’,i,’ :’);	 readln(a[i]);	 end;end;.Bước 2 :Nhập từng phần tử của mảngBước 1 : Nhập số phân tử của mảng73d. Xuất mảngVar 	a : array[1..100] of integer;	i, n: byte;Begin		for i:=1 to n do	 begin	 write(‘phan tu thu ’,i,’ :’);	 writeln(a[i]);	 end;end;.74Bài tập về mảng một chiềuNhập vào dãy số N số nguyên. Xếp các số lẻ vào đầu dãy, các số chẵn vào cuối dãy.Viết chương trình nhập vào một dãy số nguyên. Sau đó chèn thêm một phần tử tại vị trí bất kỳ vào dãy. In ra dãy số sau khi chèn.Viết chương trình nhập vào một dãy số nguyên. Xóa một phần tử có giá trị bất kỳ trên dãy. In ra dãy sau khi xóa.Nhập vào một dãy gồm N số nguyên. Xuất ra dãy số trên sau khi được sắp xếp tăng dần.Nhập vào một dãy số nguyên, kiểm tra dãy trên có phải là cấp số cộng không?Nhập vào dãy N số nguyên, tìm dãy cấp số cộng dài nhất trên dãy đã cho.758.2 MẢNG NHIỀU CHIỀU1000001000001000001000001[1,1][1,2][1,3][1,4][1,5][2,1][2,2][2,3][2,4][2,5][3,1][3,2][3,3][3,4][3,5][4,1][4,2][4,3][4,4][4,5][5,1][5,2][5,3][5,4][5,5]76a. Khai báoVar : array[phạm vi chỉ số dòng, phạm vi chỉ số cột] of ;Ví dụ:	matran:array[1..5,1..5] of integer;	bangtinh:array[1..256, ‘A’..‘Z’] of string;	771000001000051000001000001[1,1][1,2][1,3][1,4][1,5][2,1][2,2][2,3][2,4][2,5][3,1][3,2][3,3][3,4][3,5][4,1][4,2][4,3][4,4][4,5][5,1][5,2][5,3][5,4][5,5]A[ 3 , 3 ] = 5A:array[1..5,1..5] of byte;Chỉ số hàngChỉ số cột78b. Nhập mảngVar 	a : array[1..10,1..10] of word;	n,m,i: byte;begin	write(‘N,M=’);	readln(n,m);	for i:=1 to n do	 for j:=1 to m do	 begin	 write(‘a[’,i,’,’,j,’=’);	 readln(a[i,j]);	 end;end;.Bước 2 :Nhập từng phần tử của mảngBước 1 : Nhập số dòng,cột79c. Xuất mảngVar 	a : array[1..100] of integer;	i, n,m: byte;begin	.	for i:=1 to n do	begin	for j:=1 to m do write(a[i,j]:3);	writeln;	end; end.8011112113311464181Bài tập về mảng hai chiềuTìm phần tử có giá trị lớn nhất trong ma trận vuông cấp N.Viết chương trình tính tổng các phần tử trên đường chéo chính.Viết chương trình in ra tam giác Pascal với N là số dòng cho trước.Viết nhập vào hai ma trận, sau đó in ma trận kết quả của phép nhân 2 ma trân trên.Viết chương trình tính tổng các phần tử trên tam giác dưới của một ma trận vuông cấp N.829. Kiểu dữ liệu chuỗi (String)83a. Khai báoVar : string[độ dài];ví dụ:Var	ho_va_ten : string[40];	gioitinh : string[3];	filename : string;	danhsachlop:array[1..50] of string[50];84Var	s:string;Begin	s:=“abcdef”;	write(ord(s[0]));End.6‘a’‘b’‘c’‘d’‘e’‘f’S[0][1][2][3][4][5][6]Các thao tác nhập, xuất, so sánh, gián giá trị trên chuổi được sử dụng giống như các biến thuộc kiểu cơ bản thông thường85b. Các hàm thao tác trên chuỗiLength(St) cho độ dài thực sự của xâu ký tự StVD: Length(‘ABC’)  3Delete(St,N,M)Xóa M ký tự của chuỗi St bắt đầu tại vị trí NSt=‘Tin học’ Delete(St,4,4)  St=‘Tin’Insert(S,St,N)Chèn xâu S vào xâu St bắt đầu tại vị trí NSt=‘Nguyen Thanh’Insert(‘Van ‘,St,8)  St=‘Nguyen Van Thanh’Copy(St,N,M)Sao chép M ký tự của xâu St bắt đầu tại vị trí NSt=‘Tin học’; Copy(St,5,3)  ‘học’Str(N,St)Biến đổi giá trị số N thành chuỗi số đặt vào StStr(3.1416,St)  St=‘3.1416’Val(St,N,Er)Biến đổi chuỗi St thành số đặt vào N, Er là biến số nguyên sẽ chứa mã lỗi nếu có.Val(‘3.1416’,N,Er)  N=3.1416 nếu N là kiểu Real  N=0, Er=2 nếu N có kiểu số WordPhép nối chuỗi. St=“Tin”; St=St+ ‘ ’+ ‘học’  St=‘Tin học’86Bài tập về chuỗiViết chương trình kiểm tra một chuỗi có phải là Palindrom hay không?Viết chương trình đếm số ký tự xuất hiện trong chuỗi.Viết chương trình đổi các ký tự trong chuỗi từ hoa sang thườngViết chương trình cắt bỏ các khoảng trắng thừa trong chuỗi.Viết chương trình in ra từ dài nhất trong chuỗi.Viết chương trình nhập vào họ và tên. In ra họ, tên lót, tênViết chương trình nhập vào danh sách họ và tên. In ra danh sách vừa nhập với định dạng canh đều 2 bên.8710. Chương trình conProcedure & Function88N:=Ord(‘a’);X:=SQRT(16);N:=SQR (5);Write(‘hello world’);St=Copy(‘Chao ban’,1,4);Delete(St,1,4)N:=Trunc(3.245);N:=Chr(‘65’);M:=Round(9.57,1);St:=Upcase(‘abc’);N:=Length(St);Val(‘123’,N,Er)Một số thủ tục và hàm do Pascal định nghĩa89Một số thủ tục và hàm tự định nghĩaNhapmang(A,n);dtb:=Tinh trungbinh(a)K:=Mu(x,n)Xuatmang(a,n);If laSNT(n) thenWriteln(n);T:=T+Giaithua(i)/Mu(i,n);If palindrom(st) thenwrite(“Chuoi doi xung”;St:=trim(st)M:=dinhthuc(A)Sapxep(A,n)Writeln(Tongduongcheochinh(A,n))9010.1 Khái niệm	Thủ tục (Procedure) và hàm (Function) là những chương trình con có chức năng giúp cho người lập trình giảm bớt công sức và chương trình ngắn gọn, dễ hiểu và dễ kiểm tra.Begin	Nhap(n);	Nhapmang(a,n);	Sapxep(a,n);	Xuat(a,n);End.Begin	Nhap(A,n);	Nhap(B,n);	Cong(C,A,B,n)	Xuat(C,n)End.9110.2 Định nghĩa thủ tục và gọi thủ tục	Loại 1: Thủ tục không có tham số	Procedure Ten_thu_tuc;	 {phần khai báo của thủ tục}	Begin	{phần thân thân thủ tục}	End;Ví dụ:	Procedure xuat_loi_chao;	Begin	Writeln(‘-----------------’);	Writeln(‘Chao cac ban’);	Writeln(‘-----------------’);	End;	Begin	xuat_loi_chao;	End.Lời gọi thủ tục9210.2 Định nghĩa thủ tục và gọi thủ tục	Loại 2: Thủ tục có tham số	Procedure Ten_thu_tuc(Danh sách các tham số)	 {phần khai báo của thủ tục}	Begin	{phần thân thân thủ tục}	End;Ví dụ:	Procedure Xuatmang(A:Mang; n:integer);	 Var	i:integer;	Begin	For i:=1 to n do	 Write(a[i]);	End;	Begin Nhapmang(a,n); Xuatmang(a,n)End.9310.3 Định nghĩa hàm và gọi hàmĐịnh nghĩa	Funtion ten_ham(Danh sách các tham số nếu có):kiểu trả về	{phần khai báo của hàm}Begin	{phần thân thân hàm}	ten_ham:=End;Gọi hàm	Tên_hàm(Danh sách các tham số nếu có)Khi gọi hàm, tên hàm phải tham gia như là một biểu thức.Ví dụ1:Function Lapphuong ( x : byte ) : longint;	Begin	Lapphuong:=x*x*x;	End.Begin	Writeln(Lapphuong(10));End.9410.3 Định nghĩa hàm và gọi hàm	Funtion ten_ham(Danh sách các tham số nếu có):kiểu trả về	{phần khai báo của hàm}Begin	{phần thân thân hàm}	ten_ham:=End;Ví dụ 2:Function Mu ( x : byte; n:byte ) : longint;Var	i:byte;	M:longint;Begin	for i:=1 to n do	 M:=M*x;	Lapphuong:=M;End.Begin	Writeln(Mu(2,10));End.9510.3 Định nghĩa hàm và gọi hàm	Funtion ten_ham(Danh sách các tham số nếu có):kiểu trả về	{phần khai báo của hàm}Begin	{phần thân thân hàm}	ten_ham:=End;Ví dụ3:Function giaithua (n:byte ) : longint;Var	i:byte;	gt:longint;Begin	for i:=1 to n do	 gt:=gt*i;	giaithua:=gt;End.Begin Writeln(giaithua(10));End.9610.4 Tầm vực hoạt động của biến	Biến toàn cục:Là biến được khai báo trong chương trình chính. Các biến này có thể sử dụng mọi nơi trong chương trình, kể cả trong chương trình con.Biến cục bộ:Là biến được khai báo trong chương trình con. Biến này chỉ có thể sử dụng trong chương trình con mà nó khai báo.Tầm vực hoạt động của biến là phạm vi mà biến có tác dụng.Proc AAProc ABProc BAProc BBProgramProc AProc BProc CMức 0Mức 1Mức 297Cho biết kết quả sau khi chạy chương trìnhVar	a,b,c:word;Procedure giam(a:word; b:word);Begin	a:=a-1;	b:=b-1;	writeln(a,b);End.function Tang(a,b:word):word;Begin	a:=a+1;	b:=b+a; c:=b;	Writeln(a,b);	Tang:=a;End.Begin	a:=5; b:=5;	c:=5;	giam(b,c);	c:=Tang(a,b);	write(a,b,c);End.9810.5 Tham số của chương trình con	Tham biến : là tham số của chương trình con, được khai báo sau từ khóa Var. Tham biến giúp đưa giá trị vào chương trình con và giúp chương trình gọi nhận giá trị từ chương trình con.Tham trị : là tham số của chương trình con, giúp đưa giá trị vào chương trình con.Begin	Nhap(n);	Nhapmang(a,n);	Sapxep(a,n);	Xuat(a,n);End.Begin	Nhap(A,n);	Nhap(B,n);	Cong(C,A,B,n)	Xuat(C,n)End.9910.5 Tham số của chương trình con	Tham biến : là tham số của chương trình con, được khai báo sau từ khóa Var. Tham biến giúp đưa giá trị vào chương trình con và giúp chương trình gọi nhận giá trị từ chương trình con.Tham trị : là tham số của chương trình con, giúp đưa giá trị vào chương trình con.Procedure nhap(var a:mang; var n:byte);Var i:byte;Begin	write(‘N=‘);readln(n);	for i:=1 to n do	readln(a[i]);end;10010.5 Tham số của chương trình con	Tham biến : là tham số của chương trình con, được khai báo sau từ khóa Var. Tham biến giúp đưa giá trị vào chương trình con và giúp chương trình gọi nhận giá trị từ chương trình con.Tham trị : là tham số của chương trình con, giúp đưa giá trị vào chương trình con.Procedure xuat(a:mang; n:byte);Var i:byte;Begin	for i:=1 to n do	writeln(a[i]);end;101Var	n:word;Function kiemtra(n:word):boolean;Begin	for i:=2 to trunc(sqrt(n)) do	 if n mod I =0 then	begin	kiemtra:=false	exit;	end; kiemtra:=true;end.;Procedure nhap(var n:word)Begin	write(‘Nhap so’);	readln(n);End.Begin nhap(n); if kiemtra(n) then	 write(n,’ la SNT’) else write(n,’ khong la SNT’);End.102Cho biết kết quả sau khi chạy chương trìnhVar	a,b,c:word;Procedure Tang(a:word;var b:word)Begin	a:=a+1;	b:=a;	c:=a;End.Begin	a:=5; b:=5;	c:=5;	Tang(a,b);	write(a,b,c);End.103Cho biết kết quả sau khi chạy chương trìnhVar	a,b,c:word;function Tang(var a,b:word):word;Begin	a:=a+1;	b:=b+a; c:=b;	Tang:=a;End.Procedure giam(a:word;var c:word)Begin	a:=b-1;	c:=a-1;end.;Begin	a:=5; b:=5;	c:=5;	c:=Tang(a,b);	giam(b,c);	write(a,b,c);End.104Cho biết kết quả sau khi chạy chương trìnhVar	a,b,c:word;function Tang(var a,b:word):word;Begin	a:=a+1;	b:=b+a; c:=b;	Tang:=a;End.Begin	a:=5; b:=5;	c:=5;	c:=Tang(a,b);	write(a,b,c);End.105Bài tập về thủ tục và hàmViết lại các chương trình nhập xuất mảng một chiều, hai chiều sử dụng chương trình con.Viết chương trình nhập vào một dãy số nguyên gồm N số. In ra giá trị trung bình, tổng các phần tử lẻ, tổng các phần tử chẵn, các số nguyên tố của giải trên.Viết chương trình nhập vào một chuỗi ký tự. Viết chương trình con LTrim, CTrim,Rtrim để loại bỏ các khoảng trắng bên trái, ở giữa, bên phải của chuỗi đã cho.Viết chương trình trình con Power, Lower để đổi một chuỗi sang chữ hoa và chũ thường.106Bài tập về thủ tục và hàmMỗi hình chữ nhật được mô tả bởi điểm đầu và điểm cuối của 1 đường chéo. Mỗi điểm được mô tả bởi 2 thành phần x,y. Viết chương trình nhập vào danh sách N các hình chữ nhật. Sau đó in ra tọa độ của hình chữ nhật có diện tích lớn nhất.Viết chương trình nhập vào 2 điểm A(x,y), B(x,y) trong mặt phẳng tọa độ OXY. Tính khoảng cách của đoạn thẳng AB.107HẾT108

File đính kèm:

  • pptNhap mon lap trinh.ppt