Biến được khai báo với kiểu dữ liệu xâu kí tự có thể lưu các giá trị nào trong các giá trị dưới đây

Xem toàn bộ tài liệu Lớp 8: tại đây

Giải Bài Tập Tin Học 8 – Bài 4: Sử dụng biến và hằng trong chương trình giúp HS giải bài tập, giúp cho các em hình thành và phát triển năng lực sử dụng công nghệ thông tin và truyền thông:

Xem thêm các sách tham khảo liên quan:

    • Sách Giáo Khoa Tin Học Lớp 8

    • Sách Giáo Viên Tin Học Lớp 8

    Bài 1 [trang 32 sgk Tin học lớp 8]: Giả sử A được khai báo là biến với kiểu dữ liệu số thực, X là biến với kiểu dữ liệu xâu. Các phép gán sau đây có hợp lệ không?

    a] A:=4;

    b] X:=3242;

    c] X:= ‘3242’;

    d]A:=’Ha Noi’.

    Trả lời:

    a] Hợp lệ bởi 4 là số nguyên, mà số nguyên là tập con của số thực.

    b] Không hợp lệ bởi X là kiểu dữ liệu xâu, không thể gán giá trị thuộc kiểu dữ liệu số nguyên.

    c] Hợp lệ.

    d] Không hợp lệ bởi A được khai báo với kiểu dữ liệu số thực, còn ‘Ha Noi’ lại thuộc xâu kí tự.

    Bài 2 [trang 32 sgk Tin học lớp 8]: Nêu sự khác nhau giữa biến và hằng và cho một vài ví dụ cụ thể về khai báo biến và hằng.

    Trả lời:

    – Biến dùng để lưu trữ dữ liệu và dữ liệu được biến lưu trữ có thể thay đổi trong khi thực hiện chương trình. Để mở đầu khai báo ta dùng cú pháp “const”

    – Hằng cũng dùng để lưu trữ dữ liệu nhưng dữ liệu được hằng lưu trữ không thể thay đổi – trong suốt quá trình thực hiện chương trình. Để mở đầu khai báo ta dùng cú pháp “var”.

    – Ví dụ khai báo về hằng và biến:

    Hằng: const pi=3.14; Bankinh = 2; Biến: var m,n: integer; S, dientich: real; thong_bao: string;

    Bài 3 [trang 32 sgk Tin học lớp 8]: Giả sử ta đã khai báo một hằng Pi với giá trị 3.14. Có thể gán lại giá trị 3.1415 cho Pi trong phần thân chương trình được không? Tại sao?

    Trả lời:

    Ta không thể gán lại giá trị của Pi bởi tính chất của hằng là “Có giá trị không đổi trong suốt quá trình thực hiện chương trình”.

    Bài 4 [trang 32 sgk Tin học lớp 8]: Trong Pascal khai báo nào sau đây là đúng?

    a] var tb: real;

    b] var 4hs: integer;

    c] const x: real;

    d] var R=30;

    Trả lời:

    a] Đúng;

    b] Sai bởi tên biến không tuân theo quy tắc ngôn ngữ lập trình: có chữ số ở đầu.

    c] Sai bởi khai báo hằng cần một giá trị ngay sau khi khai báo, còn “real” là tên kiểu dữ liệu của biến được khai báo.

    d] Sai bởi khai báo tên biến thì phía sau phải có kiểu dữ liệu chứ không phải giá trị.

    Bài 5 [trang 32 sgk Tin học lớp 8]: Hãy liệt kê các lỗi có thể có trong chương trình dưới đây và sửa lại cho đúng:

    var a,b:= integer; // Dòng số 1. const c:=3; // Dòng số 2. begin // Dòng số 3. a:= 200; // Dòng số 4. b:= a/c; // Dòng số 5. write[b]; // Dòng số 6. readln // Dòng số 7. end. // Dòng số 8.

    Trả lời:

    – Các lỗi của chương trình:

    Dòng số 1: Thừa dấu = và khai báo kiểu dữ liệu của b phải là số thực.

    Dòng số 2: Thừa dấu:

    Dòng số 3: Đúng.

    Dòng số 4: Đúng.

    Dòng số 5: Đúng.

    Dòng số 6: Đúng.

    Dòng số 7: Thiếu;

    Dòng số 8: Đúng.

    – Chương trình sau khi sửa lại:

    Bài 6 [trang 33 sgk Tin học lớp 8]: Hãy cho biết kiểu dữ liệu của các biến cần khai báo dùng để viết chương trình để giải các bài toán dưới đây:

    a] Tính diện tích S của hình tam giác với độ dài một cạnh a và chiều cao tương ứng h [a và h là các số tự nhiên được nhập vào từ bàn phím].

    b] Tính kết quả c của phép chia lấy phần nguyên và kết quả d của phép chia lấy phần dư của hai số nguyên a và b.

    Trả lời:

    a] Ta sẽ có các biến cần khai báo: S là diện tích tam giác, a là độ dài cạnh, h là chiều cao tương ứng. Do a, h là các số tự nhiên nên S cũng là số tự nhiên, kiểu dữ liệu chung đều là integer;

    var S, a, h: integer;

    b] Ta sẽ có các biến cần khai báo: c là kết quả chia lấy phần nguyên, d là kết quả chia lấy phần dư; a,b đều là hai số nguyên. Do đó cả a,b,c,d đều là kiểu dữ liệu số nguyên.

    var c, a, b, d: integer;

    Tìm hiểu mở rộng [trang 33 sgk Tin học lớp 8]: Em đã biết để có các kết quả tính toán đúng mục đích của chương trình, cần phải gán các giá trị dữ liệu thích hợp cho các biến. Hãy chạy chương trình dưới đây để tìm hiểu ngay sau khi khai báo biến [trước khi gán giá trị dữ liệu cụ thể], biến có nhận giá trị dữ liệu ban đầu nào không? Nêu nhận xét của em về giá trị dữ liệu của biến ngay sau khi khai báo.

    var A: integer; B: integer; C: integer; D: integer; begin writeln[A]; writeln[B]; writeln[C]; writeln[D]; readln; end.

    Trả lời:

    – Kết quả chạy chương trình:

    – Ta có thể thấy nếu không khai báo giá trị của biến thì chương trình sẽ tự động đặt giá trị của bằng 0. Ở một số ngôn ngữ lập trình khác thì nếu không khai báo biến thì biến sẽ tự động nhận một giá trị ngẫu nhiên.

    Giải Bài Tập Tin Học 11 – Bài 12: Kiểu xâu giúp HS giải bài tập, giúp cho các em hình thành và phát triển năng lực sử dụng công nghệ thông tin và truyền thông:

    Xem thêm các sách tham khảo liên quan:

    • Sách Giáo Viên Tin Học Lớp 11

    Xâu: Là một dãy kí tự trong bảng mã ASCII. Mỗi kí tự được gọi là một phần tử của xâu.

       – Số lượng kí tự trong xâu được gọi là độ dài của xâu .

       – Xâu có độ dài bằng 0 gọi là xâu rỗng.

       – Tham chiếu tới phần tử trong xâu được xác định thông qua chỉ số của phần tử trong xâu.

    1. Khai báo

    Để khai báo dữ liệu kiểu xâu ta sử dụng tên dành riêng string, tiếp theo là dộ dài lớn nhất của xâu[không vượt quá 255 kí tự đặt trong dấu ngoặc [ và ] ]

    Cú pháp:

    Var:string[độ dài lớn nhất của xâu]; Hoặc Var :string;

    Ví dụ:

    Var ten:string[26]; Var chuthich:string;

    2. Các thao tác xử lí xâu:

    a] Phép ghép xâu, kí hiệu là dấu [+], được sử dụng để ghép nhiều xâu thành một. Có thể thực hiện ghép xâu đối với hằng và biến xâu.

    Ví dụ:

    ‘Tin hoc’+ ’11’ sẽ cho xâu có kết quả là ‘Tin hoc 11’.

    b] Các phép so sánh như bằng [=], khác [], nhỏ hơn [length[b] then write[a] else write[b]; readkey; end.

    Kết quả:

    Ví dụ 2: Viết chương trình nhập hai xâu từ bàn phím và kiểm tra kí tự đầu tiên của xâu thứ nhất có trùng

    Với kí tự cuối cùng của xâu thứ hai không.

    program vd2; uses crt; var a,b:string; begin clrscr; write['nhap xau thu nhat:']; readln[a]; write['nhap xau thu hai :']; readln[b]; if a[1]=b[length[b]] then writeln['Trung nhau'] else writeln['Khac nhau']; readkey; end.

    Kết quả:

    Ví dụ 3:

    Viết chương trình nhập xâu từ bàn phím rồi in nó theo thứ tự ngược lại.

    program vd2; uses crt; var a:string; i:integer; begin clrscr; write['nhap xau:']; readln[a]; write['xau dao nguoc la:']; for i:=length[a] downto 1 do write[a[i]]; readkey; end.

    Ví dụ 4:

    Viết chương trình nhập vào từ bàn phím và đưa ra màn hình xâu thu được từ nó sau khi loại bỏ hết các dấu cách.

    program vd2; uses crt; var a,b:string; i:integer; begin clrscr; write['nhap xau:']; readln[a]; b:=''; for i:=1 to length[a] do if a[i]' ' then b:=b+a[i]; write['xau sau khi bo dau cach la',b]; readkey; end.

    Kết quả:

    Ví dụ 5:

    Viết chương trình nhập vào từ bàn phím xâu kí tự s1, tạo xâu s2 gồm tất cả các chữ số có trong xâu s1 [giữ nguyên thứ tự xuất hiện của chúng ] và đưa kết quả ra màn hình.

    program vd2; uses crt; var a,b:string; i:integer; begin clrscr; write['nhap xau:']; readln[a]; b:=''; for i:=1 to length[a] do if ['0'=a[i]] then b:=b+a[i]; write[b]; readkey; end.

    Video liên quan

    Chủ Đề