Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
86 KB
Nội dung
Bài 1: Với số thực x nhập vào từ bàn phím tính tổng sau: TONG = − x3 x6 x9 x 3n + − + + (−1) n + 3! 6! 9! (3n)! 3n x Q trình tính tổng kết thúc < 10 −6 (3n)! PROGRAM BAI_1; USES CRT; VAR X,S,T:REAL; N:WORD; CHON:CHAR; BEGIN CLRSCR; REPEAT WRITE('X = '); READLN(X); S:=0; T:=1; N:=1; WHILE ABS(T)>=0.000001 DO BEGIN S:=S+T; T:=T*((-(X*X*X))/((3*N)*(3*N-1)*(3*N-2))); INC(N); END; WRITELN('S = ',S:0:3); WRITE('BAN CO MUON TIEP TUC KHONG? (C/K): '); READLN(CHON); UNTIL UPCASE(CHON)='K'; END Bài 2: Cho dãy số un mà phần tử xác định sau: xn un = n! un = ( x − 1) n n! Nếu n lẽ Nếu n chẵn Tính tổng TONG = u0 + u1 + u + u3 + + u n −6 −6 Q trình tính tổng kết thúc u n−1 10 u n 10 PROGRAM BAI_2; USES CRT; VAR X,S1,S2,T1,T2:REAL; N:WORD; BEGIN CLRSCR; WRITE('X = '); READLN(X); S1:=0; S2:=0; T1:=X; T2:=1; N:=1; WHILE (ABS(T1)>=0.000001) AND (ABS(T2)>=0.000001) DO BEGIN IF ODD(N) THEN BEGIN S1:=S1+T1; T1:=T1*(X/N); END ELSE BEGIN T2:=T2*((X-1)/N); S2:=S2+T2; END; INC(N); END; WRITE('S = ',S1+S2:0:3); READLN; END BÀI 3: Cho hai số tự nhiên k, n (kA[K,J] THEN BEGIN TG:=A[K,I]; A[K,I]:=A[K,J]; A[K,J]:=TG; END; WRITELN('MANG SAU KHI XU LY'); FOR I:=1 TO M DO BEGIN FOR J:=1 TO N DO WRITE(A[I,J]:8:1); WRITELN; END; READLN; END Bài 13: Cho số tự nhiên N mảng hai chiều số thực A[1 N,1 N] Hãy chuyển vị ma trận A PROGRAM BAI_13; USES CRT; CONST MAX=50; VAR A,B:ARRAY[1 MAX,1 MAX] OF REAL; I,J,M,N:BYTE; BEGIN CLRSCR; WRITE('NHAP SO HANG VA SO COT: '); READLN(M,N); FOR I:=1 TO M DO FOR J:=1 TO N DO BEGIN WRITE('NHAP GIA TRI HANG ',I,' COT ',J,' = '); READLN(A[I,J]); END; CLRSCR; FOR I:=1 TO M DO BEGIN FOR J:=1 TO N DO WRITE(A[I,J]:8:1); WRITELN; END; FOR I:=1 TO M DO FOR J:=1 TO N DO B[I,J]:=A[J,I]; WRITELN('MA TRAN CHUYEN VI LA'); FOR I:=1 TO N DO BEGIN FOR J:=1 TO M DO WRITE(B[I,J]:8:1); WRITELN; END; READLN; END Bài 14: Cho ba số tự nhiên M, P, N ba mảng hai chiều số thực A[1 M,1 P], B[1 P,1 N] C[1 M,1 N] Hãy thực công việc sau: - Nhập hai ma trận A, B từ bàn phím - Tính C= A*B - In hình ma trận A, B C PROGRAM BAI_14; USES CRT; CONST MAX=50; TYPE MAT=ARRAY[1 MAX,1 MAX] OF REAL; VAR A,B,C:MAT; I,J,K,M,N,P:BYTE; PROCEDURE NHAP_MANG(HANG,COT:BYTE; VAR TEN_MT:MAT); BEGIN FOR I:=1 TO HANG DO FOR J:=1 TO COT DO BEGIN WRITE('NHAP GIA TRI HANG ',I,' COT ',J,' = '); READLN(TEN_MT[I,J]); EPROCEDURE IN_MANG(HANG,COT:BYTE; VAR TEN_MT:MAT); BEGIN FOR I:=1 TO HANG DO BEGIN FOR J:=1 TO COT DO WRITE(TEN_MT[I,J]:8:1); WRITELN; END; END; BEGIN CLRSCR; WRITE('LAN LUOT NHAP SO HANG VA COT MANG A VA B: '); READLN(M,P,N); NHAP_MANG(M,P,A); NHAP_MANG(P,N,B); FOR I:=1 TO M DO FOR J:=1 TO N DO BEGIN C[I,J]:=0; FOR K:=1 TO P DO C[I,J]:=C[I,J]+A[I,K]+B[K,J]; END; CLRSCR; WRITELN('MANG A'); IN_MANG(M,P,A); WRITELN('MANG B'); IN_MANG(P,N,B); WRITELN('MANG C'); IN_MANG(M,N,C); READLN; END Bài 15: Cho hai số tự nhiên M, N mảng hai chiều số thực A[1 M,1 N] Việc lưu trữ ma trận A file dạng Text tổ chức sau: - Dòng chứa hai số M N - Dòng thứ i+1 file chứa dòng thứ i ma trận - Trên dòng phần tử phân cách tối thiểu dấu trống Giả sử tồn điã tệp INPUT.DAT có cấu trúc Hãy đọc liệu vào cho mảng A in mảng hình PROGRAM BAI_15; USES CRT; CONST MAX=50; VAR F:TEXT; A:ARRAY[1 MAX,1 MAX] OF REAL; M,N,I,J:BYTE; BEGIN CLRSCR; ASSIGN(F,'INPUT.DAT'); RESET(F); READLN(F,M,N); FOR I:=1 TO M DO BEGIN FOR J:=1 TO N DO READ(F,A[I,J]); READLN(F); END; CLOSE(F); FOR I:=1 TO M DO BEGIN FOR J:=1 TO N DO WRITE(A[I,J]:8:1); WRITELN; END; READLN; END Bài 16: Cho hai số tự nhiên M, N mảng hai chiều số thực A[1 M,1 N] Việc lưu trữ ma trận A file dạng Text tổ chức sau: - Dòng chứa hai số M N - Dòng thứ i+1 file chứa dòng thứ i ma trận - Trên dòng phần tử phân cách tối thiểu dấu trống Hãy đọc liệu vào cho mảng A từ bàn phím ghi mảng tệp OUTPUT.DAT có cấu trúc PROGRAM BAI_16; USES CRT; CONST MAX=50; VAR F:TEXT; A:ARRAY[1 MAX,1 MAX] OF REAL; M,N,I,J:BYTE; BEGIN CLRSCR; ASSIGN(F,'INPUT.DAT'); RESET(F); READLN(F,M,N); FOR I:=1 TO M DO BEGIN FOR J:=1 TO N DO READ(F,A[I,J]); READLN(F); END; ASSIGN(F,'OUTPUT.DAT'); REWRITE(F); FOR I:=1 TO M DO BEGIN FOR J:=1 TO N DO WRITE(F,A[I,J]:8:1); WRITELN(F); END; CLOSE(F); WRITE('DA XONG'); READLN; END Câu 17: Viết chương trình sử dụng thuật tốn đệ quy để tính N! với N nhập từ bàn phím PROGRAM BAI_17; USES CRT; VAR N:BYTE; TIEP:CHAR; FUNCTION GT(I:BYTE):LONGINT; BEGIN IF (I=0) THEN GT:=1 ELSE GT:=I*GT(I-1); END; BEGIN CLRSCR; REPEAT REPEAT WRITE('N = '); READLN(N); UNTIL N>=0; WRITELN(N,'! = ',GT(N)); WRITE('CO MUON TIEP TUC KHONG? (C/K): '); READLN(TIEP); UNTIL UPCASE(TIEP)='K'; END Câu 18: Viết chương trình sử dụng thuật tốn đệ quy để tính số hạng thứ N dãy số Fibonaci, với N nhập từ bàn phím PROGRAM BAI_18; USES CRT; VAR TIEP:CHAR; N:BYTE; FUNCTION FIBO(I:BYTE):WORD; BEGIN IF (I=1) OR (I=2) THEN FIBO:=1 ELSE FIBO:=FIBO(I-1)+FIBO(I-2); END; BEGIN CLRSCR; REPEAT WRITE('NHAP VI TRI SO HANG FIBONAXI: '); READLN(N); WRITELN('SO FIBONAXI THU ',N,' = ',FIBO(N)); WRITE('CO MUON TIEP TUC KHONG? (C/K): '); READLN(TIEP); UNTIL UPCASE(TIEP)='K'; END Câu 19: Viết chương trình sử dụng thuật tốn đệ quy để tính tổng phần tử mảng chiều A[1 N] với mảng nhập từ bàn phím PROGRAM BAI_19; USES CRT; CONST MAX=100; VAR A:ARRAY[1 MAX] OF INTEGER; N,I:BYTE; FUNCTION TONG(I:BYTE):LONGINT; BEGIN IF I=0 THEN TONG:=0 ELSE TONG:=A[I]+TONG(I-1); END; BEGIN CLRSCR; WRITE('NHAP SO LUONG PHAN TU CUA MANG: '); READLN(N); FOR I:=1 TO N DO BEGIN WRITE('GIA TRI THU ',I,' = '); READLN(A[I]); END; WRITELN('TONG DAY = ',TONG(N)); READLN; END Câu 20: Viết chương trình sử dụng thuật tốn đệ quy để tính số hạng thứ N dãy số định nghĩa sau: U1=1 ; U2= 2; U3= 3; U4= Với N>4 UN= UN-1 + 2.UN-3 - UN-4 Nếu N chẵn UN= UN-1 + UN-3 Nếu N lẽ Với N nhập từ bàn phím PROGRAM BAI_20; USES CRT; VAR N:BYTE; TIEP:CHAR; FUNCTION SO_HANG(I:BYTE):WORD; BEGIN IF I