Zaloguj się, aby obserwować  
UthersonL

Programowanie - pytania, problemy, przykłady programów

1812 postów w tym temacie

Dnia 16.01.2007 o 17:06, lampak napisał:

Pod C++ jest najwięcej bibliotek, jest bardzo uniwersalny. C# też jest fajny, za niedługo wykończy
Javę (stąd też ten język ci odradzam). To zależy, co chcesz pisać. Jeśli programy biurowe,
to lepszy może być C#. Jeśli jednak chciałbyć pójść w programowanie gier, to lepszy będzie
C++ - w przeciwieństwie do C#, który jest językiem interpretowanym, pogramy w C++ są kompilowane
do kodu maszynowego, w wyniku czego odrobinę szybciej działają. C++ jest językiem bardziej
uniwersalnym i nie jesteś w tym wypadku związany z platformą .NET. Osobiście doradzałbym C++,
ale to tylko moja opinia, każdy sądzi co innego.

sorry za podwójnego posta... ale jesteś w poważnym błędzie. c# nie jest interpretowany jak piszesz. języki spod .net''a są kompilowane do języka nazywanego MSIL (Microsoft Intermediate Language), który potem jest kompilowany w locie do kodu maszynowego.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 16.01.2007 o 17:33, lampak napisał:

> Nie za gwałtownie? Ja bym próbował raczej od Delphi, którego praktycznie do niczego się
nie używa...


Nie mam zbyt pochlebnego zdania o Delphi, według mnie to tylko taka średnio użyteczna zabawka dla początkujących lub leniwych programistów. :P
Późniejsze przejście na C++ może być trudniejsze z Delphi niż z Pascala, więc jeżeli już to lepiej zacząć od Pascala.

Dnia 16.01.2007 o 17:33, lampak napisał:

Może jednak to z zaczynaniem od Pascala jest niegłupie, choć jeśli
ktoś jest samoukiem, to kupowanie i czytanie książek o Pascalu (jeśli się taką dostanie, bo
prawdę mówiąc nigdy takiej nie widziałem) może być stratą czasu. Co innego na jakiś zajęciach,
w szkole itp., wtedy Pascal ma sens.


W sieci jest mnóstwo kursów dla Pascala, wystarczają one do nauczenia się ogólnych podstaw programowania, potem można przejść na C++ albo kształcić się dalej z Pascala z bardziej zaawansowanych kursów.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ja początkującemu programiście poleciłbym Python''a. Język ten w przystępny sposób w świat programowania obiektowego, jest stosunkowo łatwy do nauki, a przede wszystkim wymusza tworzenie czytelnego kodu, co zaprocentuje dobrym nawykiem w przyszłości.
Dokumentacja: http://www.python.org.pl/
Pobieranie: http://www.python.org/download/

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

nie sądzisz że python może okazać się ślepym zaułkiem dla początkującego? no i w kwestii czytelności... no cóż, powiem tylko że to raczej kwestia dyskusyjna ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 16.01.2007 o 17:33, lampak napisał:

(...) Co innego na jakiś zajęciach,
w szkole itp., wtedy Pascal ma sens.

Zgodzę się. Ja nigdy w szkole zajęć z Pascala nie miałem, bo w klasie humanistycznej w LO jest tylko jedna godzina technologii informacyjnej na 3 lata. ;) Jestem samoukiem, a książek nigdy nie kupowałem i swoje pierwsze programy robiłem metodą prób i błędów wzorując się czasem na jakimś kursie z czasopisma (pamiętne kursy Sławka Błyskala i Pawła Omelko z CD-Action - te durnowate dialogi pamiętam do dziś;)). Przy przesiadce na Delphi uświadomiłem sobie, jakie mam ogromne braki w wiedzy i przy nagromadzeniu materiału wymagającego nieco większej znajomości matematyki po prostu wysiadam. Choć wierzę oczywiście w samouków, którzy sami w zaciszu domowym robią fantastyczny software, to w moim przypadku jest to niezwykle trudne, gdyż żaden kurs i książka (przynajmniej te które znam) nie wyjaśniają dokładnie podstaw i co do czego służy (tu nie chodzi o prowadzenie za rączkę). Delphi właśnie może jest trochę zbyt "zautomatyzowane". Wrzucasz obiekt na formatkę w GUI i tylko przypisujesz procedurę bez jakiegoś specjalnego analizowania kodu.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 16.01.2007 o 22:22, penny napisał:

nie sądzisz że python może okazać się ślepym zaułkiem dla początkującego?

Nie sądzę. Bardzo mnie dziwi taka opinia. Pomijając już samą kwestię, że programy w Pythonie wciąż powstają i język jest aktywnie rozwijany, istnieją furtki w stylu np. Zope czy Jython, które umożliwiają przejście do innych, lepiej przystosowanych do tworzenia większych programów języków. Do niedużych projektów - a takie stanowią większość dorobku początkujących - Python jest dobrym wyborem. Co konkretnie masz mu do zarzucenia?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Do nauki C++ polecam "Symfonię C++" Jerzego Grębosza. Książka jest dość gruba, ale to przez niezliczoną ilośc przykładów ilustrujących każde zagadnienie. To odnośnie nauki :)

Ja natomiast ostatnio trochę się zdziwiłem, odpaliłem Visual Studio 2005 wybrałem aplikacje konsolową i.... nie mogłem skompilować najprostszego Hello World :/ czas chyba zajrzec do msdn, bo zwątpiłem w swoje umiejętności.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

nie chodzi mi bynajmniej o to, że python nie będzie się rozwijał :) moje zastrzeżenia w przypadku osób zaczynających programować w ogóle dotyczą czego innego. co mnie nastawia negatywnie to to, że w pewnym momencie mimo, że programowanie w pythonie jest możliwe, zaczyna wg. mnie tracić sens. to jednak może nie być problemem, bo w końcu zawsze można faktycznie się przesiąść na inne technologie. dużym problemem na pewno będzie to, że python jest dynamicznie typowanym językiem a błędy związane z nieodpowiednimi typami danych wychodzą (lub nie) dopiero w czasie działania programu. rozróżnienie między zwykłym stringiem a unicodem też może być problematyczne (no i jest co najmniej dziwne). no i na koniec, wg. mnie składnia języka nie jest specjalnie czytelna, ale to już moje subiektywne zdanie.

zauważ, że ja poleciłem dla początkującego c# i .net - głównie z dwóch powodów (a) wszystko co jest potrzebne łącznie z naprawdę dobrymi narzędziami programistycznymi i chyba najlepszą dokumentacją masz w jednym miejscu. wszytko jest ze sobą zgrane w zgrabny pakiet mający to co jest potrzebne zarówno początkującemu jak i zaawansowanemu użytkownikowi. jest naprawdę niewiele rzeczy, których nie dałoby się za pomocą tego zestawu dla początkujących zrobić, bez jakiegoś specjalnego wysiłku (b) to rozwiązanie jest bardziej ''foolproof'' i jest samo w sobie w stanie wiele nauczyć. używając samego VS i np. FxCop można się bardzo wiele dowiedzieć na temat błędów, które robi się samemu, a dzięki FxCop można wykryć błędy, które w pierwszej chwili nie wydają się nimi być.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 19.01.2007 o 13:59, Deejay napisał:

Program ma zliczać wszystkie znaki w tekście. Z góry dzięki :)

I kropki. Plik z dowolnym tekstem powinien znaleźć się w katalogu programu. Możesz też ustawić względną ścieżkę do pliku przy jego uchwycie (assign), np ''c:\bk.txt''. (tak się zwie, naturalnie nazwę pliku można sobie zmienić).
[Kompilowane na Dev_Pascal 1.9.2].

program licznik;
uses crt;
var
licznik_znakow: integer;
licznik_kropek: integer;
plik: text;
ch:char;
begin
assign(plik, ''bk.txt'');
reset(plik);
while not eof(plik) do
begin
read(plik,ch);
if ch=''.'' then licznik_kropek:=licznik_kropek+1;
licznik_znakow:=licznik_znakow+1;
end;
close(plik);
if licznik_kropek = 0 then exit
else writeln(''Znakow: '', licznik_znakow, '' Kropek: '', licznik_kropek);
writeln(''Nacisnij dowolny klawisz, aby zakonczyc'');
ch:=readkey;
end.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jeszcze jedna poprawka, żeby było zgodne z zapisem blokowym, trzeba jeszcze zaraz po pierwszym begin wyzerować zmienne:
licznik_kropek:=0;
licznik_znakow:=0;

Przy okazji, jeśli plik tekstowy nie będzie miał kropek (-> licznik_kropek = 0), nie wyświetli się żadna informacja.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wielkie dzięki! :)

Dnia 20.01.2007 o 00:49, Veilaine napisał:

Przy okazji, jeśli plik tekstowy nie będzie miał kropek (-> licznik_kropek = 0), nie wyświetli
się żadna informacja.


Żadna informacja tzn program się nie uruchomi... Błąd jak w obrazku.

A nie da rady tak zrobić żeby przy braku kropek pokazało "Kropek: 0", albo w ogóle nie pokazywało "Kropek:..." ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Już zrobiłem :)

program licznik;
uses crt;
var
licznik_znakow: integer;
licznik_kropek: integer;
plik: text;
ch:char;
begin
licznik_kropek:=0;
licznik_znakow:=0;
assign(plik, ''1.txt'');
reset(plik);
while not eof(plik) do
begin
read(plik,ch);
if ch=''.'' then licznik_kropek:=licznik_kropek+1;
licznik_znakow:=licznik_znakow+1;
end;
close(plik);
if licznik_kropek = 0 then writeln(''Znakow: '', licznik_znakow, '' Kropek: '', licznik_kropek)
else writeln(''Znakow: '', licznik_znakow, '' Kropek: '', licznik_kropek);
writeln(''Nacisnij dowolny klawisz, aby zakonczyc'');
ch:=readkey;
end.


Zastanawiam się tylko dlaczego od razu nie zrobiłeś tak jak ja...? Przecież tak jest poprawniej, że jak nie ma kropek to pisze "Kropek: 0" a nie zamyka program :)\
Ale bardzo ci dziękuję za pomoc, sam na pewno nie dał bym rady...

Pozdrawiam :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 20.01.2007 o 08:26, Deejay napisał:

Zastanawiam się tylko dlaczego od razu nie zrobiłeś tak jak ja...

Schemat blokowy wykluczył zakończenie programu zgodnie z Twoją wersją :). Blok decyzyjny (w kształcie rombu na schemacie) decyduje zakończyć program bez wyświetlania jakichkolwiek informacji, gdy zmienna <licznik_kropek = 0;>.

Zgodzę się, że program powinien dać znać użytkownikowi co i jak. Ale schemat blokowy jest, jaki jest :D

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

/ciach/
wiem :) zaraz to zauważyłem, ale nie chciałem trzeciego posta z rzędu pisać ;)
Tak ogólnie to w tym programie chodzi o to żeby obliczyć sobie średnią długość zdań. Teoretycznie każda kropka kończy zdanie więc jeśli podzielimy liczbę liter przez liczbę kropek to otrzymamy wynik :)

Jeszcze raz dziękuję za pomoc :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bardzo się nie znam ale wydaje mi się, że kody są pisane w języku C++. Przecież Microsoft wydał nawet program do robienia gier w C++. Ja osobiście trochę znam język Turbo Pascala i maczałem palce w C++ za pomocą Colobota :P. Mam nawet książke pt " Tworzenie gier 2D i 3D w języku Turbo Pascal" Piotra Besty (do nabycia w Empiku). Pascal jest według mnie dużo łatwiejszy od C++ i radzę za niego najpierw się zabrać.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 31.01.2007 o 19:32, Laska-z-Polski napisał:

Bardzo się nie znam ale wydaje mi się, że kody są pisane w języku C++. Przecież Microsoft wydał
nawet program do robienia gier w C++. Ja osobiście trochę znam język Turbo Pascala i maczałem
palce w C++ za pomocą Colobota :P. Mam nawet książke pt " Tworzenie gier 2D i 3D w języku Turbo
Pascal" Piotra Besty (do nabycia w Empiku). Pascal jest według mnie dużo łatwiejszy od C++
i radzę za niego najpierw się zabrać.

zgadzam się z tobą, język C++ należy do tej samej grupy co Pascal, ja w LO już nie długo będę miał znowu powrót do Pascala, co do C++, ten język wcale nie jest trudny:)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Utwórz konto lub zaloguj się, aby skomentować

Musisz być użytkownikiem, aby dodać komentarz

Utwórz konto

Zarejestruj nowe konto na forum. To jest łatwe!


Zarejestruj nowe konto

Zaloguj się

Masz już konto? Zaloguj się.


Zaloguj się
Zaloguj się, aby obserwować