State a statement in algorithm using charters date type (selection) and write a program

Here is an example of a statement in an algorithm using characters, date type, and selection:

Algorithm:
1. Start
2. Initialize a variable 'today' of type date and assign the current date.
3. Initialize a variable 'gender' of type character and prompt the user to enter their gender.
4. If 'gender' is equal to 'M' or 'm'
a. Display "Welcome, Mr. [user's name]!".
b. If 'today' is a weekend (Saturday or Sunday), display "Enjoy your weekend!"
c. Else, display "Have a nice day!"
5. Else if 'gender' is equal to 'F' or 'f'
a. Display "Welcome, Ms. [user's name]!".
b. If 'today' is a weekend (Saturday or Sunday), display "Enjoy your weekend!"
c. Else, display "Have a nice day!"
6. Else
a. Display "Welcome, [user's name]!".
b. If 'today' is a weekend (Saturday or Sunday), display "Enjoy your weekend!"
c. Else, display "Have a nice day!"
7. End

Program (in Python):

```python
import datetime

today = datetime.date.today()
gender = input("Enter your gender (M/F): ")

if gender == 'M' or gender == 'm':
print("Welcome, Mr. [user's name]!")
if today.weekday() >= 5:
print("Enjoy your weekend!")
else:
print("Have a nice day!")
elif gender == 'F' or gender == 'f':
print("Welcome, Ms. [user's name]!")
if today.weekday() >= 5:
print("Enjoy your weekend!")
else:
print("Have a nice day!")
else:
print("Welcome, [user's name]!")
if today.weekday() >= 5:
print("Enjoy your weekend!")
else:
print("Have a nice day!")
```

Note: [user's name] should be replaced with the actual user's name, and the program assumes the user inputs their gender correctly as 'M' or 'F'.