GRY-Online.pl --> Archiwum Forum

Pascal, potrzebna szybka pomoc w napisaniu programu.

19.04.2010
13:31
smile
[1]

R1D [ Pretorianin ]

Pascal, potrzebna szybka pomoc w napisaniu programu.

Witam, jestem w szkole i mamy zadanie napisać program w pascalu, przelicznik Fahrenheit na Celsjusze, Mile na Kilometry i Galony na litry, powiem szczerze nie wiem jak się do tego zabrać, lekcje mam do 14:30 może pomożecie mi przynajmniej początek lub powiecie jak ma wyglądać tylko 1, to będę mógł sobie resztę napisać, napisałem zmienne i nie wiem co dalej, proszę o pomoc.

19.04.2010
14:00
smile
[2]

jagged_alliahdnbedffds [ Rock'n'Roll ]

Około coś takiego.

uses crt;

var
Tc,Tf:real; ‹Temperatura odpowiednio w Celsjuszach i Fahrenheit'ach›

begin
write('Podaj temperature w Fahrenheitach: ');
readln(Tf);
Tc:=5/9 * (Tf - 32);
write('Podana temperatura w Celsjuszach wynosi: ', Tc:0:2);
readkey;
end.



edit. Na odwrót ma być, bo zrobiłem z C na F. Już poprawione...

19.04.2010
14:07
smile
[3]

R1D [ Pretorianin ]

Dzięki wielkie :]

19.04.2010
14:09
[4]

Alien.pl [ Generaďż˝ ]

Tyle to powinieneś sam wykombinować w czasie pisania postu na tym forum. Ach lenistwo nie zna jednak granic.

24.04.2010
22:54
smile
[5]

R1D [ Pretorianin ]

ok, napisałem coś takiego, a może mi to ktoś poprawić i zrobić tak, aby po wyliczeniu pokazało się zapytanie, "Czy chcesz obliczyć coś jeszcze" po czym użytkownik musi wybrać tak albo nie i jak wybierze nie wyjdzie z programu a jak tak znowu pokaże menu?.

uses crt;

var
liczba:real;
menu:byte;
x:integer;
begin

clrscr;
writeln('1. F na C');
writeln('2. C na F');
writeln('3. Mila na Km');
writeln('4. Km na Mile');
writeln('5. Galony na Litry');
writeln('6. Litry na Galony');
readln(menu);


case menu of
1:begin


writeln('podaj ilosc stopni F :');
readln(liczba);
writeln('Ilosc stopni C to:');
writeln((liczba-32)/1.8:8:2);


end;

2:begin

writeln('podaj ilosc stopni C :');
readln(liczba);
writeln('Ilosc stopni F to:');
writeln(liczba*1.8+32:8:2);

end;

3:begin

writeln('podaj ilosc mil :');
readln(liczba);
writeln('Ilosc Km to:');
writeln(liczba*1.85166:8:2);

end;

4:begin

writeln('podaj ilosc km :');
readln(liczba);
writeln('Ilosc Mil to:');
writeln(liczba*0.621:8:2);

end;

5:begin

writeln('podaj ilosc Galonow :');
readln(liczba);
writeln('Ilosc Litrow to:');
writeln(liczba*4.54561:8:2);

end;

6:begin

writeln('podaj ilosc L :');
readln(liczba);
writeln('Ilosc Galonow to:');
writeln(3.78541178);

end;

end;

readln;
end.

24.04.2010
22:58
[6]

Didier z Rivii [ life 4 sound ]

nie ma czegoś takiego jak ilość kilometrów/stopni/litrów, te jednostki są policzalne więc można mówić tylko o liczbie a nie o ilości

24.04.2010
23:01
[7]

R1D [ Pretorianin ]

ok, zmienię sobie ale może wiesz jak zastosować pętle żeby rozwiązać mój problem? :P

24.04.2010
23:06
[8]

Didier z Rivii [ life 4 sound ]

za casem zrob pytanie "Czy chcesz obliczyć coś jeszcze?" i wczytaj do zmiennej odpowiedz literę T lub N
case i to pytanie zamknij w środku pętli repeat:

repeat

...
tutaj case i to pytanie
...

until (odpowiedz =N)

EDIT: no wlasnie zapomnialem o zainicjowaniu wartosci zmiennej, ech ide spac i [9] dostales ladnie opisane jak to zrobic :)

24.04.2010
23:14
[9]

jagged_alliahdnbedffds [ Rock'n'Roll ]

Na początku tego całego menu dodaj:

ponow:=false;


...a końcu:

writeln('Czy chcesz obliczyc cos jeszcze? (Tak/Nie)');
readln(czy);
if czy='Tak' then ponow:=true;



W var dodaj:

czy:string;
ponow:boolean;



A całe menu daj w pętli np.:

repeat
begin
<menu>
end
until not ponow;

24.04.2010
23:35
smile
[10]

R1D [ Pretorianin ]

będę szczery, nie wychodzi mi to, robię po kolei i po wpisaniu danych mi zadaje to pytanie i nie pokazuje wyniku, mógłbyś to wpleść w ten program? :]

24.04.2010
23:58
smile
[11]

R1D [ Pretorianin ]

up

w 2, tylko mamy takiego niedorobionego nauczyciela, że z 5 godzin wraca na 30 minut, sprawdza obecność i znowu wychodzi, dlatego tak w tyle jesteśmy.

25.04.2010
00:01
[12]

unclesam [ Generaďż˝ ]

Z ciekawości, jesteś w 1. technikum ?

25.04.2010
00:11
[13]

jagged_alliahdnbedffds [ Rock'n'Roll ]

R1D
W Twoim programie jest 7 beginów, a tylko 6 endów. Popraw całość i musi działać!


edit. Wielu możliwości nie ma, próbuj.

25.04.2010
00:13
smile
[14]

R1D [ Pretorianin ]

Działa, chodzi o to że wyświetla mi to pytanie przed obliczeniem wyniku, czyli nie wiem gdzie to dokładnie wkleić :/

EDIT : ok, popróbuje jutro bo teraz juz mi się oczy kleją, Dobranoc.

25.04.2010
00:21
[15]

DEXiu [ Senator ]

Postaraj się sam znaleźć błąd. Najtrudniejsze w tworzeniu programu (może nie tyle najtrudniejsze co najżmudniejsze) nie jest jego wymyślanie czy klepanie a debugowanie (czyli znajdowanie i naprawianie wszelkich błędów i niedoróbek). Prześledź w kodzie cały przebieg wykonania programu (zgodnie z wyborami, których dokonywałeś podczas nieudanego odpalenia) i sam wymyśl, dlaczego komunikat pojawił się w niewłaściwym momencie.

25.04.2010
12:40
smile
[16]

jagged_alliahdnbedffds [ Rock'n'Roll ]

Jak to mawiał mój wykładowca i równocześnie ćwiczeniowiec z WDI:
"Program nie musi działać, musi być przejrzyście napisany."

Co jest prawdą, bo łatwo do takiego programu wtedy coś dodać, szybko znaleźć.

26.04.2010
00:40
smile
[17]

R1D [ Pretorianin ]

Zrobiłem to, ale inaczej, zapętliłem a do menu dodałem nowa linijkę "Wyjście z programu" i tak mi się bardziej podoba, dzięki wszystkim za pomoc.

© 2000-2025 GRY-OnLine S.A.