Files
nearology 99fb7f0e82 Add sitemap and styles for Persian font integration
- Created a new sitemap.xml file for better SEO.
- Added a compressed version of the sitemap as sitemap.xml.gz.
- Introduced extra.css for custom styles, including Persian font support (IRANSansX).
- Defined font-face rules for regular and bold styles of IRANSansX.
- Implemented various text styles and layout adjustments for better readability.
- Enhanced Mermaid diagram styles to support Persian text rendering.
2026-04-28 15:27:18 +03:30

57 lines
2.1 KiB
Markdown

# تمرین ۹: مرکز پشتیبانی و دستور `cat`
## صورت سؤال
یک تیم پشتیبانی برای هر پروژه یک فایل لاگ نگه می‌دارد و شما باید رفتار چند دستور ساده را شبیه‌سازی کنید.
دستورهای ممکن:
- `touch f` اگر فایل `f` وجود نداشته باشد آن را خالی می‌سازد؛ اگر وجود داشته باشد، محتوا تغییر نمی‌کند.
- `write f s` محتوای فایل `f` را دقیقاً برابر یک خط `s` قرار می‌دهد (بازنویسی کامل).
- `append f s` یک خط `s` را به انتهای فایل `f` اضافه می‌کند.
- `cat f` اگر فایل وجود نداشته باشد باید `ERROR` چاپ شود. اگر وجود داشته باشد ولی خالی باشد باید `EMPTY` چاپ شود. وگرنه باید کل محتوای فایل چاپ شود.
برای جدا کردن خروجیِ چند دستور `cat` از هم، بعد از خروجی هر `cat` (به جز آخری) یک خط شامل `###` چاپ کنید.
## ورودی
در خط اول عدد `q` تعداد دستورها آمده است.
در `q` خط بعدی، هر خط یکی از دستورهای بالا است.
نام فایل‌ها (`f`) فقط شامل حروف انگلیسی، عدد، `_` و `.` است.
`s` یک متن یک‌خطی است که می‌تواند شامل فاصله باشد و تا انتهای خط ادامه دارد.
## خروجی
خروجی تمام دستورهای `cat` را طبق توضیحات چاپ کنید و بین خروجی‌ها (به جز آخرین `cat`) یک خط `###` قرار دهید.
## محدودیت‌ها
- `1 ≤ q ≤ 10^4`
- طول `s` حداکثر 100 کاراکتر است.
## نمونه
**ورودی نمونه**
```text
9
cat log.txt
touch log.txt
cat log.txt
append log.txt ticket1
append log.txt ticket2
cat log.txt
write log.txt reset
cat log.txt
cat missing.txt
```
**خروجی نمونه**
```text
ERROR
###
EMPTY
###
ticket1
ticket2
###
reset
###
ERROR
```