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
BÀI 1 : XÁC ĐỊCH INPUT , OUTPUT VÀ VIẾT CHƯƠNG TRÌNH NHẬP 3 SỐ DƯƠNG a,b,c TỪ BÀN PHÍM . KIỂM TRA VÀ IN RA MÀN HÌNH KẾT QUẢ KIỂM TRA 3 SỐ ĐÓ CÓ THỂ LÀ ĐỘ DÀI CÁC CẠNH CỦA 1 TAM GIÁC HAY KHÔNG ?
BÀI 2 : VIẾT CHƯƠNG TRÌNH NHẬP VÀO 1 THÁNG BẤT KÌ TRONG NĂM . HÃY CHO BIẾT THÁNG ĐÓ THUỘC MÙA NÀO TRONG NĂM ( VIẾT DẠNG MÙA ĐÔNG GỒM CÓ THÁNG 11,12,1 ; MÙA HẠ GỒM THÁNG 5,6,7 ; MÙA THU GỒM THÁNG 8,9,10 ; MÙA XUÂN GỒM THÁNG 1,2,3 )
BÀI 3 : VIẾT CHƯƠNG TRÌNH NHẬP VÀO THỨ TỰ CÁC NGÀY TRONG TUẦN . HÃY CHO BIẾT ĐÓ LÀ NGÀY THỨ MẤY ? (VD : SỐ THỨ TỰ LÀ 1 THÌ SẼ LÀ NGÀY THỨ HAI ,..., SỐ THỨ TỰ LÀ 7 THÌ SẼ LÀ NGÀY CHỦ NHẬT )
HELP ME PLEASE !! CẦN RẤT RẤT GẤP :(((
Câu trả lời của bạn
Bài 1 Đơn giản tự lm nha
Bài 2
program abcxyz;
uses crt;
var N:integer;
begin
write('Nhap thang:'); readln(N);
If (N=1) or (N=11) or (N=12) then write ('Mua dong');
If (N=5) or (N=6) or (N=7) then write('Mua ha');
If (N=8) or (N=9) or (N=10) then write('Mua thu');
If (N=1) or (N=2) or (N=3) then write('Mua xuan');
readln
end.
Bài 3
program abcxyz;
uses crt;
var N:integer;
begin
Write('Nhap so thu tu ngay:');readln(N)
If N=1 then write('Thu hai');
If N=2 then write('Thu ba');
If N=3 then write('Thu tu');
If N=4 then write('Thu nam');
If N=5 then write('Thu sau');
If N=6 then write('Thu bay');
If N=7 then write('Chu nhat');
readln
end.
Lần sau đăng từng bài nha đừng đăng nhiều quá k ai làm đâu nha bạn
Chúc bạn học tốt ^^
viết chương trình nhập vào 1 số nguyên n từ bàn phím, in ra màn hình tổng các số lẻ nhỏ hơn hoặc bằng n
Câu trả lời của bạn
uses crt;
var n,i,tong:integer;
begin
clrscr;
write('nhap so nguyen n:');readln(n);
for i:=1 to n do
if i mod 2<>0 then tong:=tong+i;
write('tong cac so le nho hon hoac bang n la:',tong);
readln;
end.
* có thể thay "if i mod 2<>0" bằng
"if i mod 2=1", cách nào cũng đúng nhé bn
viết 1 chương trình để pascal biểu thị và tính toán được kết quả sau:
-nhập số a
-nhập số b
-tính tổng a+b
-tính hiệu a-b
-tính tích a+b
mọi người giúp em với em không rành về cái này, mọi người giúp em với ạ, em cảm ơn!
Câu trả lời của bạn
Program Tinhtoan;
Uses crt;
Var
a,b,tong,tich,hieu:Integer;
Begin
Write('Nhap so a ');
Readln(a);
Write('Nhap so b ');
Readln(b);
tong:=a+b;
hieu:=a-b;
tich:=a*b;
Writeln('Tong 2 so la',tong);
Writeln('Hieu 2 so la',hieu);
Writeln('Tich 2 so la',tich);
Readln;
End.
Câu2) xây dựng thuật toán giải phương trình bậc nhất 2.x=b=O
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.
Câu 1)Xây dựng thuật toán: tên bội chung nhỏ nhất 2 số nguyên dương
Câu trả lời của bạn
Nhập vào 2 số A và B
Bội chung nhỏ nhất của A và B chính là Thương của A * B với ước chung lớn nhất của A và B
Ở đây bạn không nói bạn làm bằng ngôn ngữ gì nên mình không thể post code lên được. Mình viết theo cách mình hiểu thôi nha.
Đầu Tiên nhập A và B
gọi P = A*B
while ( a khác b)
nếu a > b
a = a - b
ngược lại
b = (b - a)
end while
lúc này A=B là ước chung lớn nhất của A, B lúc đầu
bội chung nhỏ nhất bẳng P\A
Viết chương trình bằng ngôn ngữ Pascal thực hiện: tính tổng n số nguyên với n được nhập từ bàn phím, giúp mik nha, mik đang cần gấp, mai thi rồi
Câu trả lời của bạn
Viết chương trình tính tổng \(S=\sqrt{1+\sqrt{2+\sqrt{3+...+\sqrt{\left(n-1\right)+\sqrt{n}}}}}\)
Câu trả lời của bạn
cái này mới đúng nha :P
Program bai1;
uses crt;
var n , i ,s: longint;
begin
clrscr;
write('nhap so n ='); readln(n);
for i:= 1 to n do
s:=s+sqrt((i-1)+sqrt(i));
writeln('tong s = ' ,s:4:2);
readln;
end.
1. Xác định bài toán và mô tả thuật toán: Cho 3 số a, b, c \(\in\) Z, tính tổng và tích của ba số dó.
2. Xác định bài toán và mô tả thuật toán: Cho 3 số a, b, c \(\in\) Z, tính hiệu và thương của ba số đó.
3. Viết chương trình nhập vào từ bàn phím 1 số tự nhiên có 2 chữ số. Tính tổng và in ra màn hình các số vừa nhập.
Câu trả lời của bạn
XĐBT:
Output: Ba số a,b,c
Output: Tổng, tích ba số đó
MTTT:
B1: NHập ba số từ bàn phím
B2: S:=a+b+c và T:=a*b*c
B3: Thông báo kết quả và kết thúc thuật toán
Hãy mô tả thuật toán giải các bài toán sau :
- Đếm số các số dương trong dãy số A = {a1,a2,...,an} cho trước.
- Tìm vị trí của số dương đầu tiên trong dãy số A = {a1,a2,...,an} cho trước, tính từ phải sang trái.
Câu trả lời của bạn
Bài 1:
Input: số nguyên N và dãy a1,...,an
output: số lượng số dương trong dãy.
Ý tưởng:
khởi gán dem=0
lần lượt chia các a[i] (i:1->N) cho 2
nếu ai chia hết cho 2 dư 0 thì dem=dem+1
diễn tả thuật toán
liệt kê:
b1: nhập số nguyên dương N và dãy a1, a2,..,an
b2: i<-1 , dem<-0
b3: i>N thì đưa ra biến dem rồi kthúc
b4: ai chia hết cho 2 thì dem<-dem+1
b5: i<-i+1, quay lại bc 3
Mô tả và lập bảng kiểm tra thuật toán
- Tính tổng các phần tử của dãy số A = {a1,a2,...,an} cho trước
- Nhập n số a1,a2,...,an từ bàn phím và ghi ra màn hình số nhỏ nhất trong các số đó. Số n cũng được nhập từ bàn phím
Câu trả lời của bạn
Program bai1;
uses crt;
var a: array [1..100] of integer;
i,n,min,s: integer;
begin
clrscr;
write('nhap n ='); readln(n);
for i:= 1 to n do
begin
write('nhap a[',i,'] ='); readln(a[i]);
end;
min:=a[1];
s:=0;
for i := 1 to n do
s:=s+a[i];
write('tong cac day so trong mang =',s :4);
writeln;
for i:= 1 to n do
if min > a[i] then min:=a[i];
write('so nho nhat trong day la :' ,a[i]);
readln;
end.
1. Viết chương trình tính chu vi,diện tích của hình chữ nhật biết độ dài cạnh a,b nhập từ bàn phím?
2. Viết chương trình tính chu vi,diện tích của hình vuông biết độ dài cạnh a,b nhập từ bàn phím?
Câu trả lời của bạn
program tinh_s,dt;
uses crt;
var c,cv,dt:integer;
begin
clrscr;
write('nhap do dai canh : ');readln(c);
cv:=c*4;
dt:=c*c;
Writeln('chu vi hinh vuong la :',cv:4:2);
WrteLn('dien tich hinh vuong la :',dt:4:2);
readln;
end.
Bài 1:
program cvdt;
uses crt;
var a,b,cv,dt:integer;
begin
clrscr;
writeln('Hay nhap hai canh hinh chu nhat');readln(a,b);
cv:=(a+b)*2;
dt:=a*b;
writeln('Chu vi hinh chu nhat la ',cv);
writeln('Dien tich hinh chu nhat la ',t);
eadln;
end;
Bài 2:
program cvdt;
uses crt;
var a,dt:integer;
begin
clrscr;
writeln('Hai nhap canh hinh vuong')readln;
dt:=a*a;
writeln('Dien tich hinh vuong la ',dt);
readln;
end.
Chúc bạn học tốt!!!!!
1.Viết chương trình tính S= 1-2+3-4+5-6
2.Viết chương trình tính S= 2/1 + 3/2 + 4/3 + 5/4 + 6/5
Xin mọi người giúp mình giải 2 bài này gấp nhaaaa!!! Xin cảm ơn
Câu trả lời của bạn
1.
Var i : integer;
S : real;
Begin
S:= 0
For i:= 1 to 6 do S:= S+(i - (i+1));
Write (S);
Readln;
End.
2.
Var i : integer;
S : real;
Begin
S:= 0
For i:= 1 to 6 do S:= S+((i+1)/i);
Write (S);
Readln;
End.
Câu 1: Xác định INPUT, OUTPUT và viết chương trình nhập 3 số dương a,b,c từ bàn phím. Kiểm tra và in ra màn hình kiểm tra 3 số đó có thể là độ dài các cạnh của 1 tam giác hay không?
Câu 2: Viết chương trình nhập vào tháng bất kì trong năm. Hãy cho biết tháng đó thuộc mùa nào trong năm ( biết rằng mùa đông gồm tháng11;12;1. Mùa xuân gồm tháng 2;3;4. Mùa hè gồm tháng 5;6;7. Mùa thu gồm tháng 8;9;10)
Câu 3: Viết chương trình nhập vào số thứ tự các ngày trong tuần. Hãy cho biết đó là ngày thứ mấy?( vd: số thứ tự là 1 sẽ là ngày thứ hai.....số thức tự là 7 sẽ là chủ nhật).
Câu trả lời của bạn
2)
program bai2;
var thang:byte;
begin
repeat
write('Nhap thang vao day ');readln(thang);
until thang>0;
case thang of
2,3,4:writeln('Thang ',thang,' la mua xuan');
5,6,7:writeln('Thang',thang,'la mua ha');
8,9,10:writeln('Thang',thang,'la mua thu');
11,12,1:writeln('Thang',thang,'la mua dong');
readln
end.
viết chương trình sao sánh hai số a và b
Câu trả lời của bạn
Program bai1;
uses crt;
var a,b: real;
begin
clrscr;
write('nhap so a ='); readln(a);
write('nhap so b ='); readln(b);
if a > b then writeln('a lon hon b');
if a < b then writeln('a nho hon b');
if a = b then writeln('a bang b ');
readln;
end.
cách chuyển các biểu thức toán học thành các biểu thức được viết bằng ngôn ngữ lập trình
viết chương trình nhập vào giá trị của bán kính đường tròn,tính chu vi hình tròn và diện tích hình tròn
m.n giúp mk vs ạ
Câu trả lời của bạn
program firstprogams;
var r,CV,DT:real;
const pi=3.14;
begin
write(Nhap ban kinh = ');readln(r);
CV:=2*R*pi;
DT:=r*r*3.14;
writeln('Chu vi la ',CV);
writen('Dien tch la ',DT);
readn
end.
hãy mô tả thuật toán tính tổng các số dương trong dãy số A={\(a_1,a_2,a_3,...,a_n\)} cho trước
Câu trả lời của bạn
B1: sum<---a1, i<---1
B2: i<---i+1
b3: nếu i<=n thì sum<---sum+i, quay lai b2
B4: In kq và kết thúc thuật toán
Viết chương trình tìm ước chung lớn nhất của 2 số a và b (a,b là các số nhập từ bàn phím)
P/s: Giúp mk với.
Câu trả lời của bạn
viết chương trình tìm ƯCLN của a và b bằng cách trừ (-)
Program UCLN;
uses crt;
var a,b : integer;
begin
write ('nhap so a la ');readln (a);
write ('nhap so b la ');readln (b);
while a < > b do
if a >b then a := a - b else b := b - a ;
write ( ' UCLN la :' , a );
readln
end.
~~~~~~~~~~~~~~~~~~ Chúc bn học tốt ~~~~~~~~~~~~~~~~~
xác định input output và mô tả thuật toán
tìm số lớn nhất trong 3 số a,b,c
Câu trả lời của bạn
H2SO4 là gì
giúp mình vẽ sơ đồ khối thuật toán tính tổng các số chẵn lẻ đc k ạ
1.Xác định bài toán
- Input: Số nguyên dương N và dãy N số nguyên a1,..., aN. - Output: Giá trị lớn nhất Max của dãy số.
2. Ý tưởng:
– Khởi tạo giá trị Max = a1.
– Lần lượt với i từ 2 đến N, so sánh giá trị số hạng ai với giá trị Max, nếu ai > Max thì Max nhận giá trị mới là ai.
3. Thuật toá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 4.1. Nếu ai > Max thì Max := ai;
Bước 4.2. i := i + 1 rồi quay lại bước 3;
4. Lưu đồ
Hãy nêu cú pháp lệnh nhập giá trị cho 1 biến, cho nhiều biến ?
Câu trả lời của bạn
read/readln là nhập giá trị cho 1 biến.
array,readln(a[i]) là nhập cho nhiều biến
Mô tả thuật toana của các bài sau: Tìm giá trị tuyệt đối của một số a cho trước. Tìm số lớn nhất trong ba số a,b,c nhập từ bàn phím
Câu trả lời của bạn
Mong các bạn giúp mình... mình đang soạn đề cương mà không biết mô tả thuật toán
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 *