Bài tập ôn tập môn Tin học Lớp 8
Bài tập 1.4:
Viết chương trình tính diện tích của tam giác có ba cạnh là a,b,c (được nhập từ bàn phím)
a. Hướng dẫn:
- Nhập ba cạnh của tam giác vào ba biến a,b,c.
- Nửa chu vi của tam giác p = (a+b+c)/2.
Bài tập 2.2:
Viết chương trình in ra số lớn nhất trong bốn số nhập từ bàn phím.
a. Hướng dẫn:
Nếu a b và a c và a d thì a là số lớn nhất.
Tương tự như thế xét các trường hợp còn lại để tìm số lớn nhất.
b. Mã chương trình:
Bài tập 1.4: Viết chương trình tính diện tích của tam giác có ba cạnh là a,b,c (được nhập từ bàn phím) a. Hướng dẫn: - Nhập ba cạnh của tam giác vào ba biến a,b,c. - Nửa chu vi của tam giác p = (a+b+c)/2. - Diện tích của tam giác: s =. b. Mã chương trình: Program TAM_GIAC; uses crt; Var a,b,c,p,S: real; Begin clrscr; Write('Nhap canh a:');readln(a); Write('Nhap canh b:');readln(b); Write('Nhap canh c:');readln(c); p:=(a+b+c)/2; S:= sqrt(p*(p-a)*(p-b)*(p-c)); Write('Dien tich tam giac la:',s:10:2); readln end. Bài tập 2.2: Viết chương trình in ra số lớn nhất trong bốn số nhập từ bàn phím. a. Hướng dẫn: Nếu a³ b và a³ c và a³ d thì a là số lớn nhất. Tương tự như thế xét các trường hợp còn lại để tìm số lớn nhất. b. Mã chương trình: Program So_Lon_Nhat_1; Uses crt; Var a,b,c,d: real; Begin Clrscr; Write('Nhap so thu nhat:');readln(a); Write('Nhap so thu hai:');readln(b); Write('Nhap so thu ba:');readln(c); Write('Nhap so thu tu:');readln(d); if (a>=b) and (a>=c) and (a>= d) then writeln('So lon nhat la:',a:10:2); if (b>=a) and (b>=c) and (b>= d) then writeln('So lon nhat la:',b:10:2); if (c>=a) and (c>=b) and (c>= d) then writeln('So lon nhat la:',c:10:2); if (d>=a) and (d>=b) and (d>= c) then writeln('So lon nhat la:',d:10:2); readln end. Bài tập 3.1: Viết chương trình in ra các số chẵn nhỏ hơn hoặc bằng n ( Với n được nhập). a. Hướng dẫn: - Cho biến i chạy từ 1 đến n. - Nếu i chẵn ( i chia 2 dư 0) thì in ra số n. b. Mã chương trình: Program In_So_Le; Uses crt; var i,n: integer; Begin Clrscr; Write('Nhap so n ='); readln(n); For i:=1 to n do if i mod 2 =1 then Write(i:3,','); readln end. Bài tập 3.2: Viết chương trình nhập vào 1 số n. in ra các số lẻ nhỏ hơn hoặc bằng n Sao cho 15 số lẻ được in trên một dòng. a. Hướng dẫn: - Cho j =0. - Cho biến I chạy từ 1 đến n. - Nếu I chẵn ( I chia 2 dư 0) thì in ra số n và tăng j lên 1 - Nếu j chia hết cho 15 thì thực hiện xuống dòng (Dùng Writeln). b. Mã chương trình: Program In_So_Le; Uses crt; var Dem,i,n: integer; Begin Clrscr; Write('Nhap so n ='); readln(n); Dem:= 0; For i:=1 to n do if i mod 2 =1 then Begin Write(i:3,','); Dem:= Dem + 1; if Dem mod 15 = 0 then Writeln; end; readln end. Bài tập 4.1: Viết chương trình nhập vào 1 số n, in ra các số lẻ nhỏ hơn hoặc bằng n ( Với n được nhập). a. Hướng dẫn: - Sử dụng kiến thức số lẻ đầu tiên bằng 1. Số lẻ sau bằng số trước cộng với 2. - Cho biến i có giá trị ban đầu bằng 1. - Dùng vòng lặp while do với điều kiện i < n và công việc bên trong là in i và tăng i lên 2. b. Mã chương trình: Program In_So_Le; uses crt; var i,n:integer; begin clrscr; write('Nhap so n: ');readln(n); i:=1; while i<=n do begin write(i:3,', '); i:=i+2; end; readln end. Bài tập 5.1 Viết chương trình cho phép nhập n số và in ra theo thứ tự ngược lại. Ví dụ nhập 3, 5, 7 thì in ra 7, 5, 3. 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 i chạy từ n về 1 để in các số vừa nhập. b.Mã chương trình: Program mang_1; uses crt; var n, i: integer; M: array[1..100] of real; Begin write('Nhap so n: ');readln(n); for i:=1 to n do Begin write('M[',i,']='); readln(M[i]); end; for i:= n downto 1 do write(m[i],’ ,’); readln end. Bài tập 5.2 Viết chương trình nhập dãy n số và in ra tổng các số lẻ trong dãy số vừa nhập. a. Hướng dẫn: b. Mã chương trình: Program Mang_Tong_Le; uses crt; var i,n:byte; M:array[1..100] of integer; tong:longint; begin write('Nhap so phan tu cua day: ');readln(n); for i:=1 to n do begin write('M[',i,']'); readln(M[i]); end; tong:=0; for i:=1 to n do if M[i] mod 2 =1 then tong:=tong+M[i]; write('Tong cac so le trong day la: ',tong); readln end. Bài tập 5.3 Viết chương trình nhập n số, xoá số thứ k trong n số vừa nhập.In ra n-1 số còn lại. n= 10 (Nhập 10 phần tử) Ví dụ: Nhập 2, 3, 4, 5, 6, 8, 7, 6, 5, 4. k= 8 (Xoá phần tử thứ 8). In ra: 2, 3, 4, 5, 6, 8, 7, 5, 4. a. Hướng dẫn: Xoá phần tử k bằng cách ghi đè phần tử thứ k+1 lên nó. b. Mã chương trình: Program Xoa_mang; uses crt; var m:array[1..100] of integer; n,i,k:byte; begin Write('So phan tu cua day: ');readln(n); for i:=1 to n do Begin write('M[',i,']='); readln(M[i]); end; write('Nhap phan tu can xoa: ');readln(k); for i:=k to n-1 do m[i]:=m[i+1]; for i:=1 to n-1 do write(m[i],', '); readln end. Bài tập 5.4 Viết chương trình cho phép nhậ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. a. Hướng dẫn: - 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. b. Mã chương trình: 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. Bài tập 5.5 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. Bài tập 5.6 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. a. Hướng dẫn: b. Mã chương trình: Program Sap_xep_1; uses crt; var n,i,k,nhonhat:integer; m: array[1..100] of integer; min,tam:integer; begin {--- Nhap mang co n phan tu------} write('Nhap n: '); readln(n); for i:=1 to n do begin write('M[',i,']='); readln(m[i]); end; {---Tim so be nhat --------} for k:=1 to n do begin min:=m[k]; nhonhat:=k; for i:=k+1 to n do if m[i] < min then begin min:=m[i]; nhonhat:=i; end; {----Doi cho m[k] voi m[j] vi m[j] nho nhat -----------} tam:=m[k]; m[k]:=m[nhonhat] m[nhonhat]:=tam; end; {----In mang sau khi sap xep --} for i:=1 to n do write(m[i],', '); readln end.
File đính kèm:
- bai tap tp 8.doc