Reklama
Strona 297 z 358 PierwszaPierwsza ... 197247287295296297298299307347 ... OstatniaOstatnia
Pokazuje wyniki od 4,441 do 4,455 z 5367

Temat: Programowanie - temat ogólny

  1. #4441
    konto usunięte

    Domyślny

    Cytuj tibia77 napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Stała, w tym wypadku wskaźnik, musi mieć nadaną wartość. Przecież to się nie skompiluje.
    Chyba że zakładamy, że to const char* const wsk; jest polem jakiejś klasy, to wtedy tak.
    Pole klasy to 1 przypadek. 2 przypadek, to zastosowanie std::remove_const na tej stalej, a trzeci to wylaczenie w kompilatorze sprawdzania inicjalizacji (flaga).

    Ale tak, zgadzam sie - ta 4 linijka w tym akurat przypadku musi byc inicjalizowana.

  2. #4442

    Data rejestracji
    2010
    Posty
    103
    Siła reputacji
    15

    Domyślny

    Siema, mam za zadanie napisać projekt na studia i chyba zabraknie mi czasu żeby go zrobić, byłby ktoś chętny się podjąć czegoś takiego? Oczywiście dogadamy się jeśli chodzi o cenę :)
    Zadanie szczegółowe

    Projekt 1 -- język C

    Proszę napisać program realizujący prosty silnik wnioskujący. Powinien on umożliwiać:

    (minimum)

    - wczytywanie bazy wiedzy (faktów) i bazy reguł z pliku/ów

    - przeprowadzenie wnioskowania na podstawie faktów i reguł w celu ustalenia wartości nieznanego "faktu"

    - obsługę faktów o wartościach prawda i fałsz oraz reguł wnioskowania składających się z przeczenia, sumy oraz iloczynu logicznego z uwzględnieniem ewentualnych nawiasów

    - wybór uruchomienia programu w trybie wnioskowania w przód i wnioskowania w tył

    - wyświetlanie informacji o przebiegu wnioskowania

    Oczękuję kodu wraz komentarzami/pdfem wyjaśniającym tok rozumowania, projekt mam na wtorek, więc najlepiej żeby ktoś podejmujący się go, wyrobił się na niedzielę.
    PW, dzięki :)

  3. Reklama
  4. #4443
    Avatar Rollercoster
    Data rejestracji
    2011
    Wiek
    29
    Posty
    1,247
    Siła reputacji
    14

    Domyślny

    Cytuj Vraellek napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Siema, mam za zadanie napisać projekt na studia i chyba zabraknie mi czasu żeby go zrobić, byłby ktoś chętny się podjąć czegoś takiego? Oczywiście dogadamy się jeśli chodzi o cenę :)
    Zadanie szczegółowe

    Projekt 1 -- język C

    Proszę napisać program realizujący prosty silnik wnioskujący. Powinien on umożliwiać:

    (minimum)

    - wczytywanie bazy wiedzy (faktów) i bazy reguł z pliku/ów

    - przeprowadzenie wnioskowania na podstawie faktów i reguł w celu ustalenia wartości nieznanego "faktu"

    - obsługę faktów o wartościach prawda i fałsz oraz reguł wnioskowania składających się z przeczenia, sumy oraz iloczynu logicznego z uwzględnieniem ewentualnych nawiasów

    - wybór uruchomienia programu w trybie wnioskowania w przód i wnioskowania w tył

    - wyświetlanie informacji o przebiegu wnioskowania

    Oczękuję kodu wraz komentarzami/pdfem wyjaśniającym tok rozumowania, projekt mam na wtorek, więc najlepiej żeby ktoś podejmujący się go, wyrobił się na niedzielę.
    PW, dzięki :)
    50zł/h i z dalszymi informacjami zapraszam na pw

  5. #4444

    Data rejestracji
    2010
    Posty
    2,657
    Siła reputacji
    16

    Domyślny

    Cytuj Rollercoster napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    50zł/h i z dalszymi informacjami zapraszam na pw
    wystawiasz fakturę? ;p

  6. #4445

    Data rejestracji
    2009
    Położenie
    EBE
    Wiek
    31
    Posty
    272
    Siła reputacji
    15

    Domyślny

    Jest tu jakiś spec od UNITY 3D ? :)

  7. #4446

    Ekspert: Sprzęt i oprogramowanie
    Mistrzu dragon jest teraz offline
    Avatar Mistrzu dragon
    Data rejestracji
    2006
    Położenie
    20 cm od klawiatury
    Posty
    1,857
    Siła reputacji
    20

    Domyślny

    czemu nie spytasz na answers.unity3d?
    Powyższy post może być sarkastyczny oraz zawierać śladowe ilości orzechów arachidowych.

  8. #4447
    Avatar 2cztery7
    Data rejestracji
    2014
    Posty
    628
    Siła reputacji
    10

    Domyślny

    Cytuj Tommy napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Jest tu jakiś spec od UNITY 3D ? :)
    nie, tu tylko programiści i phpowcy

  9. #4448
    Avatar Comxaa
    Data rejestracji
    2015
    Położenie
    Comxaa
    Wiek
    32
    Posty
    649
    Siła reputacji
    10

    Domyślny

    Cytuj Tommy napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Jest tu jakiś spec od UNITY 3D ? :)
    zadaj może pytanie

  10. #4449
    Avatar Snazol
    Data rejestracji
    2008
    Położenie
    Zabrze
    Wiek
    30
    Posty
    308
    Siła reputacji
    16

    Domyślny

    Mam problem ze zrozumieniem roznicy z propertisami, polami i modyfikatorami dostepu. (aktualnie C#)

    Rozwazmy, ze mam jakas tam swoja klase, a w niej:

    Kod:
    private string przyklad_;
    
    public string Przyklad
    {
          get{return przyklad_;}
          private set{przyklad_=value;}
    }
    Lub tez
    Kod:
    public string przyklad_{get;private set;}
    Przy tak prostym przykladzie nie widze roznicy w dzialaniu, zatem ma to jakies znaczenie? Jaka jest generalnie przyjeta koncepcja?

  11. #4450
    Avatar 2cztery7
    Data rejestracji
    2014
    Posty
    628
    Siła reputacji
    10

    Domyślny

    jak robisz zwykły {get; set;} bez żadnych bajerów, to tworzona jest zmienna, która przechowuje wartość, więc
    Kod:
    public string s{get; set;}
    jest równoznaczne z
    Kod:
    private string _s;
    public string s{ get{ return _s;} set { _s = value; }}
    po prostu skrót, coby nie trzeba było cały czas pisać takiego snippeta cały czas.
    jednak jak chcesz robić jakieś dodatkowe rzeczy, np. walidację, to musisz już jawnie zadeklarować zmienną, której property będzie używać, np
    Kod:
    private int _wiek;
    public int wiek
    {
      get;
      set
      {
        if(value < 0) _wiek = 0;
        if(value > 150) _wiek = 150;
        _wiek = value;
      }
    }
    property, które nie robią nic specjalnego (czyli mają puste get; set;) używa się z kilku powodów:
    1) możesz pozwolić odczytywać zmienną poza klasą, a zmieniać jej wartość tylko w klasie - publiczne pole można i odczytywać, i modyfikować z każdego miejsca programu
    2) dziedziczenie

    składniowo mogłem gdzieś się jebnąć bo piszę z głowy a ostatnio w c# robiłem z pół roku temu albo i lepiej.

  12. #4451
    Avatar Snazol
    Data rejestracji
    2008
    Położenie
    Zabrze
    Wiek
    30
    Posty
    308
    Siła reputacji
    16

    Domyślny

    Czyli rozumiem, ze dopoki get i set nie maja bardziej skomplikowanej struktury, dopoty moge uzywac tej krotszej formy. Ktoregos z zapisow uzywa sie czesciej anizeli drugiego? Nauczyciel wyraznie nam zaznaczal, ze pola w klasie musza byc prywatne, ale wydaje mi sie to zbednym pisaniem kodu w takim wlasnie przypadku.

  13. #4452
    Avatar Rollercoster
    Data rejestracji
    2011
    Wiek
    29
    Posty
    1,247
    Siła reputacji
    14

    Domyślny

    Cytuj Snazol napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Czyli rozumiem, ze dopoki get i set nie maja bardziej skomplikowanej struktury, dopoty moge uzywac tej krotszej formy. Ktoregos z zapisow uzywa sie czesciej anizeli drugiego?
    Imo krótszy będzie ok.

    Nauczyciel wyraznie nam zaznaczal, ze pola w klasie musza byc prywatne, ale wydaje mi sie to zbednym pisaniem kodu w takim wlasnie przypadku.
    Jeżeli masz jakąś klase i w niej jakieś pola, do których masz i gettery i settery to jest to równoznaczne z tym jakbyś te pola miał public. I tak w każdym z tych dwóch przypadków możesz zmieniać stan obiektu. Pewnie 70letni Marian, wykładowca w twojej szkole będzie mówił że settery i gettery zapewniają enkapsulacje(xD) ale go nie słuchaj :)

  14. #4453

    Data rejestracji
    2010
    Posty
    2,657
    Siła reputacji
    16

    Domyślny

    Cytuj Rollercoster napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Jeżeli masz jakąś klase i w niej jakieś pola, do których masz i gettery i settery to jest to równoznaczne z tym jakbyś te pola miał public.
    Jest to oczywiście gówno prawda

    Cytuj Rollercoster napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    I tak w każdym z tych dwóch przypadków możesz zmieniać stan obiektu. Pewnie 70letni Marian, wykładowca w twojej szkole będzie mówił że settery i gettery zapewniają enkapsulacje(xD) ale go nie słuchaj :)
    A właśnie, że słuchaj bo ma rację ( inna sprawa, ze ustawianie stanu obiektu przez set to największy rak w programowaniu )

    Enkapsulacja, definicja:

    Hermetyzacja (inna używana nazwa to enkapsulacja[1], ang. encapsulation) – jedno z założeń programowania obiektowego. Hermetyzacja polega na ukrywaniu pewnych danych składowych lub metod obiektów danej klasy tak, aby były one dostępne tylko metodom wewnętrznym danej klasy lub funkcjom zaprzyjaźnionym.
    To teraz tak, jaka jest różnica między:

    Kod:
    public String dupa
    a:

    Kod:
    private String dupa
    
    public void setDupa(String dupa) {
        this.dupa = dupa;
    }
    Ano taki, że w pierwszym przypadku piszesz:

    Kod:
    mojObiekt->dupa = "dupa";
    Przez co łamiesz enkapsulację, bo nie operujesz na kontrakcie obiektu, tylko na jego polach, co jest zabronione w dobrych praktykach OOP. ( Tu mały disclaimer - są języki, w których można zrobić taki myk, że takie pole zrefaktorujesz na Propertiesy i nie będziesz w dupie, ale jestem zwolennikiem robienia dobrze od początku )

    Poprawnym odwołaniem ( tzn poprawynm z punktu widzenia enkapsulacji bo metoda nadal jest chujowa ) jest :

    Kod:
    obiekt.setDupa("dupa");
    W ten sposób logika zapisu tej wartości jest zachowana w obiekcie.

  15. #4454
    Avatar Kusterek
    Data rejestracji
    2013
    Położenie
    Warszawa
    Wiek
    31
    Posty
    1,710
    Siła reputacji
    13

    Domyślny

    Cytuj Alex Fortune napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Poprawnym odwołaniem ( tzn poprawynm z punktu widzenia enkapsulacji bo metoda nadal jest chujowa ) jest :
    to jaka jest poprawna wg Ciebie?

    irc: freenode.net in #torgdevs

  16. #4455
    Avatar Rollercoster
    Data rejestracji
    2011
    Wiek
    29
    Posty
    1,247
    Siła reputacji
    14

    Domyślny

    Cytuj Alex Fortune napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Jest to oczywiście gówno prawda



    A właśnie, że słuchaj bo ma rację ( inna sprawa, ze ustawianie stanu obiektu przez set to największy rak w programowaniu )

    Enkapsulacja, definicja:



    To teraz tak, jaka jest różnica między:

    Kod:
    public String dupa
    a:

    Kod:
    private String dupa
    
    public void setDupa(String dupa) {
        this.dupa = dupa;
    }
    Ano taki, że w pierwszym przypadku piszesz:

    Kod:
    mojObiekt->dupa = "dupa";
    Przez co łamiesz enkapsulację, bo nie operujesz na kontrakcie obiektu, tylko na jego polach, co jest zabronione w dobrych praktykach OOP. ( Tu mały disclaimer - są języki, w których można zrobić taki myk, że takie pole zrefaktorujesz na Propertiesy i nie będziesz w dupie, ale jestem zwolennikiem robienia dobrze od początku )

    Poprawnym odwołaniem ( tzn poprawynm z punktu widzenia enkapsulacji bo metoda nadal jest chujowa ) jest :

    Kod:
    obiekt.setDupa("dupa");
    W ten sposób logika zapisu tej wartości jest zachowana w obiekcie.
    Masz, poczytaj kogoś mądrzejszego od siebie.
    http://typicalprogrammer.com/doing-i...s-and-setters/

    Correct object-oriented design requires an object to encapsulate and hide its data, and to expose methods that are verbs acting on the object (not on individual properties of the object). The large majority of accessors are nouns — nothing more than pointless proxies for direct access to the object’s private data.

Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)

Podobne tematy

  1. Star Wars: The Old Republic - temat ogólny
    Przez Mefistos w dziale Inne gry
    Odpowiedzi: 106
    Ostatni post: 21-11-2012, 14:28
  2. League of Legends //dla potomnosci: League of Legends - temat ogolny.
    Przez ZinC w dziale Inne gry
    Odpowiedzi: 30145
    Ostatni post: 24-03-2012, 02:33
  3. Cities XL 2012 - temat ogólny
    Przez Bezdomny w dziale Inne gry
    Odpowiedzi: 0
    Ostatni post: 20-10-2011, 18:11
  4. Dragon Ball Legend temat ogólny
    Przez Mugenoo w dziale Tematy serwerów
    Odpowiedzi: 20
    Ostatni post: 02-03-2011, 16:47

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •