• Ogłoszenie:

Pascal obliczanie delty

Wszystko na temat programów: skąd pobrać, instalacja, użytkowanie, problemy, poszukiwane programy.

Pascal obliczanie delty

Postprzez Lukas-31 17 Wrz 2009, 13:32

reklama
Witam. Mam problem z free pascalem, ale od początku. Od niedawna zacząłem uczęszczać do nowej szkoły. Na pierwszych zajęciach mamy pascala. Nauczyciel kazał napisać program, który oblicza deltę (z matematyki). Jako że jestem całkowicie zielony zgłaszam się do was z prośbą o pomoc. Oto moje "wypociny" :

Kod: Zaznacz wszystko
Program ROWNANIE;
uses crt;
var a,b, c,delta:integer;
x1,x1:real
begin
Write ('Podaj a: ');
readln (a);
Write ('Podaj b: ');
readln (b);
Write ('Podaj c:');
readln (c);
delta:=b*b-4*a*c;
IF (delta<0) then writeln ('Brak p. rzeczywistych')
IF (delta=0) then
begin
x1:=-b-sqrt(delta)/(2*a)
writeln ('x1=' ,x1)
end;
if(delta>0);
begin
x2:=-b+sqrt(delta)/(2*a)
writeln ('x2=' ,x2)
end;
if(delta>0);
begin
end.


Problem w tym, że to nie działa. Wiem, że są tu błędy, ale z racji tego, że nigdy tego nie miałem, to nie mam pojęcia gdzie ich szukać ;/ Dlatego proszę was o pomoc, proszę o poprawienie błędów. Z GÓRY WIELKIE DZIĘKI.

ps. nie wiedziałem gdzie umieścić temat, więc proszę o przeniesienie, jeśli zły dział
Awatar użytkownika
Lukas-31
 
Posty: 187
Dołączenie: 02 Kwi 2007, 18:03
Miejscowość: z miasteczka, co ma bezrobocie jak dobra wódeczka
Pochwały: 2



Free pascal-problem

Postprzez ToServeAndProtect 17 Wrz 2009, 13:36

kiedyś miałem. i już na pierwszy rzut oka widać powtórzenie operacji if(delta>0);

PS: poza tym wpisz w google "pascal obliczanie delty" ;)
| MSI X470 GAMING PLUS | AMD Ryzen 7 2700 | Kingston HyperX DDR4 Fury Black 16GB | PNY GeForce GTX 1080 XLR8 8GB GDDR5X | AOC Q3279VWFD8 31.5" + IIYAMA ProLite E2407HDS 24" |
| SSD Samsung 860 Evo 512GB + SSD Samsung 830 128GB + SSHD Seagate 2TB + WD Caviar Blue 650GB + WD Caviar Green 1TB | Powered by Supremo FM2 Gold 750W |

Image

Image
Awatar użytkownika
ToServeAndProtect
»ekspert
 
Posty: 14516
Dołączenie: 12 Maj 2006, 16:36
Miejscowość: Warszawa
Pochwały: 461



Pascal obliczanie delty

Postprzez Lukas-31 17 Paź 2009, 18:51

Witam, znów mam problem z pascalem ale nie będę zakładać nowego tematu więc napiszę to tu.
Niech n będzie nieujemną liczbą całkowitą. Liczbę n! (czytaj n-silnia) definiuje się następująco: Jeśli n ≤ 1, to n! = 1. Dla n > 1, n! jest równe iloczynowi wszystkich liczb od 1 do n, czyli n! = 1*2*...*n. Na przykład 4!=1*2*3*4=24.
Zadanie Napisz program, który:
-wczyta ze standardowego wejścia nieujemną liczbę całkowitą n,
-policzy cyfrę jedności w zapisie dziesiętnym liczby n!,
-wypisze wynik na standardowe wyjście.
Wejście
Pierwszy i jedyny wiersz standardowego wejścia zawiera dokładnie jedną nieujemną liczbę całkowitą n, 0 ≤ n ≤ 109.
Wyjście
W pierwszym i jedynym wierszu standardowego wyjścia Twój program powinien zapisać dokładnie jedną cyfrę równą cyfrze jedności w zapisie dziesiętnym liczby n!. Przykład Dla danych wejściowych: 4 poprawnym wynikiem jest: 4

Kod: Zaznacz wszystko
program nazwa;
var
n :integer;
begin
read (n);
if (n=0) then writeln (1);
if (n=1) then writeln (1);
if (n=2) then writeln (2);
if (n=3) then writeln (6);
if (n=4) then writeln (4);
if (n>4) then writeln (0);
end.


sil1.in Program nie wypisuje niczego

No właśnie zrobiłem to tylko, wciąż jest tu błąd. Proszę o pomoc.
Awatar użytkownika
Lukas-31
 
Posty: 187
Dołączenie: 02 Kwi 2007, 18:03
Miejscowość: z miasteczka, co ma bezrobocie jak dobra wódeczka
Pochwały: 2



Pascal obliczanie delty

Postprzez marcin19 18 Paź 2009, 16:37

najpierw musisz policzyć silnię ze zmiennej n (najprościej w pętli). Pózniej musisz wyświetlić ostatnią (tzn pierwszą z prawej) cyfrę tej liczby.
Podpis:
Opcjonalny podpis, który może pojawiać się na dole Twoich wiadomości.
marcin19
~user
 
Posty: 921
Dołączenie: 01 Lip 2006, 11:43
Pochwały: 22



Pascal obliczanie delty

Postprzez Lukas-31 09 Sty 2010, 21:12

Siemka, zamiast zakładać nowy temat, podbijam ten. Otóż muszę wykonać
n
Σ k/n+1
K=1
tylko mi nie wychodzi, dlatego proszę o pomoc. Gdzie są błędy? A najlepiej, żeby ktoś to poprawił i wkleił działającą wersję. Z góry wielkie dzięki

Kod: Zaznacz wszystko
program sum;
var
n , k , suma :integer;
begin
writeln ('podaj n');
read (n);
writeln ('podaj k');
read (k);
for k:=1 to n do
suma:=suma+(k/n)+1;
writeln (suma);

end.
Awatar użytkownika
Lukas-31
 
Posty: 187
Dołączenie: 02 Kwi 2007, 18:03
Miejscowość: z miasteczka, co ma bezrobocie jak dobra wódeczka
Pochwały: 2



Pascal obliczanie delty

Postprzez lilith 09 Sty 2010, 22:10

daj sumę na real, bo wynik z dzielenia niekoniecznie wyjdzie całkowity :)
Ostatnio edytowany przez lilith, 10 Sty 2010, 11:07, edytowano w sumie 1 raz
Image
koniczynka = lilith :)
Awatar użytkownika
lilith
~user
 
Posty: 258
Dołączenie: 05 Mar 2007, 00:55
Pochwały: 44



Pascal obliczanie delty

Postprzez Lukas-31 10 Sty 2010, 09:52

Mógłbyś to zrobić, bo mi ciągle błędy wyskakują :(
Awatar użytkownika
Lukas-31
 
Posty: 187
Dołączenie: 02 Kwi 2007, 18:03
Miejscowość: z miasteczka, co ma bezrobocie jak dobra wódeczka
Pochwały: 2



Pascal obliczanie delty

Postprzez lilith 10 Sty 2010, 10:55

Kod: Zaznacz wszystko
program sum;

var
n , k , i :integer;
suma : real;
begin
writeln('podaj n');
readln(n);
writeln('podaj k');
readln(k);
suma:=0;

for i:=1 to n do
begin
suma:=suma+((k/n)+1);
i:=i+1;
end;
writeln('suma',suma);
readln;
end.


po pierwsze najważniejsze, to nie wyzerowałeś sumy, bo od czego ma zacząć odliczać.dodałam wyświetlanie, bo lubię widzieć wyniki :) a nie pamiętam, jakim klawiszem się czarny ekran przywoływało :P i trochę mało nawiasów. bo nie wiadomo gdzie tą jedynkę u ciebie dodać ;] a to chyba istotne.

możesz sobie na wyświetlaniu jeszcze zrobić, np. :2:3 3 to będzie liczba miejsc po przecinku, ale zrób to umiejętnie bo jak wynikiem będzie 0,000000000234554 to się wiesza ;]
Image
koniczynka = lilith :)
Awatar użytkownika
lilith
~user
 
Posty: 258
Dołączenie: 05 Mar 2007, 00:55
Pochwały: 44



Pascal obliczanie delty

Postprzez Lukas-31 10 Sty 2010, 11:24

Nadal jest jeden błąd w linijce 14,7 Error: Illegal assignment to for-loop varible "i" .
Awatar użytkownika
Lukas-31
 
Posty: 187
Dołączenie: 02 Kwi 2007, 18:03
Miejscowość: z miasteczka, co ma bezrobocie jak dobra wódeczka
Pochwały: 2



Pascal obliczanie delty

Postprzez lilith 10 Sty 2010, 11:53

ciekawe ciekawe... napisz mi pełną nazwę programu jakiego używasz. mój nie widzi już żadnych błędów. a dlaczego mu nie pasuje i wywala taki błąd to prawdę mówiąc nie wiem, nigdy mi nie wyskoczyło takie szkaradztwo ;] jak znajdę czas to spróbuję bo oszukać.
yy, i wiesza się na liczbach pierwszych, ciekawe...i źle liczy :cry:

edit

dobra spróbuj tak i powiedz mi czy coś pokaże:

Kod: Zaznacz wszystko
   
program sum;
uses crt;
var
n , k , i :integer;
suma, iloraz, il2 : real;
begin
writeln('podaj n');
readln(n);
writeln('podaj k');
readln(k);

iloraz:=k/n;
il2:=iloraz+1;
suma:=0;

for i:=1 to n do
begin
suma:=suma+il2;
writeln('i = ',i);
end;
writeln('suma',suma);
readln;
end. 
Image
koniczynka = lilith :)
Awatar użytkownika
lilith
~user
 
Posty: 258
Dołączenie: 05 Mar 2007, 00:55
Pochwały: 44




Powróć do Programy

Kto jest na forum

Użytkownicy przeglądający to forum: CharlotteBarboza, ErvinChaves oraz 15 gości