Forum CDRinfo.pl

Forum CDRinfo.pl (https://forum.cdrinfo.pl/)
-   Off topic (https://forum.cdrinfo.pl/f5/)
-   -   Nowa matura - wyniki (https://forum.cdrinfo.pl/f5/nowa-matura-wyniki-53771/)

pawelblu 28.06.2005 13:08

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).

MOdy 28.06.2005 13:18

Cytat:

Napisany przez Patrix
Właśnie - te 0% to też mnie bardzo interesuje, ten kto zobaczy w moje papiery nie bedzie wiedział czy pisałem i oblałem na 0% czy nie pisałem jesli tak jest to totalny bezsens i poracha.
Co do tej infy to nawet mgr informatycy po studiach ją krytykują.

Na świadectwach pisze czy to jest poziom podstawowy czy rozszerzony. Jeśli podejdziesz tylko do podstawowego to nic nie ma o roz. np. pisze matematyka poziom podstawowy - wynik i tyle. W przypadku, gdy pisałbyś roz. to wygląda to tak jak wczwśniej tylko jeszcze pod tym jest napisany poziom rozszerzony - wynik.

qfir 28.06.2005 13:18

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

pawelblu 28.06.2005 13:21

Cytat:

Napisany przez qfir
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.

Mylisz sie. Jak sie zrobilo to np. wykladniczo to sie zrobilo zle. Prawidlowe rozwiazanie jest liniowe, i sam algorytm trwa rzad wielkosci 1 sekundy dla danych tej wielkosci :) I liniowe rozwiazanie nie jest szczegolnie trudne.

qfir 28.06.2005 13:46

Cytat:

Napisany przez pawelblu
Mylisz sie. Jak sie zrobilo to np. wykladniczo to sie zrobilo zle. Prawidlowe rozwiazanie jest liniowe, i sam algorytm trwa rzad wielkosci 1 sekundy dla danych tej wielkosci :) I liniowe rozwiazanie nie jest szczegolnie trudne.

Przepraszam, moj blad. Nie chodzilo mi o 2b tylko o 2a.

pawelblu 28.06.2005 14:10

Ale w a) nie ma zadnego algorytmu, tylko trzeba pokazac na danym przykladzie.

qfir 28.06.2005 14:28

Cytat:

Napisany przez pawelblu
Ale w a) nie ma zadnego algorytmu, tylko trzeba pokazac na danym przykladzie.

sorry, nie dysponowalem arkuszem w chwili gdy pisalem. Jednak chodzi o punk b).
Wiec skoro mowisz, ze da sie to zrobic w 1 sekunde, to bardzo chcialbym zobaczyc jak wyglada taki algorytm. Najlepiej to podeslij go tutaj.

pawelblu 28.06.2005 15:32

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 :)

qfir 28.06.2005 16:23

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.

Ten program obliczal to zadanie 11 minut.

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

pawelblu 28.06.2005 16:53

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.

kontestator 28.06.2005 20:59

gratuluje wszystkim którzy zdali maturke :piwo: a tym którzy polegli powiem, że
...znów za rok matura ||

Ziele 28.06.2005 22:02

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 :/

Divxtom 28.06.2005 22:16

Jaka młodzież i jej poziom wiedzy - takie wyniki :niepow:

Patrix 28.06.2005 22:47

Cytat:

Napisany przez Divxtom
Jaka młodzież i jej poziom wiedzy - takie wyniki :niepow:

Nie zgadzam sie, wnerwia mnie to strasznie jak ktoś całą wine wywala tylko na młodzież. Do tego przyczyniają się też nauczyciele wraz z ich marnym programem.

B@rtek 28.06.2005 23:01

Cytat:

Napisany przez Patrix
Nie zgadzam sie, wnerwia mnie to strasznie jak ktoś całą wine wywala tylko na młodzież. Do tego przyczyniają się też nauczyciele wraz z ich marnym programem.

Zgadza się!!!

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.