Category

python

دروس بايثون للمبتدئين تابع جمل التحكم الشرطية او العبارات الشرطية

الدرس العاشر من دروس بايثون للمبتدئين
تابع جمل التحكم الشرطية او العبارات الشرطية
conditional statement
اتكلمنا فى الدروس السابقة على جمل التحكم الشرطية وعرفنا ان الهدف من كتابتها هو التحكم فى مسار البرنامج
وانها عبارة عن بلوك من الاكواد يرتبط تنفيذها بتحقق شرط معين .

وبدائنا بشرح الحالة الاولى من عبارة if وهى
– simple if
و الحالة الثانية وهى if else
النهاردة هنتكلم على الحالة الثالثة من حالات if وهى if else if
وهى تكتب بالصورة التالية elif .
وتستخدم فى حالة وجود أكثر من شرط او احتمال .

نتيجة بحث الصور عن if statement in python

وهى تاخذ الصيغة التالية

if(condition):
statements1
elif (condition):
statements2
elif (condition):
statements3
.
.
else :
statements

يتم كتابة جملة الشرط بأستخدام عبارة if else if كالتالى :
نبداء بكتابة الكلمة المحجوزة if وبعدها نفتح قوسين ونكتب بداخلهم العبارة او العبارات المراد التحقق من صحتها او الشرط
ويجب ان تكون النتيجة المرجعة منة
boolean (true or false)
وذلك باستخدام احد معاملات المقارنة السابق شرحهم comparison operators
والدمج بينهم عند وجود اكثر من شرط او عبارة باستخدام
and
or
وبعدها نكتب الجملة او الجمل المراد تنفيذها فى حالة تحقق هذا الشرط .
ثم نكتب عبارة elif ونفتح قوسين ونكتب بداخلهم العبارة او العبارات المراد التحقق من صحتها او الشرط الاخر
وبعدها نكتب الجملة او الجمل المراد تتفيذها فى حالة تحقق هذا الشرط .
بعدها يتم تكرار عبارة elif بعدد الاحتمالات او الشروط المتوقعة .
ثم نكتب عبارة else ونكتب بداخلها الجملة او الجمل المراد تنفيذها فى حالة عدم تحقق اى شرط من الشروط السابقة .

ونلاحظ الاتى :
_ فى حالة تحقق الشرط ( نتيجة الشرط true )فى اى شرط يتم تنفيذ الجملة او الجمل الخاصة بهذا الشرط وبعدها يخرج مباشرة من جملة if دون اختبار باقى الشروط .
اما فى حالة عدم تحقق الشرط (نتيجة الشرط false ) فى اى شرط يتم الانتقال مباشرة الى الشرط الذى يلية لحين تحقق الشرط او طباعة الجمل بداخل else (فى حالة ان تكون جميع نتائج جمل الشرط false ).
ثم يتجة البرنامج مباشرة لتنفيذ باقى الاكواد الموجودة داخل البرنامج .

مثال للتوضيح : لو اردنا كتابة برنامج ياخذ رقم من المستخدم وبناء على هذا الرقم يتم طباعة اليوم .

سيتم تعريف متغير يحمل رقم اليوم ومن الممكن استخدام طريقة الادخال السابق شرحها فى الادخال .
بعدها يتم اختبار الشرط الاول فاذا كانت قيمة المتغير تساوى القيمة الموجودة بهذا الشرط (نتيجة الشرط true )
سوف يتم طباعة اليوم . وبالتالى الخروج مباشرة من جملة if دون تنفيذ باقى جمل الشرط .
اما اذا كانت قيمة المتغير لاتساوى القيمة الموجودة بهذا الشرط
سوف ينتقل البرنامج مباشرة الى الشرط الذى يلية وهكذا يتم الانتقال الى الشرط الذى يلية طالما ان نتيجة الشرط false

المتغيرات في البايثون
Constructors في لغة البايثون 
كتاب تعلم البرمجة مع بايثون 3
كتاب البرمجة بلغة بايثون – الجزء الثاني
كتاب مدخل أساسيات لغة بايثون
USB منافذ ال
Fiber Optics تعلم توصيل الالياف الضوئيه
اهمية الهندسة العكسية عند البرمجة
طريقة استخراج صورة من ملف ورد
لماذا لا يتم التواصل معك بعد إرسالك لسيرتك الذاتية ؟
الخوف من الذكاء الصناعي
DHCPايه هو ال
DDL أوامر

المعاملات الحسابية بلغة البايثون

تنقسم الى المعاملات في لغة البايثون الى عدة معاملات وهناك اربعة معاملات اساسية وهي موضحة أدناه وسيتم شرح المعاملات الحسابية في هذا الدرس و باقي المعاملات في دروس إخرى
– Arithmetic operators المعاملات الحسابية
– Assignment operators. معاملات اسناد القيم
– Comparison operators معاملات المقارنة
– Logical operators. المعاملات المنطقية

نتيجة بحث الصور عن ‪operators in python‬‏

المعاملات الحسابية Arithmetic operators
الجمع +
الطرح –
الضرب *
القسمة /
باقى القسمة %
الأس **
القسمة الصحيحة //
وهنوضحها بمثال

num1=6
num2=2
print(num1+num2)

سوف يتم طباعة 8

print(num1-num2)

سوف يتم طباعة 4

print(num1*num2)

سوف يتم طباعة 12

print(num1/num2)

سوف يتم طباعة 3

print(num1%num)

سوف يتم طباعة 0

print(num1**num2)

سوف يتم طباعة 36

print(num1//num2)

سوف يتم طباعة 3

ساقوم بتوضيح علامة % او باقى القسمة
ناتج قسمة 6/2 هو 3 (2*3=6 ) اما باقى القسمة يكون صفر .

اولويات العمليات الحسابية
انا عرضتها بحسب اولوية التنفيذ
( )
**
* /
+ –
مثال للتوضيح

num1=10
num2=5
num3=4
print(num1+num2*num3)

قد يعتقد البعض بان تنفيذ هذة العملية يكون كالتالى
هو جمع قيمة المتغير num1 مع قيمة المتغير num2 ثم ضرب هذا الناتج فى قيمة المتغير num3
الا ان هذا غير صحيح راجع اولويات تنفيذ المعاملات الحسابية التى تم شرحها . نجد ان البرنامج سوف يقوم اولا بضرب قيمة المتغير. num2 فى قيمة المتغير num3 ثم جمع هذا الناتج على قيمة المتغير num3 فيكون الناتج هو 30
بعض الملاحظات :
– فى حالة وجود اكثر من معامل لة نفس اولوية التنفيذ يتم التنفيذ من الشمال الى اليمين .
– فى حالة الرغبة فى اعطاء اى عملية اولوية التنفيذ يتم وضعها داخل الاقواس ( ) .

مثال اخر بس مش انا الا هحلة انا بطلب من اى حد يشوف البوست دا هو الا هيحلة .

(4+2**3)/2+(4*4+6/2)

كتاب تعلم بايثون بكل سهولة
Hands on Python Book
دروس بايثون للمبتدئين تابع جمل التحكم الشرطية او العبارات الشرطية
Constructors في لغة البايثون 
Python Programming Fundamentals
أهم الأسئلة التي يجب أن تعرف إجابتها عن حماية المعلومات
Google عشرة حيل في محرك البحث
خوارزميات التشفير
Screen Time طريقة إستخدام
ما هو التيبوغرافي
API شرح عام عن ال
Joomla مقدمة في إستخدام
تحليل المواقع الالكترونية

Constructors في لغة البايثون 

Constructor او الكنستركتور او المنشئ هو نوع خاص من الطرق (الفانكشين) يتم استخدامه لتهيئة نموذج مثيل للكلاس  .

يمكن أن يكون Constructor  من نوعين.

 1- Parameterized Constructor
2- Non-parameterized Constructor

يتم تنفيذ تعريف Constructor عندما نقوم بإنشاء كائن من هذه الكلاس. يتحقق المُنشئون أيضًا من وجود موارد كافية للكائن لأداء أي مهمة بدء.

وهنلخصة فى عدة نقاط :
تعريف constructors .
طريقة انشاء دالة constructor
ماهى وظيفة constructors .

نتيجة بحث الصور عن ‪Constructors in python‬‏

تعريف constructors :
ببساطة هو دالة خاصة (special methods ) داخل الكلاس
يتم أستدعائها (تنفيذها)تلقائيا مع بداية انشاء object
من الطبيعى بعد انشاء اى دالة لايتم تنفذها مباشرة وانما يتم تنفيذ الدالة من خلال تمرير اسم الدالة داخل البرنامج .
اما دالة constructor يتم تنفيذها تلقائيا وقت انشاء object بدون استدعاء اسم الدالة .
car1=car( )
car( ) constructor تمثل دالة
بتكون فى شكل دالة جاهزة للتنفيذ وبداخل هذة الاقواس يتم تمرير قيم للمتغيرات .

طريقة انشاء دالة constructors
اتكلمنا فى التعريف السابق ان constructor هو دالة وبالتالى مثل اى دالة سوف يبداء بالكلمة def وهى الكلمة المحجوزة لتعريف اى دالة يليها كلمة _init_
كالتالى :
def _init_( ):

ويكتب بداخل constructors مجموعة من الاجراءات المطلوب تنفيذها تلقائيا او اسناد قيم للمتغيرات بمجرد انشاء object عن طريق تمرير parameters داخل constructors. واسناد قيم لها اثناء انشاء object

ماهى وظيفة constructors
انا قلت فى تعريف constructors انه يتم تنفيذة مع بداية انشاء ال object وبالتالى لو عاوز انفذ اجراء (كود معين) او اعطاء قيم للمتغيرات
initialize data of object( variables )
مع بداية انشاء الكائن فيكون دا من اهم استخدامات constructors .

هعرض فيديو يوضح تنفيذ دالة constructor وتمرير قيم للمتغيرات تلقائيا مع بداية انشاء object .
وهعرض طريقة اسناد قيم للمتغيرات عن طريق تمرير قيم لهذة المتغيرات داخل الدالة .بالطريقة السابق شرحها .

سؤال خاص بالموضوع ؟
هل ممكن انشاء اكثر من constructors داخل الكلاس ؟
ممكن انشاء اكثر من constructors داخل الكلاس .
وان شاء الله سيتم شرحة فى المرة القادمة وكذلك شرح constructor with Inheritance .

كتاب احترف البايثون الآن
كتاب البايثون بلمسة
البرمجة الكائنية باستخدام بايثون
Constructors في لغة البايثون 
دروس بايثون للمبتدئين تابع جمل التحكم الشرطية او العبارات الشرطية
عقدة الفكرة موجودة مسبقا
RESTful API ماهو
أشهر 6 لغات برمجة فى العالم
أنواع الاخطاء البرمجية
موقع بيكسلر لتعديل الصور أون لاين
STP بروتوكول
php دالة الوقت والتاريخ فى
system32 التعريف بمجلد

البرمجة الكائنية باستخدام بايثون

البرمجة الكائنية باستخدام بايثون أو OOP – Object oriented programming هي عبارة عن نمط برمجة متقدمة، وفيه يقسم البرنامج إلى وحدات تسمى الكائنات (Objects) كل كائن object عبارة عن حزمة من الصفات Attributes (يعبر عنها بالمتغيرات variables )  والافعال Actions ( يعبر عنها بالدوال functions ).
وكل كائن يؤدى وظيفة محددة.
ويتم بناء البرنامج بواسطة استخدام الكائنات وربطها مع بعضها البعض .

نتيجة بحث الصور عن ‪Object oriented programming python‬‏

فى البرمجة الكائنية يوجد مفهومين :
هما الكلاس class والكائن object .
وهنوضح الفرق بينهم حالا

Class. (Template)

هو قالب ينشأ مرة واحدة
يتم فية وضع المتغيرات وكذلك الدوال
لاعادة استخدامها مرة اخرى فى الكائنات.
ثم بعد ذلك يتم انشاء object .
Object
هو نسخة طبق الاصل من الكلاس
(نسحة من المتغيرات والدوال الموجودة فى الكلاس ) وعند انشاء الكائن يتم اعطاء قيم لهذة المتغيرات الموجودة داخل الكلاس .
يمكن انشاء عدد لانهائى من الكائنات .

يعنى عندى كلاس يحتوى على مجموعة من المتغيرات والدوال التى سيتم استخدامها فى اى كائن يفتح من هذا الكلاس.

والسؤال كيف يتم انشاء كلاس فى بايثون ؟
ببساطة يتم انشاء الكلاس كالتالى :

class className:
variables
Functions

نتيجة بحث الصور عن ‪create class in python‬‏

طب السؤال كيف اعمل object من الكلاس .

بيكون كالتالى:

ObjectName=className()

نبداء باسم الكائن ثم نكتب = يلية اسم الكلاس ثم نفتح الاقواس ( ) .
بمجرد عمل كائن من الكلاس يتم نسخ المتغيرات والدوال لهذا الكائن (باستثناء حالات معينة هنوضحها بعدين )
ويتم التعامل مع المتغيرات والدوال كالتالى :

objectName.[variables|methods]

طبعا انا حاولت اعرض فيديو يوضح بعض الشيء عن كلامى
عملت كلاس اسمة Emoloyees
وبداخلة ثلاث متغيرات id ,name,salary
بدون اعطائهم اى قيمة ولكن تم اعطائهم فقط قيم ابتدائية وهى zero للمتغيرات الرقمية وnull للمتغيرات النصية .
ودالة ( ) printData وهى تطبع قيمة المتغيرات السابقة
وعملت كائن اسمة emp1 وكائن اخر اسمة emp2
اخذت نسخة من الكلاس Employees
وقمت بالتعامل مع المتغيرات والدوال الموجودة فى الكلاس Employees فى الكائن emp1 والكائن emp2
عن طريق اعطائهم قيم واستخدام الدالة الموجودة داخل الكلاس .

كتاب البرمجة بلغة بايثون – الجزء الثاني
كتاب مدخل للبرمجة وللغة البايثون
كتاب احترف البايثون الآن
المعاملات الحسابية بلغة البايثون
Python Programming Fundamentals
تعلم البرمجة عبر لعبة مميزة بطريقة ممتعة ومسلية
في مشواري لتعلم البرمجة
snake game code using HTML & CSS & Javascript كود لعبة الحية بلغة
ما هو السيرفر ؟
تحديث مايكروسوفت ويندوز 10 لشهر اوكتوبر يمكن أن يتسبب بحذف ملفاتك
أفضل 6 مواقع عربية في مجال أمن وحماية المعلومات
نبذة عن وظيفة عالم البيانات
منقول عن أطباء الميددوز جميع الاسئلة و الأجوبة عن مرض كورونا

المتغيرات في البايثون

Variables او المتغيرات إن المتغيرات ببساطة هى مخازن مؤقتة للبيانات , وطالما انها مخازن للبيانات وبالتالى هقدر انى اخزن بداخلها بيانات وكمان اقدر انى استرجع منها هذة البيانات .

طريقة تعريف المتغيرات فى لغة بايثون  ببساطة يتم تعريف المتغيرات بالصيغة التالية

varibleName=value

نتيجة بحث الصور عن ‪variable in python‬‏

تعريف المتغير يبداء باسم المتغير ثم نكتب equal يلية القيمة المراد تخزينها بداخل المتغير .
على سبيل المثال

num1=5
num2=1.5
name=’python’

وهذة القيمة التى يتم تخزينها بداخل المتغير هى التى تحدد نوع المتغير . ويتم اسناد هذة القيمة للمتغير اما عن طريق اسناد القيمة مباشرة او عن طريق المستخدم من خلال استخدام دالة الادخال السابق شرحها ( ) input .
واول شي لازم نعرفة ان بايثون موفرة عدة انواع من المتغيرات منها .

number
String
List
Tuple

Dictionary

نتيجة بحث الصور عن ‪variable in python‬‏اولا :نوع البيانات رقمى numberعلى سبيل المثال
num1=5
المتغير num1 من النوع int لان القيمة المخزنة بة رقم صحيح
num2=1.5
المتغير num2 من النوع float لان القيمة المخزنة بة رقم عشرى

ثانيا : نوع البيانات نصى string
name=’python’
المتغير name من النوع string لان القيمة المخزنة بة نصية
ملحوظة :يتم وضع قيم المتغيرات النصية بين single code or double code .
اما باقى الانواع الاخرى للمتغيرات سيتم دراستها لاحقا .

وهناك شروط فى تسمية المتغير ات
١_ يجب ان يبداء بحرف .
٢_ لا يزيد طول المتغير عن ٣٠ .
٣_ لايمكن استخدام كلمة من الكلمات المحجوزة فى تعريف المتغير
بمعنى انة لا يمكن تسمية المتغير باسم if مثلا .

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

نتيجة بحث الصور عن ‪variable print in python‬‏

print(variableName)

لطباعة قيمة المتغير num1 كالتالى

print(num1)

سوف يتم طباعة 5
نلاحظ ان المتغير يتم كتابتة مباشرة دون استخدام single or double code .

بعض الاسئلة خاصة بالدرس
هل من الممكن معرفة نوع المتغير من خلال دالة معينة ؟
ببساطة يتم استخدام الدالة ( ) type
على سبيل المثال لو اردنا معرفة نوع المتغير num1
نكتب الكود التالى( type(num1
سوف يطبع البرنامج int .

هل يمكن تحويل نوع البيانات الى نوع اخر ؟
نعم وذلك من خلال عمل casting
وهو كتابة النوع المطلوب التحويل له قبل اسم المتغير
على سبيل المثال لو اردنا تحويل نوع المتغير num1 من النوع int الى النوع float يتم ذلك كالتالى

float(num1)

سوف يتم طباعة 5.0

هل من الممكن تغيير القيمة المخزنة فى المتغير؟
نعم يمكن تغيير القيمة المخزنة داخل المتغير اثناء كتابة البرنامج
على سبيل المثال

num1=5



num1=10
print(num1)

سوف يتم طباعة 10 لان القيمة 5 تم تغيرها واصبحت 10

واخيرا المتغير num1 ليس هو Num1 لان بايثون حساسة للحروف case sensitive وبالتالى فكلاهما متغيرين مختلفين .

كتاب مدخل للبرمجة وللغة البايثون
المتغيرات في البايثون
كتاب كيفية برمجة برنامج شات بالبايثون
المعاملات الحسابية بلغة البايثون
كتاب #أتعلم البايثون
(DNS) تعرف علي الدومين
SSD & HDD الفرق بين
الهواتف الخلوية المقلدة قنابل مؤقتة تغزو الأسواق
أشهر 6 لغات برمجة فى العالم
نظام اللينكس عالم المصدر المفتوح والبدائل المتاحة للتحول لنظام لينكس
الدليل الشامل لفحص الهواتف المستعملة
MySQL في DDL أوامر
DDL أوامر

Python Programming Fundamentals

Computer Science is a creative, challenging, and rewarding discipline. Computer
programmers, sometimes called software engineers, solve problems involving data:
computing, moving, and handling large quantities of data are all tasks made easier
or possible by computer programs. Money magazine ranked software engineer as
the number one job in America in terms of flexibility, creativity, low stress levels,
ease of entry, compensation, and job growth within the field [4].
Learning to program a computer is a skill that can bring you great enjoyment
because of the creativity involved in designing and implementing a solution to a
problem. Python is a good first language to learn because there is very little
overhead in learning to write simple programs. Python also has many libraries
available that make it easy to write some very interesting programs including
programs in the areas of Computer Graphics and Graphical User Interfaces: two
topics that are covered in this text.
In this text, students are taught to program by giving them many examples and
practice exercises with solutions that they can work on in an interactive classroom
environment. The interaction can be accomplished using a computer or using pen
and paper. By making the classroom experience active, students reflect on and
apply what they have read and heard in the classroom. By using a skill or concept
right away, students quickly discover if they need more reinforcement of the
concept, while teachers also get immediate feedback. There is a big difference
between seeing a concept demonstrated and using it yourself and this text
encourages applying concepts immediately to test understanding. This is vital in
Computer Science since new skills and concepts build on what we have already
learned

 

please Download Book From Book Icon

Hands on Python Book
كتاب كيفيــة تثبيت برنامج بايثون 3
كتاب البرمجة بلغة بايثون – الجزء الاول
كتاب تعلم البرمجة مع بايثون 3
البرمجة الكائنية باستخدام بايثون
المجتمع العراقي و الاجهزة الذكية
اللوحة الأم ومكوناتها في الحاسوب
أكثر الألعاب مبيعاً على بلاي ستيشن 4 و إكس بوكس ون
تكنولوجيا ستختفي في المستقبل
منع الأصدقاء من مشاهدة تعليقاتك ونشاطاتك على الفيس بوك
تعلم البرمجة عبر لعبة مميزة بطريقة ممتعة ومسلية
جهاز لوحي أم لابتوب
(OpenEMIS) كل ما تريد معرفته عن نظام اوبن ايمس

Hands on Python Book

one of the best book talking about Python and how to start with, in this book you will learn all basic’s and function’s in python and this will be your guide for your first python program ,

by Dr. Andrew N. Harrington , Loyola University Chicago

كتاب البرمجة بلغة بايثون – الجزء الثاني
البرمجة الكائنية باستخدام بايثون
كتاب تعلم بايثون بكل سهولة
كتاب تعلم البرمجة مع بايثون 3
كتاب البايثون بلمسة
Google AdWord أكثر الكلمات سعرا في
أكثر تطبيقات الأندرويد إستهلاكاً للبطارية
SSD & HDD مقارنة عملية
اربعة حقائق واسرار غريبة عن فيسبوك
ما هو الفرق بين معالجات 32-بت و 64-بت ؟
عمل خطة سيو بطريقة ممتازة وسهلة
(Object-relational mapping) ORM ما هو الـ
نصيحة لما تشتري جوال جديد

كتاب مدخل للبرمجة وللغة البايثون

كتاب ممتاز جدا لما فيه من محتوى تعليمي قوي وما يميزه الاسلوب السلس للشرح و اللهجة السهلة للكل يعتبر كتاب كبير في عالم البايثون ينصح به للمستوى المتوسط و المتقدم

رابط التحميل في الأسفل

المتغيرات في البايثون
كتاب #أتعلم البايثون
المعاملات الحسابية بلغة البايثون
دروس بايثون للمبتدئين تابع جمل التحكم الشرطية او العبارات الشرطية
كتاب كيفيــة تثبيت برنامج بايثون 3
SQL في Left Join شرح ال
STP معايير اختيار افضل مسار في بروتوكول
SQL SERVER بشكل عام عن
طريقة عمل فورمات هاردسك لأجهزة الماك
اخطاء نرتكبها يوميا تدمر الحاسوب
عمل خطة سيو بطريقة ممتازة وسهلة
خمسة عادات سيئة لازم تتخلص منها فورا
بعض النصائح لكي تصبح مصمما محترفا

كتاب مدخل أساسيات لغة بايثون

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

رابط التحميل في الصورة الأسفل

كتاب القوائم في لغة بايثون
Python Programming Fundamentals
Hands on Python Book
المتغيرات في البايثون
كتاب البرمجة بلغة بايثون – الجزء الثاني
USB منافذ ال
أسهل طريقة لتنزيل جميع تعريفات الكمبيوتر او الاب توب
GitHub ما هو ال
اربعة حقائق واسرار غريبة عن فيسبوك
iPhone XS و iPhone XS Max ميزات
في مشواري لتعلم البرمجة
حمل الأن البرنامج المتخصص في التحقيق الجنائي الرقمي والمستعمل من قبل كثير من الشركات الكبيرة
كيف يعمل الإنترنت

كتاب كيفيــة تثبيت برنامج بايثون 3

كتيب بسيط مكون من عشرة صفحات يشرح لك طريقة تنزيل برنامج بايثون على جهاز الكمبيوتر الخاص بك و يكون الشرح مرفقا بالروابط الخارجية و الصور للشرح الأفضل

رابط التحميل في الأسفل

المعاملات الحسابية بلغة البايثون
كتاب #أتعلم البايثون
كتاب البرمجة بلغة بايثون – الجزء الثاني
Constructors في لغة البايثون 
كتاب مدخل أساسيات لغة بايثون
Fiber Optics تعلم توصيل الالياف الضوئيه
مع مثال توضيحي Angular نبذة عن
الذكاء الصناعي و الشبكات العصبية
منع الأصدقاء من مشاهدة تعليقاتك ونشاطاتك على الفيس بوك
سلمى المساعد الشخصي
نبذة عن وظيفة عالم البيانات
لماذا لا يتم التواصل معك بعد إرسالك لسيرتك الذاتية ؟
FORJA PLUS تطبيق