Hình 7 là chương trình một bạn đã tạo với mục đích tính và thông báo tổng của 10 số được nhập từ bàn phím. Theo em, khi thực hiện, chương trình này có đưa ra kết quả như bạn mong muốn hay không? Tại sao?
Tạo chương trình Scratch để nhập hai số m, n từ bàn phím, thực hiện hoán đổi giá trị của hai biến và thông báo giá trị của biến m, n sau khi đã hoán đổi.
Ví dụ, sau khi nhập m = 23, n = 45, chương trình đưa ra kết quả ra màn hình như ở Hình 6.
Tạo chương trình ở Hình 7. Thực hiện kiểm thử, gỡ lỗi để chương trình đưa ra đúng tổng của 10 số được nhập từ bàn phím.
- Học sinh tự thực hiện tạo chương trình như sau và tiến hành kiểm thử.
- Gỡ lỗi: Chuyển lệnh gán giá trị ban đầu S = 0 ra khỏi điều kiện lặp.
Để so sánh hai số a, b được nhập từ bàn phím, một bạn đã tạo chương trình ở Hình 1. Khi nháy chuột vào nút lệnh chương trình không hoạt động. Bạn đã phát hiện được lỗi và chỉnh sửa thành chương trình ở Hình 2. Khi thực hiện chương trình ở Hình 2 và nhập giá trị a, b đều là 5, chương trình đưa ra kết quả sai (xem Hình 3).
Hãy thảo luận với bạn và cho biết:
- Tại sao chương trình ở Hình 1 không hoạt động?
- Tại sao chương trình ở Hình 2 đưa ra kết quả sai khi nhập cặp số a, b là (5;5)?
Chương trình 1 có lỗi cú pháp, câu lệnh 2, 3 không khớp nối với câu lệnh 1, 4.
Chương trình 2 có lỗi logic, a = b thuộc trường hợp a > b sai nên chương trình đưa ra thông báo sai khi nhập hai số a, b bằng nhau.
Tạo chương trình nhập từ bàn phím giá trị 2 số a, b; sau đó tính và in ra màn hình tổng và hiệu của 2 số đó.
Ví dụ, sau khi nhập a = 12, b = 23 chương trình đưa ra kết quả ra màn hình như ở Hình 5.
Tạo chương trình như sau:
Viết chương trình nhập vào một xâu S có độ dài không quá 100 ký tự từ bàn phím. Hãy cho biết có bao nhiêu chữ số xuất hiện trong xâu S. Thông báo kết quả ra màn hình. Xuất xâu đã nhập
Chương trình:
program bai_10_chuong_4;
uses crt;
var
s: string[100];
i, dem: integer;
Begin
clrscr;
write('Nhap xau vao:'); readln(s); dem:= 0;
for i:= 1 to length(s) do
if ('0'<=s[i]) and(s[i]<=’9') then dem:=dem+l;
Writeln('Trong xau s co '»dem,' chu so thap phan');
readln;
End.
uses crt;
var st:string;
i,d,dem:integer;
begin
clrscr;
write('Nhap xau:'); readln(st);
d:=length(st);
writeln('Xau vua nhap la: ',st);
dem:=0;
for i:=1 to d do
if st[i] in ['0'..'9'] then inc(dem);
writeln(dem);
readln;
end.
Viết chương trình khai báo mảng m có 50 phần tử kiểu Nguyên. Nhập các phần tử từ bàn phím và thực hiện tính tổng các phần tử đã nhập in ra kết quả tổng tính được và các phần tử đã nhập.
program TinhTongPhanTuMang;
var
i, tong: integer;
m: array[1..50] of integer;
begin
for i := 1 to 50 do
begin
writeln('Nhap ptu thu ', i, ': ');
readln(m[i]);
end;
tong := 0;
for i := 1 to 50 do
begin
tong := tong + m[i];
end;
writeln('Tong cac ptu trong mang la: ', tong);
writeln('Cac ptu trong mang la:');
for i := 1 to 50 do
begin
writeln(m[i]);
end;
end.
giúp em với 2 câu thôi ạ :
viết chương trình nhập vào xâu bất kì từ bàn phím , ghi xâu sau khi loại bỏ các dấu cách ra tệp D:\ketqua.txt
viết chương trình nhập vào từ bàn phím 4 số bất A,B,C. tìm và thông báo kết quả ra màn hình giá trị nhỏ nhất MIN của 4 số đó có sử dụng chương trình con
1:
uses crt;
const fi='ketqua.txt'
var f1:text;
st:string;
i,d:integer;
begin
clrscr;
assign(f1,fi); rewrite(f1);
write('Nhap xau:'); readln(st);
d:=length(st);
for i:=1 to d do
if st[i]=#32 then delete(st,i,1);
writeln(f1,st);
close(f1);
end.
2:
uses crt;
var a,b,c,d:integer;
{----------chuong-trinh-con-----------------------}
function min(x,y:integer):integer;
begin
if x<y then min:=x
else min:=y;
end;
{---------------chuong-trinh-chinh--------------------}
begin
clrscr;
write('a='); readln(a);
write('b='); readln(b);
write('c='); readln(c);
write('d='); readln(d);
writeln(min(a,min(b,min(c,d))));
readln;
end.
Viết chương trình nhập từ bàn phím một xâu kí tự S có độ dài không quá 100. Hãy cho biết có bao nhiêu chữ số xuất hiện trong xâu S. Thông báo kết quả ra màn hình ( Trên NNLT Python).
Cách 1: Có sử dụng chương trình con
uses crt;
var st:string;
{------------chuong-trinh-con-------------------}
function doi(st1:string):string;
var i,d:integer;
begin
d:=length(st1);
for i:=1 to d do
st1[i]:=upcase(st1[i]);
doi:=st1;
end;
{-------------------chuong-trinh-chinh--------------------}
begin
clrscr;
write('Nhap xau:'); readln(st);
writeln(doi(st));
readln;
end.
Cách 2: Không sử dụng chương trình con
uses crt;
var st:string;
i,d:integer;
begin
clrscr;
write('Nhap xau:'); readln(st);
d:=length(st);
for i:=1 to d do
st[i]:=upcase(st[i]);
writeln(st);
readln;
end.