Gwożdziem w programistów |
Autor |
Wiadomość |
gorat
Modegorator
Posty: 13855 Skąd: FF
|
Wysłany: 4 Marca 2007, 21:36 Gwożdziem w programistów
|
|
|
Czytam właśnie skrypt z tematyki mocno informatycznej - chciałem poznać bliżej metodę Householdera. Znalazłem realizację algorytmu - OK, będzie łatwiej zrozumieć. Po przejrzeniu coś zaczęło mi nie pasować:
Kod |
for k:=1 to n do
begin
{ obliczanie kolejnego odbicia Householdera }
norm2:=0.0;
for l:=k to m do
begin
aa:=a[l,k];
norm2:=norm2 + aa*aa
end;
norm:=sqrt(norm2);
aa:=a[k,k];
if (aa>=0.0) then
begin
uu:=aa + norm;
akk:=-norm
end else
begin
uu:=aa - norm;
akk:=norm
end;
gamma:=norm2 + abs(aa)*norm;
u[k]:=uu;
gam[k]:=gamma;
{ modyfikacja kolumn macierzy }
a[k,k]:=akk;
for j:=k+1 to n do
begin
s:=uu*a[k,j];
for l:=k+1 to m do
s:=s + a[l,k]*a[l,j];
s:=s/gamma;
a[k,j]:=a[k,j] - s*uu;
for l:=k+1 to m do
a[l,j]:=a[l,j] - s*a[l,j];
end;
end;
|
Hm. Chyba jest tego trochę za dużo.
Kod |
for k:=1 to n do
begin
{ obliczanie kolejnego odbicia Householdera }
norm2:=0.0;
for l:=k to m do
norm2:=norm2 + a[l,k]*a[l,k];
norm:=sqrt(norm2);
gam[k]:=norm2 + abs(a[k,k])*norm;
if (a[k,k]>=0.0) then
begin
u[k]:=a[k,k] + norm;
a[k,k]:=-norm
end
else
begin
u[k]:=a[k,k] - norm;
a[k,k]:=norm
end;
{ modyfikacja kolumn macierzy }
for j:=k+1 to n do
begin
s:=u[k]*a[k,j];
for l:=k+1 to m do
s:=s + a[l,k]*a[l,j];
s:=s/gam[k];
a[k,j]:=a[k,j] - s*u[k];
for l:=k+1 to m do
a[l,j]:=a[l,j] - s*a[l,j];
end;
end;
|
Jest różnica czy nie?
(BTW: może przyda się temat okołoprogramistyczny?) |
_________________ Początkujący Wiatr wieje: Co mogę dla kogoś zrobić?
Zostań drzewem wiśni.
---
鼓動の秘密
U mnie działa. |
|
|
|
|
Pako
Adam Zamoyski
Posty: 10680 Skąd: Gliwice
|
Wysłany: 5 Marca 2007, 13:40
|
|
|
Temat możę się i przyda, w perspektywie mam pisanie skomplikowanego programu zaliczeniowego
A co do algorytmu - cholera, strasznie głupio się analizuje coś, nie do końca wiedząc, co ma robić |
|
|
|
|
Ixolite
Admirał Zwiebellus
Posty: 6116 Skąd: oni wiedzieli?
|
Wysłany: 5 Marca 2007, 13:44
|
|
|
Inżynieria Oprogramowania, a przez ostatnie dwa lata właściwie tylko php się dotykałem |
_________________ Alchemia Słowa
Well, my days of not taking you seriously are certainly coming to a middle. |
|
|
|
|
Pako
Adam Zamoyski
Posty: 10680 Skąd: Gliwice
|
Wysłany: 5 Marca 2007, 13:46
|
|
|
Ja z kolei php, pascal i teraz c... ale czytanie algorytmów jest śmieszne, nie wyznaję się w tym
Najlepsza metoda - sprawdzić, czy dają takie same wyniki, dajmy na to na 100 próbek danych porównywać wyniki. Będą takie same, to mozna zalożyć, że jest ok. |
|
|
|
|
gorbash
Ufol
Posty: 4630 Skąd: Kraków
|
Wysłany: 5 Marca 2007, 13:47
|
|
|
Ixolite, ciesz sie ze wogole kod piszesz
Bo po Inzynierii to Cie moze tylko design softu i testow czekac |
_________________ You say coke I say caine. |
|
|
|
|
Rafał
.
Posty: 14552 Skąd: Że: Znowu:
|
Wysłany: 5 Marca 2007, 13:49
|
|
|
To w Basicu już się nie pisze?
A czy coś pozostało z TP4S? Robiłem nawet w tym program na obliczanie naprężeń w płytach i tarczach na podstawie metody warunków brzegowych, ale jakieś sto lat temu to było. |
|
|
|
|
Pako
Adam Zamoyski
Posty: 10680 Skąd: Gliwice
|
Wysłany: 5 Marca 2007, 14:06
|
|
|
TP4S? A nie TPS4? Tony Hawks Pro Skater?
TP to mi się tylko z Turbo Pascalem kojarzy, ale S na końcu nie pasuje mi nijak
Na dzień dzisiejszy programuje się głównie w:
- c++ - praktycznie wszystko, każda gra, każdy program, ogromne możliwości itp. itd.
- Object Pascal - nadaje się głównie do programów użytkowych, nie gier i te pe, chyba raczej odchodzi do lamusa powoli
- C# - do programowania na platformie .Net, M$owy odpowiednik platformy Java
- Java - do platform, stron internetowych, komórek i tym podobnych, dobre, bo cholernie przenośne
- php - skrypty na strony internetowe
I chyba tyle... asemblerem bawią się jednostki, inne języi też raczej odchodzą... No, jeszcze C jest, ale też chyba zanika, na rzecz młodszego brata.
BASIC dawno zdechł BO głupi był |
|
|
|
|
hjeniu
Wilq
Posty: 3913 Skąd: Zachodniopomorskie
|
Wysłany: 5 Marca 2007, 14:28
|
|
|
Pako jest jeszcze Delphi, Python, ADA tak z pamięci mimo, że się programowania wystrzegam jak diabeł święconej wody |
_________________ Idioci są świetni. Nic dziwnego, że każda wioska chce mieć swojego by Dr. House |
|
|
|
|
hrabek
Kapo di tutti frutti
Posty: 12475 Skąd: Szczecin
|
Wysłany: 5 Marca 2007, 14:31
|
|
|
Ja tez zawsze uciekalem przed programowaniem. Jak szedlem do pierwszej pracy (tej co mam obecnie, juz niedlugo), moj przyszly szef zrobil mi test. Test byl podzielony na dzialy, m. in. programowanie. Tylko ze programowanie to bylo w stylu: co robi petla for albo w jakim jezyku jest to napisane. W efekcie tylko z programowania mialem komplet punktow |
_________________ 5 zdań na temat |
|
|
|
|
Ixolite
Admirał Zwiebellus
Posty: 6116 Skąd: oni wiedzieli?
|
Wysłany: 5 Marca 2007, 14:35
|
|
|
gorbash napisał/a | Ixolite, ciesz sie ze wogole kod piszesz
Bo po Inzynierii to Cie moze tylko design softu i testow czekac |
To akurat ciekawe jest, przynajmniej projektowanie systemów, uml, te sprawy.
Tyle, że ja w grafikę idę, po inżynierii oprogramowania będę miał pracę dyplomową z grafiki komputerowej |
_________________ Alchemia Słowa
Well, my days of not taking you seriously are certainly coming to a middle. |
|
|
|
|
Pako
Adam Zamoyski
Posty: 10680 Skąd: Gliwice
|
Wysłany: 5 Marca 2007, 14:36
|
|
|
Delphi to Object Pascal właśnie
Python chyba tylko do skryptów jest używany, a i to nie w szerszym kontekście, jak mi się zdaje.
ADA - faktycznie, coś takiego było, coś się obiło o uszy
Są jeszcze inne języki - ale te co wymieniłem, są najpopularniejsze dla ludu. Czy fachowi programiści nie korzystają jeszcze z jakichś cudeniek to nie wiem.
A programowanie fajne jest, ma się poczucie tworzenia czegoś, kreacji programu, który czasem może się przydać Czy php - na któym można zarobić |
|
|
|
|
Ixolite
Admirał Zwiebellus
Posty: 6116 Skąd: oni wiedzieli?
|
Wysłany: 5 Marca 2007, 14:40
|
|
|
asp.net jest na przyklad |
_________________ Alchemia Słowa
Well, my days of not taking you seriously are certainly coming to a middle. |
|
|
|
|
hjeniu
Wilq
Posty: 3913 Skąd: Zachodniopomorskie
|
Wysłany: 5 Marca 2007, 15:20
|
|
|
Python jest dość popularny pod Linuksem, zdaje się Samo tworzenie algorytmów jest właściwie fajne (taka łamigłówka) ale jak mam coś napisać i uruchomić to ... Ixolite, standard ja miałem specjalizację (boże drogi jak to się nazywało ) coś ze wspomaganiem zarządzania w każdym razie a pracę pisałem o metodach kompresji dźwięku |
_________________ Idioci są świetni. Nic dziwnego, że każda wioska chce mieć swojego by Dr. House |
|
|
|
|
Pako
Adam Zamoyski
Posty: 10680 Skąd: Gliwice
|
Wysłany: 5 Marca 2007, 15:30
|
|
|
Eh... napiasnie czegoś, co działa i jest przydatne do tego, to fajna sprawa Wlaśnie wymyślanie algorytmów, jak coś zrobić to kaszana |
|
|
|
|
ra66it
Alien
Posty: 350 Skąd: src_ip
|
Wysłany: 5 Marca 2007, 20:39
|
|
|
Co chcesz od kaszany. Smaczna jest.
Czasem dobry pomysł przychodzi, gdy patrzy się na coś w inny sposób, nie siedząc przez cały czas w temacie. Kilka razy podrzucałem w ten sposób rozwiązania swojemu teściowi, który musiał oprogramować jakieś urządzenie lub przeanalizować dane.
Też pisałem pracę z grafiki ale kilka ładnych wiosen temu.
Nie zawsze pisze się najkrótszy tekst kodu specjalnie, by łatwiej było odczytać co on robi (kompilator i tak to zoptymalizuje, np. usunie nic nie znaczące fragmenty). To bardzo się przydaje, gdy musisz coś poprawić w programie po jakimś roku od jego napisania. |
|
|
|
|
Ixolite
Admirał Zwiebellus
Posty: 6116 Skąd: oni wiedzieli?
|
Wysłany: 5 Marca 2007, 20:46
|
|
|
ra66it napisał/a | Nie zawsze pisze się najkrótszy tekst kodu specjalnie, by łatwiej było odczytać co on robi (kompilator i tak to zoptymalizuje, np. usunie nic nie znaczące fragmenty). To bardzo się przydaje, gdy musisz coś poprawić w programie po jakimś roku od jego napisania. |
No nie wiem, od tego jest dokumentacja i komentarze
Ale ja generalnie jestem perfekcjonistą i zawsze staram się osiągnąć cel możliwie najefektywniej, czyli skracając tam gdzie się tylko da. |
_________________ Alchemia Słowa
Well, my days of not taking you seriously are certainly coming to a middle. |
|
|
|
|
gorbash
Ufol
Posty: 4630 Skąd: Kraków
|
Wysłany: 5 Marca 2007, 20:51
|
|
|
Z doswiadczenia moge powiedziec ze im kod czytelniejszy tym lepiej.
Nie oszczedzisz procka na kilku linijkach, a dzieki jasnemu stylowi ktos kiedys (niekoniecznie Ty) kto bedzie musial cos z tym zrobic, nie bedzie szukal rozpaczliwie Twojego adresu i najblizszego handlarza z bronia:)
EDIT: no chyba ze jestes pewien ze tylko Ty bedziesz z niego korzystal Wtedy mozna szalec |
_________________ You say coke I say caine. |
|
|
|
|
Ixolite
Admirał Zwiebellus
Posty: 6116 Skąd: oni wiedzieli?
|
Wysłany: 5 Marca 2007, 21:09
|
|
|
Hmm, chyba trochę nieprecyzyjnie się wyraziłem - staram się żeby kod był czytelny przez usuwanie zbędnych elementów, niepotrzebnie się powtarzających, zastępuję pewne rozwiązania innymi, wymagającymi mniej kodu itp., a potencjalne niejasności to domena komentarzy i dokumentacji. |
_________________ Alchemia Słowa
Well, my days of not taking you seriously are certainly coming to a middle. |
|
|
|
|
gorbash
Ufol
Posty: 4630 Skąd: Kraków
|
Wysłany: 5 Marca 2007, 22:38
|
|
|
W takim razie, calkowicie sie zgadzam |
_________________ You say coke I say caine. |
|
|
|
|
hrabek
Kapo di tutti frutti
Posty: 12475 Skąd: Szczecin
|
Wysłany: 6 Marca 2007, 10:37
|
|
|
Trzeba jeszcze wziac pod uwage, ze nie zawsze im mniej kodu, tym szybciej. W zwiazku z tym wycinanie na potege moze przyniesc skutek odwrotny do zamierzonego. Co prawda w programie liczacym miejsca po przecinku dla liczby Pi nie ma to kompletnie zadnego znaczenia, ale, jak to mowia: "czego sie Jas nie nauczy...", tudziez: "czym skorupka za mlodu nasiaknie...". |
_________________ 5 zdań na temat |
|
|
|
|
Pako
Adam Zamoyski
Posty: 10680 Skąd: Gliwice
|
Wysłany: 6 Marca 2007, 18:02
|
|
|
Heh... jak się kumpel męczył na ligę zadaniową, poprawiał, przemieniał, udziwniał... aż w końcu osiągnął czas najkrótszy z możliwych (znaczy najlepszy na liście, pierwsze miejsce
A kaszana może i smaczna, ale robić to nie... od tego mam ojca Niestety, algorytmów za mnie nie opracuje |
|
|
|
|
ra66it
Alien
Posty: 350 Skąd: src_ip
|
Wysłany: 6 Marca 2007, 20:42
|
|
|
Teoretycznie macie z tymi komentarzami i dokumentacją rację. W praktyce miałem kilka razy do czynienia z poprawianiem lub uzupełnianiem czegoś co napisali inni. Niestety komentarze może i były zrozumiałe - tyle, że wyłącznie dla autora, a dokumentacja nijak miała się do rzeczywistości.
Zgadzam się z countem. Najlepszym przykładem jest tzw. rekursja. W praktycznych rozwiązaniach, przy dużej liczbie danych znacznie szybciej działa kilkadziesiąt razy większy kod wykorzystujący zwykłe iteracje (przy okazji nie potrzebuje tyle pamięci). |
|
|
|
|
Ixolite
Admirał Zwiebellus
Posty: 6116 Skąd: oni wiedzieli?
|
Wysłany: 6 Marca 2007, 21:12
|
|
|
Tak na prawdę to wszystko zależy od sytuacji, a i tak prędzej czy później robi się burdel
Kiedyś próbowałem się bawić Brainfuck'iem, ale z braku czasu musiałem odpuścić, choć to interesujące wyzwanie |
_________________ Alchemia Słowa
Well, my days of not taking you seriously are certainly coming to a middle. |
|
|
|
|
Szara opończa
Alien
Posty: 368 Skąd: Skątownia
|
Wysłany: 31 Lipca 2007, 10:58
|
|
|
DO SPECJALISTOW OD VISTY!!!!!
Blagam o pomoc bo juz mi wszystkie rece opadly i sily juz nie mam... na priw prosze jak ktos chce sie podjac:) |
_________________ In the name of God, impure souls of the living dead shall be banished into eternal damnation. Amen |
|
|
|
|
GAndrel
Admirał Ackbar
Posty: 2486 Skąd: Wrocław
|
Wysłany: 31 Lipca 2007, 11:00
|
|
|
Zainstaluj Ubuntu. ;> |
_________________ GAndrel |
|
|
|
|
Ixolite
Admirał Zwiebellus
Posty: 6116 Skąd: oni wiedzieli?
|
Wysłany: 31 Lipca 2007, 11:43
|
|
|
Popieram przedpiścę |
_________________ Alchemia Słowa
Well, my days of not taking you seriously are certainly coming to a middle. |
|
|
|
|
hjeniu
Wilq
Posty: 3913 Skąd: Zachodniopomorskie
|
Wysłany: 31 Lipca 2007, 11:46
|
|
|
Ja także |
_________________ Idioci są świetni. Nic dziwnego, że każda wioska chce mieć swojego by Dr. House |
|
|
|
|
gorat
Modegorator
Posty: 13855 Skąd: FF
|
|
|
|
|
Ixolite
Admirał Zwiebellus
Posty: 6116 Skąd: oni wiedzieli?
|
Wysłany: 9 Stycznia 2008, 21:03
|
|
|
Wskrzeszę nieco ten temat:
Miał może ktoś, zwłaszcza z linuksowców, styczność z Flexem i Bisonem? (lex i YACC) |
_________________ Alchemia Słowa
Well, my days of not taking you seriously are certainly coming to a middle. |
|
|
|
|
Piech
Hieronim Berbelek
Posty: 3569 Skąd: Poznań
|
Wysłany: 20 Sierpnia 2008, 21:36
|
|
|
Jak zakodować takie cuś, że jak się najedzie wskaźnikiem na obrazek na stronie WWW, to on się zmienia na inny obrazek? (a jak się zjedzie, to wraca do poprzedniej wersji) |
_________________ Nie wyrabiam psychicznie, gdy skarpetki są nie do pary. |
|
|
|
|
|