**سؤال ۴: پردازش ساده بر روی دادهها (Simple Data Processing)**
پس از اتمام موفقیتآمیز مراحل **پیشپردازش** و **تمیز کردن دادههای** سهام **TechX**، تیم شما اکنون آماده است تا تحلیلهای اولیه و سریع بر روی دادهها را انجام دهد.
مدیر تیم اعلام کرده که نوبت به **استخراج شاخصهای کلیدی بازار** رسیده است تا بتواند روند تغییرات قیمت را بهتر درک کند و **تصمیمات بهتری برای معاملات آینده** بگیرد.
شما و تیمتان تصمیم گرفتهاید **دو شاخص مهم** را محاسبه کنید:
1. **میانگین متحرک ۵ روزه (5-SMA)**: میانگین قیمت **بسته شدن (Close)** در ۵ روز متوالی که نوسانات را کاهش داده و روند کلی قیمتها را نشان میدهد.
2. **درصد تغییرات روزانه (Daily Change)**: میزان تغییر **قیمت بسته (Close)** هر روز نسبت به روز قبل، برحسب درصد. این شاخص شدت تغییرات بازار را نشان میدهد.
با این تحلیل، تیم شما قادر خواهد بود **روند بازار** را بهتر مشاهده کرده و بهترین استراتژیها را برای **معاملات روزانه** تدوین کند.
## **وظیفه**
برنامهای بنویسید که دادههای سهام **TechX** را دریافت کرده و **دو شاخص زیر** را محاسبه کند:
+ **5-SMA**: میانگین متحرک **۵ روزه** قیمت **بستهشدن (Close)**
+ **Daily Change**: درصد تغییرات روزانه **قیمت بستهشدن** نسبت به روز قبل
سپس، دادههای پردازششده را در قالب یک جدول **بهروز شده** نمایش دهد.
+ **برای اولین روز، مقدار Daily Change برابر "N/A" است.**
+ **برای روزهایی که کمتر از ۵ مقدار برای محاسبه 5-SMA موجود است، مقدار "N/A" ثبت شود.**
## **فرمت ورودی**
ورودی شامل چندین خط است که هر سطر دارای **۵ مقدار** به ترتیب زیر میباشد:
```
Date, Open, High, Low, Close
```
+ دادهها از ورودی **STDIN** خوانده میشوند.
+ فرمت تاریخ به صورت `YYYY-MM-DD` است.
## **فرمت خروجی**
خروجی شامل جدولی است که دارای **۷ مقدار** زیر میباشد:
```
Date, Open, High, Low, Close, 5-SMA, Daily Change
```
+ مقدار **5-SMA** برای **چهار روز اول** برابر **"N/A"** است.
+ مقدار **Daily Change** برای **روز اول** برابر **"N/A"** است.
## **مثالها**
### **ورودی نمونه**
در ابتدا از کاربر خواسته میشود که تعداد سطرها را وارد کند:
```
6
```
سپس 6 سطر داده به شکل زیر وارد میشود:
```
2025-01-01,100,110,90,105
2025-01-02,105,115,95,110
2025-01-03,110,120,100,115
2025-01-04,115,125,105,120
2025-01-05,120,130,110,125
2025-01-06,125,135,115,130
```
### **خروجی نمونه**
```
2025-01-01,100,110,90,105,N/A,N/A
2025-01-02,105,115,95,110,N/A,4.76
2025-01-03,110,120,100,115,N/A,4.55
2025-01-04,115,125,105,120,N/A,4.35
2025-01-05,120,130,110,125,115.00,4.17
2025-01-06,125,135,115,130,120.00,4.00
```
### **توضیح محاسبات**
#### **1. Daily Change (درصد تغییر روزانه)**
**فرمول:**
+ برای **روز دوم:**
+ برای **روز سوم:**
+ برای **روز چهارم:**
+ برای **روز پنجم:**
+ برای **روز ششم:**
#### **2. 5-SMA (میانگین متحرک ۵ روزه)**
**فرمول:**
+ مقدار 5-SMA برای اولین **۴ روز** وجود ندارد (`N/A`)، زیرا تعداد داده کافی نیست.
+ **برای روز پنجم:**
+ **برای روز ششم:**
## **نکات مهم**
✔ **اولین روز مقدار Daily Change ندارد، پس مقدار "N/A" است.**
✔ **قبل از روز پنجم مقدار 5-SMA محاسبه نمیشود، پس مقدار "N/A" است.**
✔ **خروجی باید دقیقاً مطابق با فرمت خواسته شده باشد.**
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.