programowanie na kartce

0

Dzień dzisiejszy.
Technikum. Kartkówka z programowania (Pascal).
Napisz program, który wypisze wynik jak poniżej:

  *
       ***
  *********
************
  • coś w ten deseń
    Oczywiście, trzeba było formatować.
    Mając do dyspozycji komputery musimy pisać program na kartce... czy to nie wiem... jest normalne?!
0

Taka choinka....

0

To zależy, jak chodzi o sprawdzenie samego logicznego myślenia to starczy.

Jeśli chodzi o literówki, nie powinny być sprawdzane, bo od tego jest kompilator.
Chodź to jeszcze zależy od języka.
Jak w pascalu to może i być kartka

0

jak najbardziej normalne. Na studiach za brak średnika możesz uwalić przedmiot.

0

"Informatyka ma tyle samo wspólnego z komputerami, co astronomia ma z teleskopami", Edsger Dijkstra

0

@dr zielu jest to zupełnie normalne, bo celem jest to żebyś MYŚLAŁ zanim zaczniesz pisać, bo na kartce nie da się wcisnąć backspace ani testować czy "może akurat coś zadziała". Na kartce musisz najpierw wymyślić porządne rozwiązanie, a dopiero potem zacząć coś pisać.

0
dr zielu napisał(a)

Mając do dyspozycji komputery musimy pisać program na kartce... czy to nie wiem... jest normalne?!

Programowanie to nie bruteforce na poziomie IDE, aż kompilator przepuści, aż kod zadziała. Papier w zupełności wystarczy przy świadomym rozwiązywaniu problemów, nie utrudnia wyrażania swoich intencji w postaci programu. Pisanie na kartce ma kilka znaczących plusów, mianowicie wymusza:

  • sensowną strukturę kodu (nikt nie upchnie 300-400 znaków w jednej linii i 10 poziomów wcięć);
  • pisanie niezbyt długich funkcji, które mieszczą się na pojedynczej stronie (przyjmując format A5);
  • wcześniejsze zastanowienie nad strukturą programu, rozwiązaniem;
  • skupienie i uwagę, przywiązywanie wagi do detali (zbyt wiele poprawek prowadzi do konieczności przepisania kartki);
  • większą świadomość pisanego kodu, "stawiam X ponieważ Y", gdzie Y nie oznacza "a bo mi kompilator/IDE kurwami rzuca";
  • prowadzenie podstawowej dokumentacji (przy programach wykraczających poza hello world).
    Komputer przydaje się do weryfikacji programu, mozolne przepisywanie kodu pozwala na wyłapanie kolejnych błędów (zanim zrobi to środowisko). Niektórym programistom powinno się na pewien czas odebrać klawiatury, zwłaszcza tym od PHP, po pewnym czasie na pewno wzrośnie jakość tworzonego przez nich kodu. Metodę tę stosowałem z pochodzeniem kilku "wychowankach", poniesiony koszt czasu zwraca się szybko, znaczące postępy widać już po kilku niewielkich projektach. Wyjątkowo odporne jednostki należy zmusić do pisania w LISPie, albo szybko nauczą się robić po ludzku, albo oszaleją przy parowaniu nawiasów.
0

Dodatkowo, z punktu widzenia nauczyciela - pisanie na kartce ma plusa takiego, że łatwiej zebrać i sprawdzić - bo jak powiesz studentom "zapiszcie na udziale sieciowym \cośtam\gdzieśtam\jeszczecoś" to na pewno paru zapyta wielokrotnie "gdzie?". Albo się zbiera na pamięć przenośną dane. A tak, to tylko nauczyciel patrzy na kartkę i stawia ocenę.

Widzę, z mojego doświadczenia, że studenci mają problemy, kiedy się im pozwoli pisać na komputerze. Pojawiają się problemy, bo mi tu kompilator błędem rzuca, tu cośtam, i zamiast skupić się na rozwiązaniu problemu, choćby nawet nie do końca, to marnują czas na pisanie na komputerze. Prowadzę zajęcia m.in. z pewnego rodzaju schematów (gdzie już swoją drogą narysować schemat na karce jest zdecydowanie szybciej niż wyklikać go w aplikacji do tego) oraz z algorytmów i liczy się dla mnie najbardziej sam pomysł i tok myślenia do rozwiązania. Ktoś zapomni gdzieś coś wyzerować i dostaje wyniki z kosmosu i się załamuje. Nie widząc działającego programu ja patrzę na kartkę i ucinam za to punkty cząstkowe, jeżeli wszystko inne jest poprawne. Inna sprawa, że ja miękki jestem, a to jest pierwszy/drugi/trzeci semestr studiów ;-)

A co do pseudokodu - na algorytmach studenci mogą pisać w dowolnym języku, wliczając w to pseudokod. Niektórzy posunęli się do listy kroków, która też "działa", o ile jest logicznie zrobiona i napisana tak, że da się rozczytać :-)

Choć mam pomysł zrobić może automat - dostajesz testowe dane wejściowe i wyjściowe, sprawdzasz czy działa, jak program działa wysyłasz go na serwer, gdzie jest wykonywany na innych danych i sprawdzany wynik. Wynik poprawny - zaliczone. Wynik niepoprawny - niezaliczone.

0

My na mimuw kolosy z różnego rodzaju programowania (mrjp, współbiegi) pisaliśmy nawet na 3 roku - normalka.

0
Ktos napisał(a)

Choć mam pomysł zrobić może automat - dostajesz testowe dane wejściowe i wyjściowe, sprawdzasz czy działa, jak program działa wysyłasz go na serwer, gdzie jest wykonywany na innych danych i sprawdzany wynik. Wynik poprawny - zaliczone. Wynik niepoprawny - niezaliczone.

Takie coś dawno już działa, nazywa się spoj i u mnie na uczelni jest dosyć intensywnie używany ;>
Pisanie na kartkach było, jest i będzie... i tak samo było, jest i będzie nielubiane ; ] Chwilami trzeba mieć we łbie niezły procek (jak sobie przypomnę te kolokwia, gdzie pisało się w asemblerze, mmmm).

0

Mam tak samo z programowania w technikum inf u mnie. Nie zaliczony nawet gdy brak średnika dla mnie to głupota by oceniać literówki.
W końcu po to są ide by pomagać w pisaniu kodu.

0

Na egzaminie z Systemów Obliczeń Wysokiej Wydajności musiałam napisać program współbieżny korzystający z MPI. Jeden duży (na 3 strony mi wyszedł) i trzy "małe" (takie na pół strony, bo tylko konkretne funkcje chciał).

Jakby kazali mi taką głupią choinkę wypisać to bym to uznała za prezent bożonarodzeniowy.

0
ace4ur napisał(a)

Nie zaliczony nawet gdy brak średnika dla mnie to głupota by oceniać literówki.

Jesteś oceniany z rozwiązania problemu i znajomości języka. Średnik jest jednym z najważniejszych elementów składni, trudno go tak po prostu zapomnieć, na papierze nie ma "bo mi się nie nacisnęło". Z punktu widzenia języków naturalnych to bardziej błąd ortograficzny, który dodatkowo zmienia sens zdania.

ace4ur napisał(a)

W końcu po to są ide by pomagać w pisaniu kodu.

W końcu po to są debuggery... Czy to oznacza, że można bezmyślnie klepać kod i popełniać głupie błędy? IDE ma wspomagać pracę, nie niańczyć użytkownika. Każdy popełnia błędy, co nie znaczy, że nie trzeba starać się minimalizować ich liczby, z pomocą IDE szybciej znajdziesz błąd, ale nadal zmarnujesz czas na jego poprawianie. Rób wolniej żebyś nie musiał szybciej poprawiać.

0

Ja lubiłem pisać na kartce automaty i maszyny Turinga na kolosach.

0
dzek69 napisał(a)

sorry, ale teraz gadasz jak potłuczony. no ale u nas (pl) w szkole nie uczy się myślenia. i podczas pisania kodu na kartce każdy będzie sprawdzał średniki, zamiast rozgryzać algorytm.

Średnik na końcu kompletnego wyrażenia to odpowiednik kropki na końcu zdania. Parafrazując: u nas (pl) w szkole nie uczy się myślenia. i podczas pisania wypracowania każdy będzie sprawdzał kropki, zamiast skupić się na treści. Obecnie podczas oceniania prac pisemnych nie odejmuje się punktów za niewłaściwą interpunkcję?

0

Średnik na końcu kompletnego wyrażenia to odpowiednik kropki na końcu zdania.

U sure? A basic czy lua?

nie ogarniam co ty język polski porównujesz do programowania?
w programowaniu liczy się sposób działania, algorytm, a nie jakimi literkami go napisałeś. możesz użyć języka bez średników(przykłady wyżej) i też będzie - bo to, co ty masz umieć - sposób działania - masz w głowie. składnia języka to tylko otoczka do "nauki" w godzinę czy dwie i nie to powinno być sprawdzane na egzaminie, tak samo, jak na egzaminy z matmy nie uczy się już całych wzorów, tylko ich użycia..

0

jak na egzaminy z matmy nie uczy się już całych wzorów, tylko ich użycia..

Tylko ja na egzaminie z analizy miałem teorię?

0

Teoria na egz z maty...marzenie :P

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