Bài tập và thực hành 5

Chia sẻ bởi Đặng Thị Thái Duyên | Ngày 10/05/2019 | 50

Chia sẻ tài liệu: Bài tập và thực hành 5 thuộc Tin học 11

Nội dung tài liệu:

Xâu là gì?
BÀI TẬP VỀ KIỂU XÂU
Xâu là dãy các kí tự trong bộ mã ASCII, mỗi kí tự được gọi là một phần tử của xâu.

Nêu cách khai báo biến kiểu xâu?
* Khai báo
Var : string[ độ dài xâu]
Ví dụ:
hoten:string[20]

BÀI 7. PHẦN MỀM MÁY TÍNH.
Cỏc em hóy cho bi?t cú cỏc thao tỏc x? lớ xõu n�o?
BÀI TẬP VỀ KIỂU XÂU

+ Phép ghép xâu, các phép so sánh.
+ Một số thủ tục, hàm chuẩn dùng để sử lí xâu: coppy, delete, pos...
Một số thủ tục chuẩn dùng để sử lí xâu.
- Delete(S,vt,n) Xoá n kí tự của xâu S bắt đầu từ vị trí vt.
- Insert(S1,S2,vt) Chèn xâu S1 vào xâu S2 bắt đầu từ vị trí vt của S2.
...
BÀI TẬP VỀ KIỂU XÂU
Một số hàm chuẩn:
Copy(S, vt, n) Tạo xâu gồm n kí tự từ liên tiếp bắt đầu từ vị trí vt của xâu S..
Pos(S1, S2) Tìm vị trí xuất hiện đầu tiên của S1 trong S2.
Length(st) Cho độ dài của xâu St.
Upcase(ch) Cho chữ cái viết hoa tương ứng với chữ thường trong ch.
Nhắc lại:
Nhập n kí tự sao cho không có 2 kí tự nào trùng nhau
(nếu trùng thì yêu cầu nhập lại). In lại xâu đó.
 
BÀI TẬP 1
Yêu cầu
Hãy xác định input và output của bài toán.


Input : Nhập xâu với n kí
Output: Đưa ra xâu có với các phần tử trong xâu không được trùng nhau.
Thuật toán
BÀI TẬP 1
Ý tưởng để giải bài này?
1. Khởi đầu cho xâu kí tự (giả sử là S) là xâu rỗng
2. Dùng vòng lặp, lặp duyệt đến kí tự cuối cùng
+ Đọc kí tự cho xâu, giả sử là ch( char).
+ Dùng một vòng lặp để kiểm tra, kí tự ch đã có rồi thì yêu cầu nhập lại.
3. S:=S+ ch;
4. Đọc kí tự tiếp theo.
5. In xâu
 
Em nào có thể cài đặt được đoạn code của chương trình?
BÀI TẬP 1
 Đây là chương trình hoàn chỉnh.
Program bt1;
Uses crt;
Var i,n:integer;
ch: char;
s: string[100];
BEGIN
write(‘nhap so ki tu n = ‘);
readln(n);
writeln(‘nhap xâu s = ‘);
s:=’’;
for i:= 1 to n do
begin
readln(ch);
while pos(ch, s) <> 0 do
begin
write(‘ Kí tự;, ch,’ da co. Hay nhap lai ‘);
readln(ch)
end;
s:=s+ch;
end.
writeln(‘Xâu đã nhập là:’, );
readln
END.
BÀI TẬP 2
Nhập một xâu kí tự. Kiểm tra tính đối xứng của xâu đó. Nếu xâu không đối xứng hãy đảo xâu.
Input: Nhập Xâu kí tự bất kì
Output:
In ra xâu
+ Ban đầu nếu nó đối xứng.
+ Đã đổi ngược.
 
Thuật toán:
+ Nhập xâu s
+ Dùng biến đếm để đếm số cặp ở vị trí đối xứng mà khác nhau.
+ Khởi tạo i:=1, k:=length(s), dem:=0
+ Dùng một vòng lặp, chừng nào i < k thì còn
So sánh s[i] và s[k]. Nếu khác nhau thì đảo xâu.
+ Nếu dem không đổi thì đưa ra là xâu đối xứng, ngược lại là xâu đã đảo ngược.
 
BÀI TẬP 1
 Đây là phần thân của bài tập 2
BEGIN
write(‘nhap xâu s = ‘);
readln(s);
d:=0;
i:=1;
k:=length(s);
while i< k do
begin
if s[i]<> s[k] then
begin
d:=d+1;
ch:=s[i];
s[i]:=s[k];
s[k]:=ch;
end;
i:=i+1;
k:=k-1;
end;
if d=0 then
write(‘ Xau doi xung’)
else
begin
write(‘ Xau ko doi xung’);
writeln( ‘in xau da dao’);
writeln(s);
end;
readln
END.
 Đây là phần khai báo của bài tập 2
Program bt2;
Uses crt;
Var i,k, d:integer;
Ch: char;
s: string[100];







BÀI TẬP VỀ NHÀ:

Chuẩn bị cho tiết luyện tập về kiểu xâu tiếp theo
+ Ôn lại kiến thức đã học
+ Đọc và suy nghĩ các bài tập trong sách bài tập



Củng Cố







Sự khác nhau cơ bản của xâu và mảng là gì?



Củng Cố

Điền vào chỗ chấm sau:

S1

19

19




Củng Cố

Điền vào chỗ chấm sau:


Đáp án:
delete( S, 8,8)
Kết qua ‘AHI’

* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Đặng Thị Thái Duyên
Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)