اللجنة العلمية_مستوى أول – Telegram
اللجنة العلمية_مستوى أول
3.04K subscribers
375 photos
58 videos
1.06K files
260 links
القنوات العملية المركزية:
سنة اولى/ https://news.1rj.ru/str/USذF_Computer1
سنه ثانية/ https://news.1rj.ru/str/USF_computer2
سنة ثالثة/ https://news.1rj.ru/str/USF_Computer3
سنة رابعة/ https://news.1rj.ru/str/USF_Computer4

تم ارشفة اغلب قنوات ومجموعات الدفع السابقة ، وهي مثبته
Download Telegram
Forwarded from اللجنة العلمية CS 22 (Ayham Alakhlly)
c++-quiz-questions-answers.pdf
134.6 KB
بعض من أسئلة البرمجة (اختبار اتحداك تحلني)
#اختبار_اتحداك_تحلني

#Prog
Forwarded from 🔰اللجنة_العلمية_للامن_السيبراني_2 🔰 (Ă฿ГĂГ sĂ₥Ϊ ⛓️🖇️😴)
⭕️⭕️
ملخص لبعض الدوال 👇
Forwarded from 🔰اللجنة_العلمية_للامن_السيبراني_2 🔰 (Ă฿ГĂГ sĂ₥Ϊ ⛓️🖇️😴)
1 abs(x)
ترجع القيمة المطلقة ( Absoulte Value ) للعدد الذي نمرره لها مكان البارامتير x
2 ceil(x)
ترجع العدد الصحيح الأكبر أو الذي يساوي العدد الذي نمرره لها مكان الباراميتر x
3 cos(x)
ترجع قيمة جيب التمام ( Cosine ) للعدد الذي نمرره لها مكان الباراميتر x.
4 exp(x)
ترجع قيمة ex, أي قيمة المتسارع ( Exponential ) للعدد الذي نمرره لها مكان الباراميتر x
5 exp(x)
ترجع قيمة ex, أي قيمة المتسارع ( Exponential ) للعدد الذي نمرره لها مكان الباراميتر x.
6 floor(x)
ترجع العدد الصحيح الأصغر أو الذي يساوي العدد الذي نمرره لها مكان الباراميتر x
7 rint(x)
ترجع أقرب عدد صحيح للعدد الذي نمرره لها مكان الباراميتر x.
8 fmax(x, y)
ترجع العدد الأكبر بين العددين اللذين نمررهما لها مكان الباراميترين x و y.
9 fmin(x, y)
ترجع العدد الأصغر بين العددين اللذين نمررهما لها مكان الباراميترين x و y
10 fmod(x, y)
ترجع الرقم الذي يتبقى من قسمة قيمة البارامتير x على قيمة البارامتير y.
11 pow(x, y)
تضاعف قيمة الباراميتر x بقيمة الباراميتر y ثم ترجع الناتج
12 sqrt(x)
ترجع قيمة الجزر التربيعي (Square Root) للعدد الذي نمرره لها مكان الباراميتر x
13 cbrt(x)
ترجع قيمة الجزر التكعيبي ( Cube Root ) للعدد الذي نمرره لها مكان الباراميتر x.
14 log(x)
ترجع قيمة loge(x), أي قيمة اللوغاريتم ( Logarithm ) للعدد الذي نمرره لها مكان الباراميتر x.
15 log2(x)
ترجع قيمة log2(x), أي قيمة اللوغاريتم الثنائي ( Binary Logarithm ) للعدد الذي نمرره لها مكان الباراميتر x.
16 log10(x)
ترجع قيمة log10(x), أي قيمة اللوغاريتم العشري ( Decimal Logarithm ) للعدد الذي نمرره لها مكان الباراميتر x.
Forwarded from 🔰اللجنة_العلمية_للامن_السيبراني_2 🔰 (Ă฿ГĂГ sĂ₥Ϊ ⛓️🖇️😴)
الدوال الخاصة للتعامل مع النصوص
1 int length()
ترجع رقم يمثل عدد أحرف النص الذي قام باستدعائها.
للدقة, فإن الرقم الذي ترجعه يمثل من كم Byte يتألف النص.
2 int size()
ترجع رقم يمثل عدد أحرف النص الذي قام باستدعائها تماماً مثل الدالة length().
3 string substr(int pos=0, int len = npos)
ترجع نص عبارة عن جزء من النص (Substring) الذي قام باستدعائها.
مكان الباراميتر pos نمرر index الحرف الذي نريد البدء بنسخ النص من عنده.
مكان الباراميتر len يمكنك تمرير رقم يمثل كم حرف تريد أن تنسخ من عند index الباراميتر pos إن لم ترد نسخ كل النص الموجود.
4 int find(string str)
تبحث في النص الذي قام بإستدعائها عن أول index يوجد إبتداءاَ من عنده نفس النص الذي نمرره لها مكان الباراميتر str و ترجعه.
5 int rfind(string str)
تبحث في النص الذي قام بإستدعائها عن آخر index يوجد إبتداءاَ من عنده نفس النص الذي نمرره لها مكان الباراميتر str و ترجعه.
6 string replace(int pos, int len, string replacement)
تستخدم لتعديل جزء محدد من النص الذي قام باستدعائها.
مكان الباراميتر pos نمرر index الحرف الذي نريد البدء بتغيير النص من عنده.
مكان الباراميتر len نمرر رقم يمثل كم حرف تريد أن تبدل إعتباراً من عند index الباراميتر pos.
مكان الباراميتر replacement نمرر النص الذي سيتم إضافته مكان الجزئية التي سيتم حذفها.
7 void swap(string str)
تبدل محتوى النص الذي قام بإستدعائها بمحتوى النص الذي نمرره مكان الباراميتر str.
كما أنها تبدل محتوى المتغير الذي نمرره مكان الباراميتر str بمحتوى النص الذي قام باستدعائها
8 string append (const string str)
تضيف قيمة النص الذي نمرره مكان الباراميتر str في آخر النص الذي قام باستدعائها و ترجع النص الناتج عند دمجهمها معاً.
9 bool empty()
ترجع true إذا كان النص الذي قام باستدعائها فارغ (أي لا يوجد فيه أي حرف).
و ترجع false إن لم يكن كذلك.
10 void clear()
تمسح كل الأحرف الموجودة في النص الذي قام باستدعائها.
11 int compare (const string str)تقارن حجم النص الذي قام باستدعائها مع حجم النص الذي نمرره لها مكان الباراميتر str.
ترجع 0 في حال كان حجمهم متساوي.
ترجع 1 في حال كان عدد أحرف النص الذي قام باستدعائها أكبر.
ترجع -1 في حال كان عدد أحرف النص الذي قام باستدعائها أصغر.
12 string insert (int pos, const string str)
تضيف قيمة النص الذي نمرره مكان الباراميتر str في النص الذي قام باستدعائها عند Index الخانة التي نحددها مكان الباراميتر pos و ترجع النص الناتج عند دمجهمها معاً.
معالجة الملفات
التعامل مع الملفات أو معالجة الملفات ( Files Handling ) يقصد منها إجراء عملية ما على الملفات الموجودة في حاسوب المستخدم كقراءة محتوى ملف و عرضه في البرنامج, إنشاء نسخة منه, تعديل محتواه أو حذفه, سواء كان نوع الملف txt, jpg, mp4 أو أي نوع آخر.

الآن, للتعامل مع الملفات يجب تضمين الحزمة <fstream> لأنها تحتوي على الكلاسات المخصصة لذلك, بالإضافة للحزمة <iostream> لأننا سنحتاج منها العامل << عند الكتابة في الملف.

إذاً يجب كتابة هذين السطرين عند التعامل مع الملفات.

#include <iostream>
#include <fstream>


مصطلحات تقنية
إسم الحزمة <fstream> مشتق من جملة File Stream و التي تعني أنها مخصصة للتعامل مع الملفات.
إسم الحزمة <iostream> مشتق من جملة Input Output Stream و التي تعني أنها تحتوي على أوامر الإدخال و الإجراج سواء على الشاشة أو في الملفات.
كلاسات الحزمة fstream
الحزمة <fstream> تحتوي على الكلاسات الأساسية التالية التي يمكن استخدامها للتعامل مع الملفات.

الكلاس مع تعريفه
1
ofstream
يستخدم لإنشاء كائن يتيح لنا إمكانية إنشاء ملف جديد و الكتابة فيه.
2
ifstream
يستخدم لإنشاء كائن يتيح لنا إمكانية قراءة محتوى الملف.
3
fstream
يستخدم لإنشاء كائن يتيح لنا إمكانية إنشاء ملف جديد, الكتابة فيه و القراءة منه أيضاً.
إذاً هذا الكلاس يعتبر دمج للكلاس ofstream و الكلاس ifstream.
طريقة فتح و إغلاق ملف
إذا أردت قراءة محتوى ملف أو الكتابة فيه فلا بد من أن يكون مفتوحاً من قبل برنامجك نفسه حتى تتمكن من ذلك.
الكلاسات الثلاثة ifstream و ofstream و fstream جميعها تحتوي على دالة إسمها open() نستخدمها لنفتح الملف الذي نريد التعامل معه.


بناء الدالة open()
void open(const char *filename, ios::openmode mode)

مكان الباراميتر filename نمرر إسم و مسار الملف الذي نريد فتحه كنص عادي.
mode هو باراميتر إختياري يمكننا أن نمرر مكانه ثابت أو أكثر من الثوابت الجاهزة في الكلاس ios حتى نحدد للمترجم لماذا نريد فتح الملف.


في الجدول التالي وضعنا أسماء ثوابت الكلاس ios التي يمكنك تمريرها مكان البارميتر mode.

الثابت مع تعريفه
1
ios::app
يستخدم لإعلام المترجم بأن المحتوى الجديد الذي سيتم إضافته سيوضع في آخر الملف.
2
ios::ate
يستخدم لإعلام المترجم بأن سيتم فتح الملف بهدف الكتابة و القراءة منه مع الإشارة إلى أنه سيبدأ من آخره.
3
ios::in
يستخدم لإعلام المترجم بأنه سيتم فتح الملف بهدف القراءة منه.
4
ios::out
يستخدم لإعلام المترجم بأنه سيتم فتح الملف بهدف الكتابة فيه.
5
ios::trunc
يستخدم لإعلام المترجم بأنه في حال كان الملف موجود مسبقاً, سيتم مسح محتواه عند فتحه.


عند استدعاء الدالة open() يمكنك استخدام العامل | في حال أردت أن تمرر لها أكثر من قيمة مكان البارميتر mode كالتالي.

ofstream myfile;
myfile.open ("example.txt", ios::out | ios::app);


معلومة تقنية
الكلاس ofstream يستخدم الثابت ios::out بشكل إفتراضي.
الكلاس ifstream يستخدم الثابت ios::in بشكل إفتراضي.
الكلاس fstream لا يستخدم أي ثابت بشكل إفتراضي.


أهمية إغلاق الملف عند الإنتهاء منه
عند الإنتهاء من التعامل مع أي ملف, قم بإغلاقه على الفور لأن ذلك من شأنه تحسين أداء البرنامج حيث سيخفف من حجم المساحة المحجوزة للملف في الذاكرة بالإضافة إلى أنك تصبح قادر على التعامل مع هذا الملف بشكل مباشر من خارج برنامجك.

الكلاسات الثلاثة ifstream و ofstream و fstream جميعها تحتوي على دالة إسمها close() نستخدمها لإغلاق الملف.
إذاً لإغلاق الإتصال مع أي ملف مفتوح, يجب أن تستدعي الدالة close() من الكائن الذي بالأساس فتحت الملف من خلاله.

التشييك على حالة الكائن الذي نتعامل من خلاله مع الملف
عند استخدام الدالة open() لفتح الملف سواء بهدف القراءة أو الكتابة فيه فإن ذلك قد لا ينجح دائماً.

فمثلاً إذا كنت تريد إنشاء ملف جديد, قد تكون لا تملك صلاحية لإنشاء ملف في الحاسوب أو لا يوجد مساحة كافية لإنشاء الملف فيها, أو أن الملف موجود أصلاً و لكنه مفتوح من قبل برنامج آخر. و في حال كنت تريد قراءة محتوى ملف موجود في الحاسوب قد تواجه أيضاً بعض المشاكل, كأن يكون مسار الملف الموضوع غير صحيح, أو أن الملف مفتوح من قبل برنامج آخر أو أنك لا تملك صلاحية للقراءة منه إلخ..

بعد إنشاء الكائن الذي ستتعامل من خلاله مع الملف, يمكنك استخدام الجمل الشرطية if و else بكل سهولة كالتالي لمعرفة ما إن كان يمكنك التعامل مع الملف أم لا.

ofstream myfile;
myfile.open ("example.txt");
if (myfile)
{
// إذا كان الإتصال بالملف لا يوجد فيه مشاكل, سيتم تنفيذ الأوامر التي نضعها هنا
}
else
{
// إذا أردت إعلام المستخدم بأنه حدث مشكلة أثناء الإتصال بالملف, فيمكنك كتابة ذلك هنا
}
هناك 4 دوال جاهزة يمكنك استخدامها للتأكد من أن الإتصال بالملف سليم و أنه لم تحدث أي مشكلة عند التعامل معه سواء عند القراءة أو الكتابة فيه.

إسم الدالة مع تعريفها
1
bool bad()
تستخدم لمعرفة ما إن حصلت أي مشكلة عند القراءة أو الكتابة في الملف.
ترجع true إذا حدثت مشكلة و ترجع false إذا لم تحدث أي مشكلة.

من المشاكل التي نقصدها كأن تحاول الكتابة في الملف و لكنه لا يوجد مساحة كافية للتخزين, أو في حال فتحت ملف بواسطة كائن من ofstream و لكنك كنت تنوي استخدامه للقراءة و ليس للكتابة. في هذه الحالات يمكنك الإستفادة من هذه الدالة لمعرفة ما إن حدث خطأ أم لا.
2
bool fail()
مثل الدالة bad() تماماً بالإضافة إلى أنها تشيك على المشاكل التي قد تحدث عند التعامل مع محتوى الملف.
على سبيل المثال, إذا قمت بقراءة عدد مخزن في الملف و قمت بقراءته في برنامجك و من ثم التعامل معه كأنه عدد عادي بدون أن تحوله لعدد ستجد أنها تنبهك عن هذا الخطأ أيضاً.
ترجع true إذا حدثت مشكلة و ترجع false إذا لم تحدث أي مشكلة.
3
bool eof()
إسم الدالة هو اختصار لجملة End Of File و هي تستخدم لمعرفة ما إن وصلت في القراءة أو الكتابة إلى آخر الملف أم لا.
ترجع true إذا كان المترجم وصل لنهاية الملف و ترجع false إذا يصل بعد لنهايته.
4
bool good()
تستخدم لمعرفة ما إن حصلت أي مشكلة كانت عند التعامل مع الملف و هي تشمل كل أنواع المشاكل التي قد تحدث.
ترجع true إذا لم تحدث أي مشكلة و ترجع false إذا حدثت مشكلة ما.
كل ماتم ذكره مأخوذ من هذا الموقع :
https://harmash.com/tutorials/cplusplus/files
Forwarded from 🔰نماذج وملخصات IS مستوى ثالث🔰 (حسن الكُتف <HI/X>)
مذاكرين تمام التمام ؟
Anonymous Poll
25%
👍🏻
75%
🥲
Forwarded from 🔰نماذج وملخصات IS مستوى ثالث🔰 (حسن الكُتف <HI/X>)
المذاكرين الان عادنا بدات اذاكر ومن ما فهمنا من كلام الدكتور موسى ان في اكواد طويلة وحاجات فهم /* يعني يشتي يبسر من فاهم */

شا اسوي اسئلة عميقة صح وتحتاج تتبع هانا مش في MCQ واشرحها وشا ادمج فيها القدر اللي اقدر من اللي درسنا