Matura z informatyki :)

0

Taaaa...algorytmów w ogóle nie ma -.- to sobie sprawdźcie arkusze z tego roku (2011 dla niewtajemniczonych). Połowa matury to pieprzone algorytmy i pieprzony pascal -.-.

0

Ale Code::Blocks'a wprowadzili, normalnie cud nad Wisłą :)

Taaa, tylko przychodzi matura i nieważne co wybrałeś dowiadujesz się że na wszystkich stanowiskach jest to samo (lol) :/ Nie ważne co wybierałeś(lol2) :/ Ci co wybrali linuksa dowiadują się że mają się że mają Windowsa z kompletnie innym oprogramowaniem (lol3) :/ Musisz przystąpić do egzaminu w pierwszym terminie albo możesz się pożegnać z rekrutacją na studia bo nikt nie sprawdzi twojej matury w terminie ( uber lol ) X] Od administratora słyszysz "na tych komputerach linux nie działa" ( lol? )

Matura z informatyki to jest jakieś totalne nieporozumienie. Z informatyką to ma tyle wspólnego co kot napłakał. Ja bym to nazwał "matura z wiedzy o ofisie". Jeszcze, żeby jakieś uczelnie bardzo chciały tą maturę to rozumiem, ale tak...

Tak jak poprzednik twierdzę że znajomość office jest tylko częścią sprawdzanej wiedzy. Na teście nie ma go praktycznie wcale. Tylko algorytmy, programowanie i wiedza ogólna. A w części praktycznej masz również sql'a i programowanie (ale pascal jest moim zdaniem nie najlepszym wyborem)

PS
Jakie mieliście wyniki?? (ja 74% p. roz)

0

81% w 2009. Było się kłócić o swoje. Ja miałem to, co chciałem. Przychodzisz przecież wcześniej do szkoły i podpisujesz papier, że jest to, co wybrałeś wcześniej.

0
Pozoga napisał(a)

Tak jak poprzednik twierdzę że znajomość office jest tylko częścią sprawdzanej wiedzy. Na teście nie ma go praktycznie wcale. Tylko algorytmy, programowanie i wiedza ogólna. A w części praktycznej masz również sql'a i programowanie (ale pascal jest moim zdaniem nie najlepszym wyborem)

Z tego, co pamiętam ta druga część praktyczna ma więcej punktów do zdobycia (20+30, tak to chyba jest podzielone). W każdym razie - owszem są 2 zadnia z jako takiej algorytmiki. Pierwsze to przeanalizować jakiś przykład i napisać swoją funkcję opartą na nim, drugie to przeanalizować podany kod i odpowiedzieć na pytanie z tabelki, trzecie to jakiś test, który już z programowaniem nie ma nic wspólnego, a jedynie sprawdza ogólnikową wiedzę maturzysty. Dobra możemy powiedzieć, że pierwsza część jest podobna do informatyki. Natomiast druga? Zazwyczaj jakieś chore zadania z wiedzy o excelu/accessa/etc. Fajne, ale żeby to zrobić w pełni dobrze trzeba znać tego office'a na takim poziomie, by z miejsca wiedzieć czego i kiedy użyć. Jedno zadanie z programowania z roku na rok takie same - wczytaj dane z pliku, coś z nimi zrób, zapisz do innego pliku.
Jakoś w LO nigdy nie miałem czasu ani ochoty uczyć się office'a, wolałem coś bardziej konstruktywnego, a tą maturę pisałem z czystej ciekawości.
Według mnie poziom matury z informatyki jest "za wysoki", jak na poziom informatyki w polskiej szkole (nie mówię tu o gdyńskiej trójce, piątce krakowskiej itp., ale ogólnie). Nauczyciel powinien w jakimś stopniu przygotować ucznia do tej matury, biorąc pod uwagę, że bardzo mało osób ją zdaje.

Co do tych środowisk. To prawda, że dają na wszystko jedno, żeby było szybko i sprawnie, później chcesz pisać w VC++, a masz Dev-C++. Chore.

0

Co do tych środowisk. To prawda, że dają na wszystko jedno, żeby było szybko i sprawnie, później chcesz pisać w VC++, a masz Dev-C++. Chore.

No ludzie, nie potraficie walczyć o swoje? W takim przypadku mówisz "chyba pan żartuje", siadasz przed szkolnym kompem i zaczynasz ściągać to, co chcesz na maturze. Trochę asertywności, nie rozwiążecie w przyszłości żadnego problemu, w którym czynnikiem jest jakiś inny człowiek ;P.

0
Rev napisał(a)

Co do tych środowisk. To prawda, że dają na wszystko jedno, żeby było szybko i sprawnie, później chcesz pisać w VC++, a masz Dev-C++. Chore.

No ludzie, nie potraficie walczyć o swoje? W takim przypadku mówisz "chyba pan żartuje", siadasz przed szkolnym kompem i zaczynasz ściągać to, co chcesz na maturze. Trochę asertywności, nie rozwiążecie w przyszłości żadnego problemu, w którym czynnikiem jest jakiś inny człowiek ;P.

Oczywiście, że tak zrobiłem, w takich sytuacjach się nie odpuszcza. Mówię o ogólnej tendencji, że większość nauczycieli co przygotowuje te komputery, najzwyczajniej w świecie zlewa co tam ma być i instalują pierwsze lepsze. Później się tłumaczą, że nie wiedzieli kto co chce, albo nie dało się zainstalować innego.

1

Więc może jak to wygląda w rzeczywistości. Przychodzisz dzień wcześniej masz 3 gotowe stanowiska ( "admin" pracuje nad resztą). Pierwsze 3 osoby odbierają kompy, podpisują protokół odbioru. Pozostałe nie i wracają do domu. Jeden z nich miał mieć linuxa ( znajmy z klasy,również piszący maturę na p. roz ). Nie odbiera on kompa tylko pisze do kuratorium w tej sprawie (mail), dowiaduje się że szkoła ma obowiązek takie coś zapewnić. No i teraz jesteś przed maturą, dyrektor ma Cię w D* i musisz pisać na Windowsie albo nie przystępujesz w terminie. Kuratorium może ci wyznaczyć inny termin ale pytanie czy nie będzie on w sierpniu po rekrutacji na studia (czyli masz rok w D*). Jak mniemam w tej sprawie wpłynęła stosowna skarga więc nie jest to kwestia asertywności tylko podejścia niektórych ludzi.
Co do neta nic nie ściągniesz bo nie masz do niego dostępu (jest to niezgodne z procedurą), a komisja nie pozwoli żeby coś takiego mogło być przyczyną "anulowania matury".

Na szczęście ja nie miałem takich problemów bo jedynie zamiast office 2007, miałem 2003. Zakładałem że po prostu przyszykują te stanowiska tak że nic nie będzie działać, więc od razu brałem to co admin już konfigurował.

0

A zapytam maturzystów z poprzednich lat, jak przed maturą się przygotowywaliście z algorytmów(pierwszy arkusz)? Po prostu pisać kombinować np. zadania ze spoja? Bo na podstawie samych arkuszy to nie za bardzo się da;/

0

Spoja warto robić, żebyś miał ten "inny" tok rozumowania, przez co Ci będzie łatwiej rozwiązywać zadania algorytmiczne :). Głównie ten pierwszy arkusz, to podana jakaś funkcja do pewnego momentu, a Ty musisz pokazać jak ona działa, zobaczyć jakiś haczyk i na podstawie tych wniosków napisać kod ogólny dla całego programu. Drugie zadanie to często kod do przeanalizowania i odpowiedzenia na pytania.
Wg. mnie powinieneś czytać jakieś kody źródłowe (swoje, z tego forum) i je analizować, jak to działa. Znajomość potęgi, silni, euklidesa czy sita też Ci się może przydać. Jak już przystępujesz do tej matury, to warto przerobić arkusze z zeszłych lat - będziesz widział jak to mniej więcej działa i o co w tym chodzi. Dobrze opanuj sobie office'a. Jeśli w szkole nie będziecie tego robić, to masz cały rok aby samemu dobrze poznać podstawowe funkcje Excela czy Accessa - a to, uwierz mi, jest zawsze na maturze :).

0

Książka Macieja Sysło "Algorytmy" jest na poziomie szkoły średniej, na końcu znajdują się nawet zadania maturalne.
Jeśli się nie dostanę do finału OI, to też będę pisał maturę w tym roku, ale tą książkę już przeczytałem. :)

0

Z racji tego, że jestem tu nowy to witam wszystkich :)

Chciałem zapytać, czy może ktoś posiada rozwiązanie w c++(kod) ,6 zadania z matury rozszerzonej?

0

Jeżeli znasz C++ to powinno się Tobie udac ten kod poniżej przetłumaczyć, ja niestety, a może stety od wszelkich C jestem jak najdalej. Bo do tej pory to co potrzebowałem samodzielnie zakodzić mogłem wykonać w FPC/Delphi 7.

program zad6;

{$APPTYPE CONSOLE}

function Potega(Podst, Wykl : Integer) : Longint;
var
  I, Res : Longint;
begin
  Res := 1;
  for i := 1 to Wykl do
    Res := Res * Podst;
  Potega := Res;
end;

function BinToInt(Value: string) : Integer;
var
  I, V : integer;
begin
  V := 0;
  Result := 0;
  for I := Length(Value) downto 1 do
  begin
    if Value[I] = '1' then
      Result := Result + Potega(2, V);
    V := V + 1;
  end;
end;

function IntToBin(Value: cardinal): string;
var
  I : integer;
begin
  SetLength(Result, 32);
  for I := 1 to 32 do
  begin
    if ((Value shl (I - 1)) shr 31) = 0 then
      Result[I] := '0'
    else
      Result[I] := '1';
  end;
  while (Result[1] = '0') and (Length(Result) > 1) do
    Delete(Result, 1, 1)
end;

var
  WejPlik, ZadPlik : Text;
  LiczbaS, TymczS : string;
  IleParzystych, Max, Ile9Cyfrowych : integer;
begin
  Max := 0;
  TymczS := '';
  IleParzystych := 0;
  Ile9Cyfrowych := 0;
  Assign(WejPlik, 'liczby.txt');
  Reset(WejPlik);
  while not EOF(WejPlik) do
  begin
    Readln(WejPlik, LiczbaS);
    if BinToInt(LiczbaS) mod 2 = 0 then
      IleParzystych := IleParzystych + 1;
    if BinToInt(LiczbaS) > Max then
    begin
      Max := BinToInt(LiczbaS);
      TymczS := LiczbaS;
    end;
    if Length(LiczbaS) = 9 then
      Ile9Cyfrowych := Ile9Cyfrowych + 1;
  end;
  Close(WejPlik);
  Assign(ZadPlik, 'zadanie6.txt');
  Rewrite(ZadPlik);
  Writeln(ZadPlik, 'A)');
  Writeln(ZadPlik, IleParzystych);
  Writeln(ZadPlik);
  Writeln(ZadPlik, 'B)');
  Writeln(ZadPlik, TymczS);
  Writeln(ZadPlik, Max);
  Writeln(ZadPlik);
  Writeln(ZadPlik, 'C)');
  Writeln(ZadPlik, Ile9Cyfrowych);
  Writeln(ZadPlik, IntToBin(Ile9Cyfrowych));
  Close(ZadPlik);
end.
0

żeby sprawdzić parzystość liczby binarnej nie trzeba zamieniać jej na system dziesiętny (to dużo kosztuje :) ), wystarczy sprawdzić bit z najmniejszą wagą dwójkową czyli najmniej znaczący bit (z prawej), bo tylko 2^0 daje 1 czyli cyfrę nieparzystą, reszta cyfr binarnych uzyskanych z potęgowania liczby 2, zawsze jest liczbą parzystą :)

0

a masz w c++ co się będziesz... ;)
ja na maturze zrobiłem tak:

#include <iostream>
#include <iomanip>
#include <cmath>
#include <cstdio>
#include <string>

using namespace std;

inline int digit(char c) { return c - 48; }
inline char digit(int d) { return d + 48; }
inline bool isEvenNumber(const string &num) { return !(digit(num.at(num.size() - 1))); }

int binToInt(const string&);
void intToBin(int);

int main()
{
    freopen("liczby.txt", "r", stdin);
    freopen("zadanie6.txt", "w", stdout);

    int evenNumbers = 0, iLargest = 0,
        nineDgs = 0, sumNineDgs = 0;
    string sLargest = "", inputStr = "";

    while(cin >> inputStr)
    {
        if(isEvenNumber(inputStr))
            ++evenNumbers;

        int tmp = binToInt(inputStr);

        if(tmp > iLargest)
        {
            iLargest = tmp;
            sLargest = inputStr;
        }

        if(inputStr.size() == 9)
        {
            ++nineDgs;
            sumNineDgs += binToInt(inputStr);
        }
    }

    cout << "a) " << evenNumbers << endl
         << "b) " << iLargest << " " << sLargest << endl
         << "c) " << nineDgs << "\t";
    intToBin(sumNineDgs);
    return 0;
}

int binToInt(const string &num)
{
    int res = 0;
    string::const_reverse_iterator rIt = num.rbegin();
    int i = 0;
    for(; rIt != num.rend(); ++rIt, ++i)
        if(digit(*rIt))
            res += pow(2, i);
    return res;
}

void intToBin(int x)
{
    if(x >= 2)
        intToBin(x / 2);

    cout << x%2;
}
0

Dzięki bardzo. Ja niestety dopiero zaczynam swoją przygode z c++, a na maturze sie wyłożyłem na tym zadaniu...I chciałem przeanalizować rozwiązanie. :)

res += pow(2, i); błąd?

0
cppfan napisał(a)

res += pow(2, i); błąd?

dlaczego? Jedynie co to wywalić można to iomanip, bo zostało przypadkowo.
Co do kodu, o który pytasz to w tej wersji działa tak, że sprawdza od tyłu który bit jest ustawiony i dodaje do wyniku odpowiadającą mu potęgę dwójki ;) może nie najlepszy sposób ale na maturze się sprawdził, gdzie z racji braku czasu nie wyrobiłbym się z kombinowaniem.

0

Sposób widocznie skuteczny, ale jak dla mnie na razie to jeszcze zbyt wysoki poziom abstrakcji :P

Mam Microsoft Visual C++ 2010 Express i nie chciał mi skompilować tej linijki, bo zatrzymywało mi się na potęgowaniu.
Skorzystałem z tego: http://www.cplusplus.com/reference/clibrary/cmath/pow/ i zrobiłem tak: res += pow(2., i); i poszło. :)

0

w sumie najlepiej zamiast pow() zastosować:

res += 1 << i;

ale wtedy na to nie wpadłem ;)

0

Właśnie zaczynam się przygotowywać do tej matury i proszę powiedzcie mi czy jeżeli mam napisane w zadaniu

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

to mogę np w jednym zadaniu napisać w c++ (język wybrany na egzamin), a w innym mogę np listą kroków tak? Czy cały egzamin muszę jednakowo napisać?

I pytanie z drugiej części egzaminu :

Do oceny oddajesz plik(i) o nazwie(ach) …......................................................., zawierający(e)
tu wpisz nazwę(y) pliku (ów)
komputerową realizację Twoich obliczeń,

Co to jest komputerowa realizacja moich obliczeń?

0

Zależy jak masz napisane w zadaniu, przynajmniej tak mi się zdaje. Nie mam zielonego pojęcia, sam muszę zacząć się przygotowywać do matury.

0

@arathunku, You make my day ;-) Nie spodziewałem się Code::Blocks, normalnie cud ;-) A już nastawiłem się mentalnie, że zmuszony będę pierniczyć się z Devem (wziąłbym wxDev-C++, tak jak ktoś kiedyś radził, zawsze to choć trochę nowsze) albo nauczyć się sprawnego obsługiwania Visuala (kiedyś będzie trzeba, ale póki co C::B mi w zupełności wystarcza).

Chciałbym przy okazji zapytać, w imieniu kumpla, który ma zamiar (póki co tylko zamiar, jeszcze na stówę się nie zdecydował) zdawać podstawkę - Free Pascal/Turbo Pascal w wersji dopuszczonej do matury ma w swej bibliotece standardowej odpowiedniki ceplusplusowych vectorów, list, zbiorów i innych kontenerów z STL'a oraz coś porównywalne z biblioteką <algorithm>,coby nie wynajdować podczas matury koła na nowo? (Bo tych rzeczy pisząc w C++ na maturze używać można, prawda? Przynajmniej nie spotkałem się z przepisem zakazującym tychże).

0

@Jadeszek Zbiory są jako typ wbudowany w Pascalu. Co do reszty to masz dokumentację Free Pascala http://www.freepascal.org/docs-html/fcl/index.html i http://www.freepascal.org/docs-html/rtl/index.html
Zgodnie z tym co jest na liście do wyboru to muszą dostarczyć możliwie najnowszą wersję stabilną jeśli poprosisz. Więc C++ będzie mocno wykoksane z racji, że większość kompilatorów częściowo obsługuje C++11 w tym nowe kontenery, wskaźniki inteligentne, lambdy, statyczne enumy, pętle foreach czy wątki (choć z tym ostatnim to bym nie szalał na maturze).
Co do listy środowisk to typowo narzekam na brak GNOME'a czy Eclipse + CDT oraz, że nie jedyną "bazą danych" dostępną oprócz Accessa jest (pożal się Boże) MySQL [sciana]...

0

ktoś w tym roku zdaje infe ? :) ja chyba zamierzam - mam do wyboru infe lub fize wiec wybiorę chyba to pierwsze ;)

0

Ja zdaję ;-)
Miałem jako alternatywę fizykę rozszerzoną, ale doszedłem do wniosku, że będąc na profilu ze zwykłą fizyką, nie rozszerzoną, nie mam co się tam pchać. Żeby się porządnie przygotować do fizyki rozszerzonej musiałbym inwestować w jakieś korki. Więc postanowiłem zmierzyć się z rozszerzeniem infy, a fizykę napisać na podstawowym poziomie, na wszelki wypadek, gdyby infa poszła tragicznie.

0

Poziom matury z informatyki jest żałosny, używa się bliżej nieokreślonych pojęć jak "język wewnętrzny komputera" albo udowadnia się że HTTP służy wyłącznie do przesyłania HTMLa, widziałem też w którymś arkuszu genialny dowód na to, że asembler to język wysokiego poziomu.

0

Już lepiej zdawać fizykę. Bardziej się przyda na studiach, niż matura z informatyki.

0
Demonical Monk napisał(a)

Poziom matury z informatyki jest żałosny, używa się bliżej nieokreślonych pojęć jak "język wewnętrzny komputera" albo udowadnia się że HTTP służy wyłącznie do przesyłania HTMLa, widziałem też w którymś arkuszu genialny dowód na to, że asembler to język wysokiego poziomu.

oczywiscie piszesz o poziomie podstawowym, sam pisałem rozszerzenie i nie spotkałem się z jakimiś kolosalnymi niedorzecznościami ani podczas przygotowywania, ani podczas samej matury.

0
xyz napisał(a)
Demonical Monk napisał(a)

Poziom matury z informatyki jest żałosny, używa się bliżej nieokreślonych pojęć jak "język wewnętrzny komputera" albo udowadnia się że HTTP służy wyłącznie do przesyłania HTMLa, widziałem też w którymś arkuszu genialny dowód na to, że asembler to język wysokiego poziomu.

oczywiscie piszesz o poziomie podstawowym, sam pisałem rozszerzenie i nie spotkałem się z jakimiś kolosalnymi niedorzecznościami ani podczas przygotowywania, ani podczas samej matury.

Obawiam się, że takie są wnioski po przejrzeniu tegorocznego arkusza z rozszerzenia...

0

jak dla mnie sformułowanie "język wewnętrzny komputera" jest jak najbardziej na miejscu i nie widzę w nim żadnych nieścisłości.

0
xyz napisał(a)

jak dla mnie sformułowanie "język wewnętrzny komputera" jest jak najbardziej na miejscu i nie widzę w nim żadnych nieścisłości.

"Aby program napisany w języku wysokiego poziomu mógł zostać wykonany przez komputer:"
(poprawne odpowiedzi według autorów)
"musi zostać przetłumaczony na język wewnętrzny komputera"
"musi być dostęp do kompilatora/interpretera danego języka"

I co to jest "język wewnętrzny komputera"? Bytecode jakiegoś języka? Tokeny powstałe podczas parsowania skryptów? Binarki Windowsowe?

Nawet taki syfilis jak PHP od dawna realizuje swój własny kod podczas wykonywania skryptu. Nie ma żadnego tłumaczenia na "język wewnętrzny komputera" cokolwiek to znaczy. Tak samo: mam binarkę Haskellową. Czy muszę mieć dostęp do kompilatora lub intepretera, aby program mógł zostać wykonany przez komputer?

Określenia powinny być jednoznaczne i nie zawierać skrótów myślowych.

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