Matura z informatyki :)

0

Ja mimo iż jestem na rozszerzeniu to mam niezły ubaw z nauczyciela, ale wracając to moje podręczniki to:

A tak serio to Cormen.

0

Wow w szkole przerabiacie Cormena? Brawo :)

0
xorgx3 napisał(a)

Wow w szkole przerabiacie Cormena? Brawo :)

Kto tak powiedział? Sam robię, nauczyciel w większości sam nie wie o czym mówi ;>

0

Niby mam informatykę na poziomie rozszerzonym, ale nawet nie przerabiamy wszystkiego co jest w podstawie programowej.
W I klasie była 1h informatyki (nie licząc technologii), w II 2h, w III znowu 1 - to zdecydowanie za mało.
Poziom jest bardzo niski i sam się uczę w domu od pewnego czasu m.in. z wymienionego wcześniej "Wprowadzenia do algorytmów".

0

Jeśli ktoś nie ma w ogóle pojęcia jak się zabrać do zadań z matur (czy też jaką formę powinny mieć ich rozwiązania), to polecam - http://edu.i-lo.tarnow.pl/inf/utils/010_2010/0416.php

0

@JumpSmerf ty chodzisz to Liceum Profilowanego na ZI? Jak tak, to za wiele się nie spodziewaj. Też chodziłem na ten profil i do matury z inf. nawet nie miał kto mnie przygotować.. W kółko przerabialiśmy Accessa i HTML.

0

Jest ktoś w posiadaniu rozwiązań do chociaż jednego arkusza części drugiej i mógłby się podzielić? Poziom nieważny, ważna poprawność rozwiązań (najlepiej w c++ i np excelu). Chętnie bym sobie popatrzył, bo coś czuję, że do matury sam zbyt wiele się nie nauczę, więc może coś mi pomoże przejrzenie takich prac.

0

Jeszcze nikt nie przejmuje się maturą?

Szukam jakiegoś szybkiego a zaawansowanego kursu excela i accesa, polecacie coś na necie, czy lepiej kupić książkę?

0

Pisał ktoś próbną z UMK?
Moim zdaniem rozszerzenie było całkowicie nie wyważone. Cześć pierwsza więcej niż prosta. No sorry, Fibbonaciego z rekurencją i bez napisać to można na podstawowej, szukanie progów i schodów też nie wymagało chyba zbyt wielkiego wysiłku (w dodatku zadanie takie samo, tylko obcięte było na podstawowej). Podobnie zadanie programistyczne z części drugiej, gdzie główny problem ograniczał się do 3 linijek kodu, przynajmniej taką mam nadzieję. No i do tego brak danych do zadania, "zdający musi sobie sam wygenerować dane" - tego się nie spodziewałem. Do tego wlot pisemnego zadania na, tak mi się wydawało, praktyczną część matury - to ma znaczyć,że na prawdziwej też można się takich jaj spodziewać?
Zaś zadanie z jednym plikiem, które zazwyczaj jest dla Excela wydawało mi się bardziej przeznaczone dla Accesa (brak jakichś małopunktowych poleceń).

0

Nie pisałem tej próbnej i żałuje(nie dlatego że w tym czasie minęła by mnie gegra i biola :p) ale dlatego, że bym sobie zobaczył jak to jest jak już się usiądzie przed komputerem pod presją(nauczył bym się lepiej gospodarować czasem itd). Jak ktoś zdobędzie tą maturę jak może to niech wrzuci...

@xorgx3
W nawiązaniu do twojego wcześniejszego posta to mogę Ci podesłać jakieś moje zadania w c++, ale one są takie trochę chaotyczne pisane tak aby miały zwrócić ten głupi wynik, a nie żeby wyglądać(ciekawe czy to ma znaczenie przy ocenianiu).
Tak poza tym to jeśli trafi się zadanie w części praktycznej gdzie np. trzeba będzie coś posortować, to czy można wtedy używać funkcji bibliotecznych czy będzie oceniana własna implementacja? W takich sytuacjach nie wiadomo jaki jest klucz i to jest IMHO kolejna bolączka tego egzaminu...

0

Tak poza tym to jeśli trafi się zadanie w części praktycznej gdzie np. trzeba będzie coś posortować, to czy można wtedy używać funkcji bibliotecznych czy będzie oceniana własna implementacja? W takich sytuacjach nie wiadomo jaki jest klucz i to jest IMHO kolejna bolączka tego egzaminu...

Eeeeee... Chyba gadasz Waćpan,z całym szacunkiem, głupoty? ;-)
Przeglądałeś klucze oceniania? Nie przypominam sobie żadnego z nowej matury, który by miał tego typu bolączki. Zadanie praktyczne na język programowania oceniane jest zawsze pod kątem poprawności wygenerowanego pliku oraz tego jak sobie on radzi w poszczególnych sytuacjach. Nikt nie patrzy jak tego dokonasz, a nawet na optymalność wykonania. A funkcje biblioteczne są właśnie po to, żeby nie wynajdować przez pół godziny koła na nowo pisząc sortowanie, znajdowanie ciągu w stringu, odwracanie kontenera, konwertowanie ze znaków na liczby, czy inne używane często procedury, których napisanie samodzielnie zawsze zabiera cenny czas.
Również jeśli chodzi o teorię to nie ma tam z tym problemu - w kluczu w większości zadań algorytmicznych masz "Za poprawne rozwiązanie problemu inną metodą - MAX punktów".

0

Jedna rzecz z poprzedniej matury nie daje mi spokoju. Być może z powodu mojego niedouczenia.

W rozwiązaniach cke http://www.cke.edu.pl/images/stories/00002011_matura/kryteria/informatyka_model_pr.pdf można dostrzec takie rozwiązanie :

#include <iostream> 
using namespace std; 
int main() 
{ 
int n; 
int * s; 
cin >> n; 
s = new int[n+1]; 
s[1] = 0; 
for(int i=2;i<=n;++i) 
{ 
if(i%2 == 0) 
s[i] = i-1+2*s[i/2]; 
else 
s[i] = i-1+s[(i-1)/2]+s[(i+1)/2]; 
} 
}

I tu moje pytanie : Dlaczego s[1]=0, skoro (podobno) tablice numeruje się od 0?

0
xorgx3 napisał(a)

Jedna rzecz z poprzedniej matury nie daje mi spokoju. Być może z powodu mojego niedouczenia.

W rozwiązaniach cke http://www.cke.edu.pl/images/stories/00002011_matura/kryteria/informatyka_model_pr.pdf można dostrzec takie rozwiązanie :

#include <iostream> 
using namespace std; 
int main() 
{ 
int n; 
int * s; 
cin >> n; 
s = new int[n+1]; 
s[1] = 0; 
for(int i=2;i<=n;++i) 
{ 
if(i%2 == 0) 
s[i] = i-1+2*s[i/2]; 
else 
s[i] = i-1+s[(i-1)/2]+s[(i+1)/2]; 
} 
}

I tu moje pytanie : Dlaczego s[1]=0, skoro (podobno) tablice numeruje się od 0?

Bo są kretynami i zostawili puste miejsce?

Rozłożyło mnie to:

Korzystanie z informacji
Dobranie najlepszego algorytmu i odpowiednich struktur
danych (w tym struktury dynamicznej) do rozwiązania
postawionego problemu

Yhy, dynamicznie alokowanej tablicy...

0

Po prostu pisał to jakiś facet, który C++ zna z widzenia, a całe życie siedział na Pascalu.

0

Mnie a propos tego interesuje ocena takiego rozwiązania:

#include <iostream> 
using namespace std; 
int main()  { 
  int n; 
  int * s; 
  cin >> n; 
  s = new int[n+1]; 
  s[1] = 0; 
  for(int i=2;i<=n;++i)
    s[i] = i - 1 + s[ceil(i/2.0)] + s[floor(i/2.0)];
}

Oprócz tego, czy jak piszę na linuchu i napiszę rozwiązanie w bash'u czy np. używając bc (lub dając im zagwostkę i użyć dc) to zaliczą jako plik zawierający "komputerową realizację obliczeń". To samo dotyczy dystrybucji. Dają mi wolny wybór? Jak tak to dajemy na Archu, albo dla jaj na Andku for x86.

0

Skąd można wziąć przykładowe zadania z takiej matury?

0

Aha, czyli rozumiem, że jakbym napisał normalnie tj s[0]=0 to tez jest dobrze? Bo już w sumie u kogoś na blogu widziałem też taką numerację.

0

@winerfresh, Aneks do informatorów maturalnych z 2008 z 2010 roku (znaczy się aneks jest z '10, informatory z '08) stwierdza coś takiego:

pliki oddawane do oceny zdający nazywa dokładnie tak, jak polecono w treści
zadań lub zapisuje pod nazwami (wraz z rozszerzeniem zgodnym
z zadeklarowanym oprogramowaniem
)

//wytłuszczenie oryginalne

Myślę więc, że w ten sposób masz zasugerowane, że twoje rozwiązania mają powstać przy pomocy wybranego oprogramowania - to jest pakietu biurowego + języka programowania.

Ale mówimy chyba o zadaniu z części teoretycznej, tak? Masz tam w poleceniu podane:

Zapisz swój algorytm w postaci listy kroków, schematu blokowego lub w wybranym
języku programowania, który wybrałeś/aś na egzamin.

Więc albo lista,albo schemat, albo język wybrany, czyli ten ze zbiorku Pascal, Java, C(++)

Nie uznają Ci żadnego skryptu powłoki.Można by jeszcze liczyć, że egzaminator będzie miał dobry humor i podciągnie Ci to pod pasudokodu - ale pseudokodu nie pozwalają użyć.

A co do dystrybucji to wybór masz wolny - w deklaracji masz jedynie "Linux z KDE"

0

A ja mam takie pytanie.. Jak jest np takie zadanie:

Zapisz algorytm (w postaci listy kroków, schematu blokowego lub w wybranym języku
programowania), realizujący następującą metodę szyfrowania: słowo dzielimy na grupy
po dwa znaki i w każdej parze zamieniamy znaki miejscami. Jeśli słowo ma nieparzystą
długość, ostatni znak pozostaje niezmieniony. Wynik zaszyfrowania danego słowa s
zapisz w zmiennej w.

To trzeba podzielić to słowo (np do jakiejś tablicy), czy nie jest to konieczne? Nie za bardzo wiem czy liczy się wynik czy metoda. Jest napisane słowo dzielimy na grupy . Trzeba?

0
TomRiddle napisał(a)

A ja mam takie pytanie.. Jak jest np takie zadanie:

Zapisz algorytm (w postaci listy kroków, schematu blokowego lub w wybranym języku
programowania), realizujący następującą metodę szyfrowania: słowo dzielimy na grupy
po dwa znaki i w każdej parze zamieniamy znaki miejscami. Jeśli słowo ma nieparzystą
długość, ostatni znak pozostaje niezmieniony. Wynik zaszyfrowania danego słowa s
zapisz w zmiennej w.

To trzeba podzielić to słowo (np do jakiejś tablicy), czy nie jest to konieczne? Nie za bardzo wiem czy liczy się wynik czy metoda. Jest napisane słowo dzielimy na grupy . Trzeba?

IMHO, najważniejsze jest, żeby rozwiązanie nie wyglądało jak pół d**y zza krzaka i robiło robotę. Z drugiej strony: ten opis wcale do niczego nie zobowiązuje.

0

To by Ci śmiało zaliczyli.

	string s,w;
	cin>>s;
	for(int i=0;i<s.size()-1;i+=2){
            w+=s[i+1];
            w+=s[i];
	}
	if(s.size()%2)
            w+=s[s.size()-1];
	cout<<w;

Poczytaj Sobie wymagania egzaminacyjne. Oni nawet nie patrzą czy ten kod jest w miarę przyzwoity, on ma działać.

0
xorgx3 napisał(a)

I tu moje pytanie : Dlaczego s[1]=0, skoro (podobno) tablice numeruje się od 0?

Ponieważ tak jest w treści zadania:

Specyfikacja:
...
Wynik: tablica s[1..n] ...
Jak by ktoś narysował schemat blokowy to też miałby numerować od 0?

@winerfresh
Nie wiem jak wykombinowałeś ten kod, ale działa. Tylko zapomniałeś przyłączyć "cmath" (dla ceil i floor) i trzeba wartości zwracane przez te funkcje rzutować na int, bo kompilator się pluje że dostaje do indeksu tablicy doubla, ale to nie wydaje mi się istotne w przypadku takiego kodzenia na kartce, bo IMHO liczy się logiczny sens algorytmu, który jest poprawny. Czy by uznali to ciężko powiedzieć, bo w kluczu jest tak jakby podkreślenie o obliczaniu wartości dla elementów parzystych i nieparzystych i gdybym osobiście był egzaminatorem i nie zobaczyłbym w pętli warunku na resztę z dzielenia przez dwa to bym pewnie się nie zagłebiał i odruchowo odrzucił to rozwiązanie.

0

Wynik: tablica s[1..n]

W takim razie to zadanie jest niewykonalne w C++.

0
Demonical Monk napisał(a)

W takim razie to zadanie jest niewykonalne w C++.

s = new int[n+1];
2
SPEEDD10 napisał(a)
Demonical Monk napisał(a)

W takim razie to zadanie jest niewykonalne w C++.

s = new int[n+1];

I jaką tablicę właśnie stworzyłeś? Przedział proszę.

0

0-n, dlatego pasuje do treści zadania bo mogę przypisać wartości 1-n

4
SPEEDD10 napisał(a)

0-n, dlatego pasuje do treści zadania bo mogę przypisać wartości 1-n

I gdybyś miał zrobić tablicę <5000, n> to też byś taki masterpiece of shit wpieprzył do kodu?
Albo coś ma zakres <1, n>, albo ma inny. Utworzenie tablicy indeksowanej konkretnie w przedziale <1, n> w C++ jest niemożliwe. W związku z tym ja bym zaczął od zera jak człowiek...

0

Gdyby było napisane wypełnij wartości <5000, n> to bym właśnie zrobił taki masterpiece of shit, nie chodzi mi o to aby wmówić Ci że taki rozwiązanie jest poprawne czy ładne tylko, że kod który wkleił xorgx3 jest w porządku i gadanie że egzaminatorzy to idioci albo że są przyzwyczajeni do pascala jest nie na miejscu.

4

Za zaalokowanie w algorytmie zbędnych 20 kB tylko po to, żeby uzyskać ładne indeksy to byś nawet z Comarchu chłopie wyleciał. Jak już zdecydujesz się w czymś konkretnym programować to Ty masz za zadanie dostosować się do reguł panujących w języku, a nie język do Ciebie. Indeksowanie od zera ma swoje przyczyny, marnowanie kupy pamięci dla własnej wygody (i ew. sztuczne naginanie kodu pod sytuację) już nie.

0

Ty to wziąłeś na poważnie? Oczywiście, że bym nie zaczął indeksować od 5000 elementu...
Napisałem dlaczego w rozwiązaniu tego zadania pojawiło się indeksowanie od pierwszego elementu i jeśli sam piałbym ten egzamin to bym tak zrobił, ale nie dlatego, że mi się to podoba, tylko dlatego, że linijkę wyżej mnie o to poproszono. Czepiasz się jak rzep jakiejś pierdoły i podajesz jakieś absurdalne przykłady nie mające związku z istotą problemu.

Demonical Monk napisał(a)

Jak już zdecydujesz się w czymś konkretnym programować to Ty masz za zadanie dostosować się do reguł panujących w języku, a nie język do Ciebie. Indeksowanie od zera ma swoje przyczyny, marnowanie kupy pamięci dla własnej wygody (i ew. sztuczne naginanie kodu pod sytuację) już nie.

Ty masz za zadanie dać rozwiązanie do podanej specyfikacji, a nie dostosować się do reguł danego języka(mówię tu o maturze) i dlatego takie rozwiązanie jest w oficjalnym kluczu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1