Nội dung bài học Bài 6: Câu lệnh điều kiện dưới đây chúng ta sẽ cùng nhau tìm hiểu về cấu trúc rẽ nhánh trong lập trình; cú pháp, hoạt động của các câu lệnh điều kiện dạng thiếu và dạng đủ trong Pascal;... Mời các em cùng theo dõi bài học.
Ví dụ về hoạt động phụ thuộc điều kiện:
Từ "nếu" trong các câu trên được dùng để chỉ một "điều kiện" và các hoạt động tiếp theo sau sẽ phụ thuộc vào điều kiện đó
Tóm lại: Có những hoạt động chỉ được thực hiện khi một điều kiện cụ thể được xảy ra.
Xét tính đúng hoặc sai của điều kiện trong các ví dụ về hoạt động phụ thuộc điều kiện ở phần 1:
Điều kiện | Kiểm tra | Kết quả | Hoạt động tiếp theo |
Trời mưa? | Long nhìn ra ngoài và thấy trời mưa | Đúng | Long ở nhà (không đi đá bóng) |
Em bị ốm? | Buổi sáng thức dậy, em thấy mình hoàn toàn khỏe mạnh | Sai | Em tập thể dục buổi sáng như thường lệ |
Bảng 1. Minh họa tính đúng hoặc sai của điều kiện
Ví dụ trong Tin học:
Hình 1. Ví dụ trong Tin học về tính đúng hoặc sai của điều kiện
Nếu chọn đúng thì chương trình dừng lại, chọn sai chương trình chạy tiếp.
Để so sánh ta thường sử dụng các kí hiệu toán học như: <, >, =, <>, <=, >=.
Ví dụ 1: Nếu a > b, phép so sánh đúng thì in giá trị của a ra màn hình; ngược lại, in giá trị của b ra màn hình (có nghĩa là phép so sánh cho kết quả sai).
1.4. Cấu trúc rẽ nhánh
Ví dụ 2: Một hiệu sách thực hiện đợt khuyến mãi lớn với nội dung sau: Nếu mua sách với tổng số tiền ít nhất là 100 nghìn đồng, khách hàng sẽ được giảm 30% tổng số tiền phải thanh toán.
Mô tả hoạt động tính tiền cho khách:
Ví dụ 3: Trong ví dụ 2, chúng ta biết rằng nếu tổng số tiền không nhỏ hơn 100 nghìn đồng, khách hàng sẽ được giảm 30% tổng số tiền phải thanh toán. Giả sử thêm vào đó, cửa hàng giảm 10% cho những khách chỉ mua với tổng số tiền không đến 100 nghìn đồng.
Mô tả hoạt động tính tiền cho khách:
LƯU Ý:
Hình 2. Cấu trúc rẽ nhánh dạng thiếu
Hình 3. Cấu trúc rẽ nhánh dạng đủ
Cú pháp:
If < Điều kiện > then
< Câu lệnh >;
Hoạt động: Chương trình sẽ kiêm tra điều kiện. Nếu điều kiện được thoã mãn, chương trình sẽ thực hiện câu lệnh sau từ khoá then, ngược lại câu lệnh đó bị bỏ qua.
Cú pháp:
If < Điều kiện > then
< Câu lệnh 1 >
Else
< Câu lệnh 2 >;
Hoạt động: Chương trình sẽ kiểm tra điều kiện. Nếu điều kiện được thoã mãn, chương trình sẽ thực hiện câu lệnh 1 sau từ khoá then, ngược lại câu lệnh 2 sẽ được thực hiện.
Giả sử cần viết chương trình nhập một số tự nhiên vào máy tính và ghi ra màn hình kết quả số đã nhập là số chẵn hay lẻ, chẳng hạn "5 là số lẻ", "8 là số chẵn". Hãy mô tả các bước của thuật toán để giải quyết bài toán trên và viết chương trình Pascal để thực hiện thuật toán đó.
Gợi ý giải chi tiết:
Xác định bài toán:
Mô tả thuật toán:
Hãy mô tả thuật toán nhập ba số thực A, B và C từ bàn phím vào máy tính, sau đó kiểm tra ba số đó có thể là các cạnh của tam giác đều, tam giác cân hoặc tam giác vuông hay không và ghi kết quả ra màn hình.
Gợi ý giải chi tiết:
Xác định bài toán:
Mô tả thuật toán:
Sau khi học xong Bài 6: Câu lệnh điều kiện, các em cần ghi nhớ:
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 6 cực hay có đáp án và lời giải chi tiết.
Trong Pascal, câu lệnh điều kiện nào sau đây được viết đúng?
Câu lệnh điều kiện dạng đầy đủ là:
Hãy cho biết giá trị của biến X bằng bao nhiêu sau khi thực hiện câu lệnh:
if (45 mod 3 ) = 0 then X :=X+2;
( Biết rằng trước đó giá trị của biến X = 5)
Câu 4- 10: 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é!
Các em có thể xem thêm phần hướng dẫn Giải bài tập Tin học 8 Bài 6để giúp các em nắm vững bài học và các phương pháp giải bài tập.
Bài tập 1 trang 50 SGK Tin học 8
Bài tập 2 trang 50 SGK Tin học 8
Bài tập 3 trang 51 SGK Tin học 8
Bài tập 4 trang 51 SGK Tin học 8
Bài tập 5 trang 51 SGK Tin học 8
Bài tập 6 trang 51 SGK Tin học 8
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
Trong Pascal, câu lệnh điều kiện nào sau đây được viết đúng?
Câu lệnh điều kiện dạng đầy đủ là:
Hãy cho biết giá trị của biến X bằng bao nhiêu sau khi thực hiện câu lệnh:
if (45 mod 3 ) = 0 then X :=X+2;
( Biết rằng trước đó giá trị của biến X = 5)
Ta có 2 lệnh sau:
x:= 8;
if x>5 then x := x +1;
Giá trị của x là bao nhiêu?
Các câu lệnh Pascal nào sau đây được viết đúng?
Để tìm giá trị lớn nhất của 2 số a, b thì ta viết:
If ... Then ... Else là:
IF a>8 THEN b:=3 ELSE b:=5;
Khi a nhận giá trị là 0 thì b nhận giá trị nào?
Chọn câu lệnh Pascal hợp lệ trong các câu sau:
Cấu trúc rẽ nhánh có mấy loại?
Em hãy nêu một vài ví dụ về các hoạt động hằng ngày phụ thuộc vào điều kiện.
Hãy cho biết các điều kiện hoặc phép so sánh sau đây cho kết quả đúng hay sai:
a) 123 là số chia hết cho 3.
b) Nếu ba cạnh a, b và c của một tam giác thỏa mãn c2 = a2 + b2 thì tam giác đó có một góc vuông.
c) 152 > 200.
d) x2 < 1.
Hai người bạn cùng chơi trò đoán số. Một người nghĩ trong đầu một số tự nhiên nhỏ hơn 10. Người kia đoán xem bạn đã nghĩ số gì. Nếu đoán đúng, người đoán sẽ được cộng thêm 1 điểm, nếu sai sẽ không được cộng điểm. Luân phiên nhau nghĩ và đoán. Sau 10 lần, ai được nhiều điểm hơn, người đó sẽ thắng.
Hãy phát biểu quy tắc thực hiện các điều kiện ở trò chơi. Hoạt động nào sẽ được thực hiện, nếu điều kiện của quy tắc đó thoả mãn? Hoạt động nào sẽ được thực hiện, nếu điều kiện của quy tắc đó không thoả mãn?
Một trò chơi máy tính rất hứng thú đối với các em nhỏ là hứng trứng. Một quả trứng rơi từ một vị trí ngẫu nhiên trên cao. Người chơi dùng các phím mũi tên \(\rightarrow\) hoặc \(\leftarrow\) để điều khiển một biểu tượng chiếc khay di chuyển theo chiều ngang để hứng quả trứng. Nếu hứng trượt, quả trứng bị rơi, vỡ và người chơi tiếp tục di chuyển khay để hứng quả trứng khác.
Điều kiện để điều khiển chiếc khay trong trò chơi là gì? Hoạt động nào sẽ được thực hiện, nếu điều kiện đó thỏa mãn? Hoạt động nào sẽ được thực hiện, nếu điều kiện đó không thỏa mãn?
Các câu lệnh Pascal sau đây được viết đúng hay sai?
a) if x:=7 then a=b;
b) if x>5; then a:=b;
c) if x>5 then; a:=b;
d) if x>5 then a:=b; m:=n;
e) if x>5 then a:=b; else m:=n;
f) if n>0 then begin a:=0; m:=-1 end else c:=a;
Sau mỗi câu lệnh sau đây:
a) if (45 mod 3)=0 then X:=X+1;
b) if X>10 then X:=X+1;
giá trị của biến X sẽ là bao nhiêu, nếu trước đó giá trị của X bằng 5?
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ố tiền N đồng sau đó đổi số tiền trên thành các tờ tiền 5000,2000,1000 sao cho số tiền là ít nhất
Mong các bạn giúp mình . Cảm ơn nhiều
Câu trả lời của bạn
Program Đổi_Tiền;
var
loai5000,loai2000,loai1000,m,n: integer;
write('nhap so tien can doi :'); readln(n);
M:=n;
loai5000:= n div 5000; n:=n-loai5000*5000;
if n<>0 then
begin
loai2000 :=n div 2000; n:=n-loai2000*2000;
if n<>0 then
begin
loai1000:=n div 1000 ; n:=n-loai1000*1000;
end;
writeln(M , 'doi duoc thanh :' ,loai5000,' to 5000,' ,loai2000,' to 2000 ,' ,loai1000,' to 1000 ,');
readln;
end.
Viết chương trình giải phương trình bậc nhất ax+b=0. Với a, b được nhập từ bàn phím
Câu trả lời của bạn
program Phuong_trinh_bac_nhat;
uses crt;
var a,b : real;
begin
clrscr;
write ('Nhap so a:'); readln(a);
write ('Nhap so b:'); readln(b);
if (a<>0) then writeln ('Nghiem cua phuong trinh la:', -b/a);
if (a=0) and (b=0) then writeln ('Phuong trinh co vo so nghiem');
if (a=0) and (b<>0) then writeln ('Phuong trinh vo nghiem');
readln
end.
Viết chương trình nhập một số khác không từ bàn phím và thông báo ra màn hình số vừa nhập là số dương hay số âm?
Câu trả lời của bạn
uses crt;
var n:integer;
begin
clrscr;
repeat
writeln('nhap vao mot so bat ki la');readln(n);
until n<>0;
if n>0 then writeln('day la so duong')
else writeln('day la so am');readln;end.
Viết chương trình xét xem một tam giác có là tam giác cân hay không khi biết ba cạnh của tam giác (gợi ý: nếu a=b hoặc b=c hoặc a=c thì tam giác đó là tam giác cân và ngược lại)
Câu trả lời của bạn
Program bai_tap;
Uses crt;
var a,b,c: real;
Begin
clrscr;
Write ('nhap do dai canh a =') ; Readln(a);
Write('nhap do dai canh b=') ; Readln(b);
Write('nhap do dai canh c=') ; Readln(c);
If (a=b) and (b=c) and (a=c) then writeln ('day la tam giac can');
Else writeln (' day khong phai la tam giac can');
Readln;
End.
Chúc bạn hc tốt =))
viết chương trình giải bài toán cổ: a trâu b cỏ, trâu đứng ăn năm. trâu năm ăn 3, ba trâu già ăn 1. Hỏi có bao nhiêu trâu đứng, bao nhiêu trâu nằm, bao nhiêu trâu già
Câu trả lời của bạn
Program ConTrau;
Uses Crt;
Var i,j,k:byte;
Begin
Clrscr;
Textcolor(Green);
For i:=1 to 20 do
For j:=1 to 33 do
begin
k:=100-i-j;
if 5*i+3*j+k/3 = 100 then
Writeln('Trau dung ',i,' trau nam ',j,' trau gia ',k);
end;
Readln
End.
Giả sử cần Viết chương trình nhập một số tự nhiên và máy tính và in ra màn hình kết quả số đề nhập là số chẵn hay số lẻ chẳng hạn 5 là số lẻ 8 là số chẵn Hãy mô tả các bước của thuật toán để giải quyết bài toán trên và viết chương trình Pascal để thực hiện thuật toán đó
Câu trả lời của bạn
program b1;
uses crt;
var N:longint;
begin
clrscr;
writeln('Nhap so nguyen bat ki');read(N);
if (N mod 2=0) then write(N,' la so chan)
else write(N,' la so le);
readln
end.
Viết chương trình về ví dụ 3 (SGK Tin học - 48)
Câu trả lời của bạn
uses crt;
var a,b:integer;
T:real;
begin
clrscr;
write('Nhap don gia:'); readln(a);
write('Nhap so luong:'); readln(b);
T:=a*b;
if T>=100000 then T:=T*0.7 else T:=T*0.9;
writeln('So tien phai tra:',T);
readln;
end.
program Tinh_tien;
uses crt
var a,b:integer;
T:real;
begin
clrscr;
writeln('Nhap don gia:',a);readln(a);
writeln('Nhap so luong:',b);readln(b);
T:=a*b;
if T>=100000 then T:=T*0.7 else T:=T*0.9
writeln('So tien phai tra:',T);
readln
end.
Cho 2 số nguyên dương a và b, tính tổng hiệu tích thương của 2 số đó
làn ơn giúp mình với TT
Câu trả lời của bạn
program tinh;
uses crt;
var a,b,tong,hieu,tich:integer;
thuong:real;
begin
clrscr;
write('nhap so nguyen duong a:');readln(a);
write('nhap so nguyen duong b:');readln(b);
tong:=a+b;
if a>=b then hieu:=a-b else hieu:=b-a;
tich:=a*b;
if a>=b then thuong:=a/b else thuong:=b/a;
writeln('tong la:',tong);
writeln('hieu la:',hieu);
writeln('tich la:',tich);
writeln('thuong la:',thuong:0:2);
readln;
end.
chúc bạn học tốt!!
viết chương trình nhập vào 1 số nguyên x kiểm tra xem số đó có chia hết cho 2 hay không
Câu trả lời của bạn
var x:longint;
begin
write('nhap vao so x=');readln(x);
if (x mod 2=0) then writeln('x chia het cho 2')
else
writeln('x khong chia het cho 2');
readln;
end.
Nêu hoạt động của câu lệnh dạng thiếu và dạng đủ. Giúp mk nha
Câu trả lời của bạn
-hoạt động của câu lệnh dạng thiếu là chương trình sẽ kiểm tra,nếu điều kiện đúng ,chương trình sẽ thực hiện , nếu điều kiện sai sẽ bỏ qua và kết thúc
-hoạt động của câu lệnh dạng đủ là chương trình sẽ kiểm tra điều kiện , nếu đúng thì chương trình thực hiện câu lệnh 1 , ngược lại chương trình sẽ thực hiện câu lệnh 2
Viết chương trình nhập 3 số và so sánh số nào lớn nhất, xét 4 trường hợp: a lớn nhất, b lớn nhất, c lớn nhất, a=b=c
Xác định bài toán và mô tả thuật toán luôn giúp mình ạ! Mình xin cảm ơn nhiều ạ! Nếu có thể mình sẽ cố gắng nhờ các CTV tặng Gp cho câu trả lời đúng.
duong nguyenvan, VĂN LƯƠNG NGỌC DUYÊN, Đặng Quỳnh Ngân, Phạm Thanh Tường, ... Và các bạn khác giúp mình với :((
Câu trả lời của bạn
program thefirstprograms;
uses crt;
var a,b,c:longint;
begin
clrscr;
write('Nhap so thu nhat ');readln(a);
write('Nhap so thu hai ');readln(b);
write('Nhap so thu ba ');readln(c);
if (a>b) and (a>c) then writeln(a,' la so lon nhat')
else if (b>a) and (b>c) then writeln(b,' la so on nhat')
else if (c>a) and (c>b) then writeln(c,' la so lon nhat')
else (a=b=c) then writeln('Ba so bang nhau');
readln
end.
1. Vt chương trình nhập vào năm sinh của 1 ng và cho biết ng đó đã đủ tuổi để vào đại học chưa ( biết rằng vào đại học khi 18 tuổi trở lên).
2. Vt chương trình nhập vào một số nguyên từ bàn phím và thông báo đó là số nguyên âm hay nguyên dương.
3. Vt chương trình nhập vào hai số bất kì từ bàn phím, thông báo cho biết số nào lớn hơn.
4. Vt chương trình nhập vào một số nguyên từ bàn phím, thông báo số vừa nhaajplaf chẵn hay số lẻ.
5. Vt chương trình nhập vào điểm trung bình của ba môn Toán, Văn, Tiếng Anh cho biết ng đó có đậu vào lớp 10 hay k, biết rằng điểm chuẩn vào lớp 10 là 20 điểm.
Câu trả lời của bạn
5.
Program bai5;
uses crt;
var t,v,a,dtb: real;
begin
clrscr;
repeat
write('nhap diem toan ='); readln(t);
write('nhap diem van ='); readln(v);
write('nhap dien anh ='); readln(a);
until (t>=0) and (v >=0) and (a >=0);
dtb:=(t+v+a)/3;
writeln('dien trung binh la :' ,dtb:4:2);
if dtb <=20 then writeln('khong dau lop 10 ') else
writeln('dau lop 10 ');
readln;
end.
không biết có đúng không nữa.
1. Viết chương trình tính tổng các số lẻ từ 1 đến N (N là số nhập từ bàn phím).
2. Viết chương trình tính tổng các số chẵn từ 1 đến N (N là số nhập từ bàn phím).
Câu trả lời của bạn
1...
program bai1;
var s,i,n:longint;
begin
write('N= ');
readln(n);
s:=0;
for i:=1 to n do
if i mod 2<>0 then s:=s+i;
write('s= ',s);
readln
end.
Cho biết số tự nhiên n (n>= 3) là số Py-ta-go nếu n^2=(n-)^2+(n-2)^2.Viết chương trình kiểm tra xem một số tự nhiên có phải là số Py-ta-go hay không
Câu trả lời của bạn
if (n*n)=((n-1)*(n-1))+((n-2)*(n-2)) then { n là số pytago} else { n không phải là số pytago}
viết chương trình nhập vào 3 số nguyên a,b,c.Kiểm tra xem 3 số đó có là các cạnh của một tam giác và thuộc kiểu tam giác gì ?
Câu trả lời của bạn
Program Kiem_tra;
uses crt;
var a,b,c: real;
begin
clrscr;
write('nhap canh a =');
readln(a);
write('nhap canh b =');
readln(b);
write('nhap canh c =');
readln(c);
if (a+b < c) or (a+c <b) or (c+b <a) then
writeln('khong phai ba canh cua tam giac ');
else
if ( a = b) and (b=c) then
writeln('la tam giac deu ')
else
if ( a= b ) or (b=c) or (a=c) then
if (a*a=b*b+c*c) or (b*b=a*a+c*c) or (c*c=a*a+b*b) then
writeln('la tam giac vuong can')
else writeln('la tam giac can')
else
if ( a*a =b*b+c*c) or (b*b=a*a+c*c) or (c*c=a*a+b*b) then
writeln('la tam giac vuong')
else writeln('la tam giac thuong);
readln;
end.
cho biết cú pháp câu lệnh điều kiện và hoạt động của nó với hai dạng thiếu và đủ
Câu trả lời của bạn
- Dạng thiếu:
if <điều kiện> then <câu lệnh>
- Dạng đủ:
if <điều kiện> then <câu lệnh 1>
else <câu lệnh 2>
Viết chương trình tính điểm trung bình nếu ĐTB >= 5.0 thì đậu <5.0 thì rớt .
Giúp mình với !!!!!!
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.
Xác định bài toán tìm x biết ax+b=0
Câu trả lời của bạn
B1: Nhập a,b.
B2: Nếu a<>0 thì x=-b/a và kết thúc ngược lại thì đi tiếp.
B3: Nếu b=0 thì phương trình vô số nghiệm ngược lại thì phương trình vô nghiệm.
Thuật toán
Bước 1: Tính tổng số tiền T khách hàng đã mua sách.
Bước 2: Nếu T_> 100000, số tiền phải thanh toán là 70% *T; Ngược lại, số tiền phải thanh toán là 90%*T
Bước 3: In hóa đơn
Dựa vào thuật toán viết chương trình in kết quả ra màn hình sử dụng câu lệnh điều kiện IF
Giúp zum nhenk dag cần gấp lấm!!!!!!!!!!!!!!!
Câu trả lời của bạn
Program bai1;
uses crt;
var T: real;
begin
clrscr;
write('nhap T ='); readln(T);
if T > 10000 then writeln('so tien thanh toan la : ' ,0.7*T:4:2 ,' VND')
else
writeln('so tien thanh toan la :' ,0.9*T:4:2 , ' VND');
readln;
end.
Viết chương trình tính tổng các số chia hết cho 3 của 1...n số nguyên. Với n nhập từ bàn phím .
VD: n=10 ( các số 1,2,3,4,5,6,7,8,9,10) thì kết quả là 18.
Câu trả lời của bạn
Program tinhtong;
uses crt;
var i, SUM, N : integer; Begin
Clrscr;
Write('Nhap N: '); Readln(n);
SUM := 0; For i:=1 to N do if (i mod 3 = 0) then SUM:= SUM + i;
Write('Tong la: ', SUM);
Readln;
End.
Tick bạn ơi.
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 *