Nội dung bài học Bài 5: Từ bài toán đến chương trình dưới đây chúng ta sẽ cùng tìm hiểu về khái niệm bài toán, thuật toán; các bước giải bài toán trên máy tính; cách xác định được Input, Output của một bài toán đơn giản;... Mời các em cùng theo bài học.
Bài toán là một công việc hay một nhiệm vụ cần phải giải quyết.
Ví dụ về bài toán:
Để giải quyết được một bài toán cụ thể, người ta cần xác định bài toán, tức là xác định rõ các điều kiện cho trước và kết quả thu được.
Ví dụ xác định các bài toán sau:
Bài toán 3: Tính diện tích hình tam giác
Ví dụ Bài toán điều khiển rô-bốt nhặt rác:
1. Tiến 2 bước;
2. Quay trái, tiến 1 bước;
3. Nhặt rác;
4. Quay phải, tiến 3 bước;
5. Quay trái, tiến 2 bước;
6. Bỏ rác vào thùng;
Hình 1. Quá trình giải bài toán trên máy tính
Quá trình giải bài toán trên máy tính gồm 3 bước:
Mô tả thuật toán là liệt kê các bước cần thiết để giải một bài toán
Ví dụ 1: Thuật toán pha trà mời khách
Các bước thực hiện để pha trà mời khách:
Ví dụ 2: Thuật toán "Làm món trứng tráng"
Các bước thực hiện để làm món trứng tráng:
Ví dụ 3: Một hình A được ghép từ một hình chữ nhật với chiều rộng 2a, chiều dài b và một hình bán nguyệt ban kính a như hình dưới đây:
Xác định bài toán:
Mô tả thuật toán:
Ví dụ 4: Viết thuật toán tính tổng 100 số tự nhiên đầu tiên
Xác định bài toán:
Mô tả thuật toán:
Mô phỏng thuật toán với số liệu cụ thể:
Bước | 1 | 2 | 3 | 4 | 5 | 6 |
i | 1 | 2 | 3 | 4 | 5 | 6 |
\(i \leq N\) | Đ | Đ | Đ | Đ | Đ | S |
SUM | 1 | 3 | 6 | 10 | 15 | Kết thúc |
Ví dụ 5: Đổi giá trị của hai biến x, y
Xác định bài toán:
Mô tả thuật toán:
Ví dụ 6: Cho hai số thực a, b. Hãy cho biết kết quả so sánh hai số đó dưới dạng "a lớn hơn b", "a nhỏ hơn b" hoặc "a bằng b"
Xác định bài toán:
Mô tả thuật toán:
Ví dụ 7: Tìm số lớn nhất trong dãy A các số: \(a_{1}, a_{2},...,a_{n}\)
Xác định bài toán:
Mô tả thuật toán:
Sau khi học xong Bài 5: Từ bài toán đến chương trình, 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 5 cực hay có đáp án và lời giải chi tiết.
Thứ tự các bước giải bài toán trên máy tính?
Hãy xác đinh bài toán sau: "Tìm số các số chia hết cho 5 trong dãy n số tự nhiên cho trước"?
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é!
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 5để 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 45 SGK Tin học 8
Bài tập 2 trang 45 SGK Tin học 8
Bài tập 3 trang 45 SGK Tin học 8
Bài tập 4 trang 45 SGK Tin học 8
Bài tập 5 trang 45 SGK Tin học 8
Bài tập 6 trang 45 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
Thứ tự các bước giải bài toán trên máy tính?
Hãy xác đinh bài toán sau: "Tìm số các số chia hết cho 5 trong dãy n số tự nhiên cho trước"?
Hãy cho biết kết quả sau khi thực hiện thuật toán sau:
Bước 1. x←x+y;
Bước 2. y← x-y;
Bước 3. x← x-y;
Quá trình giải bài toán trên máy tính gồm có bao nhiêu bước?
Hãy chọn phát biểu Sai?
Hãy chỉ ra INPUT và OUTPUT của các bài toán sau:
a) Xác định số học sinh trong lớp cùng mang họ Trần.
b) Tính tổng của các phần tử lớn hơn 0 trong dãy n số cho trước.
c) Tìm số các số có giá trị nhỏ nhất trong n số đã cho.
Giả sử x và y là các biến số. Hãy cho biết kết quả của việc thực hiện thuật toán sau:
Cho hai biến x và y. Hãy mô tả thuật toán đổi giá trị của các biến nói trên để x và y có giá trị tăng dần.
Cho hai biến x và y. Hãy mô tả thuật toán đổi giá trị của các biến nói trên (nếu cần) để x và y theo thứ tự có giá trị không giảm.
Hãy mô tả thuật toán giải bài toán tính tổng các phần tử của dãy số A= {a1, a2,..., an} cho trước.
Hãy mô tả thuật toán tính tổng các số dương trong dãy số A = {a1, a2,..., an} cho trước.
Họ và tên
Tiêu đề câu hỏi
Nội dung câu hỏi
Viết chương trình tính tổng:
S=\(1+\dfrac{1}{2}+\dfrac{1}{3}+\dfrac{1}{4}+....+\dfrac{1}{n}\)
Câu trả lời của bạn
Var i , n : integer ;
S : real;
Begin
write ( 'n =') ; read (n) ;
S:= 0;
For i:=1 to n do S : = S + 1/i;
Writeln (S);
Readln;
End.
viết chương trình kiểm tra xem 3 số bất kì được nhập từ bàn phím có phải là 3 cạnh của tam giác cân, tam giác đều, tam giác vuông không?
mong mina giúp đỡ ^-^
Câu trả lời của bạn
program tamgiac;
var a,b,c: longint;
begin
write('Nhap canh a= ');readln(a);
write('Nhap canh b= ');readln(b);
write('Nhap canh c= ');readln(c);
if (a>b+c) or (b>a+c) or (c>a+b) then writeln('Day khong phai la ba canh tam giac')
else if (a=b) or(b=c) or (a=c) then writeln('Day la tam giac can')
else if (a=b) and (b=c) then writeln('Day la tam giac dau')
else if (sqr(a)=sqr(b)+sqr(c)) or (sqr(b)=sqr(c)+sqr(a)) or (sqr(c)=sqr(a)+sqr(b)) then writeln('Day la tam giac vuong')
else writeln('Day la tam giac thuong');
readln
end.
các bạn cho mình hỏi đối với diện tich,chu vi các hình thì nên dùng kiểu dữ liệu nào?
Câu trả lời của bạn
kiểu số thực thường là real
Cho hai biến x và y. Hãy mô tả thuật toán đổi giá trị của các biến nói trên (nếu cần) để x và y theo thứ tự có giá trị giảm dần
Câu trả lời của bạn
*Thuật toán :
B1: nhập 2 biến x,y
B2: Nếu x<y tráo đổi gía trị của x và y, chuyển đến bước 3 . Nếu y < x thì 2 số đã theo thứ tự có giá trị không giảm, chuyển đến bước 3
B3: In ra kết qủa x, y và kết thúc thuật toán .
Hãy mô tả thuật toán tính tổng
\(B=\dfrac{1}{1.2}+\dfrac{1}{2.3}+\dfrac{1}{3.4}+...+\dfrac{1}{x\left(x+1\right)}\)
Câu trả lời của bạn
B0:s:=0;i:=0;
B1:Nhập x từ bàn phím;
B2:Nếu i>x thì chuyển tới b4
B3:s:=s+1/i*(i+1);
i:=i+1;
và quay lại b2;
B5: TBKQ và KTTT
Viết chương trình tính tổng sau:
\(S=1+\dfrac{1}{2}+\dfrac{1}{3}+....+\dfrac{1}{x}\)(x là số nguyên nhập từ bàn phím)
Câu trả lời của bạn
Program Tinhtong;
Uses Crt;
Var i, S: longint;
Begin
Clrscr;
Writeln('Nhap so x'); Readln(x);
S:=0;
For i := 2 to x do
S:=S+1/i;
Writeln('Ket qua',S);
Readln;
End.
Câu lệnh nào sau đây hợp lệ:
1, X:=5, while X:=5 do X:=X+5
2,X:=5, while :=5 do X:=X+5
3,X:=5, while X:=5 do X=X+5
4,X:=5; while X:=5 do X:=X+5
Câu trả lời của bạn
Không có câu nào hợp lệ cả
Vì điều kiện ở while do không có phép gán
Viết chương trình tính diện tích S của hình tam giác với độ dài một cạnh a và chiều cao tương ứng h (a và h là các số tự nhiên được nhập vào từ bàn phím )
Câu trả lời của bạn
Program dien_tích_tamgiac;
Var a , h . Read;
Begin
Write ('nhap a ='); Readln (a);
Write ('nhap chieu h ='); Readln (h);
Writeln ('dien tich tam giac la:'S=1/2*a*h:4:2);
Readln;
End.
Mô tả thuật toán tính tổng các số lẻ (chẵn) trong 100 số tự nhiên đầu tiên.
Câu trả lời của bạn
Mô tả thuât toán: chẵn
B1: S<--0; k<--0
B2: k<--k+1
B3: Nếu k <= 100 thì S<--S+2k, chuyển đến bước 2
B4:Thông báo kết quả va kết thúc thuật toán
Lẻ
B1 S<-- 1; k<-- 1
B2 k<-- k+1
B3 Nếu K<=100 thì S<-- S + 2k
B4: Thông báo kết quả và kết thúc thuật toán
ahihi đồ ngốc
Tính Tổng Đ =1/(1+3) + 1/(2+4) + 1/ n+(n+2)
Giúp mình nha ^.^ *_* 0_o
Câu trả lời của bạn
program Tinh_tong;
uses crt;
var n,i:integer; s:real;
begin
clrscr;
write('Nhap n: ');
readln(n);
for i:=1 to n do s:=s+1/(i+i+2);
write('D = ',s);
readln
end.
Viết chương trình in ra màn hình một số nguyên dương kiểm tra xem số đó là số chẵn hay số lẻ Viết chương trình in ra màn hình một số nguyên dương kiểm tra xem số đó là số nguyên tố hay không
Câu trả lời của bạn
program sggw;
uses crt;
var a:integer;
begin
clrscr;
writeln('nhap a'); readln(a);
if a mod 2=0 then writeln('a la so chan') else writeln(' a la so le');
readln;
end.
mô tả thuật toán kiểm tra xem a,b,c có phải là độ dài 3 cạnh của tam giác hay không
Câu trả lời của bạn
uses crt;
var a,b,c: real;
begin
clrscr;
write('Nhap 3 so a, b, c: ');readln(a,b,c);
if (a+b>c)and(a+c>b)and(b+c>a) then
begin
write('3 canh vua nhap la tam giac');
if (a=b)or(b=c)or(a=c) then
begin
if(a=b)and(b=c) then
write(' deu')
else
write(' can');
end;
if (a*a=b*b+c*c)or(b*b=a*a+c*c)or(c*c=a*a+b*b) then
write(' vuong');
end
else
write('3 canh vua nhap ko phai la tam giac');
readln;
1.viết chương trình nhập 2 số a,b và tính tổng 2 số a,b hiên ra màn hình kết quả a+b=c
2.viết chương trình tính diện tích chu vi hình thang với độ dài các cạnh được nhập từ bàn phímCâu trả lời của bạn
2)
Program Cvi_Dtich_Hthang;
Var a, b, c, d, h, S, P : Real;
Begin
writeln ('nhap a');
readln (a);
writeln ('nhap b');
readln (b);
writeln ('nhap c');
readln (c);
writeln ('nhap d');
readln (d);
writeln ('nhap h');
readln (h);
P = a + b + c + d
S = (a + b ) * h / 2
writeln ( 'Chu vi cua hinh thang la, P : 6 : 1);
writeln ( 'Dien tich cua hình thang la, S : 6 : 1);
readln;
readln
End.
(Mk ko bt đúng hết toàn bộ ko nhưg mk nghĩa là đúng >90% !! ^^)
(Mk hi vọng bn sẽ bấm tick cho mk! Mk đã cố gắng hết sức dù chỉ 1 câu!!)
Nếu có j thắc mắc thì bình luận bên dưới cho mk nhé! Thank you!! ^o^
câu 2 : viết chương trình nhập vào một số nguyên tố bất kì , kiểm tra xem số đó là chắn hay lẻ
Câu trả lời của bạn
số nguyên tố ko có số nào là số chẳn cả
Viết chương trình tính số pi với độ chính xác episilon biết:
pi/4= 1-1/3+1/5-1/7+...
Câu trả lời của bạn
Uses Crt;
Const Epsilon=1E-4;
Var Pi,t:real;
i,s:Integer;
Begin
Pi:=4; i:=1; s:=-1;
t:=4/(2*i+1);
While t>Epsilon Do
Begin
Pi:=Pi+s*t;
s:=-s; i:=i+1;
t:=4/(2*i+1);
End;
Writeln('So Pi = ',Pi:0:4);
Readln;
End.
xong rồi đó
Công thức xác định tam giác vuông trong turbo pascal
Câu trả lời của bạn
CT xác định tam giác vuông :
if (a*a = b*b+c*c) or (b*b =a*a+c*c) or (c*c = a*a+b*b) then write('la tam giac vuong');
viết chương trình in ra màn hình diện tích và chu vi hình vuông
help me! mik đag cần gấp! mog mí bạn giúp mik
Câu trả lời của bạn
Câu trả lời của bạn
tính diện tích chu vi hcn với chiều dài và chiều rộng được nhập từ bàn phím. Hãy viết chương trình bài toán trên với chiều dài a và chiều rộng b .
GIÚP EM VỚI HÔM NÀ
tính diện tích chu vi hcn với chiều dài và chiều rộng được nhập từ bàn phím. Hãy viết chương trình bài toán trên với chiều dài a và chiều rộng b .
GIÚP EM VỚI HÔM NÀY EM THI RỒI .MONG ANH CHỊ VÀ CÁC BẠN GIÚP EM !
Y EM THI RỒI .MONG ANH CHỊ VÀ CÁC BẠN GIÚP E
tính diện tích chu vi hcn với chiều dài và chiều rộng được nhập từ bàn phím. Hãy viết chương trình bài toán trên với chiều dài a và chiều rộng b .
GIÚP EM VỚI HÔM NÀY EM THI RỒI .MONG ANH CHỊ VÀ CÁC BẠN GIÚP EM !
tính diện tích chu vi hcn vớ
tính diện tích chu vi hcn với chiều dài và chiều rộng được nhập từ bàn phím. Hãy viết chương trình bài toán trên với chiều dài a và chiều rộng b .
GIÚP EM VỚI HÔM NÀY EM THI RỒI .MONG ANH CHỊ VÀ CÁC BẠN GIÚP EM !
i chiều dài và chiều rộng được nhập từ bàn phím. Hãy viết chương trình bài toán trên với chiều dài a và chiều rộng b .
GIÚP EM VỚI HÔM NÀY EM THI RỒI .MONG ANH CHỊ VÀ CÁC BẠN GIÚP EM !
M !
Câu trả lời của bạn
t với độ dài các cạnh
viết chương trình tính Sviết chương trình tính S và C của hình chữ nhật với độ dài các cạnh nhập từ bàn phím
và C của hình chữ nhật với độ dài các cạnh nhập từ bàn phímnhập từ bàn phímviết chương trình tính S và C của hình chữ nhật với độ dài các cạnh nhập từ bàn phím
0 câu trả lời Tin học lớp 8Lập trình đơn giảnBài 5. Từ bài toán đến chương trình
viết chương trình tính S và
viết chương trình tính S và C của hình chữ nhật với độ dài các cạnh nhập từ bàn phím
C của hình chữ nhật với độ dài các cạnh nhập từ bàn phím
viết chương trình tính S và C của hình chữ nhật với độ dài các cạnh nhập từ bàn phím
hãy mô tả thuật toán bằng phương pháp liệt kê để tìm ra phần tử lớn nhất của 1 dãy bất kì trong số thực.
Câu trả lời của bạn
Thuật toán giải bài toán này có thể được mô tả theo cách liệt kê như sau:
Bước 1. Nhập N và dãy a1,…, aN;
Bước 2. Max := a1, i := 2;
Bước 3. Nếu i > N thì đưa ra giá trị Max rồi kết thúc;
Bước 4.
Bước 5. Nếu ai > Max thì Max := ai;
Bước 6. i := i + 1 rồi quay lại bước 3;
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 *