[pascal]Obliczanie pola trójkąta

0

Witam
Mam takie pytanie/problem związane z obliczaniem pola trójkąta w pascalu.
Wzór na pole trójkąta to jedna druga a razy h więc tak zrobiłem:(przyjąłem że a ma 6 a h ma 2)

begin
write(0,5*6*2;)
readln;
end.

kliam ctrl+ f9 i zamiast wyniku 6 wyskakuje mi 060
Nie wiem co jest nie tak wiem że wszystko jest dobrze ale dlaczego nie wyskakuje 6 tylko 060?
Podobnie jest jak obliczam pole koła muszę wtedy przesuwać przecinek o dwa miejsca w prawo przykładowo ma wyjść 314. 15926536E+02
a wychodzi 3.1415926536E+02
Te +2 to znaczy że mam przesunąć kropkę w dwa miejsca w prawo tak?
To są moje takie dwa pytania i mam jeszcze jedno, jak można skopiować z Turbo pascala 7 kod który napisałem? zaznaczam klikam copy i nie chce się wklejać nigdzie poza pascalem, czy da się coś zrobić żeby skopiować kod z pascala na forum itp.?
Jestem początkujący więc nie jedzcie po mnie.

pzdr.

0

Co do pierwszego

WriteLn(Liczba:Szerokość:Ilosc_miejsc_po_przecinku);
WriteLn(PI:0:2); // wynik 3.14

co do drugiego, to pojadę bo to NIE ma nic wspólnego z programowaniem. Pascal pracuje w trybie DOS i z takowego nie możemy komunikować się ze schowkiem. Masz dwa wyjścia: Borland Pascal dla Win lub zapisać plik na dysku, otworzyć go notatnikiem i z notatnika wkleić do schowka.

0

ok dziękuje za wyjaśnienie ale dalej nie rozumiem dlaczego mi wychodzi 060 tzn. co zrobić żeby wyszło samo 6
Mógłby ktoś napisać gotowy kod co mam wpisać? jedna druga a razy h czyli pole trójkąta i dane są
a=6 i h=2

0

write(0,562:0:2)

powinno wyjsc 6,00, dasz :0:0 bedzie 6

0

eh... tu chodzi o to, że gdy np. wyjdzie ci coś takiego: 3.1415926536E+02 to nie jest nic innego niż liczba 3.1415926536 * 102 (E+02 => 102) pascal automatycznie przesuwa przecinek tak aby były jedności a potem już wartości za przecinkiem

to co podali koledzy (np :0:0) to jest tak - pierwszy :0 mówi kompilatorowi ile miejsc po przecinku pokazać, a drugie :0 usuwa wyrażenie E+x i zamiast niego pokazuje dziesiątki, setki itd.
jeśli gdzieś się pomyliłem to mnie poprawcie ;)

0

Odpowiedź na pierwsze pytanie udzielę tak, aby nie było niejasności:

Write(0,5*6*2);  // przecinek

{oznacza to samo co:}

Write(0);
Write(5*6*2); // stąd 060
Write(0.5*6*2);  // kropka

{oznacza to samo co:}

Write(6.0);
0

Gierwazy: mylisz się co do tych dwukropków, racje ma Adam.
Pierwsza liczba to minimalna szerokość Write(123:5, 1234:5, 12:5) wyświetli:

  123 1234   12 //chodzi tu o spacje

A druga liczba, to liczba cyfr po przecinku, które zostaną pokazane.

Za to co do kopiowania, to Adam się myli:P.

Da się kopiować: p-klik na belce okna, Edytuj -> Oznacz.
Oznaczamy, potem enter i już, voila, skopiowane.
Aby wkleić: p-klik, Edytuj -> Wklej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0