Muszę napisać program do obliczani delty ale zupełnie nie wiem jak...pomoże ktoś?
A z czym masz problem (konkretnie)?
Najpierw musisz wybrać jakiś język programowania np. Brainfunk albo Asembler... Potem już jakoś pójdzie
Mam problem z tym żeby program powtarzał się a nie zamykał bo obliczeniu miejsc zerowych funkcji kwadratowej i nie wiem też jak zrobić by zamknąć go np. za pomocą wciśnięcia "T"
program miejsca_zerowe;
uses
Crt;
var
a, b, c, delta, x1, x2: real;
begin
ClrScr;
repeat
write('podaj a: ');
readln(a);
if a=0 then
writeln('To nie jest funkcja kwadratowa!!Wprowadz poprawne dane');
until a<>0;
write('Podaj b: ');
readln(b);
write('Podaj c: ');
readln(c);
delta:=sqr(b)-4*a*c;
if delta<0 then
writeln('Brak miejsc zerowych');
if delta=0 then
begin
x1:=-b/2*a;
writeln('Funkcja posiada jedno miejsce zerowe: ',x1:10:5);
end;
if delta>0 then
begin
x1:=(-b-sqrt(delta))/(2*a);
x2:=(-b+sqrt(delta))/(2*a);
writeln('Funkcja ma dwa miejsca zerowe: ',x1:10:5,' i ',x2:10:5);
end;
readln;
end.
Tyle napisałem już sam
dodane formatowanie kodu i znaczniki <code class="pascal"> - fp
if a=0 then
if delta=0 then
To jest niebezpieczne - liczb zmiennoprzecinkowych nie należy porównywać w ten sposób.
Hint odnośnie Twojego problemu: pętla repeat
.
a jak zrobić warunek by np. poprzez wciśnięcie E program się zamykał?
@leniu100 zapomnij i szykuj sie na powtarzanie roku ;] Nie umiesz nawet gotowca w dobrym języku ściągnąć...
leniu100 napisał(a)
a jak zrobić warunek by np. poprzez wciśnięcie E program się zamykał?
Kod, który ma się powtarzać wrzuć do jakiejś pętli, np. Repeat; Zadeklaruj sobie dodatkową zmienną, do której będziesz pobierał wybraną opcję z klawiatury (np. znak); W pętli musisz mieć wszystkie instrukcje, które mają się powtarzać, czyli:
- czyszczenie ekranu,
- wyświetlenie menu,
- pobranie danych do obliczeń od użytkownika,
- wykonanie obliczeń,
- wyświetlenie wyniku,
- wyświetlenie pytania czy zamknąć program,
- pobranie od użytkownika literki;
Pętla ma zakończyć działanie, gdy zmienna pomocnicza będzie równaE
(znak, który wprowadził użytkownik); Jeśli to będzie inna litera - program wraca na początek pętli i znów czyści ekran, wyświetla menu itd.; Więc pokombinuj coś sam, a dojdziesz do tego;
EDIT: @leniu100 - w jakim języku do ciężkiej ch***ry ma być ten program..? Treść zadania sugeruje, że C++/Java, tag był pascal
więc ludzie podali wskazówki dla pascala, teraz nagle jest tag c++
... Już bardziej namieszać się nie dało...
char znak=0;
while(znak != 't')
{
// tutaj wykonaj całość programu
// a następnie:
cout << "czy chcesz zakonczyc dzialanie programu? [t/n]"
znak = getch();
}
Caly swoj program umiesc w petli ktora skonczy sie po wykryciu konkretnej wartosci w okreslonej zmiennej.
Do wyczyszczenia konsoli uzyj:
Najbardziej Mnie zastanawia, czy będziesz umiał to wykorzystać, jak mylisz języki programowania.
Ten program do obliczania Delty zrobiłem po pierwszym dniu nauki C++ =.=