![]() |
U nas wystarczylo wziac na maturze cokolwiek innego niz matma i wtedy pisalo sie po prostu CEWM (egzamin z mat). Tak wiec system przyjec zalezy od uczelni.
Co do arkuszu 2. Zadanie 1 robi sie w C w godzine max. (dla mnie problemem jest jedynie wykres liniowy z przygotowanego raportu z C w linuxie, ale za to pewnie niewiele sie traci). Jak ktos sie na tym zna (robil tego typu wykresy w liceum), to pewnie wie jak to zrobic na podstawie tych danych ktore wychodza w raporcie. W zadaniu 2 trudniejszy jest pkt. c. Autor pewnie liczy na algorytm liniowy, a to moze byc trudne. Choc jezeli w zadaniu jest brak zalozen co do pamieci operacyjnej, to mozemy zrobic tak: szukamy najwiekszego elementu (liniowo), malloc tablicy o rozmiarze max_el. inicjujemy na 0 (koszt rzedu max_el) i robimy zliczanie jak w sortowaniu kubelkowym (liniowo). Potem lecimy po stworzonej tablicy i wybieramy 'najwiekszy kubelek' (koszt rzedu max_el). Widac ze przy braku ograniczenia na max_el jest to troche ryzykowne, ale jezeli uwzgledni sie to wszystko w uzasadnieniu to IMO przejdzie. Jezeli po liniowym przyjsciu tablicy okaze sie ze max_el jest wiekszy niz np. n*logn to sortujemy tablice (n*logn) i zliczamy po prostu od poczatku. EDIT: widze na testach na ktorych jest sprawdzany algo kubelkowe zadziala swietnie :) EDIT2: widze ze sa tu liczby ujemne rowniez. Wystarczy wiec zrobic albo druga tablice ujemna (tzn o argumentach dodatnich, ale symbolizujacych ujemne wartosci z pierwotnej tablicy) i rozpatrywac oddzielnie i potem porownac, albo 'przesunac' wszystkie liczby (tzn dodac minimalna ujemna liczbe do wszystkich wartosci) tak by sprowadzic problem do dodatnich liczb i od koncowej odpowiedzi (wartosc elementu wystepujacego max razy) odjac wartosc 'przesuwajaca' (pierwotna minimalna ujemna liczbe). |
Cytat:
|
Jeszcze trzeba wzias poprawke na zadanie 2b. Zalezy jak sie napisze program, bo jezeli ustawi sie wszystko w petli zeby sprawdzal wszystkie mozliwosci to dla najwiekszego pliku na moim kompie (1,4GHZ 512 ramu, Turbo Pascal) sprawdzal 1h i 35min :lol:, a jezeli planujemy napisac wydatniejszy program to trzeba oczywiscie wiecej czas stracic na pisanie.
ps. jezeli 1 zadanie robi sie w godzine to na pozostale 2 masz 1h i 30 min, czyli teoretycznie program z zadnia 2b nie jest w stanie podac wyniku, bo braknie jakies 7 minut :D |
Cytat:
|
Cytat:
|
Ale w a) nie ma zadnego algorytmu, tylko trzeba pokazac na danym przykladzie.
|
Cytat:
Wiec skoro mowisz, ze da sie to zrobic w 1 sekunde, to bardzo chcialbym zobaczyc jak wyglada taki algorytm. Najlepiej to podeslij go tutaj. |
algo jest dosc znany ... podobnie jak ten problem.
int sum = 0 int wsk = 0 int wynik = 0 sum oznacza ile wynosi suma z obrabianego kawalka. wynik oznacza jaki wynik daje program/funckja whatever. wsk - w ktorym miejscu tablicy jestesmy. Zczytujemy wejscie do tablicy. (teraz widze ze kolejnym minusem tych testow jest to ze nie ma na poczatku podanej liczby elementow i trzeba dawac wielkosc na sztywno, lub powiekszac tablice dynamiczne, ale to jest chyba za trudne jak na liceum). Tak wiec sila rzeczy robimy tablice np. 10000 elem. i musimy miec oddzielnie przechowywana jej wielkosc. Inicjalizujemy zerami. Wtedy zczytujemy i ustawiamy wielkosc. Lecimy od poczatku tablicy. Jezeli napotkany element jest >=0 to dodajemy do sum i idziemy dalej (o ile nie koniec). Jesli napotkany elem. jest <0 to sprawdzamy czy sum > wynik, jezeli tak to wynik := sum, sum := sum + napotkany_el, jezeli sum < 0 to sum:=0 i jezeli nie koniec idziemy dalej. Nie sprawdzalem tego ale na szybko wydaje sie byc dobre i szybkie. EDIT: Napisanie tego koncepcyjnie zajelo 10 min. Zakodowanie do 60 min (zalezy od tego jak kto sobie poradzi z tym wejsciem. U nas preferowane jest podawanie niezbednych wielkosci w pierwszym wierszu, co umozliwia deklaracje odpowiednich struktur i zmiennych sterujacych petlami, ale da sie to zrobic 'na chama' zczytujac az do bledu czy EOF i zliczajac ready/scany whatever :) ). EDIT2: mozna zrobic jeszcze tak, ze otwieramy plik, robimy ready i liczymy ile elem. Zamykamy, mallocujemy tablice taka jak trzeba i otwieramy plik ponownie, wiedzac juz ile trzeba zczytac, ale to juz chyba przerost formy nad trescia - szczegolnie jak masz dane testy ktore beda wykonywane na algo :) |
ja na maturze nie zrobilem tego zadania, ale jak przyszedlem do domu to siadlem i wykombinowalem cos takiego (jak ci sie chce to mozesz to przeanalizowac):
Kod:
uses crt,dos; Podliczajac: 1 zad - 1h 2a,b - 1h i 10min zostaje 20 minut na zad 2c i cale 3 :wow: , a trzeba jeszcze wziasc pod uwage, ze teraz sobie siedzimy w domu i sie nie musimy stresowac |
Jezeli wychodzi nam ze 2 zadania mozna zrobic bez wiekszego bolu, to znaczy ze matura z inf nie byla taka super trudna. Choc przyznam ze powinna trwac 30 min dluzej zeby dac naprawde obiektywne oceny.
Twoj program dziala w czasie okolo i^3 gdzie i to tak naprawde prawie n, tylko ze robisz kompresje kawalkow o tym samym znaku (to akurat dobry pomysl, ale w pesymistycznym przypadku nic nie daje, a efektywnosci liniowego algorytmu wiele nie poprawi). Sam program strasznie nakombinowane, nie wiem czy dziala (powinno dla niewrednych danych czyli tak jak w przykladach), ale algorytm wyjatkowo nieefektywny, a kod zapisany bardzo 'nieladnie' np. 'for k:=l to j+l-1 do bufor:=bufor+t[k];' Tutaj korzystasz z tych zer wpisanych poza zczytane wartosci. A jezeli tych zer bedzie malo (tzn prawie cala tablica bedzie zapisana), to siegniesz poza tablice. Ten fragment mi sie wyjatkowo nie podoba, chociaz jak to czytalem to bylo ich kilka. |
gratuluje wszystkim którzy zdali maturke :piwo: a tym którzy polegli powiem, że
...znów za rok matura || |
Jest ktoś tutaj kto próbuje na AGH w Krakowie? Egzaminy tekie że można się pociąć... jeszcze na wydział EAIiE w tym roku wymyślili sobie dodatkowo test kompetencyjny jakby egzamin to było mało :/ http://galaxy.uci.agh.edu.pl/~dzn/dz.../test_komp.pdf
Jedyne co umiem w tym przykładowym zrobić bez przygotowania to dział 3 :/ |
Jaka młodzież i jej poziom wiedzy - takie wyniki :niepow:
|
Cytat:
|
Cytat:
Ja mam maturę dopiero za 3 lata :D :) Teraz musiałem skłądać papiery do wybranych szkół i wybrałem tak: III LO, I LO, LP "zarządzanie informacją" :taktak: Jutro będą wyniki gdzie się dostałem :> P.S. Tak już myslę, że maturę będę pisał też z informatyki :D |
Wszystkie czasy w strefie CET. Aktualna godzina: 00:39. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.