اكتب برنامج يحسب اجمالي الراتب للموظف ويطبعه على الشاشة علما أن قيمة الراتب الاساسي = ۹۰۰۰۰
مضافا اليه
بدل مظهر = ٦٠٠٠
بدل المواصلات = ۹۰۰۰
طبيعة عمل = 6% من الراتب الاساسي
بدل مخاطر = 5% من الراتب الأساسي
علاوة سكن = ۱۰۰۰۰
ومن ثم مخصوما منه
ضرائب =7% من الراتب الاساسي
ضمان اجتماعی= 6% من الراتب الاساسي
الحل
بالطبع! فيما يلي برنامج بلغة C++ يقوم بحساب إجمالي راتب الموظف مع الأخذ في الاعتبار جميع البدلات والخصومات كما هو موضح في سؤالك:
### شرح البرنامج:
1. تعريف المتغيرات:
- يتم تعريف قيمة الراتب الأساسي والبدلات والمخصصات.
- يتم حساب بدل طبيعة العمل وبدل المخاطر كنسبة مئوية من الراتب الأساسي.
2. حساب الراتب الإجمالي:
- يتم جمع جميع البدلات مع الراتب الأساسي للحصول على إجمالي الراتب.
3. حساب الخصومات:
- يتم حساب الضرائب وضمان الاجتماعي كنسبة مئوية من الراتب الأساسي.
4. حساب الراتب الصافي:
- يتم طرح إجمالي الخصومات من الراتب الإجمالي للحصول على الراتب الصافي.
5. عرض النتيجة:
- يتم استخدام
يمكنك نسخ هذا الكود وتشغيله في أي بيئة تدعم C++. إذا كان لديك أي استفسارات أو تحتاج إلى توضيحات إضافية، فلا تتردد في طرحها!
مضافا اليه
بدل مظهر = ٦٠٠٠
بدل المواصلات = ۹۰۰۰
طبيعة عمل = 6% من الراتب الاساسي
بدل مخاطر = 5% من الراتب الأساسي
علاوة سكن = ۱۰۰۰۰
ومن ثم مخصوما منه
ضرائب =7% من الراتب الاساسي
ضمان اجتماعی= 6% من الراتب الاساسي
الحل
بالطبع! فيما يلي برنامج بلغة C++ يقوم بحساب إجمالي راتب الموظف مع الأخذ في الاعتبار جميع البدلات والخصومات كما هو موضح في سؤالك:
#include <iostream>
#include <iomanip> // لإعداد التنسيق
int main() {
// قيمة الراتب الأساسي
double basicSalary = 90000;
// بدلات الموظف
double allowanceAppearance = 6000;
double allowanceTransportation = 9000;
double jobNature = 0.06 * basicSalary; // 6% من الراتب الأساسي
double riskAllowance = 0.05 * basicSalary; // 5% من الراتب الأساسي
double housingAllowance = 10000;
// حساب الإجمالي قبل الخصومات
double totalIncome = basicSalary + allowanceAppearance + allowanceTransportation + jobNature + riskAllowance + housingAllowance;
// خصومات الموظف
double tax = 0.07 * basicSalary; // 7% من الراتب الأساسي
double socialSecurity = 0.06 * basicSalary; // 6% من الراتب الأساسي
// حساب الإجمالي بعد الخصومات
double totalDeductions = tax + socialSecurity;
double netSalary = totalIncome - totalDeductions;
// طباعة النتيجة
std::cout << std::fixed << std::setprecision(2); // تنسيق الأرقام لعشرات الأرقام
std::cout << "إجمالي راتب الموظف هو: " << netSalary << " ريال" << std::endl;
return 0;
}
### شرح البرنامج:
1. تعريف المتغيرات:
- يتم تعريف قيمة الراتب الأساسي والبدلات والمخصصات.
- يتم حساب بدل طبيعة العمل وبدل المخاطر كنسبة مئوية من الراتب الأساسي.
2. حساب الراتب الإجمالي:
- يتم جمع جميع البدلات مع الراتب الأساسي للحصول على إجمالي الراتب.
3. حساب الخصومات:
- يتم حساب الضرائب وضمان الاجتماعي كنسبة مئوية من الراتب الأساسي.
4. حساب الراتب الصافي:
- يتم طرح إجمالي الخصومات من الراتب الإجمالي للحصول على الراتب الصافي.
5. عرض النتيجة:
- يتم استخدام
std::fixed
وstd::setprecision(2)
لتنسيق الناتج ليظهر برقمين عشريين.يمكنك نسخ هذا الكود وتشغيله في أي بيئة تدعم C++. إذا كان لديك أي استفسارات أو تحتاج إلى توضيحات إضافية، فلا تتردد في طرحها!
بعد الانتهاء من اساسيات html css js php sql اختبر نفسك :
تصميم وتطوير المواقع تمرن وبرمج وصمم مواقع شاملة :
كل المشاريع في فيديو واحد خطوة بخطوة :
✅-مشروع php - sql كامل :
تعلم تصميم وبرمجة دردشة (شات) متعدد المستخدمين خطوة بخطوة في فيديو واحد
https://www.youtube.com/watch?v=1o6G-p70z2o
✅-مشروع php - sql كامل :
تعلم تصميم وبرمجة موقع كامل لتصدير شهادات الطلاب بأسمه وبرقم تسلسلي خطوة بخطوة في فيديو واحد
https://www.youtube.com/watch?v=0h1f6mFW6Uo
✅-مشروع php - sql كامل :
تعلم تصميم وبرمجة موقع كامل لنشر فيديوهات شبيه بالانستغرام ومنصة تيكتوك خطوة بخطوة وفي فيديو واحد
https://www.youtube.com/watch?v=YeadQJoXdnM
✅-مشروع php - sql كامل :
تعلم تصميم وبرمجة موقع وتطبيق ويب ادادرة طلاب من الصفر خطوة بخطوة في فيديو واحد
https://www.youtube.com/watch?v=8-HKJdQDrtw
✅-مشروع php - sql كامل :
تعلم تصميم وبرمجة متجر الكتروني كامل خطوة بخطوة من الصفر للاحتراف في فيديو واحد
https://www.youtube.com/watch?v=dqUwxH2aoWM
✅-مشروع php - sql كامل :
تعلم تصميم وبرمجة عربة التسوق حجز منتجات وعرضها في العربة من الصفر خطة بخطة في فيديو واحد
https://www.youtube.com/watch?v=Eyz-oED0lfQ
✅-مشروع html - css كامل :
تصميم موقع شخصي كامل متجاوب مع كل الاجهزة وعصري في فيديو واحد html css فقط
https://www.youtube.com/watch?v=1pJfikSHvdU
✅-مشروع html - css كامل :
تصميم موقع كامل تعريفي للمبرمج السيرة الذاتية لعرضها على الانترنت وعرض منتجاتك واعمالك بع في فيديو واحد خطوة بخطوة
https://www.youtube.com/playlist?list=PLSiLeKadTQ7lpHUR8dht94a0xaxMzA4DA
✅-مشروع html css php sql كامل :
تصميم موقع كامل شبيه بموقع فيسبوك من الصفر خطوة بخطوة في فيديو واحد
https://www.youtube.com/playlist?list=PLSiLeKadTQ7nkC-Nid-xjJF-QBWyFQ2qo
✅-مشروع html css js كامل :
تصميم وبرمجة محرر اكواد كامل ل 3 لغات html css js وتنفيذ الاكواد في نفس الصفحة
https://www.youtube.com/playlist?list=PLSiLeKadTQ7miekwupAfs-_qXAGxM8tgu
✅- مشروع html css كامل :
تصميم موقع تعلم البرمجة كامل html css لغاية رفعه على الانترنت خطوة بخطوة
https://www.youtube.com/playlist?list=PLSiLeKadTQ7nYEXLKUQD4KOJ2GCFRuvgs
✅- مشروع html css كامل :
تصميم موقع شبيه بالتيكتوك كامل نشر فيديوهات + زر اعجاب + وصف فيديو والعنوان وخاصية اللمس لتشغيل الفيديو وايقافه
https://www.youtube.com/playlist?list=PLSiLeKadTQ7l8wHczN_LJk5JACEt_dVe8
تصميم وتطوير المواقع تمرن وبرمج وصمم مواقع شاملة :
كل المشاريع في فيديو واحد خطوة بخطوة :
✅-مشروع php - sql كامل :
تعلم تصميم وبرمجة دردشة (شات) متعدد المستخدمين خطوة بخطوة في فيديو واحد
https://www.youtube.com/watch?v=1o6G-p70z2o
✅-مشروع php - sql كامل :
تعلم تصميم وبرمجة موقع كامل لتصدير شهادات الطلاب بأسمه وبرقم تسلسلي خطوة بخطوة في فيديو واحد
https://www.youtube.com/watch?v=0h1f6mFW6Uo
✅-مشروع php - sql كامل :
تعلم تصميم وبرمجة موقع كامل لنشر فيديوهات شبيه بالانستغرام ومنصة تيكتوك خطوة بخطوة وفي فيديو واحد
https://www.youtube.com/watch?v=YeadQJoXdnM
✅-مشروع php - sql كامل :
تعلم تصميم وبرمجة موقع وتطبيق ويب ادادرة طلاب من الصفر خطوة بخطوة في فيديو واحد
https://www.youtube.com/watch?v=8-HKJdQDrtw
✅-مشروع php - sql كامل :
تعلم تصميم وبرمجة متجر الكتروني كامل خطوة بخطوة من الصفر للاحتراف في فيديو واحد
https://www.youtube.com/watch?v=dqUwxH2aoWM
✅-مشروع php - sql كامل :
تعلم تصميم وبرمجة عربة التسوق حجز منتجات وعرضها في العربة من الصفر خطة بخطة في فيديو واحد
https://www.youtube.com/watch?v=Eyz-oED0lfQ
✅-مشروع html - css كامل :
تصميم موقع شخصي كامل متجاوب مع كل الاجهزة وعصري في فيديو واحد html css فقط
https://www.youtube.com/watch?v=1pJfikSHvdU
✅-مشروع html - css كامل :
تصميم موقع كامل تعريفي للمبرمج السيرة الذاتية لعرضها على الانترنت وعرض منتجاتك واعمالك بع في فيديو واحد خطوة بخطوة
https://www.youtube.com/playlist?list=PLSiLeKadTQ7lpHUR8dht94a0xaxMzA4DA
✅-مشروع html css php sql كامل :
تصميم موقع كامل شبيه بموقع فيسبوك من الصفر خطوة بخطوة في فيديو واحد
https://www.youtube.com/playlist?list=PLSiLeKadTQ7nkC-Nid-xjJF-QBWyFQ2qo
✅-مشروع html css js كامل :
تصميم وبرمجة محرر اكواد كامل ل 3 لغات html css js وتنفيذ الاكواد في نفس الصفحة
https://www.youtube.com/playlist?list=PLSiLeKadTQ7miekwupAfs-_qXAGxM8tgu
✅- مشروع html css كامل :
تصميم موقع تعلم البرمجة كامل html css لغاية رفعه على الانترنت خطوة بخطوة
https://www.youtube.com/playlist?list=PLSiLeKadTQ7nYEXLKUQD4KOJ2GCFRuvgs
✅- مشروع html css كامل :
تصميم موقع شبيه بالتيكتوك كامل نشر فيديوهات + زر اعجاب + وصف فيديو والعنوان وخاصية اللمس لتشغيل الفيديو وايقافه
https://www.youtube.com/playlist?list=PLSiLeKadTQ7l8wHczN_LJk5JACEt_dVe8
YouTube
تصميم وتطوير دردشة شات متعدد المستخدمين في فيديو واحد html css php sql
ملفات المشروع كاملة 👇 :
https://www.mediafire.com/file/ay9d9ozomxnnqiz/chat.rar/file
جميع حلقات الدبلومة :
https://www.youtube.com/playlist?list=PLSiLeKadTQ7kF7p-kd3gkHr6BAwQKYYSv
تعلم php بالكامل - learn php
افضل كورس php من الصفر الى الاحتراف بأسط واسهل…
https://www.mediafire.com/file/ay9d9ozomxnnqiz/chat.rar/file
جميع حلقات الدبلومة :
https://www.youtube.com/playlist?list=PLSiLeKadTQ7kF7p-kd3gkHr6BAwQKYYSv
تعلم php بالكامل - learn php
افضل كورس php من الصفر الى الاحتراف بأسط واسهل…
مواقع لتحميل قوالب HTML&CSS مجاناُ 🔥😍
الموقع 1
http://html5up.net
الموقع 2
http://cruip.com
الموقع 3
http://w3layouts.com
@proadev
الموقع 4
http://colorlib.com
الموقع 5
http://bootstrapmade.com
الموقع 6
http://uideck.com
الموقع 1
http://html5up.net
الموقع 2
http://cruip.com
الموقع 3
http://w3layouts.com
@proadev
الموقع 4
http://colorlib.com
الموقع 5
http://bootstrapmade.com
الموقع 6
http://uideck.com
HTML5 UP
Responsive HTML5 and CSS3 site templates designed by @ajlkn and released under the Creative Commons license.
👍1
افضل الكورسات العربية بلغة الجافا
1. كورس "جافا سكريبت من الصفر إلى الاحتراف" على موقع يوديمي:
رابط الكورس: https://www.udemy.com/course/javascript-arabic/
2. كورس "جافا سكريبت للمبتدئين" على موقع أكاديمية حسوب:
رابط الكورس: https://academy.hsoub.com/programming/javascript/javascript-for-beginners-r34/
3. كورس "جافا سكريبت من الصفر إلى الاحتراف" على موقع Edraak:
رابط الكورس: https://www.edraak.org/course/javascript-from-zero-to-mastery/
4. قناة "تعلم برمجة" على اليوتيوب:
رابط القناة: https://www.youtube.com/user/YasserKhalil1
5. كورس "جافا سكريبت للمبتدئين" على موقع عرب هاكرز:
رابط الكورس: https://arabHackers.com/courses/javascript-for-beginners/
1. كورس "جافا سكريبت من الصفر إلى الاحتراف" على موقع يوديمي:
رابط الكورس: https://www.udemy.com/course/javascript-arabic/
2. كورس "جافا سكريبت للمبتدئين" على موقع أكاديمية حسوب:
رابط الكورس: https://academy.hsoub.com/programming/javascript/javascript-for-beginners-r34/
3. كورس "جافا سكريبت من الصفر إلى الاحتراف" على موقع Edraak:
رابط الكورس: https://www.edraak.org/course/javascript-from-zero-to-mastery/
4. قناة "تعلم برمجة" على اليوتيوب:
رابط القناة: https://www.youtube.com/user/YasserKhalil1
5. كورس "جافا سكريبت للمبتدئين" على موقع عرب هاكرز:
رابط الكورس: https://arabHackers.com/courses/javascript-for-beginners/
Udemy
Free JavaScript Tutorial - JavaScript دليل احتراف لغة
المستخدمة لبناء تطبيقات الويب والموبايل وغيرها الكثير JavaScript دليل شامل يشرح قواعد البرمجة بلغة - Free Course
كورسات ودورات احترافية من البداية حتى الاحتراف على لغة php 1. أكاديمية حسوب:
- تقدم أكاديمية حسوب دورة شاملة لتعلم برمجة المواقع باستخدام PHP و MySQL. تتميز الدورة بالجودة العالية والتفصيل في الشرح.
- رابط الدورة: [أكاديمية حسوب](https://academy.hsoub.com/)
2. دورة PHP من قناة الزيرو (Elzero Web School):
- تعتبر قناة الزيرو واحدة من أفضل القنوات التعليمية العربية على يوتيوب، وتقدم دورة متكاملة لتعلم PHP من الأساسيات حتى الاحتراف.
- رابط الدورة: [دورة PHP - الزيرو](https://www.youtube.com/playlist?list=PLDoPjvoNmBAzH72MTPuAAaYfReraNlQgM)
3. موقع برمج (Barmej):
- يوفر موقع برمج دورات تعليمية مجانية باللغة العربية، بما في ذلك دورة لتعلم PHP.
- رابط الدورة: [برمج](https://www.barmej.com/)
4. دورات Udemy:
- يحتوي موقع Udemy على العديد من الدورات المدفوعة والمجانية لتعلم PHP باللغة العربية. يمكنك البحث عن الدورات التي تناسب مستواك واحتياجاتك.
- رابط الموقع: [Udemy](https://www.udemy.com/)
5. دورة PHP من منصة إدراك:
- تقدم منصة إدراك دورات تعليمية مجانية في مجالات متعددة، بما في ذلك برمجة المواقع باستخدام PHP.
- رابط الدورة: [إدراك](https://www.edraak.org/)
- تقدم أكاديمية حسوب دورة شاملة لتعلم برمجة المواقع باستخدام PHP و MySQL. تتميز الدورة بالجودة العالية والتفصيل في الشرح.
- رابط الدورة: [أكاديمية حسوب](https://academy.hsoub.com/)
2. دورة PHP من قناة الزيرو (Elzero Web School):
- تعتبر قناة الزيرو واحدة من أفضل القنوات التعليمية العربية على يوتيوب، وتقدم دورة متكاملة لتعلم PHP من الأساسيات حتى الاحتراف.
- رابط الدورة: [دورة PHP - الزيرو](https://www.youtube.com/playlist?list=PLDoPjvoNmBAzH72MTPuAAaYfReraNlQgM)
3. موقع برمج (Barmej):
- يوفر موقع برمج دورات تعليمية مجانية باللغة العربية، بما في ذلك دورة لتعلم PHP.
- رابط الدورة: [برمج](https://www.barmej.com/)
4. دورات Udemy:
- يحتوي موقع Udemy على العديد من الدورات المدفوعة والمجانية لتعلم PHP باللغة العربية. يمكنك البحث عن الدورات التي تناسب مستواك واحتياجاتك.
- رابط الموقع: [Udemy](https://www.udemy.com/)
5. دورة PHP من منصة إدراك:
- تقدم منصة إدراك دورات تعليمية مجانية في مجالات متعددة، بما في ذلك برمجة المواقع باستخدام PHP.
- رابط الدورة: [إدراك](https://www.edraak.org/)
أكاديمية حسوب
أكاديمية حسوب هي أكبر منصة تعليمية لتعلم البرمجة في الوطن العربي، تقدم دورات ودروس عالية الجودة بأسلوب شيق وعملي
السلسلة التعليمية الكاملة للغة السي شارب
« باللغة العربية 2023 »
المستوى الأول ( أساسيات سي شارب)
https://youtube.com/playlist?list=PL4K-VuBVuyoXZA53yB5ebiAP_6l0tMAOe&si=6NYP0M9d-Bbx-xiN
المستوى الثاني (البرمجة الكائنية)
https://youtube.com/playlist?list=PL4K-VuBVuyoXvxPD48LjjBEUGxWxHRHQO&si=fCVlmlJNmbouBpmg
المستوى الثالث (برمجة تطبيقات سطح المكتب)
https://youtube.com/playlist?list=PL4K-VuBVuyoUv-p1AIPDTkaLwlzXxwuxm&si=qwpNmptZoYdtbEoU
المستوى الرابع (قواعد البيانات)
https://youtube.com/playlist?list=PL4K-VuBVuyoXJ6DVbtoL2ugGaui9nodRN&si=6hLUMJgVR9GwvZlM
فضلا شارك رابط القناة (سنقوم بنشر كورسات أحترافية أخرى عن لغة سي شارب في القناة) 👇
https://t.me/SoftwareServicesBest
« باللغة العربية 2023 »
المستوى الأول ( أساسيات سي شارب)
https://youtube.com/playlist?list=PL4K-VuBVuyoXZA53yB5ebiAP_6l0tMAOe&si=6NYP0M9d-Bbx-xiN
المستوى الثاني (البرمجة الكائنية)
https://youtube.com/playlist?list=PL4K-VuBVuyoXvxPD48LjjBEUGxWxHRHQO&si=fCVlmlJNmbouBpmg
المستوى الثالث (برمجة تطبيقات سطح المكتب)
https://youtube.com/playlist?list=PL4K-VuBVuyoUv-p1AIPDTkaLwlzXxwuxm&si=qwpNmptZoYdtbEoU
المستوى الرابع (قواعد البيانات)
https://youtube.com/playlist?list=PL4K-VuBVuyoXJ6DVbtoL2ugGaui9nodRN&si=6hLUMJgVR9GwvZlM
فضلا شارك رابط القناة (سنقوم بنشر كورسات أحترافية أخرى عن لغة سي شارب في القناة) 👇
https://t.me/SoftwareServicesBest
YouTube
المستوى الأول - برمجة تطبيقات سطح المكتب - أساسيات سي شارب C-Sharp learning
اسهل طريقة في تعلم لغة سي شارب من البداية الي الاحتراف C sharp learning 👍C-Sharp learning👍 تعلم لغة سي شارب C-Sharp من البداية الي الاحتراف C sharp learning ...
💯💯💯💯
1. VirusTotal (https://www.virustotal.com/): موقع يقوم بفحص الروابط والملفات للكشف عن أي برمجيات خبيثة أو تهديدات أمنية.
2. URLVoid (https://www.urlvoid.com/): يقوم بتحليل السمعة والأمان للروابط والمواقع الإلكترونية.
3. Google Safe Browsing (https://safebrowsing.google.com/): خدمة مقدمة من Google للتحذير من مواقع ويب ضارة أو مشبوهة.
4. Web of Trust (https://www.mywot.com/): منصة تقييم سمعة المواقع والروابط بناءً على تقييمات المستخدمين.
5. Norton Safe Web (https://safeweb.norton.com/): أداة من Symantec لفحص الروابط والتحذير من المواقع الخطرة.
6. Sucuri SiteCheck (https://sitecheck.sucuri.net/): يقوم بفحص المواقع للكشف عن أي تهديدات أمنية أو برمجيات خبيثة. للفائدة والانتباة من روابط الفيروسات والهكر وو لكم افضل المواقع الذي لم يعلم بها الا بعض من الناس
1. VirusTotal (https://www.virustotal.com/): موقع يقوم بفحص الروابط والملفات للكشف عن أي برمجيات خبيثة أو تهديدات أمنية.
2. URLVoid (https://www.urlvoid.com/): يقوم بتحليل السمعة والأمان للروابط والمواقع الإلكترونية.
3. Google Safe Browsing (https://safebrowsing.google.com/): خدمة مقدمة من Google للتحذير من مواقع ويب ضارة أو مشبوهة.
4. Web of Trust (https://www.mywot.com/): منصة تقييم سمعة المواقع والروابط بناءً على تقييمات المستخدمين.
5. Norton Safe Web (https://safeweb.norton.com/): أداة من Symantec لفحص الروابط والتحذير من المواقع الخطرة.
6. Sucuri SiteCheck (https://sitecheck.sucuri.net/): يقوم بفحص المواقع للكشف عن أي تهديدات أمنية أو برمجيات خبيثة. للفائدة والانتباة من روابط الفيروسات والهكر وو لكم افضل المواقع الذي لم يعلم بها الا بعض من الناس
URLVoid.com
Check if a Website is Malicious/Scam or Safe/Legit | URLVoid
Free website reputation checker tool lets you scan a website with multiple website reputation/blocklist services to check if the website is safe and legit or malicious. Check the online reputation of a website to better detect potentially malicious and scam…
@sharaf770220BOT بوت الترجمه ترجمة اي لغة ما عليك الا تكتب الغه الي بدك
https://youtube.com/watch?v=Qy8VobdPNfM&si=_Tfu6B77IQ7gqS0v
هذه قناة اسمها (اغاني قرانيه)
الكل يدخل لهذا الرابط ويعمل لهذه القناة ابلاغ
انشروه عشان تتقفل مثل هذي القناة المسيئة للقرآن الكريم (والاسلام)
ولك الأجر لدفاع عن دينك وعن القرآن
انشروه انشروه الرابط فوق👆🏻
هذه قناة اسمها (اغاني قرانيه)
الكل يدخل لهذا الرابط ويعمل لهذه القناة ابلاغ
انشروه عشان تتقفل مثل هذي القناة المسيئة للقرآن الكريم (والاسلام)
ولك الأجر لدفاع عن دينك وعن القرآن
انشروه انشروه الرابط فوق👆🏻
السلام عليكم
ارجوا من كل من لديه غيرة على دينه ان يقوم بالإبلاغ عن هذه الحثالة.
قناة أغاني قرانية.
على يو تيوب
والعياذ بالله وننبه الإخوة والأخوات أن يقوموا بالإبلاغ ويخرجوا.
دون النظر أو الاستماع لما في ذالك من مقاطع فهذا الأمر يضخم..
و لا حول ولا قوة الا بالله
ارجوا من كل من لديه غيرة على دينه ان يقوم بالإبلاغ عن هذه الحثالة.
قناة أغاني قرانية.
على يو تيوب
والعياذ بالله وننبه الإخوة والأخوات أن يقوموا بالإبلاغ ويخرجوا.
دون النظر أو الاستماع لما في ذالك من مقاطع فهذا الأمر يضخم..
و لا حول ولا قوة الا بالله
#شرح ماهي صيغة Json ؟
JSON : JavaScript Object Notation .
هي احدى صيغ نقل البيانات في عالم البرمجة وعادة ما تستخدم لنقل البيانات بين الخادم والعميل .
- ماهو الخادم وما هو العميل ؟ دائما نسمع عن الخادم والعميل ولكن بعضنا لا يعرف من هو الخادم اصلاً ومن هو العميل !
سابدأ مع العميل ، وهو انت عزيزي القارئ عندما تتصفح احد المواقع فانت تعتبر عميل لذلك الموقع (عميل مشتقه من عمل ، ولا تعني خائن كما هو متعارف ]: )
اما الخادم فهو السيرفر الذي تتصفح منه الموقع ، فكل موقع على الانترنت يجب ان يكون مستضافاً على سيرفر وهذا السيرفر متصل بالانترنت لكي يستطيع الاتصال بك وارسال صفحات الموقع الى متصفحك .
حسناً ... تعرفنا على JSON ، الخادم و العميل . والان سنبدا نتعلم معلومات اكثر عن JSON .
كيف يتم كتابة Json
صيغة Json تعتمد على طريقة كائنات JavaScript فهي مشتقه منها وسميت باسمها ، لذلك فهي تعتمد على مبدأ (المفتاح : القيمة) المثال التالي يوضح ذلك
{
"first_name":"Asem",
"last_name":"Najee",
"ID":87
}
هنا الاسم الاول والاسم الاخير لشخص غير معروف :( وايضاً معرف المستخدم (ID) بشكل بسيط ، واليكم مثال عملي من الواقع في زر الاعجاب بمنشور في احد المواقع ؛ ولكن لن نتطرق لطريقه ارسال البيانات من والى الخادم .
في البداية عندما يضغط العميل زر الاعجاب سيتم معالجه الحدث وارسال البيانات التالية الى الخادم
{
"user_id":87,
"post_id":123
}
سيصل الطلب الى الخادم وتحديداً ملف ادارة الاعجابات وسيتم معالجه الاعجاب والرد الى العميل بالصيغة التالية
{
"ok":true,
"message":"Succesful"
}
هذا في حاله نجحت العملية ، وسيقوم متصفحك بمعالجة البيانات المرجعة من الخادم وتغير لون زر الاعجاب الى الازرق مثلاً للدلالة انك قد اعجبت بهذا المنشور .
انواع البيانات في JSON
غالباً وفي اغلب لغات البرمجة ان لم يكن كلها ، هناك انواع محددة للبيانات وهي (Boolean, numeric, String) اي بالعربي(المنطقية ، الرقمية ، النصوص) وهكذا في Json ايضاً حيث يجب وضع القيم النصية بين علامتي اقتباس مزدوجتين ("هنا النص") اما القيم المنطقيه والرقمية فتكتب بدون علامات تنصيص ، ستجد المثالين السابقين يحتويان على الانواع الثلاثة .
المصفوفات
يمكن ايضاً اضافة المصفوفات الى Json كالتالي :
{
"name":"Asem",
"ID":87,
"languages":["Java","PHP","JS"]
}
تلاحظ ان اللغات مصفوفة من القيم .
الكائنات
خزن Json يعتمد على الكائنات بشكل اساسي ، والكائن هو المحصور بين {} والمثال السابق يمثل كائن يحتوي على قيم نصية ومصفوفة ، لكن يمكن لاحد مفاتيح الكائن ان يحتوي على كائن آخر كالاتي
{
"name":"Asem",
"ID":87,
"languages":["Java","PHP","JS"],
"contact":{
"Telegram":"@AsemNaji",
"E-mail":"a**m@gmail.com"
}
}
ونلاحظ انه يجب كتابة المفاتيح ضمن علامتي اقتباس وفقاً لمعايير JSON .
كما يمكن جعل المصفوفات تحتوي على كائنات .. وهلم جراً .
JSON : JavaScript Object Notation .
هي احدى صيغ نقل البيانات في عالم البرمجة وعادة ما تستخدم لنقل البيانات بين الخادم والعميل .
- ماهو الخادم وما هو العميل ؟ دائما نسمع عن الخادم والعميل ولكن بعضنا لا يعرف من هو الخادم اصلاً ومن هو العميل !
سابدأ مع العميل ، وهو انت عزيزي القارئ عندما تتصفح احد المواقع فانت تعتبر عميل لذلك الموقع (عميل مشتقه من عمل ، ولا تعني خائن كما هو متعارف ]: )
اما الخادم فهو السيرفر الذي تتصفح منه الموقع ، فكل موقع على الانترنت يجب ان يكون مستضافاً على سيرفر وهذا السيرفر متصل بالانترنت لكي يستطيع الاتصال بك وارسال صفحات الموقع الى متصفحك .
حسناً ... تعرفنا على JSON ، الخادم و العميل . والان سنبدا نتعلم معلومات اكثر عن JSON .
كيف يتم كتابة Json
صيغة Json تعتمد على طريقة كائنات JavaScript فهي مشتقه منها وسميت باسمها ، لذلك فهي تعتمد على مبدأ (المفتاح : القيمة) المثال التالي يوضح ذلك
{
"first_name":"Asem",
"last_name":"Najee",
"ID":87
}
هنا الاسم الاول والاسم الاخير لشخص غير معروف :( وايضاً معرف المستخدم (ID) بشكل بسيط ، واليكم مثال عملي من الواقع في زر الاعجاب بمنشور في احد المواقع ؛ ولكن لن نتطرق لطريقه ارسال البيانات من والى الخادم .
في البداية عندما يضغط العميل زر الاعجاب سيتم معالجه الحدث وارسال البيانات التالية الى الخادم
{
"user_id":87,
"post_id":123
}
سيصل الطلب الى الخادم وتحديداً ملف ادارة الاعجابات وسيتم معالجه الاعجاب والرد الى العميل بالصيغة التالية
{
"ok":true,
"message":"Succesful"
}
هذا في حاله نجحت العملية ، وسيقوم متصفحك بمعالجة البيانات المرجعة من الخادم وتغير لون زر الاعجاب الى الازرق مثلاً للدلالة انك قد اعجبت بهذا المنشور .
انواع البيانات في JSON
غالباً وفي اغلب لغات البرمجة ان لم يكن كلها ، هناك انواع محددة للبيانات وهي (Boolean, numeric, String) اي بالعربي(المنطقية ، الرقمية ، النصوص) وهكذا في Json ايضاً حيث يجب وضع القيم النصية بين علامتي اقتباس مزدوجتين ("هنا النص") اما القيم المنطقيه والرقمية فتكتب بدون علامات تنصيص ، ستجد المثالين السابقين يحتويان على الانواع الثلاثة .
المصفوفات
يمكن ايضاً اضافة المصفوفات الى Json كالتالي :
{
"name":"Asem",
"ID":87,
"languages":["Java","PHP","JS"]
}
تلاحظ ان اللغات مصفوفة من القيم .
الكائنات
خزن Json يعتمد على الكائنات بشكل اساسي ، والكائن هو المحصور بين {} والمثال السابق يمثل كائن يحتوي على قيم نصية ومصفوفة ، لكن يمكن لاحد مفاتيح الكائن ان يحتوي على كائن آخر كالاتي
{
"name":"Asem",
"ID":87,
"languages":["Java","PHP","JS"],
"contact":{
"Telegram":"@AsemNaji",
"E-mail":"a**m@gmail.com"
}
}
ونلاحظ انه يجب كتابة المفاتيح ضمن علامتي اقتباس وفقاً لمعايير JSON .
كما يمكن جعل المصفوفات تحتوي على كائنات .. وهلم جراً .
لماذا نبدا تعلم البرمجة بإحدى اللغات الصعبة ؟
غالباً ما ينصح المعلمون بان نبدأ تعلم البرمجة بلغة C++ او Java ، لكن لماذا ونحن لدينا python افضل منها بكثير واسهل من ناحية التعلم ، والجميع يريدها وتعتبر مطلوبه في سوق العمل ايضاً ، ألم يكن من الافضل البدء بها ؟
لإجابة السؤال هذا يجب ان تطرح على نفسك سؤالاً ، هل انا اتعلم البرمجة والمفاهيم في البداية ، ام اريد الدخول مباشرة الى سوق العمل بدون خبرة في عالم البرمجة ؟
والسؤال هذا يجيب عن السؤال السابق ، حيث ان بدايتك مع Python تحرمك من تعلم الكثير من المفاهيم ، لانها لغة سهله وغالباً نستعمل شيئاً جاهزاً ودوال جاهزة للقيام بعملنا !!
اللغات السهلة القريبة جداً من الانسان مثل Python لا تعطي تحكم كامل بالعمليات من خلف الكواليس وهي ابطا من ناحية التنفيذ حيث قد يصل وقت التنفيذ الى اكثر من خمسه اضعاف وقت تنفيذ C++ ، اما في C++ كنا نستطيع التحكم بشكل كبير في العمليات ، هذا التحكم بالعمليات ليس سهلاً عندما يكون متروكاً على عاتق المبرمج ، لذلك يتعلم المبرمجون بهذه اللغات الصعبه خوارزميات وطرق ومفاهيم تساعدهم في عملهم ، ومن الناحية الايجابية للمبتدئين يصبح لديهم فكر منطقي وديناميكية عالية في التعامل مع باقي اللغات بسهولة لان باقي اللغات تكون اقل صعوبة من اللغة التي بدأو بها .
لماذا هناك اشخاص بدايتهم تكون مع Python ؟
تعلم Python في البداية ليس للتخصصات التي يكون عملها بناء مشاريع برمجية والاهتمام بتفاصيل التنفيذ ، بل لمن هم يهتمون بعمليات اخرى مثل الشبكات والحماية السيبرانية ولكنهم يحتاجون الى تنفيذ اوامر برمجية تقوم بالعمل المطلوب فقط بدون الانغماس بالتفاصيل الصغيرة ، هل نقوم بتعليمهم Java ونجعلهم يحتارون بين اختيار int ام long عملية مشابهة للتي اسقطت الصاروخ في التسعينيات ؟
#شرح
غالباً ما ينصح المعلمون بان نبدأ تعلم البرمجة بلغة C++ او Java ، لكن لماذا ونحن لدينا python افضل منها بكثير واسهل من ناحية التعلم ، والجميع يريدها وتعتبر مطلوبه في سوق العمل ايضاً ، ألم يكن من الافضل البدء بها ؟
لإجابة السؤال هذا يجب ان تطرح على نفسك سؤالاً ، هل انا اتعلم البرمجة والمفاهيم في البداية ، ام اريد الدخول مباشرة الى سوق العمل بدون خبرة في عالم البرمجة ؟
والسؤال هذا يجيب عن السؤال السابق ، حيث ان بدايتك مع Python تحرمك من تعلم الكثير من المفاهيم ، لانها لغة سهله وغالباً نستعمل شيئاً جاهزاً ودوال جاهزة للقيام بعملنا !!
اللغات السهلة القريبة جداً من الانسان مثل Python لا تعطي تحكم كامل بالعمليات من خلف الكواليس وهي ابطا من ناحية التنفيذ حيث قد يصل وقت التنفيذ الى اكثر من خمسه اضعاف وقت تنفيذ C++ ، اما في C++ كنا نستطيع التحكم بشكل كبير في العمليات ، هذا التحكم بالعمليات ليس سهلاً عندما يكون متروكاً على عاتق المبرمج ، لذلك يتعلم المبرمجون بهذه اللغات الصعبه خوارزميات وطرق ومفاهيم تساعدهم في عملهم ، ومن الناحية الايجابية للمبتدئين يصبح لديهم فكر منطقي وديناميكية عالية في التعامل مع باقي اللغات بسهولة لان باقي اللغات تكون اقل صعوبة من اللغة التي بدأو بها .
لماذا هناك اشخاص بدايتهم تكون مع Python ؟
تعلم Python في البداية ليس للتخصصات التي يكون عملها بناء مشاريع برمجية والاهتمام بتفاصيل التنفيذ ، بل لمن هم يهتمون بعمليات اخرى مثل الشبكات والحماية السيبرانية ولكنهم يحتاجون الى تنفيذ اوامر برمجية تقوم بالعمل المطلوب فقط بدون الانغماس بالتفاصيل الصغيرة ، هل نقوم بتعليمهم Java ونجعلهم يحتارون بين اختيار int ام long عملية مشابهة للتي اسقطت الصاروخ في التسعينيات ؟
#شرح
ماذا تعرف عن HTML ؟
غالباً عند سؤال المبتدئين في عالم البرمجة او حتى بعض المتقدمين هذا السؤال يخبرك انها ليست لغة برمجة وهذا امر خاطئ كلياً فهي لغة برمجة وصفية .
ما معنى لغة برمجة وصفية ؟
اللغات الوصفية تسمح للمبرمج بالاهتمام بماذا يريد تنفيذه وليس كيفية تنفيذه فمثلا في حالتنا في لغة HTML يمكنك تفسير الكود التالي
<h1>العنوان الرئيسي</h1>
الكود يصف انك تريد وضع "العنوان الرئيسي" كعنوان رئيسي(h1) في الصفحة .
وليست html وحدها لغة وصفية ، هناك عدة لغات اخرى من اشهرها MarkDown و SQL .
#معلومة
غالباً عند سؤال المبتدئين في عالم البرمجة او حتى بعض المتقدمين هذا السؤال يخبرك انها ليست لغة برمجة وهذا امر خاطئ كلياً فهي لغة برمجة وصفية .
ما معنى لغة برمجة وصفية ؟
اللغات الوصفية تسمح للمبرمج بالاهتمام بماذا يريد تنفيذه وليس كيفية تنفيذه فمثلا في حالتنا في لغة HTML يمكنك تفسير الكود التالي
<h1>العنوان الرئيسي</h1>
الكود يصف انك تريد وضع "العنوان الرئيسي" كعنوان رئيسي(h1) في الصفحة .
وليست html وحدها لغة وصفية ، هناك عدة لغات اخرى من اشهرها MarkDown و SQL .
#معلومة
نطاق المتغيرات في جافا .
المتغيرات في جافا وفي اغلب لغات البرمجة لديها نطاق ، نستطيع استخدام هذه المتغيرات ضمن هذا النطاق فقط ولا يمكن الوصول الى المتغيرات من خارجه .
int variable = 0;
System.out.print(variable);
بدون اي مشاكل يمكن طباعه قيمه المتغير لانه بنفس النطاق ، اي بشكل اصح يمكن القول اننا استطعنا الوصول الى المتغير ، لكن لاحظ الكود التالي :
int variable = 0;
System.out.print(variable);
if(true){
System.out.print(variable);
}
في هذه الامر الذي داخل الشرط يعتبر في نطاق آخر ولكن يمكنه الوصول الى المتغير لان نطاق الشرط هو ضمن النطاق الكلي للمتغير .
الشرط لم يكن مهما ، نحن فقط كنا بحاجه لحجز نطاق جديد ويمكننا الاستغناء عن الشرط وحجز نطاق بدون شرط وسيصبح الكود السابق كالتالي :
int variable = 0;
System.out.print(variable);
{
System.out.print(variable);
}
حسنا ، متى يكون المتغير لا يمكن الوصول اليه ، لاحظ الكود التالي :
int variable = 0;
System.out.print(variable);
{
int localVariable = 0;
System.out.print(localVariable);
}
System.out.print(localVariable);
هذا الكود سيسبب خطا ، والسبب اننا حاولنا الوصول الى المتغير localVariable من خارج نطاقه وهذا امر غير مقبول ، حيث ان نطاقه ينتهي بانتهاء القوس المعكوف } .
حسناً عرفنا الان نطاق المتغيرات ، لكن ما الفائدة من استخدام النطاقات ؟ أليس امراً سيئاً ان اُعَرِف متغير وتنتهي حياته قبل انتهاء البرنامج ؟
حسناً انظر المثال التالي وستغير رأيك
int x = 5;
int y = 10;
{
int temp = x;
x = y;
y = temp;
}
هل استطعت ان تعرف ما وظيفة الكود السابق ؟ لا تكمل القراءة وحاول معرفة ذلك .
نعم احسنت ، الكود يقوم بتبديل قيم المتغيرات x , y ، ولكن ماذا عن المتغير temp ، هنا سيساعدنا هذا المتغير على تبديل القيم ثم بعدها سيتم حذفه من الرام لاننا لم نعد بحاجته ، هكذا يتم الامر مع المتغير الشهير (i) في حلقة التكرار for يموت فور انتهاء الحلقة لاننا لم نعد بحاجته .
اذاً يفضل ان نقوم بقتل المتغيرات اذا لم نعد بحاجتها ، ولا تقلق ، فقتل المتغيرات حلال .
#شرح
المتغيرات في جافا وفي اغلب لغات البرمجة لديها نطاق ، نستطيع استخدام هذه المتغيرات ضمن هذا النطاق فقط ولا يمكن الوصول الى المتغيرات من خارجه .
int variable = 0;
System.out.print(variable);
بدون اي مشاكل يمكن طباعه قيمه المتغير لانه بنفس النطاق ، اي بشكل اصح يمكن القول اننا استطعنا الوصول الى المتغير ، لكن لاحظ الكود التالي :
int variable = 0;
System.out.print(variable);
if(true){
System.out.print(variable);
}
في هذه الامر الذي داخل الشرط يعتبر في نطاق آخر ولكن يمكنه الوصول الى المتغير لان نطاق الشرط هو ضمن النطاق الكلي للمتغير .
الشرط لم يكن مهما ، نحن فقط كنا بحاجه لحجز نطاق جديد ويمكننا الاستغناء عن الشرط وحجز نطاق بدون شرط وسيصبح الكود السابق كالتالي :
int variable = 0;
System.out.print(variable);
{
System.out.print(variable);
}
حسنا ، متى يكون المتغير لا يمكن الوصول اليه ، لاحظ الكود التالي :
int variable = 0;
System.out.print(variable);
{
int localVariable = 0;
System.out.print(localVariable);
}
System.out.print(localVariable);
هذا الكود سيسبب خطا ، والسبب اننا حاولنا الوصول الى المتغير localVariable من خارج نطاقه وهذا امر غير مقبول ، حيث ان نطاقه ينتهي بانتهاء القوس المعكوف } .
حسناً عرفنا الان نطاق المتغيرات ، لكن ما الفائدة من استخدام النطاقات ؟ أليس امراً سيئاً ان اُعَرِف متغير وتنتهي حياته قبل انتهاء البرنامج ؟
حسناً انظر المثال التالي وستغير رأيك
int x = 5;
int y = 10;
{
int temp = x;
x = y;
y = temp;
}
هل استطعت ان تعرف ما وظيفة الكود السابق ؟ لا تكمل القراءة وحاول معرفة ذلك .
نعم احسنت ، الكود يقوم بتبديل قيم المتغيرات x , y ، ولكن ماذا عن المتغير temp ، هنا سيساعدنا هذا المتغير على تبديل القيم ثم بعدها سيتم حذفه من الرام لاننا لم نعد بحاجته ، هكذا يتم الامر مع المتغير الشهير (i) في حلقة التكرار for يموت فور انتهاء الحلقة لاننا لم نعد بحاجته .
اذاً يفضل ان نقوم بقتل المتغيرات اذا لم نعد بحاجتها ، ولا تقلق ، فقتل المتغيرات حلال .
#شرح
البوابات المنطقية وعلاقتها بالبرمجة .
تعرفنا اليوم في احد المقررات على مفهوم البوابات المنطقية في الدوائر الالكترونية ان صح التعبير ، وكانت تتمحور حول ثلاث بوابات رئيسية وهي (not , and , or) واربع بوابات اخرى يمكن اشتقاقها من هذه البوابات .
هذه البوابات من ناحية تسميتها ووظيفتها تشبه الى حد كبير بعض الوظائف في لغات البرمجة ، وهي العمليات المنطقية (&& , || , !) .
والامر الاكثر تشويقاً هو ان هذه العمليات المنطقية تقوم بالتحكم المباشر بالبوابات المنطقية في اللغات منخفظة المستوى ، اما في حلتنا مع جافا فالامور مختلفة قليلاً فلا يوجد تحكم مباشر بالهارد وير ولكن ما زال هناك عمليات منطقية تقوم بنفس العمل . مثال للتوضيح :
int x = 3;
if(x < 5 && x > 0)
System.out.print("X between 5 and 0");
هنا لدينا && تقوم بفحص صحة الشرطين .
ملاحظة : في لغات برمجية كثيرة يتم اعتماد القيمة true على انها 1 والقيمة false على انها 0 .
وايضاً في لغات اخرى يمكنك كتابة and بشكل مباشر بدلاً من && و or بدلا من || .
#معلومة
تعرفنا اليوم في احد المقررات على مفهوم البوابات المنطقية في الدوائر الالكترونية ان صح التعبير ، وكانت تتمحور حول ثلاث بوابات رئيسية وهي (not , and , or) واربع بوابات اخرى يمكن اشتقاقها من هذه البوابات .
هذه البوابات من ناحية تسميتها ووظيفتها تشبه الى حد كبير بعض الوظائف في لغات البرمجة ، وهي العمليات المنطقية (&& , || , !) .
والامر الاكثر تشويقاً هو ان هذه العمليات المنطقية تقوم بالتحكم المباشر بالبوابات المنطقية في اللغات منخفظة المستوى ، اما في حلتنا مع جافا فالامور مختلفة قليلاً فلا يوجد تحكم مباشر بالهارد وير ولكن ما زال هناك عمليات منطقية تقوم بنفس العمل . مثال للتوضيح :
int x = 3;
if(x < 5 && x > 0)
System.out.print("X between 5 and 0");
هنا لدينا && تقوم بفحص صحة الشرطين .
ملاحظة : في لغات برمجية كثيرة يتم اعتماد القيمة true على انها 1 والقيمة false على انها 0 .
وايضاً في لغات اخرى يمكنك كتابة and بشكل مباشر بدلاً من && و or بدلا من || .
#معلومة