-
المساهمات
6975 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
218
إجابات الأسئلة
-
إجابة Wael Aljamal سؤال في تضمين كود جافاسكريبت فى php كانت الإجابة المقبولة
يجب فتح وسم php ثم طباعة هذا الكود ثم إغلاق الوسم.
<?php echo ' <div class="dropdown"> <button onClick="myFunction()" class="dropbtn">Dropdown</button> <div id="myDropdown" class="dropdown-content"> <a href="#home">Home</a> <a href="#about">About</a> <a href="#contact">Contact</a> </div> </div> <script> function myFunction() { document.getElementById("myDropdown").classList.toggle("show"); } window.onclick = function(event) { if (!event.target.matches(".dropbtn")) { var dropdowns = document.getElementsByClassName("dropdown-content"); var i; for (i = 0; i < dropdowns.length; i++) { var openDropdown = dropdowns[i]; if (openDropdown.classList.contains("show")) { openDropdown.classList.remove("show"); } } } } </script> ' ?> استخدمت في عبارة echo الاقتباس الفردي ' فقمت بتغيير الاقتباس الفردي ضمن شيفرة جافاسكربت لكي لا يتم اعتبارها إغلاق لما سبق.
يمكنك تجريب الكود السابق
-
إجابة Wael Aljamal سؤال في هل يجب أن يكون لي خلفية برمجية قبل مشاهدة دورات أكاديمية حسوب كانت الإجابة المقبولة
مرحبا فارس،
إن مسار دورة تطوير واجهات الستخدم يشرح كل ما تحتاج إليه من البداية و لا يتطلب منك معرفة مسبقة، فقط أرجو مشاهدة الدورة بالترتيب.
شكرا لك
-
إجابة Wael Aljamal سؤال في هل نتعلم في دورة تصميم واجهات المستخدم HTML5 CSS3 وهل تعلم الاكاديمية لغة بايثون كانت الإجابة المقبولة
إن دورات أكاديمية حسوب محدثة باستمرار و تعلمك في الدورة html5 + css3 بآخر إصداراتها (بشكل عام الفروقات ليس جوهرية فلهم نفس طريقة الكتابة و نفس طريقة العمل إنما إضافات و تحسينات)
شرح الفروقات مع الإصدار القديم تجده من هنا:
بالنسبة لتعلم بايثون، لا يوجد حاليا دورة للبايثون في الأكاديمية، إنما يتم التركيز على لغة جافاسكربت لأنها لغة البرمجة الوحيدة التي تعمل في كل مكان مثل المتصفح و المخدم (back-end : node js).
في حال لم يتم منحك صلاحية الوصول للدورة بعد شرائها يمكنك التوصل مع مركز الدعم من هنا مركز المساعدة - حسوب
-
إجابة Wael Aljamal سؤال في ضبط لغة ++c كانت الإجابة المقبولة
إذا كنت تقصد محرر النصوص و المترجم الخاص باللغة يمكنك مراجعة هذا السؤال :
ثم من إعدادات البيئة Environment تختار المترجم compiler و الذي هو c++/gcc 17 أو النسخة التي تريدها
-
إجابة Wael Aljamal سؤال في التحويل التلقائي لعنوان الموضوع الى كلمات دليلية في php كانت الإجابة المقبولة
<title><?=$row['title'] ?></title> <?php function myFilter($var) { return mb_strlen($var, 'UTF-8') > 2; // تم تعديلها لتتعرف على الأحرف العربية } $keywords = explode(' ', $row['title']); $keywords = array_filter($keywords,"myFilter"); $keywords = array_unique($keywords); $keywords = implode(' ,', $keywords); ?> <meta type="keywords" content="<?=$keywords ?>" /> array_filter هو دالة في php تستقبل الدالة التي قمت بتعريفها سابقا و التي تعيد العنصر في حال كان عدد محارفه أكبر من 2 (شرط الفلترة/التصنيف) array_unique تعيد العناصر من مصفوفة بدون تكرار بالنسبة لسؤالك
ماذا تقصد، هل على مستوى الكلمة (نتجاهل الكلمة التي تحوي على غير الحروف) أو نحذف الحروف و نبقي على ما تبقى من الكلمة، أرجو توفير مثال
-
إجابة Wael Aljamal سؤال في برامج بلغة جافا التعامل مع الصنف Scanner كانت الإجابة المقبولة
لكي نقوم بتخزين القيمة التي يقرأها الصنف Scanner يجب القيام بالتالي:
n1 = n.nextInt() n2 = n.nextInt() حيث علينا قراءة القيمة من الغرض n الذي يعبر عن الصنف Scanner و من ثم تخزين القيمة في المتحول.
يفضل وضع اسم مختلف لصنف المسح ليدل عليه مثل:
Scanner sc = New Scanner(System.in); على سبيل المثال، لعدم حصول تضارب حيث أنه في الأغلب n يدل على متحول و ليس صنف قراءة دخل المستخدم.
-
إجابة Wael Aljamal سؤال في تعلم برمجة لاختصاص هندسة الميكانيك كانت الإجابة المقبولة
أعتقد أن برمجة المتحكمات الصغرية micro controller هو ما تبحث عنه.
أشهر و أسهل دارة في البرمجة تدعى Arduino وفيها الكثير من المكتبات الجاهزة التي تسهل العمل.
يعمل Arduino بلغة البرمجة ++C.
كما أن تعلم لغة Matlab جدا مفيد لأنها تحوي العديد من التوابع الجاهزة التي تدعم المبرمج وهي الأفضل في المجال الهندسي/العلمي بالإضافة للغة بايثون.
-
إجابة Wael Aljamal سؤال في افضل طريقة تحويل تطبيق flutter الى نسخة APK كانت الإجابة المقبولة
المختصر:
توقيع التطبيق بناء التطبيق عن طريق flutter build appbundle ________
توقيع التطبيق:
قبل رفع التطبيق على متجر play store يجب توقيع التطبيق وهي خطوة إجباية.
التوثيق لعملية التوقيع الرقمي: signing-flutter-app أو من هنا: generate-key-android
تتجلى بعمل مفتاح خاص بالتطبيق، حيث تكون الخطوات هي إدخال بيانات كإجابة على بعض الأسئلة..
بعد بتنفيذ التعليمة التالية (MacOS) تشبهها الخاصى بنظام ويندوز.
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key ثم يجب فتح Gradle و تشغيل Task الخاصة بتوقيع التطبيق حسب التوثيق..
في حال وجود مشاكل أو تفاصيل لا تعرفها يوجد العديد من الشروحات و الموضوع بسيط.
بالنسبة لبناء التطبيق:
توثيق تصدير نسخة إنتاجية معدة للرفع على المتجر : flutter/deployment/android
ليقبل المتجر رفع نسخة من التطبيق يجب أن تكون من النوع release (building-app-for-release) أي تمرير هذا المعامل مع أمر البناء كما ذكرت. ولكن التوثيق ذكر أيضا أن app Bundle هو أفضل (مفضل) للمتجر.
app Bundle والتي تعطي ملف لاحقته aab. يعتبر النسخة الأحدث لتصدير تطبيقات أندرويد و يكون التطبيق بحجم أصغر.
توثيق بناء app Bundle من هنا : app Bundle.
ماذا يحوي app Bundle؟
Dart code Flutter runtime compiled for: armeabi-v7a (ARM 32-bit). arm64-v8a (ARM 64-bit). x86-64 (x86 64-bit). نصائح و إرشادات رفع تطبيق app Bindle من هنا: upload-bundle والتي تبني كل ما تريد بتعليمة واحدة:
flutter build appbundle في حال أردت بناء التطبيق عن طريق APK و إصدار 3 نسخ (كل نسخة موجهة لمعمارية مختلفة مثل القائمة السابقة) يجب إستخدام shrink (لكنها مفعلة تلقائيا عند استخدام Android Gradle plugin 3.4.0 or higher)
أي يتوجب عليك فقط بناء التطبيق للنشر:
flutter build apk --release * تعتبر R8 خاصية تجزئة التطبيقات مفعلة تلقائيا لكل من APK - AAB ولا داعِ لتمرير معامل خاص بالتقسم عند البناء
لا تنسى تعديل اسم التطبيق و bundle (الاسم البرمجي android:name = com.company.app)
في كل من androidMainfest & Gradle التوثيق : android/manifest
-
إجابة Wael Aljamal سؤال في مشكلة باستخدام دوال بايثون - حساب مجموع أكبر 3 أرقام في مصفوفة كانت الإجابة المقبولة
أولا يمكننا ترتيب المصفوفة ومن ثم حساب مجموع مجال محدد ضمنها، كما الشيفرة التالية:
def Max3Sum(arr): arr_sorted = sorted(arr) # [1, 2, 3, 4, 5] return sum(arr_sorted[-3:]) # -3 لنجمع آخر العناصر و التي تكون قيمتها الأكبر بعد الترتيب التصاعدي print(Max3Sum([5,2,4,3,1])) نعمل نسخة مرتة من المصفوفة و نجمع آخر X عنصر (يمكن تمرير وسيط لتحديد عدد الأعداد التي نريد جمعها لتصبح الدالة ديناميكية أكثر) def MaXSum(arr, X): arr_sorted = sorted(arr) # [1, 2, 3, 4, 5] return sum(arr_sorted[-X:]) # -X لنجمع آخر العناصر و التي تكون قيمتها الأكبر بعد الترتيب التصاعدي print(MaxXSum([5,2,4,3,1], X))
-
إجابة Wael Aljamal سؤال في الفرق بين المنشورات والتصنيفات WordPress كانت الإجابة المقبولة
سأحاول تبسيط الأمر و تشبيهه مع وسائط التواصل الاجتماعي مثلا فيسبوم / تويتر (إجابة غير متخصصة)
مثل منشور من حساب على الفيسبوك، هو مجموعة من البيانات نقوم بتعريفها بإعطائها رقم خاص مثل المعرف id ولها مالك وهو الشخص الذي قام بالنشر و له سماحية الوصول للبيانات و تعديلها و حذفها .. يمكن أن تحوي على صورة أو مجموعة صور.
هي خاصية تتبع للمنشور و تحدد نوعه / الفصيلة التي ينتمي لها ويوفر ووردبريس مجموعة من التصنيفات.
لهذا الوسم العديد من الوظائف، أكثر من أن تُعد، فهو شهير باستخدامه لوصف الصفحات مما يسهل عمل محركات البحث كما في المثال التالي:
<meta name="description" content="A general guide on the use of meta tags in html pages"> كما يُمكّنك من وضع اسم الكاتب في الصفحة كما في المثال التالي:
<meta name="author" content="Shaumik Daityari"> كما أن هذا الوسم شهير مع سمة charset لتحديد ترميز الصفحة، حيث يستخدم في أغلب المواقع العربية:
<meta charset="UTF-8"> كما يسمح لك هذا الوسم بالتحكم في رؤوس HTTP كما في المثال التالي:
<meta http-equiv="refresh" content="5;url=http://www.sitepoint.com/"> تستخدم بعض المواقع سمة keywords مع هذا الوسم، على الرغم من أن محرك بحث جوجل لا ينظر إلى هذا السطر:
<meta name="keywords" content="web,design,html,css,html5,development"> في النهاية فإن بعض مواقع التواصل الإجتماعي تستخدم هذا الوسم كما هي الحال مع فيس بوك وتويتر لوصف البيانات التي تظهر على شبكتها.
مقالات للمطالعة:
شرح العنصر meta من موسوعة حسوب مقالة من أكاديمية حسوب : استخدام التصنيفات والوسوم بفعالية في ووردبريس مقالة من أكاديمية حسوب : أهمية صفحة إعدادات القراءة في ووردبريس وكيفية ضبطها مقالة من أكاديمية حسوب : الاستخدام الأمثل للفئات والوسوم والتصنيفات في ووردبريس -
إجابة Wael Aljamal سؤال في اختبار القائمة المنصفة سي شارب #C كانت الإجابة المقبولة
اختبار إذا كانت السلسلة فارغة اختبار طول السلسلة زوجي / فردي حساب نصف الطول مقارنة كل عنصر مع ما يقابله أرجو منك تجريب كتابة الحل أولا و الاعتماد علي نفسك ثم يمكنك الاستعانة بالشيفرة التالية
public static bool IsGood(string text) { if (text == null) return false; // فارغة if (text.length() % 2 == 1) return false; // طول فردي int shift = text.length() / 2; // طول نصف السلسلة for (int i=0;i< shift; i++) { if (text[i] != text[i+shift]) { // نقارن العنصر مع العنصر المقابل من النصف الآخر return false; } } return true; // اجتازت جميع اختبارات الفشل } -
إجابة Wael Aljamal سؤال في مشكلة في JRE/JDK عند تشغيل برنامج java كانت الإجابة المقبولة
مع كل إصدار من جافا يصدر تعديلات على كيفية ترجمة الشيفرات البرمجية و تحويل الملفات التي تحوي الأصناف أي ملفات java إلى Byte code.
الإصدار الأقدم لا يستطيع تشغيل الأحدث.
لمحة عن الإصدارارت المختلفة:
ClassVersion => java jdk 50 = Java 6 51 = Java 7 52 = Java 8 53 = Java 9 54 = Java 10 55 = Java 11 56 = Java 12
سبب المشكلة: تحاول تشغيل برنامج جافا عن طريق JRE أو java run time environment بإصدار أقدم من إصدار JDK الذي قام بترجمة الشيفرة البرمجية.
في حال كنت تستخدم أي بيئة للتنفيذ IDE / NetBeans / eclipse فإنها لا تأخذ الإصدار من مسار ال Environment Variables إنما عليك التعديل من إعدادت المشروع، يوجد ملف و إعدادت افتراضية.
للتأكد من إصدار جافا لديك و عمل المسار يمكنك تنفيذ التعليمات التالية في CMD محرر الأوامر
echo %JAVA_HOME% java -version javac -version لتنفيذ المشروع/البرنامج من خلال JDK 15 يمكنك عمل التالي من cmd بتنفيذه مباشرة..
C:\Program Files\Java\jdk-15.0.2\bin\java path\toyour\project\Main.java لعمل ترجمة نستخدم javac
C:\Program Files\Java\jdk-15.0.2\bin\javac path\toyour\project\Main.java -----------
عندما تريد إصدار مشروع بلغة جافا و لتضمن عمله على إصدارات أقدم قم بتنفيذ التعليمة التالية:
javac --release 8 project_path/MajorMinorApp.java بهذه الطريقة أي المعامل release مع تمرير رقم الإصدار يصدر برنامج متوافق مع الإصدارات الأقدم.
-
إجابة Wael Aljamal سؤال في مشكلة عند حفظ مشروع في افتر افكت كانت الإجابة المقبولة
يخبرك البرنامج بوجود مشكلة في حجم الذاكرة الرئيسية RAM وهي غير كافية لمعالجة الصورة حيث أن أبعادها كبيرة أي أن حجمها كبير.. مما سيسبب بطئاً في المعالجة.
يقترح عليك زيادة حجم الRAM. يقترح تفعيل خيار Disk Cache من قائمة Media & Disk Cache Panel اختر الصندوق الأول Enable Disk Cache للتفعيل و الخيارين الآخرين لحذف التخزين المؤقت.ستكون المعالجة بطيئة بعض الشيئ.
-
إجابة Wael Aljamal سؤال في مساعدة بخصوص موازنة الحمل بستخدام nginx كانت الإجابة المقبولة
أعتقد أن هذا هو بالضبط ما تقوم به هذه الإعدادات، هل تعاني من أي مشكلة فيها؟
-
إجابة Wael Aljamal سؤال في مشكلة في جلب RSS في الاندرويد كانت الإجابة المقبولة
مشكلة تتعلق بالاتصال بالانترنت من MainThread (هي مسلك مسؤول عن الواجهة الرسومية ولا يجب الاعتماد عليه بتنفيذ أي شيى آخر ليكون الأداء جيد ولا يحدث توقف في عمل البرنامج)
أولا يجب التأكد من إعطاء سماحية الوصول للانترنت في AndroidMainfest:
<uses-permission android:name="android.permission.INTERNET"/> وضمن MainActivity.java يجب إضافة التالي للدالة OnCreate : ليتم تنفيذ المهمة التي سوف نكتبها الحقا:
new RetrieveFeedTask().execute(urlToRssFeed); سنقوم بتنفيذ المهمة في مسلك منفضل / سوف نعمل على التوازي/ كالتالي:
حيث قمنا بتعريف RetrieveFeedTask كـ AsyncTask.
class RetrieveFeedTask extends AsyncTask<String, Void, RSSFeed> { private Exception exception; protected RSSFeed doInBackground(String... urls) { try { URL url = new URL(urls[0]); SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser parser = factory.newSAXParser(); XMLReader xmlreader = parser.getXMLReader(); RssHandler theRSSHandler = new RssHandler(); xmlreader.setContentHandler(theRSSHandler); InputSource is = new InputSource(url.openStream()); xmlreader.parse(is); return theRSSHandler.getFeed(); } catch (Exception e) { this.exception = e; return null; } finally { is.close(); } } protected void onPostExecute(RSSFeed feed) { // TODO: check this.exception // TODO: do something with the feed } } في Android الإصدار API 30 تم التخلي عن AsyncTask فعلينا عندها استخدام تعريف المسلك Threads كالتلي:
Thread thread = new Thread(new Runnable() { @Override public void run() { try { //Your code goes here // هنا نكتب الدالة السابقة } catch (Exception e) { e.printStackTrace(); } } }); thread.start();
-
إجابة Wael Aljamal سؤال في استدعاء دالة من سطر الاوامر في جافا كانت الإجابة المقبولة
يتم ذلك عن طريق استقبال المعاملات من خلال الوسيط args حيث نقوم بتمرير مصفوفة من نوع String تأخذ كل منها جزء من البيانات الممررة بالترتيب.
سيتم حفظ أول وسيط ممرر بالدليل الأول للمصفوفة [0]args و ثاني وسيط في الدليل الثاني[1]args و هكذا ..
public static void main(String[] args) { if (args[0].equals("stop")) { stopCommand(); } else if (args[0].equals("search")) { searchCommand(); } } أما تنفيذ البرنامج سيكون بالشكل التالي:
java MyProgram stop __ الأمر | اسم البرنامج
-
إجابة Wael Aljamal سؤال في برنامج جافا - مصفوفات و أعداد زوجية و فردية كانت الإجابة المقبولة
لاستقبال الدخل من المستخدم نعتمد على الصنف Scanner والذي يحوي آلية للقراءة من لوحة المفاتيح تجميع الأعداد الزوجية و الفردية كل منها في متغير خاص (عليك إكمال جزء الطرح) لمعرفة موقع أصغر قيمة، علينا أولا معرفة ما هي أصغر قيمة و عندما نجدها نحتفظ بموقعها أرجو محاولة كتابة البرنامج بنفسك أولا
import java.util.Scanner; class bigest { public static void main (String[] args) { Scanner input = new Scanner(System.in); // قراءة دخل المستخدم من لوحة المفاتيخ System.out.println ("Enter 10 Numbers"); // طلب إدخال 10 قميم int numbers[] = new int[10]; // تعريف مصفوفة ل 10 عناصر for (int i = 0; i < 10 i++) { System.out.println ("Enter number " + i + ":"); numbers[i] = input.nextInt(); // قراءة القيم المدخلة بالترتيب } for (int temp : numbers){ System.out.print(temp + "\t"); // طباعة القيم مع فواصل فراغات } int EvenSum = 0; int OddSum = 0; for (int temp : numbers){ if (temp % 2 == 0) { // عدد زوجي لأن باقِ قسمتعه على 2 هو 0 EvenSum += temp; }else { // فردي OddSum += temp; } } System.out.println("Even= " + EvenSum); System.out.println("Odd= " + OddSum); int MinValue = numbers[0]; // نفترض أصغر عدد هو الأول int MinValueIndex = 0; for (int i = 1; i < 10 i++) { if (numbers[i] < MinValue ){ MinValue = numbers[i]; MinValueIndex = i; } } System.out.println("Min Value index is:" + MinValueIndex); } }
-
إجابة Wael Aljamal سؤال في تحويل مصفوفة من شكل إلى آخر فى PHP كانت الإجابة المقبولة
الدالة addslashes التي تضيف escape letter قبل "
الدالة substr لقص آخر محرفين من السلسلة والناتجين من الحلقة الفراغ و , أي " ,"
<!DOCTYPE html> <html> <body> <?php $arr1 = ["https://google.com", "https://facebook.com", "https://twitter.com"]; $arr2 = "\"["; foreach ($arr1 as $str) { $arr2 .= addslashes('"'. $str . '"' . ', '); } $arr2 = substr($arr2, 0, -2); $arr2 .= "]\""; echo $arr2; ?> </body> </html>
-
إجابة Wael Aljamal سؤال في ترخيص نظام ويندوز كانت الإجابة المقبولة
يجب تفعيل نظام ويندوز عن طريق الترخيص، كشراء رخصة من شركة مايكروسوفت ثم تثبيتها في النظام لديك
-
إجابة Wael Aljamal سؤال في اندرويد ستوديو لا استطيع للوصل لل id من شاشة ال Mainactivity كانت الإجابة المقبولة
أحيانا تحدث المشكلة بسبب الذاكرة cache الذاكرة المؤقتة،
الحل :
عمل re-build للمشروع و clean وفي حال لم تعمل من قائمة file نختار -> invalidate cache and restart في حال لم تُحل المكشلة، بأي لغة برمجة تكتب التطبيق؟ هل يمكنك تضمين لقطة للشاشة لواجهة المشروع.
-
إجابة Wael Aljamal سؤال في اختبار الأعداد الأولية بلغة c++ كانت الإجابة المقبولة
أولا ما هي الأعداد الأولية؟ هي أي عدد أكبر من 1 وتقبل القسمة على عددين هما 1 و العدد نفسه.
كيفية التأكد من باقِ القسمة في ++C؟ (يقبل العدد X القسمة على Y إذا كان باقِ قسمته مساوياً للصفر)
mod => % x % y = z 4 % 2 = 0 5 % 2 = 1 .. لاختبار العدد فيما إذا كان أولي أم لا علينا التأكد من أنه لا يقبل القسمة على أي عدد ضمن المجال من 2 إلى العدد نفسه - 1
bool isPrime(int x) { for (int i=2; i < x ;i++){ if (x % i == 0){ // يقبل القسمة return false; // غير أولي } } return true; // عدد أولي لأنه لا يوجد عدد يقبل القسمة عليه } يمكنك استدعاء هذه الدالة في البرنامج الرئيسي الدالة Main وتمرير القيمة X بعد إدخالها من المستخدم بتعليمة cin أو استخدام نفس المنطق ضمن الدالة main مباشرة
-
إجابة Wael Aljamal سؤال في شرح عن quantization و decoding كانت الإجابة المقبولة
quantization: وتعني التكميم - جعل قيم مستمرة لدالة ما تأخذ قيم متقطعة، جعل البيانات تبدو مثل كميات.
مثل درجة الحرارة والتي من الممكن أن تأخذ أي رقم عشري غير منتهِ بين مثلا إذا كان لدينا مسألة فيها درجة الحرارة بين -100 إلى 100 فالقيم الممكنة هي جميع القيم العشرية ضمن المجال المذكرة ومنها 1.5566 و 88 و 12.1547- و 33.33333 ..
لنفرض أننا نريد القيام بتكميم قيم درجات الحرارة حيث نقوم بالتقسيم إلى فئات, مثلا جميع القيم يتم تقريبها إلى أقرب درجة صحيحة فتصبح القيم السابقة على الترتيب : 2 و 88 و -12 و 33.
في حال أردنا التقريب لأقرب عدد زوجي مثلا ستكون النتيجة : 2 و 88 و 12 و 34
في حال أردنا التقريب لأقرب عدد فردي مثلا ستكون النتيجة : 1 و 87 و 11 و 33
يمكننا أيضا تقسيم المجال الكبير لمجالات طولها 5 مثلا ..(سيكون التقريب لأقرب مضاعف للعدد5) وغيرها..
كما يمكن الاعتماد على (قيمة ضمن مجال - تكرارها) مثلا 1و2و2و2و2و3و3و3و5و8و8و 9 سيكون لدينا القيم التي في المجال 1-4 هي 8 ونعتبرها أول مجموعة أو مجموعة مكممة 1 -> 8 المجموعة 2 -> 3 (مجالها 5 - 8), المجموعة 3 -> 1
______________________
decoding: فك الترميز - أحيانا نكتب البيانات بصيغة مختلفة عن ترميزها الحقيقي بهدف تشفيرها أو ضغطها (تقليص حجمها) أو نعطي لنفس الرمز القدرة على التعبير لأكثر من قيمة أو العكس (نعرف القصد من متحولات عامة) مثلا في لوحة المفاتيح سيعامل الحاوسب الرقم 2 و ٢ وهما رمزان مختلفان ولهما نفس القيمة والتي هي اثنان.
برمجيا، يكون فك الترميز باستبدال مجموعة بيانات بمجموعة بيانات أخرى باستخدام شيئ يشبه قاموس اللغات
أي عندما ترى 0010 استبدلها ب 1101 مثلا ..
باختصار: فك الترميز هو عملية تحويل البيانات من شكل لآخر.
_______________________
في حال وجود أمثلة محددة تتطلب الشرح أرجو نشرها، ليكون الشرح أدق و أفضل.
-
إجابة Wael Aljamal سؤال في C++ مجموع الأعداد كانت الإجابة المقبولة
إن هذا البرنامج سهل وعليك البداية بالاعتماد على نفسك و التدرب ومن غير المنطقي طلب حل الوظائف لك.
سأشرح بعض الخطوات المفيدة و عليك إكمال البرنامج بنفسك.
المطلوب برنامج يجمع 10 أعداد. المتطلبات:
متغير مؤقت يحمل القيمة التي أدخلها المستخدم متغير دائم يحمل قيمة المجموع متغير يحمل عدد الأعداد التي يجب إدخالها من المستخدم الخطوات:
طباعة رسالة تفيد المستخدم بتنبيهه ليدخل 10 أعداد ادخال الأعداد ضمن حلقة while حيث يكون عداد الحلقة هو متغير قيمته الافتراضية 10 و تنقص مع كل تكرار ضمن حلقة while ندخل القيمة اللحظية التي أدخلها المستخدم و نضيفها لمتير المجموع انتهاء الحلقة - طباعة النتيجة تهيئة المتحولات int counter = 10; int temp = 0; int sum = 0; طلب ادخال الأرقام cout << "enter 10 number s "; ادخال الارقام و حساب المجموع whiel counter > 0 cin temp sum = sum + temp counter = counter -1 طباعة النتيجة cout << sum
-
إجابة Wael Aljamal سؤال في الاختبار بعد انتهاء الدورة كانت الإجابة المقبولة
طبيعة الامتحان:
بعد اتمامك للدورة، سيكون عليك التواصل معنا من خلال مركز مساعدة حسوب لتحديد موعد امتحان وسيكون على الشكل التالي:
اجراء محادثة صوتيّة لمدة 30 دقيقة يطرح المدرّب عليك أسئلة متعلّقة بالدورة والأمور التي نفّذتها خلالها. يحدد لك المدرّب مشروعًا مرتبطًا بما قمت به أثناء الدورة لتنفيذه خلال فترة محددة تتراوح بين أسبوع الى أسبوعين. اجراء محادثة صوتيّة أخرى لمدّة 30 دقيقة يناقش بها مشروعك وما نفذته وتطرح أسئلة خلالها. ان سارت على جميع الخطوات السابقة بشكل صحيح، تحصل على الشهادة أو يرشدك المدرّب لأماكن القصور ويطلب منك تداركها ثم التواصل معنا من جديد. بعد الانتهاء من الدورة، يمكنك البدء بتقديم عروض العمل على منصات العمل الحر مثل مستقل للفترة الأولى لتكتسب بعض الخبرة، ثم بعد فترة تقوم بالتقديم على الشركات في حال أحببت ذلك مع تقديم جميع الأعمال التي قمت بها خلال الدورة و المشاريع الخاصة.
بعد اجتيازك الامتحان ستتم المتابعة معك خطوة بخطوة وتوضيح جميع الطرق التي ستسلكها للحصول على عمل. حيث أحد البنود التي توفرها لك الأكاديمية عند شرائك دورة هو:
إرشاد وتوجيه أثناء فترة بحثك عن عمل: هذا هو الهدف الأساسي لجميع دورات أكاديميّة حسوب. بعد إتمامك للدورة سيتم الإطّلاع على سيرتك الذاتية من قبل المختصّين لدينا وتقديم ارشادات مخصّصة لك لتحسينها وكذلك على ملفّك الشخصي في مواقع العمل الحر.
يوجد بعض الاستفسارات عن الدورة يمكنك مراجعتها من قسم الشهادات المتخصصة
بالتوفيق
-
إجابة Wael Aljamal سؤال في استخراج البيانات من جدول بقاعدة البيانات كانت الإجابة المقبولة
حتى تحفظ بيانات مستخدم ليعاود تسجيل الدخول مرة ثانية و تتأكد من أنه نفسه، يمكنك حفظ بياناته في cookies في المتصفح، حيث تتعرف عليه.
و على كل حال يمكنك أن تطلب منه بيانات ضرورية عند التسجيل الأول له مثل اسم مستخدم في الموقع أو رقم هاتف لتتعرف عليه.
عند فتحه للموقع مرة أخرى، تقوم بعمل استعلام لقاعدة البيانات، تتتفحص القيم الفارغة و التي لم يدخلها، ثم تظهر له إشعار بأنه - كما ذكرت - يفضل تعبئة باقِ البيانات.. تعرض له إشعار مع رابط تحويل لصفحة إدخال البيانات.
بعد دخوله لهذه الصفحة، يمكنك تعبئة القيم التي سبق وأدخلها فيها، ومن ثم يتابع هو تعبئة باقِ البيانات وأنت ترسل استعلام للقاعدة عندها بعمل تحديث و ترسل البيانات الإضافية.