1. Trang chủ
  2. » Giáo án - Bài giảng

bai tap pascal co ban

20 71 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

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

Ngày đăng: 07/01/2020, 15:25

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w