Jump to content


Photo

kalkulator w Pascalu. POMOCY


  • This topic is locked This topic is locked
2 replies to this topic

#1 kylczyslaw

kylczyslaw
  • Użytkownicy
  • 5 posts

Posted 17 April 2010 - 20:56

Witam. Jestem nowy i mam pewien problem. Jako zadanie na ocene cel. na koniec roku z informatyki, nauczyciel zlecił mi napisać kalkulator w Pascalu. Kalkulator jest napisany, fajnie itd. ale wyświetla mi dziwne wyniki, np. jeśli biorę 2 liczby dajmy na to 1 1, wybieram sumę to wynik wychodzi 2.00000000000000E+000. Czy da się zrobić tak, żeby zamiast tych zer po kropce i E+000 wychodziło normalnie 2?

Kalkulator wygląda tak:
program kalkulator;
uses CRT;
var a,b : real;
wybor: integer;

function dodaj ( x, y: real) : real;
var s: real;
begin
s:=x+y;
dodaj:=s;
end;

function odejmij( x,y :real) : real;
var r: real;
begin
r:=x-y;
odejmij:=r;
end;

function pomnoz( x,y: real) : real;
var n: real;
begin
n:= x*y;
pomnoz:=n;
end;

function podziel ( x,y: real): real;
var z: real;
begin
z:=x/y;
podziel:=z;
end;
begin
writeln('Podaj liczby: ');
readln(a);
readln(:sweet:;
writeln('Co chcesz obliczyc?? ');
writeln(' 1- suma, 2-roznica, 3- iloczyn, 4-iloraz');
writeln( 'Wybierz 1 lub 2 lub 3 lub 4');

readln(wybor);
case wybor of
1: begin
writeln('Suma liczb wynosi: ');
writeln(dodaj(a,xD);
end;
2: begin
writeln('Roznica liczb wynosi: ');
writeln(odejmij(a,B));
end;
3: begin
writeln('Iloczyn liczb wynosi: ');
writeln(pomnoz(a,B));
end;
4: begin
writeln('Iloraz liczb wynosi: ');
writeln(podziel(a,B));
end;
else
writeln('Wolno wybrac tylko 1, 2, 3, 4');
end;
repeat until keypressed;
end.



Czy muszę w nim coś jeszcze poprawić czy taki wynik musi wychodzić?
  • 0


#2 michzimny

michzimny
  • Użytkownicy
  • 16 posts

Posted 05 May 2010 - 20:05

to co wyświetla to tzw. postać naukowa
to przed E to mantysa, a za E to cecha
jeśli zapis wygląda tak: xxxEyyy to oznacza to liczbę xxx*(10^yyy)

aby wyświetlać liczbę w bardziej zjadliwym formacie piszemy:
write(liczba:A::eek:;
gdzie A to maksymalna ilość cyfr wyświetlanej liczby, a B to ilość cyfr po przecinku

czyli
write(liczba:5:3);
będzie wyświetlać liczbę z maks. 3ema miejscami po przecinku
  • 0

#3 kylczyslaw

kylczyslaw
  • Użytkownicy
  • 5 posts

Posted 10 May 2010 - 14:23

dzięki ale już to poprawiłem :) wyczytałem na jakiejś stronie i możliwe, że 6 na koniec gimnazjum będzie z informatyki ;]
  • 0


2 user(s) are reading this topic

0 members, 2 guests, 0 anonymous users