![]() |
||
Nagrywarki |
Pliki |
Dyski twarde |
Recenzje |
Księgarnia |
Biosy |
Artykuły |
Nagrywanie od A do Z |
Słownik |
FAQ
|
||
|
|||||||
| Off topic Forum poświęcone wszelkim innym tematom. |
![]() |
|
|
Opcje związane z dyskusją | Tryby wyświetlania |
|
|
|
|
#1 | |
|
Stały bywalec ;)
Data rejestracji: 24.11.2004
Lokalizacja: Tarnowskie Góry
Posty: 144
![]() |
Cytat:
|
|
|
|
|
| #ads | |
|
CDRinfo.pl
Reklamowiec
Data rejestracji: 29.12.2008
Lokalizacja: Sieć globalna
Wiek: 31
Posty: 1227
|
|
|
|
|
|
#2 |
|
Recydywista - Wielokrotny
Zlotowicz
CDRinfo VIP Data rejestracji: 17.01.2003
Lokalizacja: Wawa
Posty: 5,265
![]() ![]() |
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). Ostatnio zmieniany przez pawelblu : 28.06.2005 o godz. 13:17 |
|
|
|
|
|
#3 |
|
_____________________
Data rejestracji: 03.01.2005
Posty: 714
![]() |
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
|
|
|
|
|
|
#4 | |
|
Recydywista - Wielokrotny
Zlotowicz
CDRinfo VIP Data rejestracji: 17.01.2003
Lokalizacja: Wawa
Posty: 5,265
![]() ![]() |
Cytat:
I liniowe rozwiazanie nie jest szczegolnie trudne.
Ostatnio zmieniany przez pawelblu : 28.06.2005 o godz. 13:23 |
|
|
|
|
|
|
#5 | |
|
_____________________
Data rejestracji: 03.01.2005
Posty: 714
![]() |
Cytat:
|
|
|
|
|
|
|
#6 |
|
Recydywista - Wielokrotny
Zlotowicz
CDRinfo VIP Data rejestracji: 17.01.2003
Lokalizacja: Wawa
Posty: 5,265
![]() ![]() |
Ale w a) nie ma zadnego algorytmu, tylko trzeba pokazac na danym przykladzie.
|
|
|
|
|
|
#7 | |
|
_____________________
Data rejestracji: 03.01.2005
Posty: 714
![]() |
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. |
|
|
|
|
|
|
#8 |
|
Recydywista - Wielokrotny
Zlotowicz
CDRinfo VIP Data rejestracji: 17.01.2003
Lokalizacja: Wawa
Posty: 5,265
![]() ![]() |
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
Ostatnio zmieniany przez pawelblu : 28.06.2005 o godz. 15:38 |
|
|
|
|
|
#9 |
|
_____________________
Data rejestracji: 03.01.2005
Posty: 714
![]() |
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;
const L=10000;
PLIK='c:\3.txt';
type tab=array[1..L] of integer;
var t:tab;
f:text;
i,j,max:integer;
h,m,s,s1,h2,m2,s2,s12:word;
procedure czytaj;
var bufor:integer;
begin
for i:=L downto 0 do t[i]:=0;
assign(f,PLIK);
reset(f);
repeat
readln(f,bufor);
if i=0 then
begin
i:=i+1;
t[i]:=t[i]+bufor
end
else
begin
if (bufor<>0) then
if (t[i]/bufor) <0 then i:=i+1;
t[i]:=t[i]+bufor
end;
until eof(f);
close(f)
end;
procedure licz;
var k,l,bufor:integer;
begin
max:=t[1];
bufor:=0;
for j:=i downto 1 do
begin
l:=1;
repeat
for k:=l to j+l-1 do bufor:=bufor+t[k];
l:=l+1;
if(bufor>max) then max:=bufor;
bufor:=0;
until l>i;
end;
end;
begin
clrscr;
czytaj;
licz;
writeln('wynik=====>',max);
readln
end.
Podliczajac: 1 zad - 1h 2a,b - 1h i 10min zostaje 20 minut na zad 2c i cale 3 , a trzeba jeszcze wziasc pod uwage, ze teraz sobie siedzimy w domu i sie nie musimy stresowac
|
|
|
|
|
|
#10 |
|
Recydywista - Wielokrotny
Zlotowicz
CDRinfo VIP Data rejestracji: 17.01.2003
Lokalizacja: Wawa
Posty: 5,265
![]() ![]() |
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. Ostatnio zmieniany przez pawelblu : 28.06.2005 o godz. 17:00 |
|
|
|
|
|
#11 |
|
conquer all
Data rejestracji: 10.01.2005
Lokalizacja: z wrocławii
Posty: 739
![]() |
gratuluje wszystkim którzy zdali maturke
a tym którzy polegli powiem, że...znów za rok matura
__________________
KETCHUP KUPUJE TYLKO PUDLISZKI
|
|
|
|
|
|
#12 |
|
.: AT90S2313 :.
Data rejestracji: 09.09.2002
Lokalizacja: Kraków
Posty: 2,724
![]() |
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 :/
__________________
LiteOn LTR-40125S & SOHW-1633S 8 ) Jak zrobić szybko sałatke z buraków? Wrzucić granata do BMW
|
|
|
|
|
|
#13 |
|
Stały bywalec ;)
Data rejestracji: 15.10.2004
Lokalizacja: PL
Posty: 197
![]() |
Jaka młodzież i jej poziom wiedzy - takie wyniki
__________________
------------------------- ------------------------- |
|
|
|
|
|
#14 | |
|
Pingwin specjalista.
Data rejestracji: 22.06.2002
Lokalizacja: Central Park
Posty: 15,089
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Cytat:
__________________
amiga500site |
|
|
|
|
|
|
#15 | |
|
Born 2 ride, ride 2 live
Data rejestracji: 04.07.2004
Lokalizacja: Konin
Posty: 4,098
![]() |
Cytat:
Ja mam maturę dopiero za 3 lata ![]() Teraz musiałem skłądać papiery do wybranych szkół i wybrałem tak: III LO, I LO, LP "zarządzanie informacją" ![]() Jutro będą wyniki gdzie się dostałem ![]() P.S. Tak już myslę, że maturę będę pisał też z informatyki
|
|
|
|
|
![]() |
|
|