Bài tập và thực hành 3 trang 63 SGK Tin học 11

Nâng cao kĩ năng sử dụng một số câu lệnh và một số kiểu dữ liệu thông qua việc tìm hiểu, chạy thử các chương trình có sẵn.

Đề bài

Bài tập và thực hành 3 trang 63 SGK Tin học 11

Lời giải chi tiết

1. Mục đích, yêu cầu

- Nâng cao kĩ năng sử dụng một số câu lệnh và một số kiểu dữ liệu thông qua việc tìm hiểu, chạy thử các chương trình có sẵn.

- Biết giải một số bài toán tính toán, tìm kiếm đơn giản trên máy tính.

2. Nội dung

Bài 1. Tạo mảng A gồm n (n<100) số nguyên, mỗi số có giá trị tuyệt đối không vượt quá 300. Tính tổng các phần tử của mảng là hội số của một số nguyên dương k cho trước.

a) Hãy tìm hiểu và chạy thử chương trình sau đây:

program Sum1;

uses crt;

const nmax=100;

type MyArray= array[1..nmax] of integer;

var A: MyArray;

s, n, i, k: integer;

Begin

clrscr;

randomize; write('Nhap n= ’);

readln(n); {Tao ngau nhien mang gom n so nguyen]}

for i:= 1 to n do A[i] := random(301)-random(301) ;

for i:=l to n do write (A[i] :5) ; {in ra mang vua tao}

writeln;

write('Nhap k = ');

readln(k);s: =0;

for i:= 1 to n do

if A[i] mod k = 0 then s:= s+ A[i];

writeln('Tong can tinh la: ' ,s);

readln

end.

Chú ý: Hàm chuẩn random(rt) cho giá trị là sổ nguyên ngẫu nhiên trong khoảng từ 0 đến n-1, còn thủ tục randomize khởi tạo cơ chế sinh số ngẫu nhiên.

b) Hãy đưa các câu lệnh sau đây vào những vị trí cần thiết nhằm sửa đổi chương trình trong câu a) để có được chương trình đưa ra các số dương và các số âm trong mảng.

posi, neg: integer;

posi:= 0; neg:= 0;

if A[i]>0 then posi:= posi + 1

else if A[i}

Bài 2: Viết chương trình tìm phần tử có giá trị lớn nhất của mảng và đưa ra màn hình chỉ số và giá trị của phần tử tìm được. Nếu có nhiều phần tử có cùng giá trị lớn nhất thì đưa ra màn hình có chỉ số nhỏ nhất.

a) Hãy tìm hiểu chương trình sau đây:

Program MaxElement;

const Nmax= 100;

type Myarray = array[1..Nmax] of integer;

var A: MyArray;

n, i, j: integer;

Begin

write ('Nhap so luong phan tu cua day so, N= ') ;

readln(N); for i:= 1 to N do

begin

write ('Phan tu thu ', i,' = ')

readln(A[i]);

end;

for i:= 1 to n do if A[i]>A[j] then j:= i;

write('Chi so: ',j,' Gia tri: ',A[j]: 4);

readln

End.

b) Chỉnh sửa chương trình trên để đưa ra chỉ số của các phần tử có cùng giá trị lớn nhất.

Xemloigiai.com

Xem thêm Bài tập & Lời giải

Trong bài: Bài tập và thực hành 3

Xem thêm lời giải SGK Tin học lớp 11

Giải bài tập tin học lớp 11 đầy đủ kiến thức và bài tập thực hành tin học 11 giúp để học tốt môn tin 11

Chương 1: Một số khái niệm về lập trình và ngôn ngữ lập trình

Chương 2: Chương trình đơn giản

Chương 3: Cấu trúc rẽ nhánh và lặp

Chương 4: Kiểu dữ liệu có cấu trúc

Chương 5: Tệp và thao tác với tệp

Chương 6: Chương trình con và lập trình có cấu trúc

Lớp 11 | Các môn học Lớp 11 | Giải bài tập, đề kiểm tra, đề thi Lớp 11 chọn lọc

Danh sách các môn học Lớp 11 được biên soạn theo sách giáo khoa mới của bộ giáo dục đào tạo. Kèm theo lời giải sách bài tập, sách giáo khoa, đề kiểm tra 15 phút, 45 phút (1 tiết), đề thi học kì 1 và học kì 2 năm học 2024 ngắn gọn, chi tiết dễ hiểu.