Nội dung của Bài thực hành 5: Sử dụng lệnh lặp For…Do dưới đây các em sẽ được thực hành về cách viết chương trình Pascal có câu lệnh lặp For..do, thực hành về sử dụng được câu lệnh ghép và rèn luyện kĩ năng đọc hiểu chương trình có sử dụng vòng lặp for...do. Mời các em cùng theo dõi nội dung chi tiết của bài thực hành.
Cú pháp:
For < biến đếm >:= < giá trị đầu > to < giá trị cuối > do
< câu lệnh >;
Trong đó:
Ý nghĩa:
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.
a. 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.
b. Lưu chương trình với tên BANGNHAN.PAS;
c. Dịch và chỉnh sửa các lỗi gõ, nếu có;
d. 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:
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:
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:
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.
Hình 3. Kết quả in ra màn hình các số từ 0 đến 99
Gợi ý làm bài:
Chương trình:
Program Tao_bang;
Uses Crt;
Var
i: byte; {chi so cua hang}
j: byte; {chi so cua cot}
Begin
Clrscr; {xoa man hinh}
For i:=0 to 9 do {viet theo tung hang}
begin
For j:=0 to 9 do {viet theo tung cot tren moi hang}
write(10*i+j:4); {viet cac so ij ra man hinh}
writeln; {xuong hang moi}
end; {xong hang thu i}
readln; {dung chuong trinh de xem ket qua}
end.
Sau khi học xong Bài thực hành 5: Sử dụng lệnh lặp For…Do, các em cần ghi nhớ:
1. Cấu trúc lặp với số lần được biết trước thể hiện bằng lệnh For …do
2. Câu lệnh GotoXY(a,b) có tác dụng đưa con trỏ về cột a, hàng b.
3. Hàm WhereX cho biết số thứ tự của cột đang có con trỏ.
4. Hàm WhereY cho biết số thứ tự của hàng đang có con trỏ.
5. Chỉ sử dụng các lệnh GotoXY, WhereX, WhereY sau khi khai báo thư viện crt của Pascal.
Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 8 Bài thực hành 5 cực hay có đáp án và lời giải chi tiết.
Lệnh lặp For, mỗi lần lặp giá trị của biến đếm thay đổi như thế nào?
Lệnh lặp nào sau đây là đúng?
Câu 3- 5: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!
Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học DapAnHay sẽ hỗ trợ cho các em một cách nhanh chóng!
Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!
-- Mod Tin Học 8 DapAnHay
Lệnh lặp For, mỗi lần lặp giá trị của biến đếm thay đổi như thế nào?
Lệnh lặp nào sau đây là đúng?
Câu lệnh pascal nào sau đây là hợp lệ?
Vòng lặp for ..do là vòng lặp:
Với ngôn ngữ lập trình Pascal câu lệnh lặp for i:=1 to 10 do x:=x+1; thì biến đếm i phải được khai báo là kiểu dữ liệu:
Họ và tên
Tiêu đề câu hỏi
Nội dung câu hỏi
Viết chương trình nhập vào số n. In ra màng hình tổng các số chẵn của n
Câu trả lời của bạn
uses crt;
var n,i,s,dem:integer;
begin
clrscr;
write('nhap n:');readln(n);
s:=0; dem:=0; i:=0;
while dem<=n do
begin
if i mod 2 =0 then
begin
s:=s+i;
dem:=dem+1;
i:=i+1;
end
else i:=i+1;
end;
write(s);
readln;
end.
Câu trả lời của bạn
Lặp với số lần biết trước
for N:=1 to 100 do S:=S+1/(a+N);
writeln(‘Tong S la: ’, S:8:4)
Chúc bạn học tốt nhé !
1. Viết chương trình tìm ước chung lớn nhất của hai số nguyên. In kết quả ra màn hình.
2. Viết chương trình nhập vào n số nguyên dương, tìm số lớn nhất trong các số đó. In kết quả ra màn hình.
Ai giúp mình với ạ
Câu trả lời của bạn
bài 2 nè bạn
uses crt;
var A: array[1..1000000] of longint;
n,i,max:longint;
begin
clrscr;
max:=0;
readln(n);
writeln('moi nhap vao cac so:');
for i:= 1 to n do begin
readln(a[i]);
if max<a[i] then max:=a[i];
end;
writeln('so lon nhat la: ',max);
readln
end.
Câu trả lời của bạn
Câu trả lời của bạn
Viết chương trình tính tích của dãy số sau: P= 1* 1/2* 1/3*....*1/n ( với n là số tự nhiên nhập vào từ bàn phím)
Câu trả lời của bạn
a)Viết chương trình tính tổng 200 số nguyên đầu tiên.
b)Viết chương trình tính tích 30 số nguyên đầu tiên.
Câu trả lời của bạn
a)Viết chương trình tính tổng 200 số nguyên đầu tiên.
program tong;
uses crt;
var s,i:integer;
begin
clrscr;
s:=0;
for i:=1 to 200 do s:=s+i;
write('Tong cua 200 so nguyen dau tien la:',s);
readln
end.
b)Viết chương trình tính tích 30 số nguyên đầu tiên.
program tich10;
uses crt;
var tich,i:integer;
begin
clrscr;
tich:=1;
for i:=1 to 30 do tich:=tich*i;
write('Tich cua 30 so nguyen dau tien la:',tich);
readln
end.
1,viết chương trình tổng, tích của n số tự nhiên
2, viết chương trình yêu cầu người sử dụng nhập vào 1 số trong khoảng từ 1 đến 10 và yêu cầu nhập lại nếu số không thỏa mãn
3, hãy chỉ ra lỗi trong các câu lệnh sau đây
a) X:= 10; while X:=10 do X:= X + 5
b) X:=10; X = 10 do X = X + 5
c) S:= 0; n:= 0; while S <= 10 do n:= n + 1; S:= S + n
Câu trả lời của bạn
bài 1
var i,n,S:longint;
begin
writeln('n=');
readln(n);
S:=0;
i:=0;
for i:=1 to n do
S:=S+n;
writeln('S=',S);
readln
end.
Cách chuyển số nhị phân sang số thập phân nhanh gọn. Bạn nào bt giúp mk vs.
Mk cảm ơn nhiều !
Câu trả lời của bạn
uses crt;
var s:string;
a:array[1..100] of integer;
n,i,k,gt:integer;
begin
clrscr;
write('nhap vao xau nhi phan:');
readln(s);
for i:=1 to length(s) do
if s[i]='1' then
a[i]:=1
else
a[i]:=0;
n:=0;
for i:=1 to length(s) do
begin
gt:=1;
for k:=1 to length(s)-1 do
gt:=gt*2;
n:=n+a[i]*gt;
end;
write('so thap phan la:',n);
readln;
end.
Cho các số N nhập từ bàn phím. Hãy viết chương trìn in ra tổng các số chẵn từ 0 đến N.
Câu trả lời của bạn
program tongnso;
uses crt;
var i,N,S:longint;
begin
Write('Nhap N:');Readln(N);
S:=2;
for i:=2 to N do
begin
if i mod 2 = 0 then S:=S+i;
end;
Write('Tong :',S);
readln
end.
Chúc bạn học tốt ^^
1/ Viết chương trình nhập vào 2 cạnh của một hình chữ nhật.In ra màn hình diện tích và chu vi của nó.
2/ Viết chương trình nhập vào bán kính của hình tròn.In ra màn hình diện tích và chu vi của nó.
3/Viết chương trình tính tổng N số tự nhiên đầu tiên?
4/Viết chương trình tính N! (Với N!= 1*2*3*...*n)
5/ Viết chương trình nhập vào hai số a,b. Kiểm tra tổng của chúng là có phải là số dương và chia hết cho 3 hay không?
Câu trả lời của bạn
1/
Program HCN;
Uses crt;
Var a,b,cv,dt:integer;
BEGIN
Clrscr;
Write(‘Hay nhap chieu dai: ‘); Readln(a);
Write(‘Hay nhap chieu rong: ‘); readln(b);
Cv:=(a+b)*2;
Writeln(‘Chu vi hinh chu nhat la: ‘,cv);
Dt:=a*b;
Writeln(‘Dien tich hinh chu nhat la: ‘,dt);
Readln;
end.
2/
Program Hinh_tron;
Uses crt;
Var r:integer;
Cv,dt:real;
Const pi=3.14;
BEGIN
Clrscr;
Write(‘Hay nhap ban kinh: ‘); Readln(r);
Cv:=2*r*pi;
Writeln(‘Chu vi hinh chu nhat la: ‘,cv:5:2);
Dt:=sqr(r)*pi;
Writeln(‘Dien tich hinh chu nhat la: ‘,dt:5:2);
Readln;
end.
3/
Program tong;
Uses crt;
Var n,s, i:integer;
BEGIN
Clrscr;
Write(‘Hay nhap n: ‘); Readln(n);
S:=0;
For i:= 1 tong do
S:= S+i;
Writeln(‘Tong la: ‘,s);
Readln;
end.
4/
Program tich;
Uses crt;
Var n,i:integer;
S:longint;
BEGIN
Clrscr;
Write(‘Hay nhap n: ‘); Readln(n);
S:=1;
For i:= 1 to n do
S:= S*i;
Writeln(‘Tich la: ‘,s);
Readln;
END.
5/
Program kt_tong;
Uses crt;
Var a,b:integer;
S:longint;
BEGIN
Clrscr;
Write(‘Hay nhap a: ‘); Readln(a);
Write(‘Hay nhap b: ‘); Readln(b);
s:=a+b;
If (s>0) and (s mod 3 = 0) then
Writeln(‘Tong s la so duong chia het cho 3’)
Else
Writeln(‘Tong s khong phai la so duong chia het cho 3');
Readln;
END.
em hãy viết chương trình nhập vào 1 số nguyên n(0<n<3000) và đưa ra màn hình tất cả các ước của nó
Câu trả lời của bạn
Bài này đầy đủ hơn của bạn CTV
program bai1;
n,i:longint;
begin
repeat
write('N= ');readln(n);
until ((n>0) and (n<3000));
write('Tat ca cac uoc cua ',n,' la: ');
for i:=1 to n do
if n mod i=0 then write(i);
readln
end.
.Viết chương trình đếm các số chẵn của N số tự nhiên (N được nhập vào bàn phím).
Câu trả lời của bạn
program bai1;
var s,i,n,d:longint;
begin
write('N= ');
readln(n);
d:=0;
for i:=1 to n do
ifk i mold 2=0 then d:=d+1;
write('S= ',s);
readln
end.
Viết chương trình pascal sử dụng biến mảng để nhập từ bàn phím các phần tử của một dãy số tự nhiên. Số phần tử mảng được nhấp từ bàn phím. In ra màn hình tổng các số lẻ trong mảng.
Câu trả lời của bạn
program Mang_le;
uses crt;
var a:array[1..50] of integer;
i,n,S:integer;
begin
writeln('Nhap vao so phan tu:');
readln(n);
for i:=1 to n do
begin
writeln('a[',i,']=');
readln(a[i]);
end;
for i:=1 to n do if a[i] mod 2=1 then S:=S+a[i];
writeln('Tong cac so le la:',S);
readln
end.
Viết chương trình tính tổng của N số tự nhiên dâu tiên các số chia hết cho 5, không vượt quá N với N nhập từ bàn phím
Câu trả lời của bạn
program bt;
uses crt;
var n,i,kq:integer;
a:array[1..100] of integer;
begin
write(' n = ');readln(n);
for i:=1 to n do
if (i mod 5 = 0) then
begin
i:=kq+i;
end;
write(' tong cac so chia het cho 5 trong n so dau tien la ',kq);
readln;
end.
1. Viết chương trình để tính tổng các số tự nhiên đầu tiên cho đến khi tổng đó bằng 100 thì dừng lại?
2. Viết chương trình nhập điểm kiểm tra học kỳ môn Tin học cho N học sinh và in ra màn hình. Với N và điểm kiểm tra được nhập từ bàn phím (Sử dụng biến mảng)
Câu trả lời của bạn
2.
Program trung_binh;
Uses crt;
Var n, i : integer;
Diem : array[1..50] of real;
Begin
Clrscr;
Write(‘Nhap so luong hoc sinh N = ‘); Readln(n);
Writeln(‘Nhap diem cho tung hoc sinh’);
For i := 1 to n do
Begin
Write(‘Diem HS ‘,i,’ = ‘); readln(Diem[i]);
End;
For i : = 1 to n do
Writeln(‘Diem cua HS ‘,i, ‘ = ‘,diem[i]);
Readln;
End.
Viết chương trình nhập một dãy số nguyên gồm n phần tử từ bàn phím đưa rãi vừa nhập ra màn hình tìm giá trị nhỏ nhất đưa kết quả ra màn hình.
Câu trả lời của bạn
Var z:array[1..1000] of longint;
n, i, min:longint;
Begin
Readln(n);
For i:=1 to n do begin writeln('s',i,'=');
Readln(z[i]);
min:= z[1];
End;
For i:=1 to n do begin if min>z[i] then min:=z[i];
End.;
Writeln('So nho nhat la ',min);
End.
Bạn thử kiểm tra lại nhé!
Tìm số đảo ngược Y của một số X (Y gồm các chữ số của X và viết theo thứ tự ngược lại). Xuất kết quả là số Y mod 19.
Input | Output | Giải thích |
123 | 17 | 321 mod 19 = 17 |
Câu trả lời của bạn
đây chỉ là bài ví dụ cho bạn áp dụng nhé:
var i,j,k,n,m:longint; f1,f2:text; S,St:string; function ktsnt(n:qword):boolean; var k:qword; begin ktsnt:=false; k:=2; if n<2 then exit; if n=2 then ktsnt:=true; while k*k <= n do begin if n mod k = 0 then exit; inc(k); end; ktsnt:=true; end; {---------------------------------------------------------------} function daonguoc(n:qword):boolean; begin str(n,S);St:=''; for i:=length(S) downto 1 do St:=St+S[i]; val(St,k); if ktsnt(k) then daonguoc:=true else daonguoc:=false; end; {---------------------------------------------------------------} begin assign(f1,'daonguoc.inp');reset(f1); assign(f2,'daonguoc.out');rewrite(f2); readln(f1,n,m); for j:=n to m do if daonguoc(j) then writeln(f2,j); close(f1);close(f2);end.
Viết chương trình tính điểm trung bình và xếp hạng
Câu trả lời của bạn
Program Diem_Trung_binh;
Uses Crt;
Var
Ten:String[24];
Van,Toan,Ly,tb:Real;
Begin
Clrscr;
Writeln('TINH DIEM TRUNG BINH VA XEP HANG');
Writeln('--------------------------------');
Write('-Cho biet ho ten: ');
Readln(Ten);
Write('-Cho biet diem mon Van: ');
Readln(Van);
Write('-Cho biet diem mon Toan: ');
Readln(Toan);
Write('-Cho biet diem mon Ly: ');
Readln(Ly);
Tb:=((Van*2)+(Toan*2)+ly)/5;
If tb < 5 Then
Begin
Writeln('+Hoc sinh: ',Ten);
Writeln('+Diem trung binh = ',Tb:4:1);
Writeln('+Xep hang: Hoc luc kem');
End
Else if Tb < 7 Then
Begin
Writeln('+Hoc sinh: ',Ten);
Writeln('+Diem trung binh = ',Tb:4:1);
Writeln('+Xep hang: Hoc luc trung binh');
End
Else if Tb < 9 Then
Begin
Writeln('+Hoc sinh: ',Ten);
Writeln('+Diem trung binh = ',Tb:4:1);
Writeln('+Xep hang: Hoc luc Kha');
End
Else
Begin
Writeln('+Hoc sinh: ',Ten);
Writeln('+Diem trung binh = ',Tb:4:1);
Writeln('+Xep hang: Hoc luc Gioi');
End;
Writeln;
Writeln(' Bam phim <Enter> de ket thuc');
Readln;
End.
viet chuong trình tính tổng từ 0 đến 10
làm nhanh lên tớ đang cần gấp
Câu trả lời của bạn
Program bai1;
uses crt;
var i,n,s: integer;
begin
clrscr;
s:=0;
for i:=1 to 10 do
s:=s+i;
writeln('tong = ' ,s);
readln;
end.
0 Bình luận
Để lại bình luận
Địa chỉ email của hạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *