Viết chương trình kiểm tra mật khẩu với dữ liệu đầu vào là 1 chuỗi có công dụng như sau: Kiểm tra xem chuỗi đầu vào có phải là mật khẩu mạnh hay không, nếu có trả về True, nếu không trả về False Mật khẩu mạnh là mật khẩu phải có ít nhất 1 chữ hoa, 1 chữ thường, 1 số và 1 ký tự đặc biệt pascal

2 câu trả lời

uses crt;
var s:string; i,hoa,thuong,so,db:longint;
begin
clrscr;
   write('Nhap mat khau: ');readln(s);
   for i:=1 to length(s) do
      begin
         if s[i] in ['A'..'Z'] then inc(hoa) else
         if s[i] in ['a'..'z'] then inc(thuong) else
         if s[i] in ['0'..'9'] then inc(so) else inc(db);
      end;
   writeln((hoa>0)and(thuong>0)and(so>0)and(db>0));
readln
end.

Mình sẽ xác định là các kí tự khác ngoài a → z; A→Z; 0→9

Code

Program mkmanh;
var pass:string;
a: boolean;
s,t,h,k,i:longint;
BEGIN
Readln(pass);
s:=0; t:=0; h:=0; k:=0;
For i := 1 to length(pass) do
begin
If pass[i] in ['0'..'9'] then s:=s+1;
If pass[i] in ['a'..'z'] then t:=t+1;
If pass[i] in ['A'..'Z'] then h:=h+1;
If not(pass[i] in ['a'..'z','A'..'Z','0'..'9']) then k:=k+1;
end;
If (s>0) and (t>0) and (h>0) and (k>0) then a:= true else a:=false;
Write(a);
Readln;
END.