matematykaszkolna.pl
Matura z informatyki rozszerzonej Patryk: Jest ktoś tutaj mocno obeznany w temacie informatyki rozszerzonej z informatyki? najlepiej jakiś egzaminator
17 kwi 19:21
PW: Konkurs piękności? Masz problem, to go przedstaw.
17 kwi 20:33
Patryk: W części II egzaminu jest jedno zadanie, w którym trzeba napisać program w wybranym przez siebie języku programowania. Załączone są pliki w txt, z których musimy pobrać dane do programu i wykonać polecenia. Na końcu tego pliku zawsze jest wolna linijka, która czasami może przeszkodzić w pisaniu programu, moje pytanie, czy można ją sobie usunąć? Nie ingeruję w odpowiedź do zadania. Dodatkowo czytałem, że jak są średniki, czy tabulacje, które rozdzielają dane w danym wersie (od matury '10 w góre nie zauważyłem czegoś takiego) to można sobie w notatniku zamienić na odstępy, bo w C++ jest gotowa funkcja na to, więc chyba usunięcie jednej linijki w niczym nie potrzebnej jest dozwolone?
17 kwi 20:50
PW: Raczej nie usuwać. Skoro masz podgląd tego pliku i wiesz, że kończy się wolną linią, to tak pisać program, żeby ją pominął (nie traktował jako element zestawu danych).
17 kwi 20:58
Patryk: Hmm... No dobra, ale skoro można zamieniać tabulatory i średniki na spacje, to ciekawe jak jest z tą ostatnią linijką... Dzięki za odpowiedź emotka
17 kwi 21:09
Patryk: Tak sobie patrzę, to jest kwestia jednej komendy (robiłem od najstarszych arkuszy, do najaktualniejszych i w odpowiedziach po 2012 roku autor odpowiedzi zaczął pisać inaczej). Więc chyba nie warto ryzykować utratą cennych punktów.
17 kwi 21:13
PW: Dla mnie ingerencja w plik z danymi jest niedopuszczalna. To sytuacja, w której zamiast napisać odpowiednio program − upraszczamy sobie zadanie (bo np. nie umiemy sobie z tym poradzić).
17 kwi 21:18
Patryk: Jak dla mnie to powinny być wszystkie chwyty dozwolone, byleby wynik był dobry emotka Ukazywało by to zaradność zdającego w sytuacjach, w których nie potrafi rozwiązać problemu lub więcej czasu mu to zabierze. Ale to sprawa dyskusyjna
17 kwi 21:30
PW: A powiedz tak naprawdę − dlaczego przeszkadza Ci ta ostatnia "wolna linijka", jak ją nazwałeś. Nie jest to przypadkiem wskaźnik końca zbioru? [EOF]
17 kwi 21:37
Patryk: Właśnie jak używałem czegoś takiego: while (!plik.good()==false) cout << "Błąd odczytu"; else { while(!plik.eof()) RESZTA KODU } To brało pustą linijkę do obliczeń i jak było trzeba np obliczyć ilość liczb parzystych, to wychodziła 1 za dużo (po usunięciu tej linijki było dobrze) Ale jak pisałem o 21:13 znalazłem inny sposób. Wystarczy napisać tak: while (plik>>zmienna) { RESZTA KODU } Czyli póki pobiera dane do zmiennej, to wykonuje pętle
17 kwi 21:47