1. Trang chủ
  2. » Giáo án - Bài giảng

giải bài tập sách giáo khoa tin học 11

29 4,2K 2

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 254,44 KB

Nội dung

- Ngôn ngữ lập trình bậc cao nói chung không phụ thuộc vào loại máy, cùng một chương trình có thể thực hiện ở nhiều máy khác nhau.. - Ngôn ngữ lập trình bậc cao cho phép làm việc với nh

Trang 1

Gi¶i Bµi TËp Tin Häc 11

Trang 2

1 Người ta phải xây dựng ngôn ngữ lập trình bậc cao vì

- Ngôn ngữ lập trình bậc cao gần gũi với tự nhiên hơn, thuận tiện cho

ñ ông ñảo người lập trình

- Ngôn ngữ lập trình bậc cao nói chung không phụ thuộc vào loại máy,

cùng một chương trình có thể thực hiện ở nhiều máy khác nhau

- Chương trình viết bằng ngôn ngữ bậc cao dễ hiểu, dễ hiệu chỉnh và dễ

nâng cấp hơn

- Ngôn ngữ lập trình bậc cao cho phép làm việc với nhiều kiểu dữ liệu và

cách tổ chức dữ liệu ña dạng, thuận tiện cho mô tả thuật toán

2 Chương trình dịch là chương trình ñặc biệt, có chức năng chuyển ñổi

chương trình ñược viết trên ngôn ngữ lập trình bậc cao thành chương

trình thực hiện ñược trên máy tính

3

có dịch ñược không Dịch toàn bộ chương trình nguồn thành một

chương trình ñích có thể thực hiện trên máy và có thể lưu trữ lại ñể sử

dụng về sau khi cần

ngay câu lệnh vừa dịch ñược hoặc thông báo lỗi nếu không dịch ñược

4 Các ñiểm khác nhau giữa tên dành riêng và tên chuẩn: tên dành riêng

không ñược dùng khác với ý nghĩa xác ñịnh, tên chuẩn có thể dùng với

ý nghĩa khác

5 ð úng: tamgiac, bai5a, xemxonxiu_ngu

6 C: 6,23 6.23

E: A20 tên chưa có giá trị

G: 4+6 H: ‘C ‘C’I: ‘TRUE’ “true” là hằng logic

M M

Trang 3

Bµi Thùc Hµnh Sè 1

- - -***** ***** ***** - - -

1. Sự khác nhau giữa hằng có ñặt tên và tên biến: Giá trị của hằng có ñặt

tên không thay ñổi khi thực hiện chương trình còn giá trị của biến có

thể thay ñổi tại từng thời ñiểm thực hiện chương trình

2. Khai báo biến nhằm những mục ñích sau:

- Xác ñịnh kiểu của biến Trình dịch sẽ biết cách tổ chức ô nhớ chứa giá

trị của biến

- ðư a tên biến vào danh sách các ñối tượng ñược chương trình quản lí

- Trình dịch biết cách truy cập giá trị của biến và áp dụng thao tác thích

Trang 4

else write('Khong thu

if (abs(y)<=1) and (abs(x)<=1) then

if (abs(y)<=1) and (abs(x)<=1) then

kt:=true;

kt:=true;

if kt then write('Diem vua nhap thuoc phan ga

cheo')

cheo')

else write('Khong thuoc');

else write('Khong thuoc');

write('Nhap ban kinh duong tron: ');

write('Nhap ban kinh duong tron: ');

readln(a);

readln(a);

if a<0 then writeln('Nhap lai!');

if a<0 then writeln('Nhap lai!');

Trang 5

if h<0 then writeln('Nhap lai!');

if h<0 then writeln('Nhap lai!');

Trang 6

2 Câu lệnh ghép là một câu lệnh ñược hợp thành từ nhiều câu lệnh thành

phần Câu lệnh ghép nhằm thực hiện thao tác gồm nhiều thao tác thành

phần Mỗi thao tác thành phần ứng với một câu lệnh ñơn hoặc một câu lẹnh

ghép khác Câu lệnh ghép là một trong các yếu tố ñể tạo khả năng chương

trình có cấu trúc Các câu lệnh ñặt giữa begin và end;

Trang 7

write('nhap hai so x va y: '); readln(x,y);

write('nhap hai so x va y: '); readln(x,y);

writeln('tong can tim: ',z:9);

writeln('tong can tim: ',z:9);

endendend;;;

if (x*x+y*y>1) and (y>=x) then

if (x*x+y*y>1) and (y>=x) then

beginbeginbegin

z:=(x+y);

z:=(x+y);

writeln('tong can tim: ',z:9);

writeln('tong can tim: ',z:9);

endendend;;;

if (x*x+y*y>1) and (y<x) then

if (x*x+y*y>1) and (y<x) then

begin

begin

z:=0.5;

z:=0.5;

writeln('tong can tim: ',z);

writeln('tong can tim: ',z);

write('Nhap toa do tam hinh tron: ');

write('Nhap toa do tam hinh tron: ');

readln(a,b);

readln(a,b);

write('Nhap ban kinh r: ');readln(r);

write('Nhap ban kinh r: ');readln(r);

if sqrt(sqr(x

if sqrt(sqr(x -a)+sqr(xa)+sqr(xa)+sqr(x -b))<r thenb))<r thenb))<r then

begin

begin

Trang 9

if (x+y=36) and (2*x+4*y=100) then

if (x+y=36) and (2*x+4*y=100) then

begin

begin

writeln('Co ',x,' con Ga');

writeln('Co ',x,' con Ga');

write('Co ',y,' con Cho');

write('Co ',y,' con Cho');

write('Nhap tuoi cha: ');readln(b);

write('Nhap tuoi cha: ');readln(b);

write('Nhap tuoi con: ');readln(c);

write('Nhap tuoi con: ');readln(c);

if (bif (bif (b -c<25) or (b<2*c) thenc<25) or (b<2*c) thenc<25) or (b<2*c) then

writeln('Du lieu khong hop le,nhap lai.');

writeln('Du lieu khong hop le,nhap lai.');

Trang 10

until (b

until (b -c>=25) and (b>=2*c);c>=25) and (b>=2*c);c>=25) and (b>=2*c);

if b=2*c then

if b=2*c then

writeln('Hien nay tuoi cha gap hai

var A, B, St, Luu :real;

var A, B, St, Luu :real;

write('Nhap so tien gui: ');readln(a);

write('Nhap so tien gui: ');readln(a);

Trang 11

Ch−¬ng 4 : :

iÓu d÷ liÖu cã cÊu tróc

Bµi Thùc Hµnh Sè 3

type Myarray=array[1 nmax] of integer;

type Myarray=array[1 nmax] of integer;

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

for i:=1 to n do write(A[i]:5); writeln;

for i:=1 to n do write(A[i]:5); writeln;

for i:=1 to n do

for i:=1 to n do

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

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

else if A[i]<0 then

else if A[i]<0 then

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

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

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

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

Trang 12

var A:array[1 100] of integer;

var A:array[1 100] of integer;

write('Nhap so luong phan tu: ');readln(n);

write('Nhap so luong phan tu: ');readln(n);

for i:=1 to n do

for i:=1 to n do

begin

begin

write('Nhap phan tu thu ',i,': '); readln(a[i]);

write('Nhap phan tu thu ',i,': '); readln(a[i]);

if a[i]>a[i -1] then max:=A[i];1] then max:=A[i];1] then max:=A[i];

for j:=1 to n do if a[j]=max then

for j:=1 to n do if a[j]=max then

writeln('chi so phan tu lon nh

Trang 13

var A:array[1 250] of integer;

var A:array[1 250] of integer;

for i:=1 to n do A[i]:=random(300)

for i:=1 to n do write(A[i]:5);

for i:=1 to n do write(A[i]:5);

write('Sau khi dao ',dem,' lan');

write('Sau khi dao ',dem,' lan');

Trang 14

for i:=1 to x div 2 do

for i:=1 to x div 2 do

if S[i]<>S[x

if S[i]<>S[x -i+1] then kt:=false;i+1] then kt:=false;i+1] then kt:=false;

if kt then write('Xau la palindrome')

if kt then write('Xau la palindrome')

else write('Xau khong la palindrome');

else write('Xau khong la palindrome');

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

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

for i:=1 to length(S) do

for i:=1 to length(S) do

for i:=1 to length(s) do

for i:=1 to length(s) do

if s[i]=ch then dem:=dem+1;

if s[i]=ch then dem:=dem+1;

Trang 15

if dem>0 then

if dem>0 then

writeln('Trong xau co ',dem,' chu ',ch);

writeln('Trong xau co ',dem,' chu ',ch);

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

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

Trang 16

Bµi tËp ch−¬ng 4

Bµi tËp ch−¬ng 4

1 Mảng là kiểu dữ liệu có cấu trúc bởi vì mảng là kiểu có cấu trúc ñược

ñề cập tới sớm nhất trong các ngôn ngữ lập trình Nó ñược xây dựng

từ những kiểu dữ liệu ñã có theo quy tắc khuôn dạng do ngôn ngữ lập

trình cung cấp Nó ñược dùng ñể chỉ ñịnh một nhóm ñối tượng cùng

một tính chất nào ñó

2 Chúng ta phải khai báo kích thước mảng bởi vì ñể cách ñánh số các

phần tử của nó

3 real, boolean, integer, longint

4 Tham chiếu ñến phần tử của mảng một chiều ñược xác ñịnh bởi tên

mảng cùng với chỉ số, ñược viết trong cặp ngoặc [ ] (Ví dụ A[1]) Còn

tham chiếu ñến phần tử của mảng 2 chiều ñược xác ñịnh bởi tên mảng

cùng với 2 chỉ số ñược phân cách bởi dấu phẩy và viết trong cặp ngoặc

[ ] (A[1,2])

Bài 5

uses crt;

uses crt;

var a:array[1 100] of integer;

var a:array[1 100] of integer;

write('Nhap phan tu thu ',i,': ');

write('Nhap phan tu thu ',i,': ');

if a[i+1] -a[i]=d then csc:=true;a[i]=d then csc:=true;a[i]=d then csc:=true;

if csc then writeln('Day la cap so cong') else

if csc then writeln('Day la cap so cong') else

write('Day khong la cap so cong');

write('Day khong la cap so cong');

readln

readln end end end

VÝ Dô

VÝ Dô

Trang 17

var A:array[1 100] of integer;

var A:array[1 100] of integer;

write('Nhap phan tu thu ',i,': ');

write('Nhap phan tu thu ',i,': ');

readln(a[i]);

readln(a[i]);

if abs(A[i])>1000 then write('Nhap so <1000 OK');

if abs(A[i])>1000 then write('Nhap so <1000 OK');

if a[i] mod 2= 0 then dem:=dem+1

if a[i] mod 2= 0 then dem:=dem+1

end

writeln('So luong so le: ',n

writeln('So luong so chan: ',dem);

writeln('So luong so chan: ',dem);

while (u<=sqrt(A[i])) and

while (u<=sqrt(A[i])) and

write('So luong so nguyen to: ',d);

write('So luong so nguyen to: ',d);

Trang 18

if n<2 then writeln('Nhap N>2 OK!');

if n<2 then writeln('Nhap N>2 OK!');

write('So fibonaxi thu

write('So fibonaxi thu ',n,' la ' ,f);',n,' la ' ,f);',n,' la ' ,f);

Chương trình thực hiện việc hoán ñổi vị trí dòng thứ i với dòng thứ N-i+1,

nghĩa là hoán ñổi vị trí dòng ñầu tiên với dòng cuối cùng của mảng hai

Trang 19

chiều, dòng thứ hai từ trên xuống với dòng thứ hai từ dưới lên,… Việc hoán

ñổ i vị trí dòng thứ i với dòng ñối xứng với nó ñược thực hiện khi i nhận giá

trị từ 1 ñến N, làm cho mỗi dòng ñược hoán ñổi vị trí 2 lần Vì vậy mạng A

sau khi hoán ñổi không thay ñổi so với ban ñầu

var A:array[1 15,1 15] of integer;

var A:array[1 15,1 15] of integer;

max:=A[1,i];ind:=1;

for j:=2 to n do for j:=2 to n do

if A[j,i] > max then

if A[j,i] > max then

endendend;;; vsp:=A[i,i];

Trang 20

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

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

if (s[i]>='0') and (s[i]<='9') then inc(dem);

if (s[i]>='0') and (s[i]<='9') then inc(dem);

write('Co ',dem,' chu so trong xau vua nhap');

write('Co ',dem,' chu so trong xau vua nhap');

const max=60; max=60; max=60;

type Hocsinh = record

type Hocsinh = record

var lop:array[1 max] of hocsinh;

var lop:array[1 max] of hocsinh;

write('Nhap so luong hoc sinh: ');readln(n);

write('Nhap so luong hoc sinh: ');readln(n);

Trang 21

writeln('Nhap so lieu hoc sinh thu ',i,':');

writeln('Nhap so lieu hoc sinh thu ',i,':');

write('Ho va ten: ');readln(hoten);

write('Ho va ten: ');readln(hoten);

write('Ngay sinh: ');readln(ngaysinh);

write('Ngay sinh: ');readln(ngaysinh);

write('Dia chi : ');readln(diachi);

write('Dia chi : ');readln(diachi);

write('Diem toan: ');readln(toan);

write('Diem toan: ');readln(toan);

write('Diem van : '

write('Diem van : ');readln(van););readln(van););readln(van);

if toan+van>=18 then xeploai:='A';

if toan+van>=18 then xeploai:='A';

if (toan+van>=14) and (toan+van<18) then

if (toan+van>=14) and (toan+van<18) then

xeploai:='B';

xeploai:='B';

if (toan+van>=10) and (toan+van<14) then

if (toan+van>=10) and (toan+van<14) then

writeln('Danh sach hoc sinh:');

writeln('Danh sach hoc sinh:');

writeln(hoten:30,' - xep loai: ',xeploai); xep loai: ',xeploai); xep loai: ',xeploai);

writeln('Danh sach hoc sinh loai A:');

writeln('Danh sach hoc sinh loai A:');

Trang 23

Ch−¬ng 5 : :

hao t¸c víi

hao t¸c víi tÖp tÖp

Bµi tËp ch−¬ng

Bµi tËp ch−¬ng

1 Một số trường hợp phải dùng tệp: lưu trữ lượng thông tin lớn, dùng

lâu dài, ít thay ñổi như tên người trong một cơ quan, hồ sơ của sinh

viên, lương cán bộ,

2 SGK

3 Phải mở tệp trước khi ñọc tệp vì trước khi sử dụng tệp phải có câu

lệnh mở tệp ñể trình dịch biết thực hiện mục ñích mở tệp ñể ñọc hay

ghi, ñồng thời ñặt con trỏ tệp vào vị trí thích hợp

4 Phải dùng lệnh ñóng tệp sau hi ñã kết thúc ghi dữ liệu vào tệp ñể thống

tất việc ghi dữ liệu ra tệp Không có câu lệnh ñóng tệp thì chương trình

sẽ không thể ghi ñược dữ liệu vào tệp

Trang 24

Ch−¬ng 6 : :

h−¬ng tr×nh con vµ lËp tr×nh cã

h−¬ng tr×nh con vµ lËp tr×nh cã cÊu tróc

cÊu tróc

Bµi Thùc Hµnh Sè 6

procedure catdan(s1:str; var s2: str);

procedure catdan(s1:str; var s2: str);

procedure chuchay(s1:str; dong

Trang 25

write('Nhap xau : ');readln(s1);

write('Nhap xau : ');readln(s1);

Trang 26

n, i, deu, can, vuong:word;

n, i, deu, can, vuong:word;

f,g:text;

f,g:text;

function khcach(P, Q: Diem):real;

function khcach(P, Q: Diem):real;

procedure daicanh(var R:tamgiac; var a, b, c:real);

procedure daicanh(var R:tamgiac; var a, b, c:real);

deu:=false; can:=false; vuong:=false;

deu:=false; can:=false; vuong:=false;

Trang 27

readln(f, T.A.x, T.A.y, T.B.x, T.B.y, T.C.x, T.C.y);

readln(f, T.A.x, T.A.y, T.B.x, T.B.y, T.C.x, T.C.y);

tinhchat(T,D,cn,v);

tinhchat(T,D,cn,v);

if d then deu:=deu+1 else

if d then deu:=deu+1 else

writeln(g,'co ',deu,' tam giac deu');' tam giac deu');' tam giac deu');

writeln(g,'co ',can,' tam giac can');

writeln(g,'co ',can,' tam giac can');

writeln(g,'co ',vuong,' tam giac vuong');

writeln(g,'co ',vuong,' tam giac vuong');

Tệp văn bản chứa tọa độ các đỉnh của các tam giác

Tệp văn bản chứa tọa độ các đỉnh của các tam giác

Trang 28

Writeln(‘*I love you ok!*’);

Writeln(‘*I love you ok!*’);

Writeln(‘****************’);

Writeln(‘****************’);

End;

End;

3 Chương trình con cho nhiều hơn một kết quả:

Procedure hoandoi(var x, y:integer);

Procedure hoandoi(var x, y:integer);

function ucln(a, b:integer): integer;

function ucln(a, b:integer): integer;

function bcnn(a, b:integer): integer;

function bcnn(a, b:integer): integer;

begin

begin

Trang 29

bcnn:=a*b div ucln(a,b);

bcnn:=a*b div ucln(a,b);

write('Boi chung nho nhat: ',bcnn(x,y));

write('Boi chung nho nhat: ',bcnn(x,y));

Ngày đăng: 07/10/2014, 05:34

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w