Co jest w tym programie nie tak?
Bo oczywiście, ale on nie działa
Licze na jakieś wskazówki, gdzie ten błąd może być.
program Funkcja;
var x,bez,P,U:real; tytul: string; z,i:integer;
procedure CzytajDane (var x:real);
begin
write ('Podaj x: ');
readln(x)
end;
function Bezwzgledna(x:real): real;
begin
if x=1) and (x0 then
begin
Ulamek(x);
end;
end;
end.
Co jest w tym programie nie tak
- yorgin
- Użytkownik
- Posty: 12762
- Rejestracja: 14 paź 2006, o 12:09
- Płeć: Mężczyzna
- Lokalizacja: Kraków
- Podziękował: 17 razy
- Pomógł: 3440 razy
Co jest w tym programie nie tak
W Twoim programie w niektorych funkcjach pojawia sie taka implementacja:
I jeszcze jedno: wartaloby by byl blok wykonawczy programu, bo na samych deklaracjach sie on nie konczy...
To tylko przyklady, a blad w nich a takze w innych tkwi w tym, ze w poleceniu "writeln" umieszczasz odwolanie do wypisania wartosci liczby Pierwiastek badz Ulamek. To jest przyczyna niedzialania programu. Funckja sluzy przeliczaniu wartosci, a nie wyprowadzaniu ich, dlatego jak chcesz mniec jedno i drugie, przerob to na procedury albo popraw procedure Wkolko.function Pierwiastek(x:real): real;
begin
Pierwiastek:=sqr(x+1);
writeln('wynik: ',Pierwiastek:2:2);
readln();
end;
function Ulamek(x:real): real;
begin
Ulamek:=(x*x+x-1)/3*x;
writeln('Wynik: ',Ulamek:2:2);
end;
I jeszcze jedno: wartaloby by byl blok wykonawczy programu, bo na samych deklaracjach sie on nie konczy...
-
- Użytkownik
- Posty: 36
- Rejestracja: 1 lis 2006, o 19:08
- Płeć: Mężczyzna
- Lokalizacja: Z tąd
- Podziękował: 3 razy
Co jest w tym programie nie tak
Coś tam popoprawiałem, ale nadal jest żle, wersja poprawiona wyglada teraz tak:
program Oblicz funkcje;
var x,m,P,U:real; tytul: string; z,i:integer;
procedure start(tytul: string);
begin
Writeln('Autor: XYZ');
Writeln (tytul); Writeln;
end;
procedure czytajdane (var x:real);
begin
write ('Podaj argument x: ');
readln(x)
end;
procedure Ulamek(x:real): real;
begin
ulamek:=(2*x*x*x/(x-1))+5;
writeln('Wynik: ',ulamek:2:2);
end;
procedure modul(x:real): real;
begin
if x0 then
begin
ulamek(x);
end;
if x=1) and (x<=0) then
begin
pierwiastek(x);
end;
end;
begin
start(tytul);
czytajdane(x);
end;
end.
program Oblicz funkcje;
var x,m,P,U:real; tytul: string; z,i:integer;
procedure start(tytul: string);
begin
Writeln('Autor: XYZ');
Writeln (tytul); Writeln;
end;
procedure czytajdane (var x:real);
begin
write ('Podaj argument x: ');
readln(x)
end;
procedure Ulamek(x:real): real;
begin
ulamek:=(2*x*x*x/(x-1))+5;
writeln('Wynik: ',ulamek:2:2);
end;
procedure modul(x:real): real;
begin
if x0 then
begin
ulamek(x);
end;
if x=1) and (x<=0) then
begin
pierwiastek(x);
end;
end;
begin
start(tytul);
czytajdane(x);
end;
end.
Co jest w tym programie nie tak
całą masę błędów narobiłeś...
widać, że nie znasz podstawowych zasad (spacja w nazwie programu; 2 procedury o tej samej nazwie, a drugą chciałeś chyba blok główny programu osiągnąć?; operacje na zmiennych zanim zostaną wczytane etc.).
zacznij to od początku.. choć nie wiem jak chcesz sobie z tym poradzić.
co ten program ma robić?
widać, że nie znasz podstawowych zasad (spacja w nazwie programu; 2 procedury o tej samej nazwie, a drugą chciałeś chyba blok główny programu osiągnąć?; operacje na zmiennych zanim zostaną wczytane etc.).
zacznij to od początku.. choć nie wiem jak chcesz sobie z tym poradzić.
co ten program ma robić?
-
- Użytkownik
- Posty: 195
- Rejestracja: 30 paź 2006, o 22:50
- Płeć: Mężczyzna
- Lokalizacja: Polska
- Podziękował: 30 razy
- Pomógł: 4 razy
Co jest w tym programie nie tak
Procedura nie zwraca wyników. Najlepiej byłoby gdybyś przeczytał jakąś książkę opisującą sposoby zapisywania funkcji i procedur.Kubir pisze:procedure modul(x:real): real;
- yorgin
- Użytkownik
- Posty: 12762
- Rejestracja: 14 paź 2006, o 12:09
- Płeć: Mężczyzna
- Lokalizacja: Kraków
- Podziękował: 17 razy
- Pomógł: 3440 razy
Co jest w tym programie nie tak
Ja dodam jeszcze ze poprawiona wersja ma wiecej bledow niz poprzednia...
Np to ze myli Ci sie deklaracja procedury z deklaracją funkcji, nie wspomne o tworzeniu zmiennych z procedur, niewykorzystanie zadeklarowanych procedur... Ten progam bylby prostszy gdybys wybral zapis liniowy nie rozbijal kodu na procedury/funckje.
Np to ze myli Ci sie deklaracja procedury z deklaracją funkcji, nie wspomne o tworzeniu zmiennych z procedur, niewykorzystanie zadeklarowanych procedur... Ten progam bylby prostszy gdybys wybral zapis liniowy nie rozbijal kodu na procedury/funckje.
-
- Użytkownik
- Posty: 195
- Rejestracja: 30 paź 2006, o 22:50
- Płeć: Mężczyzna
- Lokalizacja: Polska
- Podziękował: 30 razy
- Pomógł: 4 razy
Co jest w tym programie nie tak
Odwołam się do pytania Spect'a ...
PS. Podaj treść zadania.
Jeśli na nie odpowiesz, wtedy będziemy mogli Ci pomóc. A zatem?Spect pisze:co ten program ma robić?
PS. Podaj treść zadania.