PDA

צפה בגרסה המלאה : אולימפידת מדעי המחשב



nirgt
13-02-2009, 13:40
קיבלתי איימיל מהמורה שלי לגבי אולימפדית מדעי המחשב:

פעילות אולימפיאדת מדעי המחשב נערכת כל שנה, החל משנת 1997. הפעילות מיועדת לתלמידים עד גיל 20 המעוניינים באתגר. הפעילות מתבצעת על-ידי אוניברסיטת תל-אביב והאוניברסיטה הפתוחה, בתמיכה מסודרת של משרד החינוך. הפעילות תחל השנה בתחרות ארצית, שמתוכה ייבחרו הטובים ביותר לשלב מתקדם, שמתוכו ייבחרו ארבעה תלמידים שירכיבו את נבחרת ישראל לאולימפיאדה הבינלאומית, שתיערך בקיץ בבולגריה. נבחרת ישראל זכתה במדליות רבות במהלך השנים. נסיוננו מלמד שתלמידים המשתתפים נהנים מחוויית ההשתתפות, בכל שלב, גם אם אינם מגיעים לנבחרת.

התחרות הארצית תיערך השנה ביום שלישי 24.2.2009, ל` בשבט, בשעה 13:30 בבניין של המרכז לטכנולוגיה חינוכית (מט"ח) במתחם האוניברסיטה הפתוחה, ברח` קלאוזנר 16, רמת אביב (בסמוך לאוניברסיטת תל-אביב). התחרות תימשך כ-3 שעות.

התחרות כוללת פתרון ארבע בעיות אלגוריתמיות. הפתרונות נכתבים בעט/עיפרון על גבי דפים. הפתרון יוצג באחת השפות: Java, C#, C, Pascal או בפסאודו-קוד, לפי נוחות התלמיד. התחרות ללא חומר עזר וללא מחשבים. כדאי להתכונן לתחרות באמצעות פתרון שאלות מתחרויות קודמות. השאלות מופיעות באתר האולימפיאדה. אין להירתע מן השאלות, למרות שונותן מהמוכר. מומלץ להתנסות תחילה בשאלות של תחרויות איזוריות, ואחר-כך להתקדם לשאלות התחרויות הארציות.
כתובת האתר: www.tau.ac.il/~cstasks

מישהו שמע על זה או הולך לזה?? אני מתכנן לבוא:)

נועה(:
13-02-2009, 20:08
בהצלחה! :)

Hurricane
13-02-2009, 22:09
השאלות נראות ממש קשות. הייתי רוצה ללכת לשם אבל אני לא בטוח שאצליח. =\

Hurricane
13-02-2009, 22:20
וואו הצלחתי תרגיל ביעילות של O(1) כאשר בהתחלה חשבתי שצריך יעילות של O(n^2).
התרגיל הראשון כאן:
http://www.tau.ac.il/~cstasks/
מה שעשיתי הוא פשוט לשמור את שני הערכים המינימליים שנקלטו בשני משתנים ולאחר מכן לבדוק האם סכום שני המשתנים קטן מ- K.


public class ComputerOlympics
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int number = 0;
final int K = 5;
int min1 = 99999, min2 = 99999;
while (number != -1)
{
System.out.println("Enter a number:");
number = input.nextInt();
if (number == -1)
break;
if (number < min1)
min1 = number;
if (number < min2)
{
min1 = min2;
min2 = number;
}
}
if (min1 + min2 < K)
System.out.println("Found! " + min1 + " " + min2);
}
}

אולי אני בכל זאת יכול ללכת לשם. ^_^
הבעיה היא שאם מכניסים מספר גדול מ- 99999, התוכנית לא תעבוד טוב. ם.ם

nirgt
13-02-2009, 22:40
מזה משנה לך אם זה יהיה קל או קשה? טוב בשביל הכיף, תכיר אנשים ואולי באמת תעלה שלב:)

Hurricane
13-02-2009, 22:42
למה סתם ללכת אם לא יהיה סיכוי שאני אעבור? o_O

nirgt
13-02-2009, 22:58
זאת חוויה:) כדאי גם ללכת עם חברים שיהיה עוד יותר נחמד... ולמה לחשוב מראש שאין סיכוי? תנסה להתמודד עם דברים טיפה שונים ואולי תרוויח מזה משהו אחר

Yael
19-02-2009, 22:00
זה ממש קשה. צריך להתאמן מראש לפני שהולכים לזה...

talikag
19-02-2009, 22:02
אני מתכוון ללכת לזה. השאלות מאד קשות אבל אין לי כל כך מה להפסיד. שנה הבאה אני אבוא שוב במטרה לעבור.