اذهب إلى المحتوى

لوحة المتصدرين

  1. Ali Haidar Ahmad

    Ali Haidar Ahmad

    الأعضاء


    • نقاط

      10

    • المساهمات

      1068


  2. Adnane Kadri

    Adnane Kadri

    الأعضاء


    • نقاط

      3

    • المساهمات

      5196


  3. Tamim Fahed

    Tamim Fahed

    الأعضاء


    • نقاط

      3

    • المساهمات

      124


  4. معاذ محمد10

    معاذ محمد10

    الأعضاء


    • نقاط

      2

    • المساهمات

      139


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 07/14/21 في كل الموقع

  1. يبدوا أنك تقوم بإخراج الملفات إلى ملف واحد . بالطبع ستحتاج تعديل المخرج أيضا , سنحتاج إخراج الملفات منفصلة بحسب إسم الملف . فعوضا عن مثل هذا : output:{ path:path.join(__dirname,"/dist"), filename:"main.js" }, نحتاج إخراج الملفات على هذا النحو : output:{ path:path.join(__dirname,"/dist"), filename:"[name].js" }, حتى لا يحدث خطأ التعارض الذي ظهر معك , ثم يمكنك بعد ذلك تشغيل أمر البناء بشكل طبيعي : npm run build
    2 نقاط
  2. السلام عليكم اريد ان اختبر اختبار تطوير وجهات المستخدم هل يجب ان اوثق هوية حسابي في أكاديمية حسوب و اذا الإجابة نعم كيف؟
    1 نقطة
  3. بفرض لدي المسار التالي لطلب بعض المعلومات من خادم الويب: http://mywebsite.com/test/test2 وأرغب بالحصول على هذا المسار كاملاً فقمت بوضع مسار التوجيه هذا ضمن express: app.get('/test/test2', function (req, res) { let url = req.url; } ولكنني أحصل فقط على /test و /test2 بشكل معزول. كيف يمكنني الحصول على كامل المسار الذي تم طلبه من قبل العميل؟
    1 نقطة
  4. لدي الكود التالي من طرف خادم الويب node.js وأقوم باستخدام express.js: var express = require('express') var bodyParser = require('body-parser') var app = express() app.use(bodyParser.urlencoded()) app.use(bodyParser.json()) app.listen(5000); app.post("/", function (req, res) { console.log(req.body) res.send('Hello World!') }); ولكن أحصل على body فارغ عند طباعته في console.log. كيف يمكنني حل هذه المشكلة؟
    1 نقطة
  5. لدي بعض العمليات التي يتم تطبيقها في كل وسيط middleware بشكل منفصل على الآخر، ولدي مسار يحوي أكثر من وسيط بحيث سيتم الدخول على كل منها بشكل متسلسل لإجراء بعض العمليات وتمرير النتيجة إلى الوسيط التالي وهكذا، مثال: router.get('/clients', [middleware1, middleware2], controller.doWork) وأقوم بوضع التابع next في هذه الوسطاء للمتابعة أو للإيقاف، ولكن كيف يمكنني تمرير القيم أو المتغيرات بين هذه الوسطاء من خلال express ؟
    1 نقطة
  6. توضيح لل struct في لغة البرمجة C++
    1 نقطة
  7. السلام عليكم لدية مشروع به عدة صفحات و اريد ربط كل صفحة ب ملف javaScript منفصل لكن المشكلة هي ان webpack يقوم ب انشاء الملف الاصل فقط و هو index.js و لا ينشئ بقية ملفات javaScript في المجلد dist كيف جعل webpack يقوم ب انشاء او استدعاء جميع ملفات javaScript المنفصلة من مجلد المشروع الاصلي src
    1 نقطة
  8. هل اذا اشتريت دورة واحدة يمكننا اخذة شهادتها فقط ام على كل الدورات
    1 نقطة
  9. تأكد أنك تقوم بإعداد webpack ليقوم بعمل المطلوب على نحو صحيح , ففي الأرجح يتم بناء الملف الأصلي index.js لأنك تقوم بهذا في ملف webpack.config.js : entry: { main: path.resolve(__dirname, './src/index.js'), }, ثم تقوم بتضمينه في ملف الـ html : <script type="text/html" src="{required('index.js')}"></script> في حين أنك تحتاج تمرير عدة نقاط وصول لكائن المدخلات entry : entry: { main: path.resolve(__dirname, './src/scripts/index.js'), about: path.resolve(__dirname, './src/scripts/about.js'), contact: path.resolve(__dirname, './src/scripts/contact.js'), }, ثم يمكنك تضمين كل ملف على حدة في ملفات الـ html التي تقوم ببناءها . يمكنك القراءة أكثر عن الخاصية entry في دليل Webpack الشامل .
    1 نقطة
  10. السبب هو أنك تستخدم tensorflow.python.keras للنموذج والطبقات و keras.optimizers لـ SGD. وهما نسختان مختلفتان.وبالتالي لم يتمكنوا من العمل معاً. يجب عليك تغيير كل شيء إلى إصدار واحد. ثم ستحل مشكلتك. أي وحد الإصدارات أو قم باستخدام كيراس لكل شيء كالتالي: from keras.layers import Dense,Embedding,LSTM from keras.models import Sequential from keras.optimizers import SGD model =Sequential() model.add(Embedding(max_features, 64)) model.add(LSTM(16)) model.add(Dense(1, activation='sigmoid')) model.compile(optimizer=SGD(lr=0.01), loss='binary_crossentropy', metrics=['acc']) history = model.fit(input_train, y_train, epochs=2, batch_size=64, validation_split=0.2) """ Loading data... 25000 train sequences 25000 test sequences Pad sequences (samples x time) input_train shape: (25000, 20) input_test shape: (25000, 20) Epoch 1/2 313/313 [==============================] - 6s 13ms/step - loss: 0.6934 - acc: 0.4900 - val_loss: 0.6934 - val_acc: 0.4964 Epoch 2/2 313/313 [==============================] - 3s 11ms/step - loss: 0.6931 - acc: 0.5031 - val_loss: 0.6931 - val_acc: 0.5036 """
    1 نقطة
  11. يظهر هذا الخطأ لأن بياناتك غير متجانسة حيث أنك تخلط المصفوفات numpy مع القوائم. يجب أن تكون كل بيانات التدريب والاختبار مصفوفات "numpy arrays". انظر للمثال التالي: # هنا بياناتي متجانسة from keras.datasets import imdb from keras.preprocessing import sequence max_features = 10000 maxlen = 20 # تحميل البيانات # هنا تم تحميل البيانات على شكل قوائم print('Loading data...') (input_train, y_train), (input_test, y_test) = imdb.load_data(num_words=max_features) print(len(input_train), 'train sequences') print(len(input_test), 'test sequences') print('Pad sequences (samples x time)') #to_numpy إذا لم تكن بياناتك مصفوفات قم بتحويلها إلى مصفوفات نمباي باستخدام التابع # معالجة البيانات # هنا ستتحول البيانات تلقائياً إلى مصفوفات نمباي لأن تابع الحشو يردها على شكل مصفوفة input_train = sequence.pad_sequences(input_train, maxlen=maxlen) # حشو input_test = sequence.pad_sequences(input_test, maxlen=maxlen) # حشو print('input_train shape:', input_train.shape) print('input_test shape:', input_test.shape) # بناء النموذج from keras.layers import Dense,Embedding,LSTM import keras model = keras.Sequential() model.add(Embedding(max_features, 64)) model.add(LSTM(64)) model.add(Dense(1, activation='sigmoid')) model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['acc']) # أما بياناتك فهي خليط من المصفوفات والقوائم وهذا ينتج خطأ
    1 نقطة
  12. هي طبقة تنتمي إلى فئة الطبقات المتكررة RNN (Recurrent Neural Networks) إن ال LSTM التي أطلقها Hochreiter في ورقته البحثية عام 97 ماهي إلا تطوير لشبكة ال RNN التقليدية (في كيراس وتنسرفلو SimpleRNN) التي كنت قد تحدثت عنها في سؤال سابق (تجد رابطه في الأسفل). الاختلاف كان في النقاط الأساسية التالية: 1.قدرة النظام على تخزين المعلومات لمدة أطول وبالتالي معالجة أكبر مشكلة والعيب الأساسي لل SimpleRNN وهو تضائل الاشتقاقات أي عدم قدرتها على تذكر معلومات التسلسل مع التقدم بالخطوات الزمنية أي بشكل مبسط أكثر "مثلاً عدم قدرتها على تذكر الكلمات السابقة أي مثلاً في نص طوله 50 كلمة عندما تصل للكلمة رقم 40 ستنسى ماهي الكلمة رقم 10 أي لن تتذكرها جيداً وبالتالي هذا يؤثر على فهمها للسياق وبالتالي نتائج أضعف ولاسيما في المجالات التي تركز على فهم السياق مثل الترجمة ". 2.قدرة النظام على مقاومة الضجيج (ليست ذات الصلة بالتنبؤ بإخراج صحيح). في كيراس وتنسر فلو هي عبارة عن كلاس له الشكل التالي: tf.keras.layers.LSTM( units, activation="tanh", recurrent_activation="sigmoid", use_bias=True, dropout=0.0, return_sequences=False ) حيث أن units هي عدد الخلايا أو الوحدات في الشبكة، أما الوسيط الثاني هو تابع التنشيط المستخدم، أما الثالث فيحدد فيما إذا كنت تريد إضافة الانحراف b الذي أشرنا له في الأعلى (دوماً true)، الوسيط الرابع هو وسيط ال dropout لتحديد نسبة الخلايا التي سيتم إسقاطها في الشبكة (بين 0 و 1) الوسيط الأخير لتحديد شكل الإخراج ففي حال قمت بضبطه على True سوف يكون الخرج 3D حيث يقوم بإعادة كامل التسلسل أما في الحالة الافتراضية أي False يقوم بإعادة الخرج الأخير من تسلسل الخرج. طبعاً لكي لاتقع في الأخطاء يجب أن نضع True إذا كانت الطبقة التالية هي طبقة تكرارية و False إذا كانت طبقة Dense فالطبقات التكرارية دخلها يجب أن يكون 3D بينما طبقات Dense دخلها يكون 2D. والدخل لهذه الطبقة يكون: [batch, timesteps, feature] والخرج: يكون إما 2D أو 3D كما أشرنا. المثال التالي لاستخدام هذه الطبقة مع مجموعة بيانات imdb لتحليل المشاعر: from keras.datasets import imdb from keras.preprocessing import sequence max_features = 10000 maxlen = 20 # تحميل البيانات print('Loading data...') (input_train, y_train), (input_test, y_test) = imdb.load_data(num_words=max_features) print(len(input_train), 'train sequences') print(len(input_test), 'test sequences') print('Pad sequences (samples x time)') # معالجة البيانات input_train = sequence.pad_sequences(input_train, maxlen=maxlen) # حشو input_test = sequence.pad_sequences(input_test, maxlen=maxlen) # حشو print('input_train shape:', input_train.shape) print('input_test shape:', input_test.shape) # بناء النموذج from keras.layers import Dense,Embedding,LSTM import keras model = keras.Sequential() model.add(Embedding(max_features, 64)) model.add(LSTM(64)) model.add(Dense(1, activation='sigmoid')) model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['acc']) history = model.fit(input_train, y_train, epochs=10, batch_size=64, validation_split=0.2) """ Loading data... 25000 train sequences 25000 test sequences Pad sequences (samples x time) input_train shape: (25000, 20) input_test shape: (25000, 20) Epoch 1/10 313/313 [==============================] - 17s 36ms/step - loss: 0.6070 - acc: 0.6435 - val_loss: 0.4929 - val_acc: 0.7478 Epoch 2/10 313/313 [==============================] - 9s 30ms/step - loss: 0.3900 - acc: 0.8248 - val_loss: 0.5014 - val_acc: 0.7502 """ للإطلاع على SimpleRNN رغم أنني أجبتك عليها سابقاً:
    1 نقطة
  13. يقوم بجعل قيم البيانات تنتمي إلى المجال من 0 إلى 1، ومبدأ عمله مختلف عن باقي طرق التطبيع "أو التقييس Scaling" في Sklearn حيث يقوم بتناول كل صف على حدى في المصفوفات ثنائية الأبعاد وينفذ عليها عملية التطبيع. ويكون التقييس بإحدى الطرق التالية: إما باستخدام l1 حيث يجمع مجموع القيم في الصف i وليكن sum ثم يقسم كل قيمة من هذا الصف على sum أي على المجموع. أو l2 بنفس المبدأ لكن هنا يكون جذر مجموع مربعات كل صف هو القيمة العظمى. أو max وهنا القيمة العظمى في كل صف هي القيمة العظمى. ويتم استخدامه في بايثون من مكتبة Sklearn كالتالي: from sklearn.preprocessing import Normalizer inpt_data = [[1,2,3], [4,5,6], [7,8,9]] transformer =Normalizer(norm='l1') #transformer =Normalizer(inpt_data,norm='l2') #transformer =Normalizer(inpt_data,norm='max') #fit إجراء العمليات اللازمة للتحويل باستخدام التابع transformer.fit(inpt_data) # إجراء التحويل transformer.transform(inpt_data) # الخرج """ array([[0.16666667, 0.33333333, 0.5 ], [0.26666667, 0.33333333, 0.4 ], [0.29166667, 0.33333333, 0.375 ]]) """ وفي Sklearn له الشكل التالي: sklearn.preprocessing.normalize(X, norm='l2', axis=1, copy=True) # Copy: لتحديد فيما إذا كنت تريد أن يتم تطبيق التغييرات على المصفوفة الأصلية أي إنشاء نسخة أم لا # axis: إذا كان 1 سوف يتم تطبيقه على كل صف أي كل عينة أما 0 فسيتم تطبيقه على كل عمود أي على كل فيتشرز
    1 نقطة
  14. يمكنك أن تقوم بعمل دالة تقوم بالمرور على كل حرف من مدخلات المستخدم وتقوم هذه الدالة بإضافة علامة backslash \ قبل كل حرف أو رمز غير الحروف اللاتينية، وتوجد دالة تقوم بذلك بشكل إفتراضي في مكتبة re وهي دالة escape ويمكنك أن تستعمل الدالة كالتالي: userInput = input("Write a word: ") # Input: ^a.*$ escapedText = re.escape(userInput) # Output: \^a\.\*\$ ملاحظة عند طباعة المتغير escapedText ستكون النتيجة كالتالي: \\^a\\.\\*\\$ يتم إضافة علامة \ إضافية قبل كل علامة \، ويمكنك الإطلاع على هذه الإجابة لمعرفة سبب إضافة علامة backslash إضافية من هنا
    1 نقطة
  15. هو مصنف يقوم بالتنبؤات باستخدام قواعد بسيطة. هذا المصنف يتم استخدامه كخط أساس Baseline للمقارنة مع المصنفات الأساسية الأخرى. sklearn.dummy.DummyClassifier(strategy='prior', random_state=None) # الوسطاء strategy:{“stratified”, “most_frequent”, “prior”, “uniform”, “constant”}, default=”prior” #stratified: يولد تنبؤات على أساس توزيع فئة التدريب #most_frequent: يتنبأ دائمًا بالفئة الأكثر شيوعاً في مجموعة التدريب. #prior: يتنبأ دائمًا بالفئة التي تعظم الفئة السابقة #uniform: يولد تنبؤات بشكل موحد وعشوائي. #constant: يتنبأ دائمًا بتسمية ثابتة يوفرها المستخدم random_state:int, RandomState instance or None, default=None # نظام العشوائية # الواصفات classes_:ndarray of shape (n_classes,) or list of such arrays # الفئات في مجموعة البيانات n_classes_:int or list of int عدد الفئات class_prior_:ndarray of shape (n_classes,) or list of such arrays # احتمالية كل فئة لكل ناتج n_outputs_int # عدد المخرجات # التوابع الأساسية score(X, y): لحساب الدقة predict(X) : للتوقع fit(X,y): للتدريب مثال: from sklearn.pipeline import make_pipeline from sklearn.model_selection import train_test_split from sklearn.dummy import DummyClassifier from sklearn.datasets import load_breast_cancer # تحميل البيانات Data = load_breast_cancer() X = Data.data y = Data.target pipe = make_pipeline(DummyClassifier()) pipe.fit(X,y) from sklearn.metrics import confusion_matrix,accuracy_score, classification_report # make prediction and print accuracy pipe.score(X, y)
    1 نقطة
  16. هذه الطبقة هي تمثيل للشبكة العصبية المتكررة. وسأعطي لمحة عنها قبل أن أوضح لك كيفية استخدامها في كيراس وتنسرفلو. الشبكة العصبية المتكررة (RNN) هي نوع من الشبكات العصبية حيث يكون الخراج من الخطوة السابقة دخل إلى الخطوة الحالية. في الشبكات العصبية التقليدية، تكون جميع المدخلات والمخرجات مستقلة عن بعضها البعض، ولكن في حالات مثل عندما يكون مطلوباً التنبؤ بالكلمة التالية من الجملة، تكون الكلمات السابقة مطلوبة وبالتالي هناك حاجة لتذكر الكلمات السابقة. وهنا تكمن أهمية شبكات RNN، والتي حلت هذه المشكلة عن طريق استخدام مانسميه "Hidden state"، فهي الميزة الرئيسية والأكثر أهمية لـ RNN، والتي تتذكر بعض معلومات التسلسل. أي أنها تعالج التسلسلات "sequences" كالنصوص و السلاسل الزمنية (رغم أنها ليست ناجحة جداً مع السلاسل كما أشار فرانسوا كوليت). إن مايميزها هو استخدام "ذاكرة" تتذكر جميع المعلومات حول ما تم حسابه في المراحل السابقة. وتستخدم نفس الأوزان لكل إدخال لأنه يؤدي نفس المهمة على جميع المدخلات أو الطبقات المخفية لإنتاج المخرجات. وهذا يقلل من تعقيد المعلمات، على عكس الشبكات العصبية الأخرى. وأيضاً إحدى المشكلات المتعلقة بالشبكات العصبية التقليدية (وكذلك شبكات CNN) هي أنها تعمل فقط بأحجام محددة مسبقاً، فهي تأخذ مدخلات ذات حجم ثابت وتنتج مخرجات ذات حجم ثابت. أما RNNs تتيح لنا تسلسلات متغيرة الطول كمدخلات ومخرجات. ولهذا فهي الخيار رقم 1 للتعامل مع النصوص ومعالجة اللغة الطبيعية NLP. إن الشيئ الذي يعطي هذه الشبكات الخاصية التكرارية هو أنها تستخدم نفس الأوزان لكل خطوة. وبالضبط فإنها تستخدم (بشكل قياسي) 3 مجموعات فقط من الأوزان لإجراء حساباتها: Wxh: بين الهيدين ستيت والدخل Whh: بين الهيدين ستيت السابقة والحالية Why: بين الهيدين ستيت والخرج وأيضاً bh: هي الانحراف ويضاف عندما نحسب الهيدين ستيت by: يضاف عندما نحسب المخرجات طبعاً هذه التفاصيل لست مضطراً للخوض بها وحسابها فكيراس وتنسرفلو هي من تقوم بكل شيئ، عن طريق الكلاس SimpleRNN: tf.keras.layers.SimpleRNN( units, activation="tanh", use_bias=True, dropout=0.0, return_sequences=False, ) حيث أن units هي عدد الخلايا أو الوحدات في الشبكة، أما الوسيط الثاني هو تابع التنشيط المستخدم، أما الثالث فيحدد فيما إذا كنت تريد إضافة الانحراف b الذي أشرنا له في الأعلى (دوماً true)، الوسيط الرابع هو وسيط ال dropout لتحديد نسبة الخلايا التي سيتم إسقاطها في الشبكة (بين 0 و 1) الوسيط الأخير لتحديد شكل الإخراج ففي حال قمت بضبطه على True سوف يكون الخرج 3D حيث يقوم بإعادة كامل التسلسل أما في الحالة الافتراضية أي False يقوم بإعادة الخرج الأخير من تسلسل الخرج. طبعاً لكي لاتقع في الأخطاء يجب أن نضع True إذا كانت الطبقة التالية هي طبقة تكرارية و False إذا كانت طبقة Dense فالطبقات التكرارية دخلها يجب أن يكون 3D بينما طبقات Dense دخلها يكون 2D. والدخل لهذه الطبقة يكون: [batch, timesteps, feature] والخرج: يكون إما 2D أو 3D كما أشرنا. المثال التالي لاستخدام هذه الطبقة مع مجموعة بيانات imdb لتحليل المشاعر: from keras.datasets import imdb from keras.preprocessing import sequence max_features = 10000 maxlen = 512 # تحميل البيانات print('Loading data...') (input_train, y_train), (input_test, y_test) = imdb.load_data(num_words=max_features) print(len(input_train), 'train sequences') print(len(input_test), 'test sequences') print('Pad sequences (samples x time)') # معالجة البيانات input_train = sequence.pad_sequences(input_train, maxlen=maxlen) # حشو input_test = sequence.pad_sequences(input_test, maxlen=maxlen) # حشو print('input_train shape:', input_train.shape) print('input_test shape:', input_test.shape) # بناء النموذج from keras.layers import Dense model = Sequential() model.add(Embedding(max_features, 64)) model.add(SimpleRNN(64)) model.add(Dense(1, activation='sigmoid')) model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['acc']) history = model.fit(input_train, y_train, epochs=10, batch_size=64, validation_split=0.2)
    1 نقطة
  17. أنت تخلط بين حزم keras و tf.keras.وبالتالي لن يعمل هذا ، لأن هذه الحزم غير متوافقة مع بعضها البعض. يجب استخدام tf.keras فقط في هذه الحالة. دوماُ عندما تصادفك هذه المشكلة في أي كود، استبدل: Import keras.<something>.<something> ب: Import tensorflow.keras.<something>.<something> حيث تشير "something" إلى الوحدة التي تريد استيرادها. وفي حالتك قم باستبدال: from keras.layers.embeddings import Embedding ب: from tensorflow.keras.layers import Embedding
    1 نقطة
  18. تظهر هذه المشكلة لأن TensorFlow أو Keras لا يمكنها العمل مع h5py v3 والإصدارات الأحدث. لذا قم بتثبيت نسخة أقدم منها كالتالي: pip install 'h5py==2.10.0' --force-reinstall ثم أعد تشغيل الKernal (أي قم بإغلاق المحرر وأعد تشغيله أو قم بإعادة تشغيل الحاسب) غالباً سوف يتم جعل تنسرفلو وكيراس يعملان مع النسخ الأحدث منها قريباً.
    1 نقطة
  19. كيف اوثق هوية حسابي؟
    1 نقطة
  20. يسعد اوقاتك بكل خير... انت بحاجة الى كتابة مقالات تتحدث عن التسويق ومختلف الخدمات في موقعك بشكل معلوماتي ومتوافق مع ال SEO بحيث تستطيع من خلال المقالات جلب زوار يبحثون عن الفائدة في موقعك وبالتالي تبني علاقة بينك وبين الزوار على الأمد البعيد. المحتوى ستقسمه الى عدة تصنيفات حسب تصنيفات الخدمات التي ستقدمها، فإذا كنت ستقدم خدمات SEO مثلا، فسيكون في موقعك مقالات تتحدث عن ال SEO .... وهكذا. هناك نصيحة سأقدمها لك في هذا الأمر، يجب عليك أن تستخدم الأدوات التي تساعدك في تصدر مقالتك في محرك البحث كإضافة SEO Yoast مثلا. في الوقت الحالي أنا أستخدم اداة Guinrank وهي رائعة وتساعدك على كتابة مقالات وفحص المنافسين واختيارىالكلمة المفتاحية المناسبة للمقال ... إلخ.
    1 نقطة
  21. يعتبر البحث الثنائي أفضل من الخطي لأن في البحث الخطي سوف نمرر على كل عنصر لتحقق إذا كان هو أما في البحث الثنائي يتم ترتيب المصفوفه ومن ثم المقارنه مع العدد الذي في الوسط فأذا كان العدد المعطى أكبر من العدد الذي في الوسط نقوم في البحث في النصف الأعلى من المصفوفه أما إذا كان أصغر نقوم بالبحث في النصف الاسفل أما اذا كان يساويه فيكون هو العدد المنشود ويتم تكرار نفس الشي في كل مره حتى نجد العدد: a=[3,2,3,5,6,4,7] x=int(input()) a=sorted(a) start,end=0,len(a) y=-1 while(start<=end): mid=(start+end)//2 if(a[mid]==x): y=mid break if(x>a[mid]): start=mid+1 else: end=mid-1 if(y==-1): print("Number not found") else: print("Number found in index {}".format(y)) في البداية إدخال العدد المراد البحث عنه بعد ذلك ترتيب المصفوفه لأن شرط البحث الثنائي هو ان تكون المصفوفه مرتبه بعد ذلك تعيين قيمة البداية صفر وقيمة النهاية ب طول المصفوفه أعطاء y=-1 وذلك يعني أن العدد في البداية لا يعتبر موجود بعد ذلك حلقه شرط الحلقه يكون دوما البداية أصغر من النهايه بعد ذلك اسناد قيمة الاندكس الذي في الوسط إلى mid بعد ذلك عمليات المقارنه التي ذكرناها في حالة التساوي نقوم بإسناد قيمة mid إلى y في حالة x أكبر من القيمه التي في الوسط هذا يعني أنها أكبر من جميع قيم النصف الأيسر من المصفوفه بالتالي تصبح البداية الجديدة mid+1 في حالة x أصغر من القيمه التي في الوسط هذا يعني أنها أصغر من جميع قيم النصف الأيمن من المصفوفه بالتالي تصبح النهاية الجديدة mid-1 بعد اختلال الشرط نخرج من الحلقه فإذا تغيرت قيمة y هذا يعني أنه موجود ونقوم بطباعة موجود وإذا كان يساوي -1 هذا يعني أنه غير موجود
    1 نقطة
  22. يمكنك ذلك بالطريقة التالية باستخدام مكتبة Json: import json with open('data.json') as file: data = json.load(file) type(data) # Output: dict data.keys() # Output: dict_keys(['key1', 'key2', 'key3', 'key4', 'keyn']) أو باستخدام مكتبة pandas وهنا سيقرأها ك DataFrame: import pandas as pd df = pd.read_json(‘data.json’) print(df)
    1 نقطة
  23. أولاً أي صفحة ويب في أي موقع بالعالم غالباً تنقسم إلى قسمين : client sideserver sideالسبب في هذا التقسيم هو لتخفيف العبء والطلب على السيرفر (الخادوم) لأن عملية الطلب من السيرفر غالبأ تكون بطيئة وتحتاج لوقت أطول، بالإضافة إلى ان هناك عمليات يجب التأكد من صحتها قبل إرسالها الى السيرفر لأنها قد تتسبب بأخطاء. بينما ال client side هي أسرع استجابة. بالنسبة للمهام التي يمكن تنفيذها في قسم Client Side غالباً تكون المهام المتعلقة بالتحقق من الأخطاء Validation والعمليات التي تحتاج إلى استجابة المستخدم مثل تحريك القوائم وفتح النوافذ وكل عمليات ال animation وتصميم الصفحة. اللغات المستخدمة في جهة ال client side هي Javascript , JQuery, Ajax , CSS بينما عمليات الإتصال بقواعد البيانات ومعالجة إدخالات المستخدم وال web services تتم في جهة ال Server Side. اللغات المستخدمة في server side ممكن أن تكون C# أو VB ليكون ما يسمى ASP.NET أو PHP أو JAVA Servlet
    1 نقطة
×
×
  • أضف...