Program z całkami

2011-10-11 15:08
Katrin17
0

Witam!
Chciałam napisac program, obliczający 2 całki z 2 funkcji liniowych. Oto mój program, niestety sie nie komplikuje, jeśli ktoś wie na czym polega błąd proszę o odpowiedź. :)

//*************************************************
//** Obliczanie całki oznaczonej metodą Simpsona **
//** ------------------------------------------- **
//** (C)2004 mgr Jerzy Wałaszek  I LO w Tarnowie **
//*************************************************

program int_simpson;
function f(x : double) : double;
begin
  f := x * x + 2 * x;
end;
const N = 10; //liczba punktów podziałowych
var
  xp,xk,s,st,dx,x : double;
  i : integer;
begin
  writeln('Obliczanie calki oznaczonej');
  writeln;
  writeln('f(x) = x * x + 2 * x');
  writeln;
  writeln('Podaj poczatek przedzialu calkowania');
  writeln;
  write('xp = '); readln(xp);
  writeln;
  writeln('Podaj koniec przedzialu calkowania');
  writeln;
  write('xk = '); readln(xk);
  writeln;
  s  := 0; st := 0;
  dx := (xk - xp) / N;
  for i := 1 to N do
  begin
    x  := xp + i * dx;
    st := st + f(x - dx / 2);
    if i < N then s := s + f(x);
  end;
  s := dx / 6 * (f(xp) + f(xk) + 2 * s + 4 * st);
  writeln('Wartosc calki wynosi : ',s:8:3);
  writeln;
  writeln('Nacisnij klawisz Enter...');
  readln;
end;
  writeln('Obliczanie drugiej calki oznaczonej');
   writeln;
  writeln('f(x) = x * x  * x+ 2 * x');
  writeln;
  writeln('Podaj poczatek przedzialu calkowania');
  writeln;
  write('xp = '); readln(xp);
  writeln;
  writeln('Podaj koniec przedzialu calkowania');
  writeln;
  write('xk = '); readln(xk);
  writeln;
  s  := 0; st := 0;
  dx := (xk - xp) / N;
  for i := 1 to N do
  begin
    x  := xp + i * dx;
    st := st + f(x - dx / 2);
    if i < N then s := s + f(x);
  end;
  s := dx / 6 * (f(xp) + f(xk) + 2 * s + 4 * st);
  writeln('Wartosc calki wynosi : ',s:8:3);
  writeln;
  writeln('Nacisnij klawisz Enter...');
  readln;
end.
edytowany 1x, ostatnio: madmike, 2016-12-13 18:26
Gdybyś miał obliczyć 100 to też byś pisał sto razy to samo jedno pod drugim? Dowiedz się do czego służą pętle program z tego co widzę (bez kompilatora) nie kompiluje się bo jest niepotrzebny end; nad writeln('Obliczanie drugiej calki oznaczonej'); ale zaznaczam że gdybym był wykładowcą to bym Ci dał pałę za pisanie w ten sposób. - kAzek 2011-10-11 15:48
1. Z kontekstu pierwszego zdania wynika, że Katrin17 to ona. 2. Żeby to jeszcze ona sama napisała. Niestety raczej źle przepisała: http://edu.i-lo.tarnow.pl/inf/alg/004_int/0004.php#Pascal - simplex 2011-10-11 16:00

Pozostało 580 znaków

2011-10-11 15:39
0

no super ze sie nie kompiluje szkoda ze nic nie wiem na temat bledu

Pozostało 580 znaków

2011-10-11 16:59
0

Oto mój program

// Obliczanie całki oznaczonej metodą Simpsona
// -------------------------------------------
// (C)2004 mgr Jerzy Wałaszek I LO w Tarnowie

A więc panie Jerzy, panu ten kod od 7 lat się nie kompiluje?

niestety sie nie komplikuje

Jak się nie myśli, się na lekcji nie uważa, to się ma potem takie problemy...
Szkoda, że nie podzielił się pan błędami, panie Jerzy...
Nawet kodu nie potrafi pan porządnie skopiować...
A teraz mamy dla pana zadanie: niech pan gapi się w ten kod dopóty, dopóki nie odnajdzie pan w nim błędu:

  readln;
 end;
   writeln('Obliczanie drugiej calki oznaczonej');

Pozostało 580 znaków

2011-10-11 17:17
Katrin17
0

Witam!
No tak wiem, ze sporo błędów, ale jestem dopiero w 3 gimnazjum, więc o całkach nie mam znacznego pojecia, a bierzemy to jakby powiedziec "dla chętnych" , nie wiedziałam jak sie dokońca za to zabrac, wiem skorzystałam z kodu z 1 LO w Tarnowie, ale po to, ze mniej więcej wiedziec jak to zrobic w Free Pascalu , znaczy że dwie funkcje, a nie jedna.Dziękuję, za podpowiedź, żeby skorzystac z pętli.
P.S. Można sie mylic będąc w gimnazjum dopiero, nie jestem na studiach.....

Katrin, popełniłaś wiele błędów z artykułu na temat tego jak nie zadawać pytań (http://rtfm.killfile.pl/). W zasadzie powinnaś zachować nazwisko autora oryginalnego programu, ale nie wiem jakby do tego podszedł Twój nauczyciel. To co próbujesz ogarnąć to całkowanie numeryczne, o wiele prostsze od zwykłych całek. Na twój użytek wystarczy że będziesz wiedziała, że liczysz pole pod krzywą. Więcej dowiesz się tutaj: http://www.algorytm.org/proce[...]meryczne-metoda-simpsona.html i tutaj: http://pl.wikipedia.org/wiki/Ca%C5%82kowanie_numeryczne - vpiotr 2011-10-12 12:36

Pozostało 580 znaków

2011-10-11 21:49
0
Katrin17 napisał(a)

Witam!
No tak wiem, ze sporo błędów, ale jestem dopiero w 3 gimnazjum, więc o całkach nie mam znacznego pojecia, a bierzemy to jakby powiedziec "dla chętnych" , nie wiedziałam jak sie dokońca za to zabrac, wiem skorzystałam z kodu z 1 LO w Tarnowie, ale po to, ze mniej więcej wiedziec jak to zrobic w Free Pascalu , znaczy że dwie funkcje, a nie jedna.Dziękuję, za podpowiedź, żeby skorzystac z pętli.
P.S. Można sie mylic będąc w gimnazjum dopiero, nie jestem na studiach.....

I powiesz mi po co w gimnazjum kodzić program obliczający całki?

Pozostało 580 znaków

2011-10-11 21:54
0

A nie można było sobie wziąć czegoś co się rozumie, lub choćby prostszego? To, że ja rozumiałem zastosowanie całek w gimnazjum nie znaczy, że ty też to ogarniesz. Ja na zakończenie gimnazjum na odczepnego zrobiłem program szyfrujący XOR'em, przy kluczu generowanym przy pomocy SHA512 podzielonym na 4 części i przechaszowanym raz jeszcze. Działało nawet nawet, ale sądzę, że pierwszy lepszy kryptolog by się tym zajął w trymiga.


Pokaż pozostałe 9 komentarzy
@somekind, a stosujesz dodawanie w jakimś w konkretnym i sensownym celu? Dodawanie jest szczególnym przypadkiem całkowania. - bogdans 2011-10-14 16:08
No tak, a skalar jest szczególnym przypadkiem macierzy. Pytanie tylko, czemu dzieci, które od 1 klasy podstawówki uczą się rachunku całkowego i macierzowego mają potem problem ze zdaniem matury z matematyki? ;) A tak na serio - po prostu nie podoba mi się to, że dopiero po sześciu latach znajduję zastosowanie czegoś, czego się uczyłem (i zdążyłem zapomnieć), i raczej nie jestem w tym wyjątkiem. Myślę, że matematyki na studiach powinno się uczyć tak, aby nikt nie zastanawiał się "po co mi to?", lecz od razu na jakichś praktycznych przykładach. Albo w ogóle metodą top-down. - somekind 2011-10-14 22:48
To prawda, matematyka jest o wiele ciekawsza jeśli ma jakieś praktyczne uzasadnienie. Dlatego nie lubiłem na studiach ciał, grup i tym podobnych abstrakcji algebry liniowej. Być może gdybym wiedział do czego służą byłoby inaczej... Pod tym względem ciekawsze są książki anglo-języczne (być może dlatego że jest ich więcej), ale też nie zawsze. Np. Eli Maor w "E: the story of a number" pokazuje z iloma rzeczami wiąże się liczba e i jak na jej podstawie obliczyć np. Pi: integral(0, +inf, e<sup>(-x</sup>2/2)) = sqrt(Pi/2) - vpiotr 2011-10-15 11:20
No ja nie wiem czy liczenie Pi jest praktyczne. :P - somekind 2011-10-15 12:13
Polskie książki też bywają ciekawe jak np. "Przez rozrywkę do wiedzy", gdzie mamy podane zagadnienia oraz ich zastosowanie rozrywkowe. - hauleth 2011-10-15 13:01

Pozostało 580 znaków

Liczba odpowiedzi na stronę

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