matematykaszkolna.pl
dwad eight: jc, to dziadek mroz
15 mar 23:10
Dziadek Mróz: skucha
16 mar 09:15
Alky: Całe życie w klamstwie
16 mar 10:43
Mariusz: Ja bym tego nie obstawiał Gdy przejrzysz ich wpisy zauważysz że się różnią Wpisy jc są ostatnio typu "Ale to przecież jest opisane w dziesiątkach miejsc ..." a Dziadek czasami coś konkretnego napisze
16 mar 11:02
Mariusz: Gdybyś miał dostęp do IP tych użytkowników to łatwiej mógłbyś to stwierdzić
16 mar 11:04
eight: obaj potrafią cpp, ale tylko jeden się wypowiada konkretnie − zagrywka celowa, bo jako jc musi rządzić twardą ręką, a jako dziadek mróz pozwala sobie trochę wyluzować
16 mar 14:34
Alky: Wiele osób potrafi teraz c++ na stosunkowo dobrym poziomie. Jest to jeden z bardziej powiedzialbym podstawowych języków programowania. Az z ciekawości porównałem posty obu i wydaje mi się, że trochę jednak różnią sie sposobem wypowiedzi + kilka innych różnic takich jak używanie kolorów emotek etc. Co ma.znaczyć "zarządzać twardą ręką"? To forum, a nie urząd miasta A nawet jeśli... Niech się bawi. Dramy się zachciało...
16 mar 18:29
Alky: Zresztą jakiś czas temu metis zadawal kilka pytań odnosnie c++ na które odpowiadali glownie jc i Dziadek. Czesto przeplatali sie w jednym poscie. Cos nie wydaje mi sie zeby powazny facet mający juz trochę lat chciałby sie bawić i gadać sam ze sobą z 2 kont pod pytaniem...
16 mar 18:32
Adamm: to jest spisek, to trzeba do prokuratury zgłosić emotka
16 mar 18:51
eight: zartowalem, ale przypomnialy mi się posty Mariusza i jc, i tak sobie myslalem XD, że moze utworzyc sobie osobne konto do pisania programikow w cpp
16 mar 18:54
eight: Utworzył*
16 mar 18:54
Alky: I ja tak myślę Adam. Na pewno znajdzie się na to paragraf
16 mar 19:08
Mariusz: eight chcesz się nauczyć programować Oni cię nie nauczą a ja ani nie jestem programistą ani nie mam metodyki nauczania Proponuję abyś zajął się programowaniem i algorytmami i strukturami danych jednocześnie Jeżeli chodzi o algorytmy i struktury danych to kod źródłowy w jakimś języku programowania to tylko jeden ze sposobów zapisu algorytmu więc zanim nie poznasz podstaw jakiegoś języka programowania np Pascal lub C to możesz zająć się takimi tematami jak Schematy blokowe Pseudokod Analiza algorytmu Złożoność obliczeniowa (czasowa i pamięciowa) Jedne z pierwszych algorytmów to wyszukiwanie i sortowanie Wyszukiwanie liniowe i binarne, binarne zakłada że ciąg jest posortowany Sortowania z tych działających przez porównanie kluczy najważniejsze to sortowanie bąbelkowe (na zasadzie zamiany sąsiednich elementów) sortowanie przez wstawianie (aby wstawić wybrany element w odpowiednie miejsce przesuwasz wcześniejsze elementy) sortowanie przez wybór (wybierasz pierwszy element tablicy i wyszukujesz minimum dla pozostałej części tablicy a następnie zamieniasz minimum z wybranym elementem wybierasz drugi element i wyszukujesz minimum dla pozostałej części tablicy a następnie zamieniasz minimum z wybranym elementem powyższe kroki wykonujesz dopóki ta reszta tablicy nie będzie pusta) Sortowanie stogowe (Konstruujesz drzewo binarne spełniające własność kopca (rodzic większy od dzieci) drzewo zapełniasz od lewej do prawej, nie może być tak że elementy wkładasz tylko do jednej gałęzi zamieniasz korzeń z ostatnim elementem kopca, zmniejszasz rozmiar kopca przywracasz własność kopca, kontynuujesz do rozebrania kopca) Sortowanie przez scalanie (Dzielisz tablicę na dwie prawie równe części dla nieparzystej liczby elementów różnią się one co najwyżej o jeden element sortujesz każdą z części osobno i scalasz dwie posortowane części tablicy Jeśli chodzi o procedurę scalającą to kopiujesz elementy sortowanej tablicy do tablicy pomocniczej a następnie ustawiasz jeden indeks na początek tablicy drugi n środek tablicy trzeci na początek sortowanej tablicy i dopóki obydwie części pomocniczej tablicy nie są puste wybierasz mniejszy element i zwiększasz indeks tej części tablicy w której on się znajdował , indeks sortowanej tablicy zwiększasz z każdą iteracją po wyczerpaniu elementów z jednej części tablicy kopiujesz pozostałe elementy z drugiej tablicy) Sortowanie szybkie (Wybierasz sobie element dzielący jedni wybierają pierwszy element sortowanego przedziału , inni ostatni , w przykładach Pascala wybrali środkowy , jeszcze inni biorą losowy element Przenosisz elementy mniejsze od elementu dzielącego na lewo a elementy większe od elementu dzielącego na prawo Powstałe w ten sposób przedziały sortujesz w rekurencyjnie Można zapisać w jednej procedurze Pascale mają przykład) Z sortowań przez porównanie elementów to już wszystkie z tych ważniejszych Są jeszcze sortowania bez porównań ale wymagają pewnych założeń co do sortowanego ciągu Temat o sortowaniach można uzupełnić o sortowanie plików Tutaj najlepiej sprawdzają się różne warianty sortowania przez scalanie a algorytmy sortowania tablic mogą być przydatne jedynie do przygotowania początkowych serii otoczka wypukła (algorytm Jarvisa − na ogół wolniejszy ale możliwy do uogólnienia algorytm Grahama − wymaga sortowania, szybszy ale działa tylko dla płaszczyzny) N hetmanów, Droga skoczka, Sudoku (Algorytmy z powrotami) Struktury danych Do tej pory poznałeś kilka algorytmów na tablicy teraz poznasz struktury takie jak stos, kolejka, listy, drzewa, grafy Stos, kolejkę,listy,drzewa Struktury te składają się z rekordów które zawierają blok danych oraz wskaźniki na element poprzedni i następny Grafy skierowany i nieskierowany (zbiór krawędzi i wierzchołków) masz macierz sąsiedztwa i tablicę list Omów jakiś wybrany algorytm grafowy Z matematyki przyda ci się logika np do konstruowania instrukcji warunkowych i iteracyjnych, algebra liniowa z geometrią np do grafiki analiza matematyczna np do analizy algorytmów z dyskretnej rachunek różnicowy i rekurencja
16 mar 21:17
eight: Dzięki, no właśnie mam taki cel, ponieważ zajęcia wymuszają niejako na mnie naukę c++. Na razie nie wiem o czym tam pisałeś w swoich postach, ale już muszę zacząć się go uczyć, bo nie zdam egzaminu. Dzięki za radę, mieliśmy tylko wstęp do algorytmów.
16 mar 21:21
Mariusz: Z programowanie proponowałbym zająć się najpierw programowaniem strukturalnym stałe, zmienne i ich zasięg, typy, instrukcje warunkowe i wyboru instrukcje iteracyjne,tablice,rekordy,wskaźniki,dynamiczna allokacja pamięci, podprogramy (procedury i funkcje) , rekurencja , obsługa plików W Pascalu masz moduły (unit) w C możesz podzielić program na pliki np plik nagłówkowy i plik z ciałami funkcji Dla Windows możesz pisać też DLL Możesz też pobawić się grafiką − środowiska borlanda miały w katalogu bgi moduł do grafiki Dopiero po opanowaniu podstaw programowania strukturalnego rozpoczynasz zabawę z programowaniem obiektowym
16 mar 21:55
Mariusz: Do algorytmów dobrą książką może być wprowadzenie do algorytmów Cormena i reszty Pseudokody ma stosunkowo łatwe do zapisania w języku programowania Tablice ma indeksowane od jedynki Co do sortowań to sortowanie bąbelkowe pominął , w procedurze scalającej niepotrzebnie dał wartowników i zamiast jednej tablicy pomocniczej dał dwie W sortowaniu przez kopcowanie procedurę przywracającą kopiec napisał rekurencyjnie Sortowanie szybkie rozbił na funkcję partycjonującą i procedurę sortującą oraz w funkcji partycjonującej dał nieskończoną pętlę z której wyskakiwanie następuje przy zwracaniu wartości Wg mnie lepiej wygląda ta procedura z przykładów Pascala Wg mnie gorzej sprawdza się książka Niklausa Wirtha Algorytmy + struktury danych=programy ale np temat sortowania uzupełniony jest o sortowanie danych w pliku Możesz obejrzeć też Algorytmy i struktury danych Diksa i Ryttera Jeśli chodzi o środowiska borlandowskie to miały one jako taką pomoc a devy czy inne code blocksy pomocy nie mają , do Free Pascala trzeba oddzielnie instalować pomoc Jeśli korzystasz z Linuksa to pewnie masz zainstalowanego jakiegoś manuala do gcc
16 mar 23:02
KKrzysiek: Uważam, że książka Cormena( third edition ) jest to aktualnie jedna z lepszych pozycji. Polecam.
16 mar 23:07
KKrzysiek: Może dlatego, że m.in. pseudokod jest dla mnie BARDZO CZYTELNY niż taki przykład zapisany typowo w Pascalu
16 mar 23:08
Mariusz: Z książek do C++ jedyne polskie to te Grębosza Symfonia C++ oraz Pasja C++ reszta to jedynie przekłady (głównie z angielskiego) Tutaj ktoś inny powinien ci coś polecić Manual jest dobry gdybyś chciał poznać działanie jakiejś funkcji
17 mar 09:12
Dziadek Mróz: A z praktyki to Notepad++ (FingrText, NppExec) i MinGW−w64. Żadne IDE nie nauczy szukania błędów w kodzie
17 mar 15:33
Adamm: szczerze mówiąc to nawet zwykły notatnik wystarczy do pisania kodu
17 mar 15:38
Adamm: oczywiście, nie polecam, mówię tylko że można
17 mar 15:40
Metis: Gorąco nie polecam nauki języka programowania z polskich książek emotka
17 mar 15:57
KKrzysiek: A jak tak, ale to z jednej.
17 mar 16:01
KKrzysiek: Tytuł został podany wyżej. Ofc dotyczy tylko cpp.
17 mar 16:02
Mariusz: Z polskich książek o cpp to ta Grębosza reszta to przekłady Z algorytmów tylko ta Diksa i Ryttera może nie być przekładem Krzysiek a masz więcej polskich książek o cpp niż te Grębosza (w Pasji ma też trochę o algorytmach) Z notatnikiem trzeba wychodzić do linii poleceń i tam kompilować i konsolidować kod a jak jeszcze zapomni zachować zmiany to cały kod lub znaczna jego część przepadnie Przyda się zapisywanie algorytmów rekurencyjnych w sposób iteracyjny zwłaszcza gdy może przyśpieszyć działanie algorytmu lub gdy można zwolnić pamięć potrzebną na rekurencję W przypadku sortowań można zapisać w sposób iteracyjny sortowanie stogowe (które u Cormena zapisane jest rekurencyjnie) oraz sortowanie przez scalanie bo w tych przypadkach do usunięcia rekurencji wystarczy instrukcja iteracyjna Oszczędność pamięci może nie jest zbyt duża ale np sortowanie przez scalanie można wtedy wykorzystać np do sortowania plików Jeżeli chodzi o tzw szybkie sortowanie to procedura bez wywołań rekurencyjnych mogłaby cię zainteresować w celu uniknięcia przepełnienia stosu bo ani nie przyspieszysz algorytmu ani nie zaoszczędzisz pamięci usuwając rekurencję w tym przypadku Możesz łatwo usunąć rekurencję z funkcji matematycznych jak silnia i symbol Newtona ciąg Fibonacciego algorytm Euklidesa Wymuszają na nim naukę C++ ? To on nie jest na informatyce
18 mar 10:28