Zaloguj się, aby obserwować  
UthersonL

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

1812 postów w tym temacie

Dnia 14.12.2009 o 17:50, Mec1223 napisał:

Mam do zrobienia program ktory bedzie pokazywal wszystkie nominaly pln i euro za pomoca
tablic. Pozniej na zadac pytanie w jakich srodkach chcemy otrzymac wyplate wybieramy
np 1 i to jest w pln. Wpisujemy pozniej kwote a program na powiedziec ze w 1200.5 miesci
sie 6*200 i 1 gr. Prosze o szybko pomoc

Co to znaczy pomoc? Masz problem z algorytmem, czy z samym programowaniem? A jak z tym drugim, to w jakim języku?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 14.12.2009 o 17:55, hans_olo napisał:

> Mam do zrobienia program ktory bedzie pokazywal wszystkie nominaly pln i euro za
pomoca
> tablic. Pozniej na zadac pytanie w jakich srodkach chcemy otrzymac wyplate wybieramy

> np 1 i to jest w pln. Wpisujemy pozniej kwote a program na powiedziec ze w 1200.5
miesci
> sie 6*200 i 1 gr. Prosze o szybko pomoc
Co to znaczy pomoc? Masz problem z algorytmem, czy z samym programowaniem? A jak z tym
drugim, to w jakim języku?


>> Jest to robione w Free Pasclu wiec mam problem w zrealizowaniu calego programu

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Witam!
Mam pytanie: Czy Visual basic 2008 bardzo różni się od 2005?
Pytam bo w sklepach więcej książek jest o VB2005, a o VB2008 tylko:Visual Basic 2008. Warsztat programisty
Nie dość, że jedna to jeszcze tylko 400 stron. Czy jak na razie nauczę się VB2005 to będzie później łatwo mi "przeskoczyć" na nowszą wersję?
A - czy używając języka Visual Basic 2005 można programować w
Visual Basic 2008 Express Edition?
Z góry dzięki za odpowiedzi.
Pozdrawiam

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

/.../
http://www.panopticoncentral.net/archive/2007/06/27/21113.aspx - spora dyskusja nt. różnic między Visual Basic''iem 2008 i wcześniejszymi wersjami. Wedle tego co czytam, to różnice są dość duże.
http://en.wikipedia.org/wiki/Visual_Basic - z tego zaś można się dowiedzieć, że, cytuję:
"It is not backwards compatible with VB6. An automated conversion tool exists, but fully automated conversion for most projects is impossible."

Oczywiście mogę się mylić, moja znajomość tego języka jest bliska zera, ale wygląda na to, że lepiej od razu zacząć od 2008.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dzięki za odp.
Mam jeszcze do Ciebie kilka pytań.
1. Czy warto zaczynać naukę od C++?
2. Jakie książki polecasz?
3. Ile lat zajmuje opanowanie podstaw tego języka?
Z góry dzięki za odpowiedzi.
Pozdrawiam

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 17.12.2009 o 13:32, Growin napisał:

1. Czy warto zaczynać naukę od C++?

Pół na pół. Z jednej strony to dobry język, z drugiej ciężko od niego zaczynać - należy mieć chociaż jako takie rozeznanie w takich pojęciach jak zmienne, pętle, warunki. Tak zupełnie na start to niezły jest Python, od antyków pokroju Pascala bym się trzymał z daleka.
Ewentualnie naprawdę niezłym pomysłem jest Java, w zasadzie będąca rozwiniętą, bardziej obiektową wersją C++. Ma choćby takie "bajery" jak wsparcie dla wielu procesorów, który to problem w C++ jest trudny do ominięcia.

Dnia 17.12.2009 o 13:32, Growin napisał:

2. Jakie książki polecasz?

Świetna na początek jest "C++ pierwsze starcie". Nie pisana językiem uniwersyteckim, w miarę zrozumiała w odbiorze. Tylko podstawy programowania obiektowego mogły być nieco lepiej wyjaśnione, choć to moja subiektywna opinia. Odradzam za to http://helion.pl/ksiazki/cpojez.htm - tu chyba trzeba mieć magistrat z matmy, żeby coś z tego zrozumieć.

Dnia 17.12.2009 o 13:32, Growin napisał:

3. Ile lat zajmuje opanowanie podstaw tego języka?

Sama składnia i zastosowanie języka to kilka miesięcy, do roku. Z tym, że na tym etapie i tak jeszcze nic nie umiemy (choć możemy uczestniczyć w dość skomplikowanych projektach i zdobywać dodatkową wiedzę). Poznanie możliwości np. biblioteki STL może trwać latami, są nawet książki przeznaczone tylko temu.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 17.12.2009 o 13:46, ziptofaf napisał:

> 1. Czy warto zaczynać naukę od C++?
Pół na pół. Z jednej strony to dobry język, z drugiej ciężko od niego zaczynać - należy
mieć chociaż jako takie rozeznanie w takich pojęciach jak zmienne, pętle, warunki.

Sama teoria? To nie jest źle.

Dnia 17.12.2009 o 13:46, ziptofaf napisał:

Ewentualnie naprawdę niezłym pomysłem jest Java, w zasadzie będąca rozwiniętą, bardziej
obiektową wersją C++. Ma choćby takie "bajery" jak wsparcie dla wielu procesorów, który
to problem w C++ jest trudny do ominięcia.

O języku Java myślałem, ale to dopiero chyba trochę później

Dnia 17.12.2009 o 13:46, ziptofaf napisał:

> 2. Jakie książki polecasz?
Świetna na początek jest "C++ pierwsze starcie". Nie pisana językiem uniwersyteckim,
w miarę zrozumiała w odbiorze. Tylko podstawy programowania obiektowego mogły być nieco
lepiej wyjaśnione, choć to moja subiektywna opinia.

Dzięki. A jakie masz zdanie na temat "symfonia C++"?

Dnia 17.12.2009 o 13:46, ziptofaf napisał:

> 3. Ile lat zajmuje opanowanie podstaw tego języka?
Sama składnia i zastosowanie języka to kilka miesięcy, do roku. Z tym, że na tym etapie
i tak jeszcze nic nie umiemy (choć możemy uczestniczyć w dość skomplikowanych projektach
i zdobywać dodatkową wiedzę). Poznanie możliwości np. biblioteki STL może trwać latami,
są nawet książki przeznaczone tylko temu.


Ja wychodzę z założenie, że szkoła i tak mnie niczego nie nauczy. Ogólnie chodzi o to, że minąłem się trochę z powołaniem (jestem w 3 klasie technikum, na kierunku, który mnie w ogóle nie interesuje) i chciałbym sam, po szkole/po pracy uczyć się w domu programowania. Czy taka nauka może mnie do czegoś doprowadzić (studia, praca, cokolwiek)?

Udostępnij ten post


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

Sama teoria? To nie jest źle.

W moim przypadku to nie była teoria, a praktyka. Ale jeśli rozumiesz jak to działa, to jakoś sobie poradzisz.

Dnia 17.12.2009 o 13:59, Growin napisał:

O języku Java myślałem, ale to dopiero chyba trochę później

Przesiadka z C++ do Javy? Wykonalne, nawet dosyć proste. Choć chyba lepiej od razu uczyć się nowszego języka. C++ nie bez powodu lada moment doczeka się aktualizacji.

Dnia 17.12.2009 o 13:59, Growin napisał:

Dzięki. A jakie masz zdanie na temat "symfonia C++"?

Jak ja widzę dwutomowego potwora mającego blisko 1300 stron, to mam o nim negatywną opinię - podejrzewam, że nie ma sensu inwestować w coś takiego. I tak programowanie to przede wszystkim praktyka, a nie teoria, tej ostatniej wcale nie potrzeba tak wiele.

Dnia 17.12.2009 o 13:59, Growin napisał:

Ja wychodzę z założenie, że szkoła i tak mnie niczego nie nauczy. Ogólnie chodzi o to,
że minąłem się trochę z powołaniem (jestem w 3 klasie technikum, na kierunku, który mnie
w ogóle nie interesuje) i chciałbym sam, po szkole i po pracy (za 2 lata) uczyć się w
domu programowania. Czy taka nauka może mnie do czegoś doprowadzić (studia, praca, cokolwiek)?

Studia - zdasz matmę, fizę i infę i idziesz na kierunek informatyczny. Ale samo programowanie cię do tego nie doprowadzi.
Praca - wątpię. Kogoś bez wiedzy uniwersyteckiej dzisiaj już raczej ot tak nie przyjmą...
Cokolwiek - Co roku do wielu firm zatrudniane są osoby, które się w jakiś sposób wykazały. Mod do gry, wyjątkowo ładna mapa itp. i nagle dostajesz propozycję pracy np. z ID Software. Z tym, że to się zdarza raczej wśród jednostek ponadprzeciętnych. Tym niemniej szansa istnieje.

Udostępnij ten post


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

Ja wychodzę z założenie, że szkoła i tak mnie niczego nie nauczy. Ogólnie chodzi o to,
że minąłem się trochę z powołaniem (jestem w 3 klasie technikum, na kierunku, który mnie
w ogóle nie interesuje) i chciałbym sam, po szkole/po pracy uczyć się w domu programowania.
Czy taka nauka może mnie do czegoś doprowadzić (studia, praca, cokolwiek)?


nauka... programowania uczysz sie pisząc kod - wyznaczasz sobie jakiś cel i osiągasz go wszystkimi srodkami jakie daje Ci używany aktualnie jezyk. studia są ważne, dają podstawy, kształtują sposób myślenia, ale konkretne języki poznaje się klepiąc kod codziennie, najlepiej juz na samym początku studiów szukać pracy w tym kierunku - zdobywać doświadczenie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 17.12.2009 o 13:32, Growin napisał:

1. Czy warto zaczynać naukę od C++?

Zależy co chcesz osiągnąć. Jeżeli interesuje cię nauczenie się szybkiego pisania użytecznych programów to zapomnij o C++ i sięgnij po Javę. W zależności od ilości przeznaczonego na naukę czasu po miesiącu-dwóch będziesz w stanie pisać już użyteczne okienkowe programiki, które będą coś robiły. Z C++ to się nie uda.

Ale... Jeżeli masz zamiar nauczyć się programować, a niekoniecznie języka, i jeżeli jesteś sumienny i potrafisz sam sobie stawiać wysokie wymagania (ponieważ C++ jest bardzo tolerancyjny i przełknie na prawdę dużo śmiecia, do tego nie wymusza na tobie pisania obiektowo) to C++ wydaje się nie najgorszym wyborem. Bo żeby zrozumieć podstawy programowania i tak większość czasu spędzisz nie na samym programowaniu, a na rozwiązywaniu typowych problemów wyniki zapisując zwykle korzystając z tzw. pseudokodu. A że podstawy c++ są banalne, to potem konwersja pseudokod->program żeby sprawdzić, czy to co wymyśliłeś działa w c++ jest łatwe i nie będzie wymagać zapisywania masy linijek kodu.

Dnia 17.12.2009 o 13:32, Growin napisał:

2. Jakie książki polecasz?

Podręcznik do angielskiego i książkę do matematyki. Serio. A właściwie nie tyle matematyki co logiki. Jeśli interesuje cię programowanie na poważnie zacznij od rachunku zdań i predykatów, potem możesz sięgnąć za podstawy algorytmiki. Po tym przyjdzie czas na przyswajanie sobie na poważnie któregoś z języków. Można zacząć np. z "Thinking in C++/Java" Bruce'a Eckela. Wersje anglojęzyczne znajdziesz za darmo w sieci.

Co prawda możesz zacząć od nauki jeżyka zamiast od nauki sposobu rozwiązywania typowych problemów, ale... przejrzyj kilka ostatnich postów z tego tematu. Jeśli nie będziesz stawiał sobie odpowiednich wymagań to będziesz mieć problemy jak ziptofaf z rozwiązaniem najprostszego zadania, bo zamiast najpierw rozwiązać problem będziesz od razu pisał program. I kod zamiast 4 linijek będzie miał ich kilkadziesiąt.

Dnia 17.12.2009 o 13:32, Growin napisał:

3. Ile lat zajmuje opanowanie podstaw tego języka?

Wszystko zależy co rozumiesz za podstawy. Jeśli podstawami rozumieć rozwiązywanie typowych problemów to kilka tygodni. Jeżeli pisanie użytecznych programów okienkowych, to może potrwać to dłużej. Standardowo C++ jest dość ubogi i do tego żeby stał się użyteczny musisz poznać albo napisać własnych wiele dodatkowych bibliotek.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 17.12.2009 o 14:28, vBoguSv napisał:

I kod zamiast 4 linijek będzie miał ich kilkadziesiąt.

Jakiego tam najprostszego zadania? Dla mnie to był problem prawie nie do przeskoczenia :D Zazwyczaj piszę bez limitów czasu i efekty są "nieco" lepsze, a tutaj w 1 dzień się męczyłem z dokańczaniem 2 zupełnie różnych, to później wychodzą zabugowane aplikacje.
Zresztą samo porównywanie miało bodajże 11 linijek, a nie kilkadziesiąt ^^

A, moje pytanko - polecacie jakieś podręczniki bezpośrednio do Qt (lub aplikacji graficznych jako takich)? Bo się męczę z tworzeniem aplikacji graficznych, które mają działać na Windowsie i Linuxie i to jedyny znany mi sposób. Jedyny problem jest taki, że na razie to co najwyżej zegar daję radę wstawić.

PS Wiem, że są poradniki online itp., ale jakoś w ogóle nie potrafię się z tego uczyć. Potrzebna mi normalna, drukowana książka, najlepiej z jakimiś przykładami i zadaniami.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jak juz zeszla dyskusja na C++, to co jest lepsze C/C++/C# czy moze D? ;-)
Kiedys probowalem kilka razy podchodzic do C, ale jakos nie przypadl mi do gustu ten jezyk... Jakiego zatem jezyka w miare prostego do ogarniecia byscie polecali, ale takze takiego z mozliwosciami?
Moze VB czy Java?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 17.12.2009 o 22:30, ziptofaf napisał:

> I kod zamiast 4 linijek będzie miał ich kilkadziesiąt.
Jakiego tam najprostszego zadania? Dla mnie to był problem prawie nie do przeskoczenia


Bo nie masz podstaw. Dla kogoś kto nie wie co to jest dodawanie i mnożenie to układ równań z dwoma niewiadomymi też jest nie do przeskoczenia. I tak, ciągle uważam to zadanie za podstawowe, pokazujęce że potrafi się przeanalizować problem zanim zabierze się do pisania programu. Coś tego typu zadałbym się aplikanotwowi na stanowisko programisty na rozmowie kwalifikacyjnej do napisania, bo proste, do rozwiązania w kilkanaście minut i świetnie pokazuje z jakim typem programisty mam do czynienia. I niestety twoje rozwiązanie od razu skreśla twoją kandydaturę bez głębszej analizy kodu. Nie dlatego, że nie działa, bo może działa. Ale...

Raz, że chaotyczne napisane - ale załóżmy że to wina formatowania forum - to dwa, popełniłeś podstawowy błąd. Użyłeś breaków, tam gdzie to wcale nie jest wymagane. Co oznacza, że albo jesteś leniwy i nie chciało ci się analizować problemu - a lenia zatrudniać nie potrzepuję - albo nie potrafić analizować problemów - czyli kogoś takiego też nie potrzebuję, bo jeśli mam myśleć za niego to mi jest do niczego nie potrzebny.

Nie znaczy to że nie umiesz programować, może potrafisz i masz na koncie kilka-kilkanaście poważniejszych programów. Ale twój kod pokazuje, że dużo jeszcze przed tobą nauki. Podstaw i pracy nad czytelnością kodu, bo przy tym co zaprezentowałeś nie nadajesz się do pracy w zespole - twój kod jest mało przejrzysty - a programowanie solo jest nieekonomiczne.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 17.12.2009 o 22:53, vBoguSv napisał:

Nie znaczy to że nie umiesz programować, może potrafisz i masz na koncie kilka-kilkanaście
poważniejszych programów. Ale twój kod pokazuje, że dużo jeszcze przed tobą nauki. Podstaw
i pracy nad czytelnością kodu, bo przy tym co zaprezentowałeś nie nadajesz się do pracy
w zespole - twój kod jest mało przejrzysty - a programowanie solo jest nieekonomiczne.


Z tym się zgodzę w zupełności. Uczciwie przyznam, nigdy nie miałem okazji pisać dużej aplikacji w grupie. Stąd też i moje olbrzymie zaległości w tej dziedzinie, których się raczej z dnia na dzień nie pozbędę. Kiedyś pewnie tak, jak zmusi mnie do tego sytuacja (czyli mówiąc po ludzku, gdy tylko będę mieć okazję).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Mam pytanie a propo szkolnego TP, a mianowicie mam program z wykorzystaniem biblioteki Graph:

PROGRAM Fraktale;
USES Crt, Graph;
VAR s, t: integer;
BEGIN
DetectGraph(s, t);
Readln;
InitGraph(s, t, ''C:\Program Files\TP\BGI'');
SetColor(blue);
Circle(320,240, 40);
Repeat Until Keypressed;
CloseGraph;
Readln;
END.

Wie ktoś może, dlaczego mimo tego, że wszystko jest niby poprawnie, program mi nie działa, pojawia się błąd, który wmawia mi, że muszę użyć procedury InitGraph, chcąc korzystać z poleceń graficznych? Ścieżka do BGI jest poprawna, mam moduł Graph, do którego poprawnie jest ustawiona ścieżka w Directories.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wreszcie zabrałem się za naukę C :D.
Problem jest taki, że mniej więcej kojarzę algorytm, ale jak zwykle nie potrafię go przełożyć na język.

Zrobiłem coś takiego (w założeniu ma tworzyć histogram długości słów wejściowych)

int c, i, j, length;
int ndigit[10], lengthtab[10];

length=j=0;
for(j=0;j<10;++j)
lengthtab[j]=0;
for(j=0;j<10;++j)
lengthtab[j]=0;
for(j=0;j<10;++j)
ndigit[j]=0;
j=0;

while((c=getchar())!=EOF){
if(c>=''0''&& c<=''z''){
length=length+1;
}
else if(c=='' ''||c==''\n''||c==''\t''){
lengthtab[j]=length;
}
printf("dlugosc=%d\n",lengthtab[j]);
length=0;
++j;
}
for(j=0;j<10;++j){
if(lengthtab[j]>=''0''&& lengthtab[j]<=''z''){
++ndigit[lengthtab[j]-''0''];
}
}

j ma być numerem kolejnego słowa i wskazywać na miejsce w tablicy długości słów. Następnie chcę stworzyć tablicę ndigit mierzącą powtarzalność długości słów dla histogramu. Próbowałem juz róznych cudów i wychodziły mi z tego cuda niewidy ;]. Jakaś pomoc?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Mam jakieś postępy, ale teraz już na prawdę nie wiem jak zliczyć powtarzalność wyników w tablicy ;]
int c, i, j, length;
int ndigit[10], lengthtab[10];

length=j=0;
for(j=0;j<10;++j){
lengthtab[j]=0;
ndigit[j]=0;
}
j=0;
while((c=getchar())!=EOF)
if(c>=''0''&& c<=''z''){
length=length+1;
}
else if(c=='' ''||c==''\n''||c==''\t''){
lengthtab[j]=length;
length=0;
++j;
}
for(j=0;j<10;++j)
printf("dlugosc=%d\n",lengthtab[j]);

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A nie prościej zrobić tablicę powiedzmy 20-elementową i gdy trafimy na wyraz 3 literowy to do komórki 3 dodajemy wartość 1?
Np.
else if(c=='' ''||c==''\n''||c==''\t''){
lengthtab[length] = lengthtab[length] + 1;
length=0;

W ten sposób dostaniesz tablicę w której kolejne elementy będą oznaczać ilość wystąpień słów o danej długości.
lengthtab[1] - ilość słów jednoliterowych
lengthtab[2] - ilość słów dwuliterowych
itp.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 06.01.2010 o 16:57, Volvox napisał:

A nie prościej zrobić tablicę powiedzmy 20-elementową i gdy trafimy na wyraz 3 literowy
to do komórki 3 dodajemy wartość 1?
Np.
else if(c=='' ''||c==''\n''||c==''\t''){
lengthtab[length] = lengthtab[length] + 1;
length=0;

W ten sposób dostaniesz tablicę w której kolejne elementy będą oznaczać ilość wystąpień
słów o danej długości.
lengthtab[1] - ilość słów jednoliterowych
lengthtab[2] - ilość słów dwuliterowych
itp.


Dzięki - wgląda na to, że muszę myśleć bardziej na skróty ;].

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Witam, mam problem z zadaniem z informatyki.
Treść brzmi następująco:
Napisz (w Turbo Pascalu) program wyświetlający na ekranie kwadraty stu kolejnych liczb całkowitych.
Poszczególne liczby oddziel przecinkami.

Mój problem polega na tym ,że zamiast liczb (wyników) program wyświetla cały czas ,,FALSE"

Kod:

program ZadaniePierwsze;
uses CRT;
var a,c,i :REAL;

{Napisz program wyświetlający na ekranie kwadraty stu kolejnych liczb całkowitych.
Poszczególne liczby oddziel przecinkami}


procedure licz;
begin
i:= 0;
writeln(''Podaj a:''); readln(a);
repeat
i:= i+1;
write (a*a=c,'','');
a:= a+1;
until i= 100;
end;

procedure start(Potegowanie:string);
begin
Clrscr; writeln (''Autor:PP');
writeln (''Zadanie1'');
end;

procedure czekaj;
begin
writeln;
writeln (''Aby zakonczyc program nacisnij Enter'');
readln;
end;


begin
start(''Potegowanie'');
licz;
czekaj;
halt;
end.

20100117194100

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ć