Chủ Nhật, 13 tháng 11, 2022
Thứ Hai, 1 tháng 8, 2022
Thứ Hai, 25 tháng 7, 2022
HÀM TRONG EXCEL - #2
6/ HÀM IF LỒNG NHAU
=IF(BTĐK1,GT1,IF(BTĐK2,GT2,IF(BTĐK3,GT3,...,IF(BTĐKn-1,GTn-1,GTn)))...)
-Nếu biểu thức điều kiện 1 đúng trả về gt1 (giá trị 1), không
xét các biểu thức còn lại. Nếu biểu thức điều kiện 1 sai thì xét biểu thức điều
kiện 2, nếu biểu thức điều kiện 2 đúng trả về gt2, không xét các biểu thức còn
lại, v.v..., nếu tất cả các biểu thức điều kiện đều sai trả về giá trị n (gtn)
Ví dụ làm ý 1 (hình trên)
=IF(B2="Sầu
riêng",45000,IF(B2="Mít",15000,IF(B2="Táo",20000,30000)))
7/COUNT: đếm số ô chứa giá trị là số.trong một vùng của bảng tính
= COUNT(vùng)
Vùng
: vùng của bảng tính chứa giá trị bất kỳ nhưng hàm chỉ đếm những ô
chứa giá trị số.
= COUNTA(vùng)
Vùng:
địa chỉ vùng trong bảng tính cần
đếm.
Chú ý : ô rỗng là những ô không chứa một giá trị nào.
9/
COUNTBLANK : đếm số ô chứa giá
trị rỗng. trong một vùng của bảng tính
= COUNTBLANK(vùng)
Vùng: là một vùng trong bảng tính cần đếm.
10/
COUNIF : đếm số ô chứa giá trị trong vùng t
= COUNTA(vùng, điều kiện)
Vùng:
địa chỉ vùng trong bảng tính cần
đếm.
Ví dụ:
11/ Và (and)
=and(bđkt1,btđk2,..)
Kết quả:
=true (đúng)
khi tất cả các btđk đúng
=false (sai)
khi chỉ 1 btđk sai
12/ hoặc
(or)
=or(bđkt1,btđk2,..)
Kết quả:
=true khi chỉ
1 btđk đúng
=false khi tất
cả btđk sai
13/ lấy phần
nguyên của số (int)
=int(số)
Số có thể là
một biểu thức
ví dụ:
=int(7/3)=2
=int(7.9)=7
14/ lấy phần
dư
=mod(số bị
chia, số chia)
ví dụ:
=mod(7,3)=1
Thứ Sáu, 29 tháng 1, 2021
Bài tập xâu 2
Bài 1:
Một mật khẩu được coi là an
toàn nếu nó đáp ứng tất cả các điều kiện sau:
-Độ dài mật khẩu ít nhất 8
ký tự;
-Mật khẩu chứa ít nhất một ký
tự in hoa
-Mật khẩu chứa ít nhất một ký
tự thường
-Mật khẩu chứa ít nhất một
chữ số.
-Mật khẩu chứa ít nhất một
kí tự đặc biệt (!; @; #;$;&)
Bạn được cấp một mật khẩu. Hãy
cho biết mật khẩu đó có an toàn không?
Input: Dòng đầu tiên chứa
một chuỗi ký tự không trống (tối đa 100 ký tự).
Output: In Yes nếu mật khẩu
an toàn, in No nếu ngược lại
|
input |
output |
|
Hai@12 |
No |
|
Haiphong@12 |
Yes |
Bài 2: Tý đã nháy vào một
liên kết lạ trong thư gửi đến tài khoản Email của cậu ấy. Ngay lập tức toàn bộ
các file văn bản trong máy tính của Tý đều chỉ có duy nhất một nội dung
"Covid 19”. Tý biết ngay rằng mình đã bị nhiễm loại virus mã hóa thông
tin. Ngày hôm sau Tý nhận được từ kẻ tấn công một file văn bản kỳ lạ gồm 11
dòng có nội dung như sau:
-Dòng 1 chứa một mã nhị
phân có độ dài 80 ký tự.
-10 dòng tiếp theo mỗi dòng
chứa một mã nhị phân khác nhau có độ dài 10 ký tự.
Chú ý: Các mã nhị phân chỉ
gồm số 0 và 1
Sau một tuần nghiên cứu Tý
đã phát hiện ra rằng mã nhị phân ở dòng 1 thực sự là mật mã để khôi phục dữ
liệu về ban đầu. Mỗi nhóm 10 ký tự tương ứng với các số từ 0 đến 9. Như
vậy mật mã khôi phục dữ liệu gồm 8 chữ số ở hệ thập phân. Hãy giúp Tý tìm mật mã.
Input: Gồm
11 dòng.
-Dòng đầu tiên chứa mã nhị phân có độ dài 80 ký tự
-10 dòng tiếp theo mỗi dòng chứa các
mã nhị khác nhau có độ dài 10 ký tự
Output: In một dòng chứa 8
ký tự là mật mã cần tìm.
|
input |
output |
|
01001100100101100000010110001001011001000101100110010110100001011010100101101100 |
12345678 |
Bài 3:
Cho
một xâu chỉ bao gồm:
-chữ
cái viết hoa và viết thường tiếng Anh
-ký
hiệu gạch dưới (chúng được sử dụng làm dấu phân cách giữa các từ)
-dấu
ngoặc đơn (cả mở và đóng).
Đảm
bảo rằng mỗi dấu ngoặc mở có một dấu ngoặc đóng tiếp theo. Tương tự, mỗi dấu
ngoặc đóng có một dấu ngoặc mở trước phù hợp với nó. Không có cặp ngoặc đơn lồng
vào nhau.
Yêu
cầu:
-Tìm
độ dài của từ dài nhất bên ngoài dấu ngoặc đơn (in số 0 nếu không có từ nào bên
ngoài dấu ngoặc đơn)
-Số
lượng từ bên trong dấu ngoặc đơn (in ra số 0, nếu không có từ nào bên trong dấu
ngoặc đơn).
Input: Gồm một dòng
-ghi một xâu có độ dài không quá 1000 kí tự
Output:
Gồm hai dòng
-Dòng
1: In ra độ dài của từ dài nhất bên ngoài dấu ngoặc đơn (in số 0, nếu không có
từ nào bên ngoài dấu ngoặc đơn).
-Dòng
2: In ra số lượng từ bên trong dấu ngoặc đơn (in ra số 0, nếu không có từ nào
bên trong dấu ngoặc đơn).
|
input |
output |
|
_Chuc_mung_nam_moi_2021_(Tan_Suu)_hanh_phuc |
4 2 |
rqq*or*uwe**
Thứ Ba, 19 tháng 1, 2021
Bài tập nhập môn chủ đề xâu kí tự
Bài 1: Cho xâu A gồm n
kí tự chỉ chứa kí tự in hoa là A hoặc B. Hãy viết chương trình thực hiện yêu
cầu sau:
-Nếu số kí tự A nhiều hơn số kí tự B thì in A
-Nếu số kí tự A ít hơn số kí tự B thì in B
-Nếu số kí tự A bằng số kí tự B thì in AB
|
input |
output |
Giải thích |
|
AAAABA |
A |
|
|
ABAABB |
AB |
|
|
ABABBBA |
B |
|
Bài 2: Cho xâu A gồm các kí tự tiếng Anh viết thường hoặc viết
hoa. Hãy viết chương trình thực hiện yêu cầu sau:
Nếu số kí tự thường ≥ số
kí tự in hoa thì chuyển toàn bộ xâu A thành chữ thường ngược lại chuyển toàn bộ
xâu A thành chữ in hoa
Input: gồm một
dòng ghi một xâu không quá 100 kí tự
Output: xâu A sau khi đã
chuyển
|
input |
output |
Giải thích |
|
NgoQUyen |
ngoquyen |
|
|
AbCd |
abcd |
|
|
ABCd |
ABCD |
|
Bài 3:
Cho 2 xâu A và B có độ dài bằng nhau. Mỗi xâu gồm các kí tự tiếng Anh viết hoa
hoặc viết thường. Hãy viết chương trình so sánh hai xâu về mặt từ vựng theo từ
điển
Input: gồm hai dòng. Mỗi
dòng ghi một xâu không quá 100 kí tự
Output: Ghi 1 nếu xâu A
lớn hơn xâu B, ghi -1 nếu xâu A nhỏ hơn xâu B, ghi 0 nếu hai xâu bằng nhau
Chú ý: Cùng một kí tự
tiếng Anh thì không phân biệt chữ hoa và chữ thường (A giống a)
|
input |
output |
|
aaaa |
0 |
|
abs |
-1 |
|
abcdefg |
1 |
Bài 4. Bờm rất thích số
9. Bờm gọi một số là đẹp nếu đúng hơn một nửa chữ số trong số đó là
9. Ví dụ: 99988, 9899 là các số đẹp, và 8979, 97779 thì không. Bờm có thể xóa
một số chữ số khỏi số ban đầu để được số đẹp. Bờm muốn số chữ số bị xóa là ít
nhất. Hãy viết chương trình cho biết số lượng chữ số tối thiểu cần xóa để số
ban đầu thành số đẹp
Input: một dòng chứa một
số nguyên dương (tối đa 50 chữ số). Trong đó có ít nhất một chữ số 9
Output: In một số nguyên
duy nhất số kí tự tối thiểu cần xóa Qqry*
|
input |
output |
|
979998 |
0 |
|
8988889 |
4 |
Bài 5: Cho xâu A gồm các kí tự tiếng Anh viết thường. Hãy viết
chương trình cho biết trong xâu A có bao nhiêu kí tự khác nhau
Input: gồm một dòng ghi
một xâu không quá 100 kí tự
Output: số lượng kí tự
khác nhau
|
input |
output |
Giải thích |
|
wjmzbmr |
6 |
w, j, m, z, b, r |
Bài 6: Cho xâu S gồm cả
chữ cái tiếng Anh và các chữ số. Hãy viết chương trình tính tổng các số trong
xâu
Input: Một xâu s dài
không quá 255 kí tự
Output: Tổng các số
trong xâu
|
input |
output |
Giải thích |
|
A12b8t9B71 |
28 |
1+2+8+9+7+1=28 |
Bài 7: Cho xâu S gồm cả
chữ cái tiếng Anh và các chữ số. Hãy viết chương trình tính tổng các số trong
xâu
Input: Một xâu s dài
không quá 255 kí tự
Output: Tổng các số
trong xâu
|
input |
output |
Giải thích |
|
A12b8t9B71 |
100 |
12+8+9+71=100 |
Thứ Bảy, 16 tháng 1, 2021
Xâu kí tự trong Pascal
Xâu ký tự (String) trong Pascal
-xâu ký tự được định nghĩa bằng từ
khóa STRING. Xâu ký tự là dữ liệu bao gồm một dãy các ký tự trong bảng mã
ASSCII.
Cách khai báo:
Var ten_xau: STRING[độ dài của
xâu];
hoặc Var ten_xau:string;
ví dụ:
var hoten:string[20];
var hoten:string;
Xâu ký tự trong bộ nhớ nó chiếm số
byte bằng số ký tự cực đại được khai báo cộng với byte đầu tiên chứa số ký tự
hiện có của xâu. Độ dài tối đa của xâu ký tự là 255.
- Cách nhập/xuất: Cách nhập
hay xuất kiểu STRING cũng tương tự như các kiểu dữ liệu khác, ta sử dụng các
thủ tục READ, READLN, hoặc WRITE, WRITELN
Ví dụ:
Readln(hoten);
Writeln(hoten);
-Giá trị gán cho biến kiểu xâu phải được để trong cặp nháy
đơn
Ví dụ
a:=’THCS NQ’;
-Gán giá trị các biến kiểu xâu cho nhau tương tự biến kiểu
khác
Ví dụ:
a1:=’Ngo’; a2:=’Quyen’; a1:=a2; ==> a1 sẽ là Quyen
- Truy cập từng phần tử của xâu ký tự: truy cập tương tự mảng 1 chiều:
thông qua tên biến kiểu STRING và chỉ số của nó
Ví dụ:
a:= 'Truong THCS Ngo Quyen';
write(a[6]);
-> Kết quả: cho ra chữ g.
write(a[8]);
-> Kết quả: cho ra chữ T.
Các thao tác trên xâu ký tự:
1/ Phép cộng xâu:
Ví dụ:
a1:=’Ngo’; a2:=’Quyen’; a=a1 + a2;
-> kết quả a=NgoQuyen
2/ Phép so sánh:
Hai xâu ký tự có thể so sánh với
nhau bằng các phép so sánh =, >, <…
Nguyên tắc so sánh thực hiện như
sau, chúng sẽ đem từng ký tự tương ứng với nhau để so sánh, xâu nào có ký tự có
số thứ tự trong bảng mã ASCII lớn hơn thì xâu đó lớn hơn (kí tự a sẽ nhỏ hơn kí
tự b , a sẽ lớn hơn A)
Hai xâu ký tự được gọi là bằng
nhau khi chúng hoàn toàn giống nhau (có độ dài như nhau).
Ví dụ: ‘abc’ = ‘abc’;
a. Hàm length(s): cho độ dài thực của xâu ký tự s. Tính tất
cả các kí tự, kể cả các kí tự ở đầu, giữa xâu s
ví dụ: s:=’Ngo Quyen’ thì
LENGTH(s) cho bằng 9.
b/ Thủ tục DELETE(s,i, n): xóa n ký tự trong xâu s kể từ vị trí i
Ví dụ: s= ‘nam hoc moi’
Delete(s,5,4) lúc đó st cho ra là ‘nam moi’
c/ Thủ tục INSERT(s1, s, i): Thủ tục cho kết quả bằng cách
chèn xâu s1 vào xâu s tại vị trí i, những ký tự đứng sau i sẽ được dời về phía
sau của xâu ký tự s1.
Ví dụ: s1:=’abc’;
s:=’xyzmn’;
INSERT(s1,s,2) lúc đó s=’xabcyzmn’;
d/ Thủ tục STR(value, s): Thủ tục này thực hiện việc chuyển đối giá trị kiểu
số (value) sang dạng xâu ký tự và gán cho biến t.
Ví dụ: x là một số nguyên có giá trị: x:=68;
STR(x,s) sẽ cho kết quả xâu st là: s=’68’;
e/ Thủ tục VAL(st, value,code) đối một xâu ký tự st sang dạng số
và gán cho biến value, nếu biến đối thành công thì code sẽ nhận giá trị bằng 0.
ngược lại thì cho giá trị khác không
Ví dụ: VAL(‘123’,value, code) lúc
này code sẽ nhận giá trị bằng 0 và value=123
f/ Hàm COPY(s, i, n): sao chép trong xâu s, n ký tự tại vị trí i,
Ví dụ: st=’THCS Ngo Quyen’
COPY(st,3,2) = ‘CS’;
g/ Hàm CONCAT(s1,s2,…,sn): hàm cho ra 1 xâu mới bằng cách nối đuôi các xâu
s1,s2,…,sn lại với nhau.
Ví dụ: CONCAT(‘THCS’,’Ngo‘, ‘Quyen’)
= ‘THCSNgoQuyen’;
h/ Hàm POS(st1,st2): hàm cho ta vị trí tìm thấy đầu tiên của xâu s1
trong xâu s2.
Ví dụ: POS(‘bc’,‘axbcmnabc’) = 3;
j/ Hàm UPCASE(s)--> Đổi toàn bộ xâu s thành In hoa
ví dụ
s=’abcD’; upcase(s)=> S=’ABCD’
k/ Hàm Ord(ch): Cho mã của ký tự ch trong bảng mã ASCII
Ví dụ: ch:='a'; n:= Ord(ch) ==> n= 97 (kí tự a có mã là 97 trong bảng mã ASCII)
l/ Hàm Chr(n): Cho ký tự có mã là n trong bảng mã ASCII
ví dụ: n:=97; x:=Chr(n); ==>x='a' (kí tự có mã 97 trong bảng mã ASCII là a)
Chú ý:
a có mã là 97, A có mã là 65 cách nhau 32 đơn vị
z/ hàm Lowercase(s)==>đổi toàn bộ xâu s thành chữ thường










