Heute ist der letzte Tag der
Anmeldung für die Studentenolympiade "
Ich bin ein Profi ". Und wir sprechen über die Richtung von "Programmierung und Informationstechnologie".
Die Komplementärin der Olympiade in den Bereichen der ITMO-Universität ist „Programmierung und IT“, „Information und Cybersicherheit“, „ Big Data “ - Sberbank.
Christina Morillo / Pexels / PDEin paar Worte zu den Olympischen Spielen "Ich bin ein Profi"
Die Studentenolympiade "Ich bin ein Profi" ist ein Wettbewerb für Junggesellen und Meister in humanitären und technischen Fachgebieten. Diejenigen Studenten, die sich bei den Olympischen Spielen gut zeigen, können ohne Prüfungen an russischen Universitäten studieren. Gleichzeitig werden sie in führenden russischen IT-Unternehmen geschult: Yandex, Sberbank, IBS und Mail.Ru.
Die Olympischen Spiele beginnen am 24. November (
heute ist der letzte Tag der Registrierung ) - dies ist der Starttermin für die Qualifikationsrunden. Sie werden in einem Online-Format abgehalten. Diejenigen Teilnehmer, die in die nächste Runde gehen, erreichen die Vollzeitphase des Wettbewerbs. Es wird im Februar 2019 an verschiedenen Universitäten des Landes stattfinden.
Welche Bereiche der Olympiade überwachen wir?
Die ITMO University bereitet Aufgaben in den folgenden Bereichen vor: "Programmierung und IT", "Information und Cybersicherheit" und "
Photonik ".
Noch in diesem Jahr haben wir zwei neue Bereiche eingeführt:
- " Robotik ": Die Themen auf diesem Gebiet sind Mechanik, Elektronik und Steuerung. Die Teilnahme sollte an diejenigen Studenten erfolgen, die beabsichtigen, ihr Studium auf dem Gebiet der angewandten Mechanik, Softwareentwicklung usw. fortzusetzen. Die Partner in diesem Bereich waren Motorika, NPO Android Technique und DNS.
- Big Data : Zu den Themen in diesem Bereich gehören Datenanalyse, Statistik und maschinelles Lernen. Geeignet für Studierende an den Fakultäten für angewandte Informatik, IKT, Informationstechnologie im humanitären Bereich usw. Zu den Partnern zählen Unternehmen wie Gazprom, Siemens, MTS und Business Lines.
Als nächstes werden wir mehr über die Richtung der „Programmierung und Informationstechnologie“ sprechen.
Über die Richtung "Programmierung und IT"
Die ITMO University ist einer der größten Veranstalter von Veranstaltungen, die der Olympiade "Ich bin ein Profi" nahe kommen.
Wir veranstalten eine Vielzahl von Kreativwettbewerben und Wettbewerben in den Bereichen Informatik und Programmierung. Dies sind Schulolympiaden, zum Beispiel die Allrussische Teamolympiade für Schulkinder , die Olympiade " Informationstechnologien " und das IOIP . Wir organisieren auch Studentenolympiaden, insbesondere das Halbfinale der ICPC- Programmier-Weltmeisterschaft.
Bei der Arbeit an der Richtung „Programmier- und Informationstechnologien“ haben wir die reiche Erfahrung bei der Durchführung anderer thematischer Wettbewerbsveranstaltungen im IT-Bereich und das Fachwissen der Kollegen berücksichtigt. Zum Beispiel arbeitet Mikhail Mirzayanov, Autor und Entwickler des
Codeforces- Portals, seit diesem Jahr an der ITMO-Universität.
Die Vorbereitung der Richtung „Programmierung und Informationstechnologie“ durch die ITMO-Universität erfolgt durch die Mitarbeiter der entsprechenden Fakultät. Dies ist Dean Parfenov Vladimir Glebovich sowie Associate Professor und Trainer des ITMO Student Programming Teams für Sportprogrammierung Andrey Sergeyevich Stankevich.
Mitarbeiter von IT-Unternehmen, die an der Fakultät Fachdisziplinen unterrichten, und Mitarbeiter von mitorganisierenden Universitäten beteiligen sich an der Gestaltung und Entwicklung von Aufgaben für die Olympiade. Diese Universitäten sind die Ural Federal University und die Northeast Federal University. Ammosova, Saratov State University und Samara University.
Wie bereite ich mich auf die Olympischen Spiele vor?
Die Richtung „
Programmierung und Informationstechnologie “ basiert auf Kenntnissen in Mathematik, Informatik und der Fähigkeit, zuverlässige und sichere Software zu entwickeln. Während der Vorbereitung ist es ratsam, dass die Schüler die Theorie der rechnerischen Komplexität, die Theorie der formalen Sprachen und Grammatiken, die Prinzipien der Konstruktion von rechnergestützten Architekturen, OOP und parallele Programmierung sowie die Theorie der relationalen Datenbanken wiederholen.
Wir empfehlen thematische Webinare, die von unseren Lehrern vorbereitet wurden. In diesem Video werden beispielsweise Speicherprobleme und Betriebssysteme erläutert.
Das Webinar in zweiter Richtung befasst sich mit Algorithmen und Datenstrukturen:
Bei der Vorbereitung auf die Qualifikations- und Endphase müssen nicht nur theoretische, sondern auch praktische Fragen berücksichtigt werden. Daher werden wir einige Beispiele für Aufgaben geben, die in der Qualifikations- und Endphase auftreten können. Dies sind echte Fälle, die den Studenten im letzten Jahr angeboten wurden.
Beispielaufgabe: Gegebener Code in einer abstrakten Programmiersprache, die den Betrieb einer Abfragewarteschlange simuliert.
Code für die Aufgabequeue 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) } }
In einem separaten Thread wird der Arbeitsprozess gestartet, der Aufgaben verarbeitet, die von N (N> 1) Anforderungsthreads stammen. Die Methode do_task imitiert die Ausführung von Aufgaben.
Welche der folgenden Aussagen sind richtig?
- Racebedingung durch die Variable worker_task
- Die Warteschlange kann 6 Elemente enthalten
- Das System beendet möglicherweise die Ausführung von Aufgaben, auch wenn die Warteschlange nicht leer ist.
- Das System erledigt immer Aufgaben, wenn sie ankommen.
- Das System erledigt garantiert alle eingehenden Aufgaben.
Antwort: 1, 2, 3
Als Beispiel geben wir die Aufgabe von der letzten Stufe an. Hier ist eine Aufgabe in Bezug auf Betriebssysteme und Prozessplanung.
Beispiel für eine Aufgabe: Stellen Sie sich ein Computersystem mit einem Zentralprozessor vor, das zu jedem Zeitpunkt nur einen Prozess berechnen kann. Die Systemzeit ist diskret und wird in beliebigen Zyklen gemessen.
Fortsetzung des AufgabentextesEs gibt drei Jobquellen im System. Jede Aufgabe generiert einen Prozess, der endet, wenn die Berechnungen abgeschlossen sind. Für jede Aufgabenquelle ist die Kennzahl bekannt, in der die erste Aufgabe aus dieser Quelle angezeigt wurde, die Anzahl der Kennzahlen, nach denen jede nachfolgende Aufgabe angezeigt wird, und die Anzahl der Kennzahlen, die zum Ausführen der Aufgabe aus dieser Quelle erforderlich sind (alle Aufgaben aus einer Quelle benötigen dieselbe Zeit). .

Eine mehrstufige Warteschlange wird verwendet, um die Reihenfolge zu steuern, in der Aufgaben ausgeführt werden. Für jede Quelle wird aus den Aufgaben dieser Quelle eine eigene FIFO-Warteschlange gebildet. Warteschlangen werden priorisiert. Der Vorgang zum Ausführen einer bestimmten Aufgabe kann nur gestartet werden, wenn sich in keiner Warteschlange mit hoher Priorität Aufgaben befinden.
Die Aufgabe, die sofort im gleichen Takt erscheint, wird ausgeführt, wenn der Prozessor frei ist oder sich wiederum für die Ausführung einsetzt. Nach dem Start der Ausführung wird der Prozess nicht unterbrochen, bis er endet. Wenn die Ausführung des nächsten Prozesses abgeschlossen ist, ist der nächste Schritt die Auswahl des Prozesses aus der höchsten Priorität nicht leerer Warteschlangen. Die Aufgabe, die bei diesem Schlag erschien, nimmt ebenfalls an dieser Wahl teil.
Wir betrachten die Reaktionszeit als die Anzahl der Maßnahmen, die seit dem Erscheinen einer bestimmten Aufgabe bis zum Ende ihrer Ausführung verstrichen sind. Wir werden eine Situation, in der die Reaktionszeit einer der Aufgaben 50 Taktzyklen überschreitet, als Unfall betrachten.
Bestimmen Sie die Mindestanzahl von Ticks, bis der nächste Quelljob 3 - X angezeigt wird, bei dem das System ohne Notfallsituationen unbegrenzt arbeitet.
- Wir gehen davon aus, dass der Moment, in dem die Aufgabe angezeigt wird, der erste Moment der angegebenen Maßnahme ist. Wenn wir also sagen, dass das Maß für das Erscheinungsbild der ersten Aufgabe aus der Quelle 1 ist und die Anzahl der Maßnahmen bis zur nächsten Aufgabe 5 beträgt, erscheint die zweite Aufgabe aus dieser Quelle zu Beginn von Maßnahme 6.
- Die Zeit, die erforderlich ist, um zur Ausführung der nächsten Aufgabe zu wechseln, wird als unbedeutend angesehen und bei der Lösung der Aufgabe nicht berücksichtigt.
- Jede Quelle hat eine unabhängige Zuweisungsnummerierung, die bei 1 beginnt.
Antwort: 24
Gute Informationen zu diesem Thema finden Sie in thematischen Programmierkursen
auf der genehmigten Liste auf der Website der Olympiade .
Zusätzliche verwandte Links: