Bài tập su dung cau lenh lap for do

Bài tâp về vòng lặp for: Bài 1: Tìm tổng bình phương các số từ 1  100? Hướng dẫn giải: Var tong,n:integer; begin tong:=0; For n:=1 to 100 do tong:=tong+ sqr(x); {thực hiện việc cộng thêm vào tổng giá trị của n^2 từ 1 đến 100} Writeln(tong); End. Bài 2 : Lập bảng giá trị cho hàm số y=f(x)=ax 2 +bx+c Hướng dẫn giải: Var x,a,b,c,m,n:integer; Begin Writeln(‘Lan luot nhap cac so a b c’); Read(a,b,c); Writeln(‘Bat dau tu so?’); Read(m); Writeln(‘Den?’); Read(n); Writeln(‘ x y’); For x:=n to n do Writeln(x:10,a*x*x+b*x+c:10); Readln End. Bài 3:Đố vui Trăm bò tăm cỏ Con đứng ăn năm Con nằm ăn ba Con già ba con một bó Mỗi loại mấy con? Hướng dẩn giải: Bằng cách thử các giá trị từ 1 đến 98 lần lượt các giá trị tương ứng của từng số bò For bòđứng:=1 to 98 do For bònằm:=1 to 98 do For bògià:=1 to 98 do If 5* bòđứng+3*bònằm+1/3*bògià=0 then Writeln(bòđứng:3bònằm:3bògià:3); Bài 3:Ghi ra màng hình 1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7 5 6 7 8 6 7 8 9 7 8 9 10 8 9 10 11 9 10 11 12 10 11 12 13 Hướng dẫn Ues crt; Var n:integer; Begin clrscr;{xóa màng hình} for n:=1 to 10 do writeln(n:n,n+1:n+1,n+2:n+2,n+3:n+3); readln end. Bài 4 : Lập bảng cửu chương bang cuu chuong 2x2= 4 3x2= 6 4x2= 8 5x2=10 6x2=12 7x2=14 8x2=16 9x2=18 2x3= 6 3x3= 9 4x3=12 5x3=15 6x3=18 7x3=21 8x3=24 9x3=27 2x4= 8 3x4=12 4x4=16 5x4=20 6x4=24 7x4=28 8x4=32 9x4=36 2x5=10 3x5=15 4x5=20 5x5=25 6x5=30 7x5=35 8x5=40 9x5=45 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36 7x6=42 8x6=48 9x6=54 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49 8x7=56 9x7=63 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64 9x8=72 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81 Hương dẫn uses crt; var a,b :byte; begin clrscr; writeln('bang cuu chuong'); for b:=2 to 9 do begin for a:=2 to 9 do write(a,'x',b,'=',a*b:2,' '); writeln end; readln; end. Bài 5: Tạo đồng hồ đếm giờ bằng nhiều hàm for lồng vào nhau và sử dụng thư viện crt; for h:=0 to 0 do for m:=0 to 2 do for s:=0 to 100 do begin writeln(h,'|',m,'|',s); delay(1000);clrscr; {ngừng 1 giây--} end; Bài 6:Phân tích một số ra thừa số nguyên tố Hướng dẫn program phan_tich_thua_so_nguyen_to; uses crt; var n,x,y:integer; function unn(n:integer):integer; var u:integer ; begin u:=1; repeat u:=u+1; if n mod u =0 then unn:=u; until n mod u =0 ; end; (*---*) begin writeln('Nhap_so'); read(n); repeat write(n:10);writeln(unn(n):10);n:=trunc(n/unn(n)); until n=1; writeln; for y:=1 to 80 do begin write('_');delay(100);end; end. Phần tổng hợp: Bài 1*: Lập phần mềm ‘Giải phương trình bậc một hai ẩn’ Hướng dẫn giải: -Kiến thức lớp 9 có thể giải bằng cách tự lập ra nháp các công thức nghiệm kết hợp với điều kiện; -Kiến thức cấp 3 có thể giải bằng các lập trình gần giống với việc giải và biện luận hệ phương trình với các tham số a,b,c mà ta sẽ sẽ nhập vào, có thể sử dụng chương trình con (procedure) để gỡ rối. Có thể tham khảo bài dưới đây: program giai_he_phuong_hai_an; uses crt; var x,y,a1,a2,b1,b2,c1,c2,Dx,Dy,D:real; (*-----*) Procedure Docheso; begin writeln('a1 b1 c1'); read(a1,b1,c1); writeln('a2 b2 c2'); read(a2,b2,c2); end; (*----*) procedure Dangthuccap2; begin D:=a1*b2-a2*b1; Dy:=a1*c2-a2*c1; Dx:=c1*b2-c2*b1; end; (*----*) begin {clrscr;} docheso; if (a1*a1+b1*b1=0) or (a2*a2+b2*b2=0) then Writeln('MATH ERROR') else dangthuccap2; {begin} if D=0 then begin if (Dx=Dy)and(Dy=0) then begin writeln('Tap nghiem cua phuong trinh la {x; (',c1:18,'-',a1:18,'x)/',b1:18);readln;end else begin writeln('Phuong trinh vo nghiem');readln end; end else Begin x:=Dx/D; y:=Dy/D; writeln('Tap nghiem cua phuong trinh: x=',x:18); writeln(' y=',y:18);readln end;readln {end;} end. Bài sẽ cập nhật và sửa đổi thường xuyên . Bài tâp về vòng lặp for: Bài 1: Tìm tổng bình phương các số từ 1  100? Hướng dẫn giải: Var tong,n:integer; begin tong:=0; For n:=1 to 100. số bò For bòđứng:=1 to 98 do For bònằm:=1 to 98 do For bògià:=1 to 98 do If 5* bòđứng+3*bònằm+1/3*bògià=0 then Writeln(bòđứng:3bònằm:3bògià:3); Bài 3:Ghi

Xem thêm: Bài tập về vòng lặp for, Bài tập về vòng lặp for

Khi thực hiện, biến đếm sẽ nhận giá trị là giá trị đầu, sau mỗi vòng lặp, biến đếm sẽ tự động tăng thêm một đơn vị cho đến khi bằng giá trị cuối thì dừng lại.

b. Thực hành

Bài 1. Viết chương trình in ra màn hình bảng nhân của một số từ 1 đến 9, số được nhập từ bàn phím và dừng màn hình để có thể quan sát kết quả.
  1. Khởi động Pascal. Gõ chương trình sau và tìm hiểu ý nghĩa của từng câu lệnh trong chương trình;

uses crt;

var N,i:integer;

begin

clrscr;

write('Nhap so N=');

readln(N);

writeln;

writeln('Bang nhan ',N);

writeln;

for i:=1 to 10 do

writeln(N,' x ', i:2,' = ',N*i:3);

readln;

end.

  1. Lưu chương trình với tên BANGNHAN.PAS;
  1. Dịch và chỉnh sửa các lỗi gõ, nếu có;
  1. Chạy chương trình với các giá trị nhập vào lần lượt bằng 1, 2, …,10. Quan sát kết quả nhận được trên màn hình.

Gợi ý làm bài:

Kết quả in ra màn hình:

.png)

Hình 1. Kết quả in ra màn hình bảng nhân 6

Nhận xét kết quả trên:

  • Các hàng kết quả sát nhau khó đọc;
  • Các hàng kết quả không được cân đối với hàng tiêu đề.
Bài 2. Chỉnh sửa chương trình để làm đẹp kết quả trên màn hình như hình dưới đây:

.jpg)

Hình 2. Kết quả in ra màn hình bảng nhân 7

Gợi ý làm bài:

Chương trình:

uses crt;

var N,i:integer;

begin

clrscr;

write('Nhap so N='); readln(N);

writeln;

writeln('Bang nhan ',N);

writeln;

for i:=1 to 10 do

begin

GotoXY(5,WhereY);

writeln(N,' x ',i:2,' = ',N*i:3);

writeln;

end;

readln

end.

Các câu lệnh được thêm vào:

  • Writeln; => Tạo một hàng trống tại vị trí con trỏ.
  • GotoXY(a,b); => Đưa con trỏ về cột a hàng b.
  • Lệnh GotoXY(5, whereY); => Đưa con trỏ về vị trí cột 5 của hàng hiện tại.
  • WhereY => Cho biết thứ tự của hàng đang có con trỏ.

Lưu ý: Chỉ sử dụng được các lệnh GotoXY(a,b), WhereX, WhereY sau khi đã khai báo thư viện crt; của Pascal.