Droga Czytelniczko, Drogi Czytelniku,

Czerniak złośliwy jest często występującym nowotworem złośliwym skóry. Niestety wyniki leczenia czerniaka w Polsce należą do najgorszych w Europie. Niezrozumiałe pozostają przyczyny późnego rozpoznawania czerniaka skóry, którego diagnostyka jest najprostszą i najtańszą w całej onkologii.

Kierujemy do Ciebie prośbę o wypełnienie anonimowej ankiety, która pozwoli na ocenę naszej wiedzy o czerniaku skóry, a w szczególności o profilaktyce i leczeniu tej choroby.
Czas jaki to zajmie - około 10-15 minut.

Czy chcesz pomóc w badaniach naukowych - odpowiedzieć na nasze pytania?

TAK, wypełniam
NIE, odmawiam

Zebrane informacje wykorzystane zostaną wyłącznie do celów naukowych
Polski Serwis Naukowy - OnLine od 1999 roku RSS RSS
  auto?
Czwartek, 31 maja 2012
Petronia, Bożysława, Ernestyna, Teodor
 1891: budowa Kolei Transsyberyjskiej
 1970: zagłada miasta Yungay w Peru
 WHO: Dzień bez Papierosa
Dodaj do: 
Dodaj link do serwisu Facebook   Dodaj link do opisu GG  Dodaj link do serwisu Wykop   Dodaj link do serwisu Google   Dodaj link do serwisu Twitter  Dodaj link do serwisu Wyczaj.to   Dodaj link do serwisu Gwar  

Dodaj link do serwisu Delicious  Dodaj link do serwisu Digg   Dodaj link do serwisu Furl   Dodaj link do serwisu Reddit   Dodaj link do serwisu Slashdot  Dodaj link do serwisu Technorati   Dodaj link do serwisu YahooMyWeb
Nowe publikacje
Artykuły
Wydarzenia
Kompendium
Skocz do:  
Problem z programikiem w Pascalu :) - prosze o pomoc
Przesunięty przez: idgi - |1 Wrz 2008|, 2008 21:59
Post dodany: |16 Gru 2006|, 2006 14:49
Data rejestracji: 16 Gru 2006 postów: 10
cytuj
" "

Chciałem zrobic programa który dodaje i odejmuje 2 czasy np.: 2:30:29 + 2:40:30 = 5:10:59 lub 2:20:30 - 1:10:10 = 1:10:20
Ale program który napisałem nie da się skompilowac :/
o to on:

program czasy;

uses crt;

var

H1, H2, M1, M2, S1, S2, H, M, S: Integer;
znak: Char;

procedure Czas1(H1, M1, S1: Integer);
begin
writeln;
write('podaj 1 czas wciskajac spacje po podaniu liczby godzin i minut ');
readln(H1, M1, S1);
writeln;
end;

procedure Czas2(H2, M2, S2: Integer);
begin
writeln;
write('podaj czas 2 wciskajac spacje po podaniu liczby godzin i minut ');
readln(H1, M1, S1);
writeln;
end;

procedure Suma(H1, H2, M1, M2, S1, S2: Integer; H, M, S: Integer);


begin
H:= H1 + H2;

begin
M:= M1 + M2;

begin

if M >= 60 then
(H+1) and (M - 60)

begin
S:= S1 + S2;

begin

if S >= 60 then
(M + 1) and (S - 60)
end;
end;
end;
end;
end;

procedure Roznica(H1, H2, M1, M2, S1, S2: Integer; H, M, S: Integer);

begin

H:= H1 - H2;

begin
M:= M1 - M2;

begin

if M < 0 then
((H * 60) - M) mod 60:= M
and
((H * 60) - M) div 60:= H

begin
S:= S1 - S2

begin
if S < 0 then
((M * 60) - S) mod 60:= M and
((M * 60) - S) div 60:= S
end;
end;
end;
end;
end;


procedure Wynik(H, M, S: Integer);

begin
writeln;
writeln('wynik: ',H, M, S);
writeln;
end;

procedure Menu;
begin
writeln('PAMIETAJ ! 1 CZAS MUSI BYC WIEKSZY OD 2 CZASU !');
writeln('wcisnij 1 zbey podac 1 czas');
writeln('wcisnij 2 zeby podac 2 czas');
writeln('wcisnij S zeby obliczyc sume dwoch czasow');
writeln('wcisnij R zeby obliczyc roznice dwoch czasow');
writeln('wcisnij W zeby podac wynik');
writeln('wcisnij ESC zeby zakonczyc prace programu');
end;

begin
clrscr;
Menu;
znak:= #0
while znak <> #27 do
begin
if keypressed then
begin
znak:= ReadKey;
while Keypressed do Readkey
end;
case UpCase(znak) of
'1':begin
Czas1;
end;
'2':begin
Czas2
end;
'S':begin
Suma;
end;
'R':begin
Roznica;
end;
'W':begin
Wynik;
end;
#27:Exit;
else if znak<> then write(znak);
end;
if znak<> #0 then Menu;
znak:= #0;
end;

zgóry dziękuje za poprawienie błędów :) !!

Profil
PW
»więcej


 
^
Post dodany: |16 Gru 2006|, 2006 14:56
Data rejestracji: 30 Lis 2006 postów: 1550
cytuj
" "

Napisz jaki błąd wyskakuje podczas kompilacji.


wymiennik


Profil
PW
»więcej


 
^
Post dodany: |16 Gru 2006|, 2006 15:02
Data rejestracji: 16 Gru 2006 postów: 10
cytuj
" "

wymiennik napisał/a
Napisz jaki błąd wyskakuje podczas kompilacji.


wymiennik



sa 2:

- Illegal expression
- Syntax error, '';'' expected but "BEGIN" found

wystepuja w procedurze Suma:

begin // tutaj w begin cos nie tak :/
S:= S1 + S3

Nie wiem czy nie ma jescze jakis :/
z góry dzięki za odpowieź :)

Profil
PW
»więcej


 
^
Post dodany: |16 Gru 2006|, 2006 17:15
Data rejestracji: 30 Lis 2006 postów: 1550
cytuj
" "

Dawno juz nie pracowałem w Pascalu, ale postaram się coś pomóc.
Strasznie dużo tych begin'ów i end'ów nawciskałes tam. Chyba niepotrzebnie. Pozwoliłem sobie zmienić trochę ten kod. Zobacz, czy teraz będzie działać. Nie wiem czy przypadkiem w procedurze kodu głównego tez nie ma gdzieś błędów.
Wrzuć to co napisałem i sprawdź czy działa.

Prośba na następny raz. Wklejej swój kod jako kod (przycisk 'Code') a nie jako zwykły tekst ponieważ trudno jest się w tym połapać jak nie ma wcięć i które end'y są do którego begin'a.

Kod
procedure Suma(H1, H2, M1, M2, S1, S2: Integer; H, M, S: Integer);

begin

H:= H1 + H2;

M:= M1 + M2;

if M >= 60 then
(H+1) and (M - 60)

S:= S1 + S2;

if S >= 60 then
(M + 1) and (S - 60)

end;

procedure Roznica(H1, H2, M1, M2, S1, S2 Integer; H, M, S Integer);

begin

H= H1 - H2;

M= M1 - M2;

if M < 0 then
begin
((H 60) - M) mod 60= M;
((H 60) - M) div 60= H;
end;

S= S1 - S2;

if S 0 then
begin
((M 60) - S) mod 60= M;
((M 60) - S) div 60= S
end;

end;



wymiennik


Profil
PW
»więcej


 
^
Post dodany: |16 Gru 2006|, 2006 18:17
Data rejestracji: 16 Gru 2006 postów: 10
cytuj
" "

No zorbiłem tak jak mówiłes ale znowu jest jakis błąd:

- Illegal Expression
- Syntax error, ";" expected but "indentyfier S" found

bład jest w procedurze suma:

...
(H + 1) and (M + 1)

S:= S1 + S2; // w tej linijce konkretnie :/

if S >= 60 then
...

z góry dzięki :)

ok bede uzywał tego "code" sory ale wczesniej nie wiedziałem :/

Profil
PW
»więcej


 
^
Post dodany: |16 Gru 2006|, 2006 18:44
Data rejestracji: 30 Lis 2006 postów: 1550
cytuj
" "

Może chodzi o brak średnika w linijce wcześniej.
Kompilator pisze, że oczekuje ";" a znajduje "identyfikator S".


wymiennik


Profil
PW
»więcej


 
^
Post dodany: |16 Gru 2006|, 2006 19:03
Data rejestracji: 16 Gru 2006 postów: 10
cytuj
" "

wymiennik napisał/a
Może chodzi o brak średnika w linijce wcześniej.
Kompilator pisze, że oczekuje ; a znajduje identyfikator S.


wymiennik


jak zrobiłem ten średnik to mi wyskoczyły takie błędy:

-Illegal expression
(H + 1) and (M - 60); // tutaj jest bład

-Illegal expression
if S>= 60 then
(M + 1) and (S - 60)
end; // w tej linijce

-Variable identyfier expected
((H * 60) - M) mod 60:= M // w tej linijce

-Syntax error, ";" expected but ":=" found
((H * 60) - M) div 60:= H // w tej linijce

z góry dzięki za odpo :)

Profil
PW
»więcej


 
^
Post dodany: |16 Gru 2006|, 2006 19:18
Data rejestracji: 30 Lis 2006 postów: 1550
cytuj
" "

Jeśli mozesz to wklej cały kod. Ten guzik pod tematem postu. Bo nic z tego nie wiem.
Jeśli kompilator pisze np. Syntax error, ";" expected but ":=" found to oznacza, że on oczekuje średnika linijke wcześniej, a znajduje zupełnie coś innego.

Nie rozumiem jeszcze jednego.
Kod
if M >= 60 then
(H+1) and (M - 60)

if S >= 60 then
(M + 1) and (S - 60)


Co program ma zrobić jeśli M i S będzie większe lub równe od 60. Bo chyba cośtu nie gra w tej części kodu. Napisz słowami co program ma zrobić w momecnie gdy M i S >= 60, bo nie rozumiem tego co napisane jest w tej części kodu.


wymiennik


Profil
PW
»więcej


 
^
Post dodany: |16 Gru 2006|, 2006 19:47
Data rejestracji: 16 Gru 2006 postów: 10
cytuj
" "

wymiennik napisał/a
Jeśli mozesz to wklej cały kod. Ten guzik pod tematem postu. Bo nic z tego nie wiem.
Jeśli kompilator pisze np. Syntax error, ; expected but := found to oznacza, że on oczekuje średnika linijke wcześniej, a znajduje zupełnie coś innego.

Nie rozumiem jeszcze jednego.
Kod
if M >= 60 then
(H+1) and (M - 60)

if S >= 60 then
(M + 1) and (S - 60)


Co program ma zrobić jeśli M i S będzie większe lub równe od 60. Bo chyba cośtu nie gra w tej części kodu. Napisz słowami co program ma zrobić w momecnie gdy M i S >= 60, bo nie rozumiem tego co napisane jest w tej części kodu.


wymiennik


jeżeli m jest wieksze lub równe 60 to wtedy program ma dodac 1 do H (czyli liczby godzi) i odjac od m (liczby minut) 60, no i analogicznie z S !! Tylko ze zamiast H jest M i samiast M jest S :)

mysle ze ta procedura musi tak wygladac zebysmy w pewnych przykładach nie wystepował ujemny wynik jak na przykład:
2:30:30 - 1:50:30 = 0:40:0 a nie 1:-20:0
o to chodzi w tej procedurze !!!

Profil
PW
»więcej


 
^
Post dodany: |16 Gru 2006|, 2006 20:18
Data rejestracji: 30 Lis 2006 postów: 1550
cytuj
" "

Wynik jakiejkolwiek operacji matematycznej musisz zapisać do jakiejś zmiennej. Nie możesz zrobić tego tak jak zrobiłeś.
Musiałoby to wyglądać następująco:
Kod

if M >= 60 then
begin
Z1:=H+1;
Z2:=M - 60;
end;

if S >= 60 then
begin
Z3:=M + 1;
Z4:=S - 60;
end;


To samo tutaj:
Kod

if M < 0 then
begin
M:=((H * 60) - M) mod 60;
H:=((H * 60) - M) div 60;
end;

S= S1 - S2;

if S < 0 then
begin
M:=((M * 60) - S) mod 60;
H:=((M * 60) - S) div 60;
end;


Najpierw zmienna pod którą podpisujesz operacje matematyczną a nastepnie operacja matematyczna; nie na odwrót.

Na końcu całego kodu ma być end z kropką, a ty chyba miałeś z średnikiem.

Popraw to i skompiluj. Zobaczymy co wyjdzie. Napisz co i jak.


wymiennik


Profil
PW
»więcej


 
^
Skocz do:  
Wyświetl posty z ostatnich:   
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Wersja do druku
Dodaj temat do Ulubionych





Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group