student
   

Wyniki - Program I

Ogólnie:
Kilka osób świetnie uchwyciło algorytm gry, choć często we własnej odmianie (postkołofortunowej). Ponieważ odmiana ta jest nie mniej skomplikowana zaliczałem takie rozwiązania.
Niestety w wielu pracach pojawiały się elementarne błędy jak próba włączenia pliku "conio" zamiast "conio.h" co świadczy o całkowitym nieprzygotowaniu.
Kolejny istotny element to sposób rozgryzania problemu - sądząc po stanie Waszych programów w chwili zakończenia kolokwium, część z Was pisała kod 'w miarę jak przychodziły pomysły'. O wiele łatwiej napisalibyście kod jeżeli przemyślelibyście (narysowali) cały algorytm na początku a nie w trakcie pisania.
Ogólnie uważam, że test wypadł dobrze bo większość zaliczyła! Ale polecałbym potrenowanie przed następnym sprawdzianem.

Wyniki indywidualne i szcegółowe komentarze widoczne są po zalogowaniu w Waszych prywatnych panelach.


Zwróćcie uwagę na:
Czyli człowiek uczy się na błędach...
Ogólnie są to uwagi dotyczące jak zrobić coś lepiej (prościej), lub poprawnie :)
Jeżeli nie rozumiesz jakiejś poprawki lepiej spytaj!. Popełnienie takich samych błędów na kolejnym kolokwium będzie traktowane jako błąd kardynalny.

#define ERROR(txt) printf(txt)
Lepiej:
Użcie makr zaciemnia kod, w takich pryzpadkach jak ten zdecydowanie lepiej użyć funkcji.

#include <stdafx.h>;
Poprawnie:
#include <stdafx.h>
Nie stosujemy ; po dyrektywach prekompilatora

if (*zgadywany+ miejsce == *litera[1])
Poprawnie:
if (zgadywany[miejsce] == litera[1])

const char *litera;
cin >> *litera;

Poprawnie:
char *litera;
cin >> *litera;


int dlugosc = strlen(wyraz);
char *zgadywany= new char[dlugosc];

Poprawnie:
int dlugosc = strlen(wyraz);
char *zgadywany= new char[dlugosc+1];

Łańcuch znakowy zakończone jest '/0' i trzeba to gdzieś zmieścić.
(argv[i+1]!="")||(argv[i+1][0]!="-"))
Poprawnie:
Łańcuch porównujemy używając funkcji (np. strcmp)
(strcmp("-h",argv[i]))?pomoc=1:printf("");
  • ! strcmp zwraca 0 gdy wyrazy są jednakowe !!!
  • funkcja printf - nie robi tutaj nic
  • ?: - nie ma zastosowania
  • kod jest zawiły
  • ... czyli student potrafi :)
    Lepiej:
    if ( strcmp("-h", argv[i]) ) pomoc=1;
    for(j=0;j<(strlen(argv[ind])-2);j++) printf("*");
  • przy każdym kroku pętli będzie liczone wyrazenie: (strlen(argv[ind])-2) które zwraca zawsze to samo
  • kod jest zawiły
    Lepiej:
    int len = strlen(argv[2])-2;
    for(j=0; j<len; j++) printf("*");

    Lepiej wariacja2:
    for(j=strlen(argv[2])-2; j; j--) printf("*");
    if(!(strlen(argv[ind])<3))
  • warunki należy zapisywać jak najprościej
    Lepiej:
    if( strlen(argv[ind]) > 2 )
    Pobreanie ostatniej litery
    argv[ind][strlen(argv[ind]-1)]
    Poprawnie:
    argv[ind][strlen(argv[ind])-1]
    cin>>char a;
    Poprawnie:
    char a;
    cin >> a;

    nie można deklarować zmiennych w strumieniu

    Waszym zadaniem:

    Test był...
    Odpowiedź Ilość Procent
    "w sam raz" 1 11.11%
    trudny 5 55.56%
    zbyt trudny 3 33.33%

    Suma pozycji: 3

    [Odpowiedź] [Ilość]
    "w sam raz" 1
    trudny 5
    zbyt trudny 3
    Suma: 9

    Czasu było...
    Odpowiedź Ilość Procent
    za mało 9 100%

    Suma pozycji: 1

    [Odpowiedź] [Ilość]
    za mało 9
    Suma: 9

    Oceń w skali 1-5 pytania:
    Odpowiedź Ilość Procent
    5 - bardzo ciekawe pytania 2 22.22%
    4 4 44.44%
    3 3 33.33%

    Suma pozycji: 3

    [Odpowiedź] [Ilość]
    5 - bardzo ciekawe pytania 2
    4 4
    3 3
    Suma: 9

    Czy pytania w teście były sformułowane
    Odpowiedź Ilość Procent
    zrozumiale 9 100%

    Suma pozycji: 1

    [Odpowiedź] [Ilość]
    zrozumiale 9
    Suma: 9

    Jak oceniasz poziom swojej wiedzy (z danego materiału), niezależnie od przeprowadzonego kolokwium?
    Odpowiedź Ilość Procent
    5 1 11.11%
    4,5 2 22.22%
    4 3 33.33%
    3,5 1 11.11%
    3 2 22.22%

    Suma pozycji: 5

    [Odpowiedź] [Ilość]
    5 1
    4,5 2
    4 3
    3,5 1
    3 2
    Suma: 9


  •  
    Database error: Invalid SQL: SELECT (DATE_FORMAT(DATE_ADD(PublishedDate, INTERVAL -0 SECOND), "%s")) sek, (DATE_FORMAT(DATE_ADD(PublishedDate, INTERVAL -0 SECOND), "%i")) min, (DATE_FORMAT(DATE_ADD(PublishedDate, INTERVAL -0 SECOND), "%H")) hour, (DATE_FORMAT(DATE_ADD(PublishedDate, INTERVAL -0 SECOND), "%e")) day, (DATE_FORMAT(DATE_ADD(PublishedDate, INTERVAL -0 SECOND), "%c")) mou, (DATE_FORMAT(DATE_ADD(PublishedDate, INTERVAL -0 SECOND), "%Y")) year FROM Task WHERE (((UNIX_TIMESTAMP(PublishedDate)-0) > UNIX_TIMESTAMP(NOW()) ) AND ((TypeID=1)OR(TypeID=2))) ORDER BY PublishedDate LIMIT 1
    MySQL Error: 1146 (Table 'doneCRM03.Task' doesn't exist)
    Session halted.