اليوم هو آخر يوم
للتسجيل للطالب الأولمبي "
أنا محترف ". ونتحدث عن اتجاه "البرمجة وتكنولوجيا المعلومات".
الشريك العام للأولمبياد في مجالات جامعة ITMO هو "البرمجة وتكنولوجيا المعلومات" ، "المعلومات والأمن السيبراني" ، " Big Data " - Sberbank.
كريستينا موريللو / Pexels / PDبضع كلمات عن الأولمبياد "أنا محترف"
طالب الأولمبياد "أنا محترف" عبارة عن مسابقة للبكالوريوس والماجستير في التخصصات الإنسانية والفنية. سيتمكن الطلاب الذين يظهرون جيدًا في الأولمبياد من دخول الجامعات الروسية دون امتحانات. في الوقت نفسه ، سيخضعون للتدريب في شركات تكنولوجيا المعلومات الروسية الرائدة: Yandex و Sberbank و IBS و Mail.Ru.
ستبدأ الألعاب الأولمبية في 24 نوفمبر (
اليوم هو اليوم الأخير للتسجيل ) - هذا هو تاريخ بدء مراحل التأهل. سيتم الاحتفاظ بها بتنسيق عبر الإنترنت. هؤلاء المشاركون الذين سيذهبون إلى الجولة التالية سيصلون إلى مرحلة بدوام كامل من المسابقة. ستعقد في جامعات مختلفة في الدولة في فبراير 2019.
ما هي مجالات الأولمبياد التي نشرف عليها
تعد جامعة ITMO المهام في المجالات التالية: "البرمجة وتكنولوجيا المعلومات" و "المعلومات والأمن السيبراني" و "
الضوئيات ".
حتى هذا العام ، قدمنا مجالين جديدين:
- " الروبوتات ": الموضوعات في هذا المجال هي الميكانيكا والإلكترونيات والتحكم. يجب إعطاء المشاركة للطلاب الذين يخططون لمواصلة دراستهم في مجال الميكانيكا التطبيقية وهندسة البرمجيات ، وما إلى ذلك. كان الشركاء في هذا المجال Motorika و NPO Android Technique و DNS.
- البيانات الضخمة : تتضمن الموضوعات في هذا المجال تحليل البيانات والإحصاءات وتعلم الآلة. مناسبة للطلاب الذين يدرسون في كليات المعلوماتية التطبيقية وتكنولوجيا المعلومات والاتصالات وتكنولوجيا المعلومات في المجال الإنساني ، إلخ. ومن بين الشركاء شركات مثل غازبروم وسيمنز و MTS وخطوط الأعمال.
بعد ذلك ، سنتحدث أكثر عن اتجاه "البرمجة وتكنولوجيا المعلومات".
حول اتجاه "البرمجة وتكنولوجيا المعلومات"
جامعة ITMO هي واحدة من أكبر منظمي الأحداث القريبة من مستوى الأولمبياد "أنا محترف".
لدينا عدد كبير من المسابقات والمسابقات الإبداعية في علوم الكمبيوتر والبرمجة. هؤلاء هم أولمبياد المدرسة ، على سبيل المثال ، فريق أولمبياد عموم روسيا لأطفال المدارس ، وأولمبياد " تكنولوجيا المعلومات " و IOIP . كما ننظم أولمبياد الطلاب ، على وجه الخصوص ، نصف النهائي من بطولة العالم للبرمجة ICPC .
عند العمل على اتجاه "البرمجة وتكنولوجيا المعلومات" ، أخذنا في الاعتبار التجربة الغنية في إجراء أحداث تنافسية مواضيعية أخرى في مجال تكنولوجيا المعلومات وخبرة الزملاء. على سبيل المثال ، من هذا العام ، يعمل ميخائيل ميرزايانوف ، مؤلف
ومطور بوابة
Codeforces ، في جامعة ITMO.
يتم إعداد توجيه "البرمجة وتكنولوجيا المعلومات" من قبل جامعة ITMO من قبل موظفي الكلية المقابلة. هذا هو Dean Parfenov Vladimir Glebovich ، بالإضافة إلى أستاذ مشارك ومدرب في فريق برمجة الطلاب ITMO للبرمجة الرياضية Andrey Sergeyevich Stankevich.
يشارك موظفو شركات تكنولوجيا المعلومات ، وتدريس التخصصات المتخصصة في الكلية ، وموظفي الجامعات المشاركة في تنظيم وتطوير مهام الأولمبياد. هذه الجامعات هي جامعة الأورال الفيدرالية ، جامعة شمال شرق الاتحادية. أموسوفا ، جامعة ولاية ساراتوف وجامعة سامارا.
كيفية الاستعداد للأولمبياد
يعتمد اتجاه "
البرمجة وتكنولوجيا المعلومات " على معرفة الرياضيات وعلوم الكمبيوتر والقدرة على تطوير برامج موثوقة وآمنة. أثناء الإعداد ، يُنصح الطلاب بتكرار نظرية التعقيد الحسابي ، ونظرية اللغات والقواعد الشكلية ، ومبادئ إنشاء البنى الحسابية ، و OOP والبرمجة المتوازية ، ونظرية قواعد البيانات العلائقية.
نوصي بمشاهدة ندوات عبر الإنترنت المواضيعية التي أعدها معلمونا. على سبيل المثال ، يناقش هذا الفيديو مشاكل التخزين وأنظمة التشغيل.
ندوة عبر الإنترنت الاتجاه الثاني حول الخوارزميات وهياكل البيانات:
في التحضير للمراحل التأهيلية والنهائية ، يجب الانتباه ليس فقط للنظرية ، ولكن أيضًا للقضايا العملية. لذلك ، سنقدم بعض الأمثلة على المهام التي قد تحدث في المراحل التأهيلية والنهائية. هذه حالات حقيقية تم تقديمها للطلاب في العام الماضي.
مهمة مثال: كود معين في لغة برمجة مجردة تحاكي تشغيل قائمة انتظار الاستعلام.
رمز المهمةqueue tasks; task worker_task; void do_task(task) { sleep(random()) : } void request() { while (true) { new_task = new task(); if (worker_task == null) worker_task = new_task; else if (queue.size() < 5) queue.push(new_task) sleep(random()) } } void worker() { while (true) { if (worker_task == null) { sleep(1000); } else { do_task(worker_task); if (queue.notEmpty()) worker_task = queue.pop(); } } } main() { thread worker_thread(worker); for (int i = 0; i < N; ++i) { threadr tr(request) } }
في سلسلة عمليات منفصلة ، تبدأ العملية المنفذة ، والتي تعالج المهام الواردة من سلاسل رسائل طلب N (N> 1). تحاكي طريقة do_task تنفيذ المهام.
أي من العبارات التالية صحيحة؟
- حالة السباق حسب متغير worker_task
- يمكن أن تحتوي قائمة الانتظار على 6 عناصر
- قد يتوقف النظام عن أداء المهام حتى إذا لم تكن قائمة الانتظار فارغة.
- سيقوم النظام بإكمال المهام دائمًا في حالة وصولها ،
- يضمن النظام استكمال جميع المهام الواردة.
الجواب: 1 ، 2 ، 3
علاوة على ذلك ، كمثال ، نعطي المهمة من المرحلة النهائية. هنا مهمة تتعلق بأنظمة التشغيل وجدولة العملية.
مثال على مهمة: خذ بعين الاعتبار نظام الحوسبة مع معالج مركزي واحد ، والذي في أي وقت يمكنه فقط إجراء حسابات على عملية واحدة. وقت النظام منفصل ويتم قياسه في دورات عشوائية.
استمرار نص المهمةهناك ثلاثة مصادر وظيفية في النظام. تنشئ كل مهمة عملية تنتهي عند اكتمال العمليات الحسابية. لكل مصدر من المهام ، يُعرف رقم القياس الذي ظهرت فيه المهمة الأولى من هذا المصدر ، وعدد الإجراءات التي تظهر بعدها كل مهمة لاحقة وعدد الإجراءات المطلوبة لإكمال المهمة من هذا المصدر (تتطلب جميع المهام من نفس المصدر نفس وقت التنفيذ) .

يتم استخدام قائمة انتظار متعددة المستويات للتحكم في ترتيب إكمال المهام. لكل مصدر ، يتم تشكيل قائمة انتظار FIFO الخاصة به من مهام هذا المصدر. يتم تحديد أولويات قوائم الانتظار. لا يمكن بدء عملية إكمال مهمة محددة إلا إذا لم تكن هناك مهام في أي قائمة انتظار بأولوية عالية.
تبدأ المهمة التي تظهر على الفور عند الإيقاع نفسه إذا كان المعالج مجانيًا أو يقف بدوره قيد التنفيذ. بعد بدء التنفيذ ، لا تنقطع العملية حتى تنتهي. إذا اكتمل تنفيذ العملية التالية ، فإن الخطوة التالية هي اختيار العملية من الأولوية القصوى لقوائم الانتظار غير الفارغة. تشارك المهمة التي ظهرت في هذا الإيقاع أيضًا في هذا الاختيار.
نعتبر وقت الاستجابة هو عدد التدابير التي انقضت منذ ظهور مهمة محددة حتى نهاية تنفيذها. سننظر في موقف عندما يتجاوز وقت الاستجابة لإحدى المهام 50 ساعة على مدار الساعة ليكون حادثًا.
حدد الحد الأدنى لعدد علامات التجزئة حتى تظهر وظيفة المصدر التالية 3 - X ، حيث سيعمل النظام إلى أجل غير مسمى دون حالات الطوارئ.
- نفترض أنه في اللحظة التي تظهر فيها المهمة ، هذه هي اللحظة الأولية للمقياس المحدد. وفقًا لذلك ، عندما نقول أن قياس مظهر المهمة الأولى من المصدر هو 1 ، وعدد الإجراءات حتى المهمة التالية هي 5 ، ستظهر المهمة الثانية من هذا المصدر في بداية التدبير 6.
- سيعتبر الوقت المطلوب للتبديل لإكمال المهمة التالية غير مهم ولن يؤخذ في الاعتبار عند حل المهمة.
- يحتوي كل مصدر على ترقيم مهام مستقل بدءًا من 1.
الجواب: 24
يمكن العثور على معلومات رائعة حول هذا الموضوع في دورات البرمجة المواضيعية
من القائمة المعتمدة على موقع الأولمبياد .
روابط إضافية ذات صلة: