1. Trang chủ
  2. » Nghệ sĩ và thiết kế

Tải Giải bài tập Tin học 11 trang 79, 80 - Giải bài tập Tin học lớp 11

10 311 2

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 117,54 KB

Nội dung

Mảng là 1 tập hợp các phần tử được đánh số có thứ tự thường là từ 0 hoặc 1 cho nên khi khai báo mảng ta cần khai báo thêm kích thước để máy có thể cấp phát đủ bộ nhớ chứa số lượng các ph[r]

(1)

Giải tập Tin học 11 trang 79, 80

Bài (trang 79 sgk Tin học lớp 11): Tại mảng kiểu liệu có cấu trúc? Trả lời:

Mảng kiểu liệu có cấu trúc mảng (một chiều, hai chiều hay nhiều chiều) kiểu có cấu trúc đề cập tới sớm ngơn ngữ lập trình Nó xây dựng từ kiểu liệu dã có theo quy tắc khn dạng ngơn ngữ lập trình cung cấp Nó dùng để định nhóm đối tượng tính chất Chẳng hạn, vectơ nhóm số mà số ta xác định cần biết số Như vậy, để khai báo kiểu mảng phải kiểu liệu chung phần tử kiểu số

Bài (trang 79 sgk Tin học lớp 11): Tại phải khai báo kích thước mảng? Trả lời:

Mảng tập hợp phần tử đánh số có thứ tự thường từ khai báo mảng ta cần khai báo thêm kích thước để máy cấp phát đủ nhớ chứa số lượng phần tử

Bài (trang 79 sgk Tin học lớp 11): Các phần tử mảng có kiểu gì?

Trả lời:

Kiểu liệu mảng kiểu liệu chuẩn (integer, byte, real,…), kiểu liệu có cấu trúc (string, kiểu ghi)

Bài (trang 79 sgk Tin học lớp 11): Tham chiếu đến phần tử mảng bằng cách nào?

Trả lời:

Tham chiếu đến phần tử mảng ta sử dụng tên mảng số đặt cặp dấu ngoặc [và]

Ví dụ a[1] (a tên mảng, số)

Bài (trang 79 sgk Tin học lớp 11): Viết chương trình nhập từ bàn phím số ngun dương N (N ≤100) dãy A gồm N số nguyên A1 AN có giá trị tuyệt đối lớn 1000 Hãy cho biết dãy A có phải cấp số cộng hay không thông báo kết hình

Trả lời:

(2)

Nếu dãy có hai số tính cơng sai a[1]-a[0] sau duyệt mảng có số vi phạm quy luật cấp số cộng a[i] khác a[i-1]+d kết luận ln khơng cấp số cộng

Nếu đến cuối dãy mà khơng có số vi phạm kết luận cấp số cộng

program csc; uses crt;

var a:array[1 100] of integer; i,n,d:integer;

t:boolean; begin

clrscr;

write('nhap so phan tu cua day '); readln(n);

for i:=1 to n begin

write('a[',i,']='); readln(a[i]); end;

if n<=2 then

write('la cap so cong ') else

begin

d:=a[2]-a[1]; t:=true;

for i:=3 to n if a[i]<>a[i-1]+d then

begin t:=false; break; end; if t then

write('la cap so cong') else

write('khong phai cap so cong '); end;

readkey; end

Kết quả:

(3)

Trường hợp không cấp số cộng:

Bài (trang 79 sgk Tin học lớp 11): Viết chương trình nhập từ bàn phím số ngun dương N (N ≤100) dãy A gồm N số ngun A1, A2 AN có giá trị tuyệt đối khơng lớn 1000 Hãy đưa thông tin sau:

a) Số lượng số chẵn số lượng số lẻ

b) số lượng số nguyên tố dãy

Trả lời:

a) Duyệt toàn mảng, số chia hết cho số chẵn lại số lẻ Ta dùng biến để đếm số chẵn Sau lấy số phần tử trừ số phần tử chẵn

program csc; uses crt;

var a:array[1 100] of integer; i,d,n:integer;

begin clrscr;

write('nhap so phan tu cua day '); readln(n);

d:=0;

for i:=1 to n begin

write('a[',i,']='); readln(a[i]); end;

for i:=1 to n if a[i] mod 2=0 then

d:=d+1;

(4)

end

b) Số lượng số nguyên tố dãy

Duyệt toàn số dãy với số ta kiểm tra xem số có chia hết số từ đến a[i]-1 khơng? Nếu khơng kết luận số nguyên tố

program csc; uses crt;

var a:array[1 100] of integer; i,d,n,j:integer;

t:boolean; begin

clrscr;

write('nhap so phan tu cua day '); readln(n);

d:=0;

for i:=1 to n begin

write('a[',i,']='); readln(a[i]); end;

for i:=1 to n begin

t:=true;

for j:=2 to a[i]-1 begin

if (a[i] mod j=0) and (a[i]<>2) then

begin t:=false; break; end; end;

if t=true then d:=d+1; end;

writeln('so cac so nguyen to day la ',d); readkey;

end

(5)

Bài (trang 79 sgk Tin học lớp 11): ): Dãy F dãy Phi-bo-na-xi nếu: F0=0, F1 = 1, Fn = Fn-1 + Fn-2 với N ≥

Viết chương trình nhập từ bàn phím số ngun dương N đưa hình số hạng thứ N dãy Phi-bo-na-xi Chương trình bạn thực với giá trị lớn N bao nhiêu?

Trả lời:

Sử dụng biến để lưu giá trị số fibonaci Mỗi lần sinh số fibonaci ta gán lại giá trị cho biến đoạn code;

F1:=F0+F1;

F0:=F1-F0;

program csc; uses crt; var n,i:integer;

f0,f1:integer; begin

clrscr;

write('nhap so n:'); readln(n);

f0:=0; f1:=1;

for i:=2 to n begin

f1:=f0+f1; f0:=f1-f0; end;

write('so fibonaci thu n la :',f1); readkey;

end

Chương trình chạy tối đa đến N=23 với số fibonaci 28657 Nếu lên đến số 24 vượt phạm vi biến kiểu integer

(6)

program BT8;const NMax = 50;

type Mass = array [1 NMax, O NMax-1] of real;var A: Mass; i,j N: byte; C: real;beginWrite ('Nhap N= ?');

readln(N); for i:= to N dofor to N-1 dobegin write('A[i,j; readln(A[i,j ] )

end,

for i:= to N for j:= to N-1 begin

C:= A[i,j];

A[i , j ] := A[N-i+1, j ] A [N-i+1,j] := C; end;

for i:=1 to N begin

for j : =1 to N— write (A [ i, j ] : : , ' '); writeln

end; End

Trả lời:

Chương trình thực việc hốn đổi vị trí dịng thứ i với dịng thứ N-i+J, nghĩa hốn đổi vị trí dịng với dòng cuối màng hai chiều, dòng thứ hai từ xuống với dòng thứ hai từ lên, Việc hốn đổi vị trí dịng thứ i với dịng đối xứng với thực i nhận giá trị từ đến N, làm cho dịng hốn đổi vị trí hai lần Vì vậy, cuối mảng A không thay đổi so với ban đầu

Bài (trang 80 sgk Tin học lớp 11): Cho mảng hai chiều kích thước nxm với các phần tử số nguyên Tìm dịng phần tử lớn đổi chỗ với phần tử có số dịng số cột

program Diag; uses crt; Var

N,i,j,Max,Ind,Vsp:integer; A:array[1 15,1 15] of integer; begin

clrscr;

write('nhap N nho hon 15:'); readln(N);

for i:=1 to N

for j:=1 to N begin

write('a[',i,',',j,']='); readln(a[i,j]); end;

for i:=1 to N begin

(7)

for j:=2 to N if A[i,j]> Max then begin

Max:=A[i,j];Ind:=j; end;

vsp:=A[i,i]; A[i,i]:=Max; A[i,Ind]:=vsp; end;

for i:=1 to N begin

writeln;

for j:=1 to N write(a[i,j]:3); end;

writeln readkey; end

Trả lời:

for i:=1 to N begin

Max:=A[i,1]; Ind:=1;

for j:=2 to N if A[i,j]> Max then begin

Max:=A[i,j];Ind:=j; end;

vsp:=A[i,i]; A[i,i]:=Max; A[i,Ind]:=vsp; end;

Đoạn code có nhiệm vụ duyệt hàng Ban đầu gán phần tử hàng max Sau hàng có phần tử lớn max lưu lại giá trị max số phần tử hàng

Để sửa chương trình để tìm kiếm cột ta sửa lại sau:

program Diag; uses crt; Var

N,i,j,Max,Ind,Vsp:integer; A:array[1 15,1 15] of integer; begin

clrscr;

(8)

for i:=1 to N

for j:=1 to N begin

write('a[',i,',',j,']='); readln(a[i,j]); end;

for i:=1 to N begin

Max:=A[i,1]; Ind:=1;

for j:=2 to N if A[i,j]> Max then begin

Max:=A[i,j];Ind:=j; end;

vsp:=A[i,i]; A[i,i]:=Max; A[i,Ind]:=vsp; end;

for i:=1 to N begin

writeln;

for j:=1 to N write(a[i,j]:3); end;

writeln; readkey; end

Kết quả:

Bài 10 (trang 80 sgk Tin học lớp 11): Viết chương trình nhập từ bàn phím xâu kí tự S có độ dài khơng q 100 Hãy cho biết có chữ số xuất xâu S Thông báo kết hình

(9)

Ta cần duyệt kí tự xâu S nằm đoạn từ '0' đến '9' ta tăng biến đếm lên

program Diag; uses crt; Var

s:string[100]; i,d:integer; begin

clrscr; d:=0;

write('Nhap xau S :'); readln(s);

for i:=1 to length(s) if ('0'<=s[i]) and (s[i]<='9') then

d:=d+1;

writeln('so ki tu la so xuat hien xau s la ',d); readkey;

end

Kết quả:

Bài 11 (trang 80 sgk Tin học lớp 11): Hãy bổ sung thêm vào chương trình Xep_loai 13 lệnh cần thiết để chương trình đưa danh sách học sinh xếp loại A

Trả lời:

(10)

Ngày đăng: 25/12/2020, 09:44

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w