Bài tập 5.4 Viết chương trình cho phép nhập một dãy gồm n số nguyên. Nhập thêm một số và chèn thêm vào dãy sau phần tử k.
- Dời các phần tử từ vị trí k về sau một bước. - Nhập giá trị cần chèn vào vị trí k.
Program Mang_chen; uses crt; var M: array[1..100] of integer; i,n,k:integer; begin clrscr; write('Nhap : ');readln(n); for i:=1 to n do begin write('M[',i,']='); readln(M[i]); end; write('Vi tri chen: ');readln(k); for i:=n+1 downto k+1 do M[i]:=M[i-1]; write('Nhap so can chen: '); readln(M[k]); for i:=1 to n+1 do write(M[i],', '); readln end. 2. Viết chương trình cho phép nhập n số và cho biết số nhỏ nhất trong các số vừa nhập là số thứ mấy. a.Hướng dẫn: - Dùng biến n để lưu lượng số cần nhập. - Dùng mảng để lưu các số vừa nhập. - Cho Min = M[1], j = 1 (Xem phần tử đầu tiên là bé nhất) - So sánh Min với n-1 số còn lại. Trong quá trình so sánh nếu Min > M[i] thì gán Min = M[i], j=i và tiếp tục so sánh . b.Mã chương trình: Program TIM_NHO_NHAT; uses crt; var n,i,nhonhat:integer; m: array[1..100] of real; min:real; begin write('Nhap n: '); readln(n); for i:=1 to n do begin write('M[',i,']='); readln(m[i]); end; min:=m[1]; nhonhat:=1; for i:=2 to n do if m[i] < min then begin min:=m[i]; nhonhat:=i; end; writeln('phan tu nho nhat la phan tu thu',nhonhat); readln end. 3. Viết chương trình cho phép nhập n số sắp xếp và in ra các số đã nhập theo thứ tự tăng dần.
Program Sap_xep_mang; Var M: array[1..10] of integer; i,j,n: byte; tam: integer; Begin Write('Nhap so phan tu n:');Readln(n); For i:=1 to n do Begin Write('M[',i,']='); Readln(M[i]); End; For i:=1 to n-1 do For j:=i+1 to n do if M[j] <=M[i] then Begin Tam:= M[i]; M[i]:=M[j]; M[j]:=tam; End; Write('Sau khi sap xep: '); For i:=1 to n do Write(M[i],';'); Readln; End. 4. Viết chương trình in dãy n số fibonacy. a.Hướng dẫn: - Sử dụng mảng M để chứa dãy n số fibonacy. Tạo lập hai phần tử đầu tiên là 1, 1. - Cho i chạy từ 3 đến n. M [i] = M[i-1]+M[i-2]. - In n phần tử đầu tiên của mảng. b.Mã chương trình: Program Fibonacy_mang; uses crt; var i,n: integer; m:array[1..100] of longint; begin write('Nhap so phan tu can in:'); readln(n); m[1]:=1; m[2]:=1; for i:=3 to n do m[i]:=m[i-1]+m[i-2]; for i:=1 to n do write(m[i],' ,'); readln end. 5. Viết chương trình in ra màn hình tam giác Pascal. Ví dụ, với n=4 sẽ in ra hình sau: 1 1 1 2 1 1 3 3 1 1 4 6 4 1 ... Hàng thứ n được xác định từ hàng n-1: - Phần tử đầu tiên và phần tử cuối cùng đều bằng 1. - Phần tử thứ 2 là tổng của phần tử thứ nhất và thứ 2 của hàng n-1 - Phần tử thứ k của hàng thứ n là tổng của phần tử thứ k-1 và k của hàng thứ n-1. Thuật toán: Bước 1: Khởi tạo một mảng một chiều n phần tử có giá trị 0. Bước 2: Khởi tạo giá trị cho hàng thứ nhất M[1,1] = 1. Bước 3: - Đối với hàng thứ i tính giá trị phần tử từ phần tử thứ i + 1 xuống phần tử thứ 2: M[j]:=M[j] + M[j-1] |