CÂU 1: Khai báo và tạo ngẫu nhiên 1 mảng gồm n phần tử và tìm phần tử có giá trị lớn thứ 2 / bé thứ 2 của mảng. uses crt; const nmax=100; var mang: array[1 nmax] of integer; n, i, j, tam: integer; begin clrscr; randomize; write ('nhap n'); readln(n); for i:=1 to n do mang[i]:= random(201) - random(201); for i:=1 to n do write( mang[i]:5 ); writeln; for i:=1 to n-1 do for j:=i+1 to n do if mang[i] > mang[j] then begin tam:= mang[i]; mang[i]:= mang[j]; mang[j]:= tam; end; writeln ('gia tri lon thu hai la ', mang[n-1] ); writeln ('gia tri nho thu hai la ', mang[2] ); readln; end. CÂU 3 : Viết chương trình con (THỦ TỤC) để kiểm tra tính nguyên tố của 1 số nguyên (nếu số đó âm thì lấy giá trị tuyệt đối của nó). uses crt; var n: integer; procedure NT(n: integer); var i: integer; kt: boolean; BEGIN if n<0 then n:= abs(n); kt:= true; if n <=1 then kt:=false else for i:=2 to n-1 do if n mod i=0 then kt:= false; if kt=true then write (n,' la so nguyen to') else write (n,' khong la so nguyen to'); END; begin clrscr; write ('nhap n:'); readln(n); NT(n); readln; end. CÂU 4: Viết chương trình con (HÀM) để xuất ra 1 dãy (string) là dãy đảo ngược của 1 dãy cho trước. Uses crt; var st:string; function xaudao (st: string): string; var s: string; i: byte; begin s := ''; for i:= length (st) downto 1 do s := s+ st[i]; xaudao := s; end; begin clrscr; write ('nhap xau:'); readln(st); write ('xau dao nguocla:', xaudao(st)); readln; end. CÂU 5: Viết chương trình con giải và biện luận phương trình bậc 2: với a, b, c là dữ liệu vào. Uses crt; Var a, b, c: real; Procedure GPT(a, b, c: real); Var denta: real; BEGIN; If a = 0 then begin if b=0 then write( 'phuong trinh co vo so nghiem' ) else write ( 'phuong trinh co 1 nghiem la: x= ', -c/b:8:3 ); end Else Begin Denta := b*b - 4*a*c; If denta < 0 then write(' Phuong trinh vo nghiem') Else if denta = 0 then write(' Phuong trinh co nghiem kep: x= ', -b/(2*a):8:3 ) Else Begin Writeln ('phuong trinh co 2 nghiem la: '); Writeln ('x1 = ' , ( -b+sqrt(denta)) / (2*a ):8:3 ); Writeln ('x2 = ' , ( -b-sqrt(denta)) / (2*a ):8:3 ); End; End; END; Begin Clrscr; Write ('nhap 3 so a, b, c: '); readln(a, b, c); GPT(a, b, c); Readln; End.