ďťż

Ładny brzuch

Mam takie 2 zadanka:
http://img118.exs.cx...8902/zad4jn.jpg

Tu jest PIERWSZE:

program wyrazenie;
uses crt;
var
x,y,b,c,d,wynik:real;
begin;
clrscr;
writeln('Podaj liczbe x');
readln(x);
writeln('Podaj liczbe y');
readln(y);
writeln('Podaj liczbe b');
readln(B);
writeln('Podaj liczbe c');
readln©;
writeln('Podaj liczbe d');
readln(d);
clrscr;
wynik:=(x*x*x/(sin(2*x)+sqrt(y))+tg(x)+b*(c+d/(y*(cos*cos)(x)));
writeln('Wynik dzialania to: ',wynik);
readln;
end.

a tu DRUGIE:

program dzialania;
uses crt;
var
x,y:real;
suma,roznica,iloczyn,iloraz,srednia:real;
begin
clrscr;
writeln('Podaj 1 liczbe:');
readln(x);
writeln('Podaj 2 liczbe:');
readln(y);
suma:=x+y;
roznica:=x-y;
iloczyn:=x*y;
iloraz:=x/y;
srednia:=(x+y)/2;
clrscr;
writeln('Suma liczb ',x:4:2,' i ',y:4:2,' wynosi: ',suma:4:2);
readln;
writeln('Roznica liczb ',x:4:2,' i ',y:4:2,' wynosi: ',roznica:4:2);
readln;
writeln('Iloczyn liczb ',x:4:2,' i ',y:4:2,' wynosi: ',iloczyn:4:2);
readln;
writeln('Iloraz liczb ',x:4:2,' i ',y:4:2,' wynosi: ',iloraz:4:2);
readln;
writeln('Srednia arytmetyczna liczb ',x:4:2,' i ',y:4:2,' wynosi: ',srednia:4:2);
readln;
begin
if ((x mod 2)=0) and ((y mod 2)=0) then
writeln('Obie liczby sa parzyste');
else
writeln('Jedna z liczb nie jest parzysta');
end;
readln;
end.

gdzie tu sa blędy?

---------------------------------------------------------------------------------------------------
Pentium 4 2,6 GHz HT; Radeon 9600 XT Sapphire; 512 DDR 400 MHz Kingston; Asus P4P800; Win XP Professional + Service Pack 2



cytat:rObO87 napisał:
{...}
gdzie tu sa blędy?

A sprawdziłeś, że jakieś w ogóle są, czy po prostu zwalasz to na nas ?

PS.
Co do pierwszego zadania to wydaje mi się, że chodziło tylko o podanie samego wyrażenia a nie pisanie całego programu.
I zamiast (cos*cos)(x) dałbym raczej Sqr(cos(x)).

ICQ : 245-363-570 | TLEN : oxisoft | GG : 486-2-486

program dzialania; uses crt; var x,y:integer; suma,roznica,iloczyn,iloraz,srednia:real; begin  clrscr;  writeln('Podaj 1 liczbe:');  readln(x);  writeln('Podaj 2 liczbe:');  readln(y);  suma:=x+y;  roznica:=x-y;  iloczyn:=x*y;  iloraz:=x/y;  srednia:=(x+y)/2;  clrscr;  writeln('Suma liczb ',x,' i ',y,' wynosi: ',suma:4:2);  readln;  writeln('Roznica liczb ',x,' i ',y,' wynosi: ',roznica:4:2);  readln;  writeln('Iloczyn liczb ',x,' i ',y,' wynosi: ',iloczyn:4:2);  readln;  writeln('Iloraz liczb ',x,' i ',y,' wynosi: ',iloraz:4:2);  readln;  writeln('Srednia arytmetyczna liczb ',x,' i ',y,' wynosi: ',srednia:4:2);  readln; [s]begin[/s]  if ((x mod 2)=0) and ((y mod 2)=0) then    writeln('Obie liczby sa parzyste')[s];[/s]  else     writeln('Przynajmniej jedna z liczb nie jest parzysta'); [s]end;[/s]  readln; end.

Na czerwono zaznaczyłem to, co zmieniłem. Ponieważ masz sprawdzić, czy liczby są parzyste, to muszą to być liczby całkowite (bo przy liczbach rzeczywistych nie można mówić o parzystości i nieparzystości).

Pozdrawiam i zapraszam na *** www.windowsik.prv.pl ***

cytat:rObO87 napisał:

Mam takie 2 zadanka:
http://img118.exs.cx...8902/zad4jn.jpg

Tu jest PIERWSZE:

program wyrazenie;
uses crt;
var
x,y,b,c,d,wynik:real;
begin;
clrscr;
writeln('Podaj liczbe x');
readln(x);
writeln('Podaj liczbe y');
readln(y);
Wprowadzam 0 lub liczbę mniejszą od 0.cytat:
writeln('Podaj liczbe b');
readln(B);
writeln('Podaj liczbe c');
readln©;
writeln('Podaj liczbe d');
readln(d);
clrscr;
wynik:=(x*x*x/(sin(2*x)+sqrt(y))+tg(x)+b*(c+d/(y*(cos*cos)(x)));
Błąd! Poza tym co to jest cos*cos? Zapisz tak, jak ci Oxi radził.cytat:
writeln('Wynik dzialania to: ',wynik);
readln;
end.

a tu DRUGIE:

program dzialania;
uses crt;
var
x,y:real;
suma,roznica,iloczyn,iloraz,srednia:real;
begin
clrscr;
writeln('Podaj 1 liczbe:');
readln(x);
writeln('Podaj 2 liczbe:');
readln(y);
Wprowadzam 0.cytat:
suma:=x+y;
roznica:=x-y;
iloczyn:=x*y;
iloraz:=x/y;
Błąd!cytat:
srednia:=(x+y)/2;
clrscr;
writeln('Suma liczb ',x:4:2,' i ',y:4:2,' wynosi: ',suma:4:2);
readln;
writeln('Roznica liczb ',x:4:2,' i ',y:4:2,' wynosi: ',roznica:4:2);
readln;
writeln('Iloczyn liczb ',x:4:2,' i ',y:4:2,' wynosi: ',iloczyn:4:2);
readln;
writeln('Iloraz liczb ',x:4:2,' i ',y:4:2,' wynosi: ',iloraz:4:2);
readln;
writeln('Srednia arytmetyczna liczb ',x:4:2,' i ',y:4:2,' wynosi: ',srednia:4:2);
readln;
begin
if ((x mod 2)=0) and ((y mod 2)=0) then
writeln('Obie liczby sa parzyste');
else
writeln('Jedna z liczb nie jest parzysta');
Przynajmniej jedna z liczb nie jest parzysta. Bo obie mogą być nieparzyste...cytat:
end;
readln;
end.

gdzie tu sa blędy?

Generalnie nie sprawdzasz wprowadzanych liczb, jak i nie sprawdzasz, czy np. suma czy iloczyn mieszczą się w zakresie liczb real.

pozdrawiaMM



cytat:
A sprawdziłeś, że jakieś w ogóle są, czy po prostu zwalasz to na nas ?

Tak, sprawdziłem. Jest błąd typu "mismatch" (to hyba niewłaściwa zmienna) i że, nie zna funkcj Tg (w Pascalu są tylko Sin i Cos:? Jak zapisać Tg i Ctg :?)
Co należało by zrobić by f. trygonometryczne były liczone dla stopni?

---------------------------------------------------------------------------------------------------
Pentium 4 2,6 GHz HT; Radeon 9600 XT Sapphire; 512 DDR 400 MHz Kingston; Asus P4P800; Win XP Professional + Service Pack 2

cytat:rObO87 napisał:

cytat:
A sprawdziłeś, że jakieś w ogóle są, czy po prostu zwalasz to na nas ?

Tak, sprawdziłem. Jest błąd typu "mismatch" (to hyba niewłaściwa zmienna) i że, nie zna funkcj Tg
I nie mogłeś tego od razu napisać ?
Zresztą teraz skoro piszesz o błędzie mismatch to mógłbyś podać w której linijce go wywala.
Chociaż pewnie chodzi o błąd który poprawił Ci Favex.

Zanim napiszesz kolejne posty/tematy poczytaj sobie to -> http://www.ks-eksper...p?TOPIC_ID=1792

cytat:(w Pascalu są tylko Sin i Cos:? Jak zapisać Tg i Ctg :?)
Jeśli ich nie ma to oblicz sobie je za pomocą sin i cos.

cytat:
Co należało by zrobić by f. trygonometryczne były liczone dla stopni?
Nie ma potrzeby zmieniać funkcji.
Przed wstawieniem kąta do funkcji przelicz go ze stopni na radiany.

Jeśli dobrze pamiętam to (pi*kąt_w_stopniach)/180

ICQ : 245-363-570 | TLEN : oxisoft | GG : 486-2-486

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •