Turbo Pascal zadanie prośba o pomoc

Forum Rozmawiamy
Odpowiedz
19.11.2013 11:36
1
odpowiedz
zanonimizowany956370
1
Junior

Turbo Pascal zadanie prośba o pomoc

Procedury obliczające dodawanie, odejmowanie, mnożenie i dzielenie metodą Top-Down.

Podaję przykładowy program z lekcji. I trzeba go przerobić na liczenie dodawania, odejmowania, mnożenia i dzielenia.
Uses Crt;
Var Suma : Real;

Procedure CzyscEkran;
Begin
ClrScr;
End;

Procedure DrukujCoRobisz;
Begin
WriteLn('Oblicze, ile bedzie w banku za 10 lat, podaj sume:');
End;

Procedure WczytajDane;
Begin
ReadLn( Suma );
End;

Procedure Oblicz;
Var i : Integer;
Begin
For i:=1 To 10 Do
Suma := Suma * 1.08;
End;

Procedure Wydrukuj;
Begin
WriteLn('------------------');
WriteLn('Obliczylem, po 10 latach masz: ', Suma:5:2);
End;

Procedure Poczekaj;
Begin
WriteLn('Koniec liczenia, nacisnij cokolwiek...');
ReadKey;
End;

Begin
CzyscEkran;
DrukujCoRobisz;
WczytajDane;
Oblicz;
Wydrukuj;
Poczekaj;
End.

19.11.2013 11:42
2
odpowiedz
zanonimizowany861943
46
Generał

I niby z czym sobie nie radzisz?

19.11.2013 14:52
3
odpowiedz
zanonimizowany956370
1
Junior

Nie mam wcale pojęcia jak to przerobić żeby liczyło dodawanie itd.

19.11.2013 15:02
nagytow
4
odpowiedz
nagytow
146
Firestarter

Nie masz pojecia o TP i chcesz, zeby ktos zrobil to za ciebie.

19.11.2013 15:13
5
odpowiedz
zanonimizowany956370
1
Junior

Pojęcie mam. Tylko robiłem to parę razy i nie wychodzi. A termin oddania się kończy...

19.11.2013 16:00
6
odpowiedz
zanonimizowany939996
5
Chorąży
Image

Skoro nie masz pojęcia to google i ucz się co to procedury, co to funkcje, co to zmienne (zmienną to można by nazwać w uproszczeniu żółtą karteczką na lodówce, na której możesz coś zapisać i może się na niej wszystko zmieniać i ta karteczka musi mieć typ jakiś np. String, który pozwala zapisywać wszystkie znaki z klawiatury, zdania, liczby i tak dalej, w skrócie tekst. A np. Integer pozwala na zapisywanie liczb całkowitych. Char pozwala na zapisanie znaku pojedynczego. Masz jeszcze double, float, real i wiele innych typów zmiennych, w google znajdziesz).

A poniżej masz kod banalny w tym dziwnym twoim stylu byś zrozumiał działanie. Skomentowałem ci kod.

var
A, B, wynik: Integer; //deklarujesz 3 zmienne typu Integer (liczba całkowita) by trzymały liczby

procedure TypDzialania; //robisz procedurę
begin //a po słówku begin piszesz co ma ta procedura robić gdy ją wywołasz
WriteLn('Obliczam sumę dwóch liczb. Podaj dwie liczby'); //czyli ma napisać w nowej linii coś
end;

procedure PobierzDwieLiczby; //kolejna prodecura
begin
ReadLn(A); //po polsku to "czytaj linię i przypisz (zapisz) to co odczytałeś do zmiennej A"
ReadLn(B);
end;

procedure Dodaj;
begin
wynik := A + B; //czyli zmiennej WYNIK każesz przypisać wartości dwóch zmiennych A i B, które dodajesz
WriteLn('Wynik dodawania to: ' + #13#10 + IntToStr(wynik));
end;

begin
TypDzialania; //wywołujesz procedurę, czyli każesz się jej wykonać
PobierzDwieLiczby; //jak wyżej
Dodaj; //jak wyżej

ReadLn; ‹a to to dodałem by konsola się nie zamknęła sama po wyświetleniu wyniku, zamiast tego sobie wstawisz ze swojego kodu procedurę o nazwie POCZEKAJ›
end.

Nie mam turbopascala, mam nadzieję, że ten kod ci zadziała. A to #13#10 to przejście do nowej linii, nie wiem czy w turbopascalu działa, zmienisz to najwyżej. W dziwny sposób piszecie programy. Integer możesz zmienić na inny typ zmiennej, na zmiennoprzecinkowy, by dodawało np. 3.14 + 2.87. A to IntToStr nie wiem, czy w turbopascalu działa, to konwertuje liczbę całkowitą na typ String, prościej mówiąc, przerabia liczbę na napis.

btw. procedura (powiem prosto) może też mieć zmienne, które podajesz przy wywoływaniu procedury np.

procedure Dodaj(A, B: Integer);
begin
//jakiś kod
end;

i wywołanie procedury, czyli jej użycie z podaniem dwóch liczb A i B:
Dodaj(10,22);

Z funkcjami podobnie, ale funkcje już na wstępie robisz by zwracały jakiś wynik.

Pamiętaj, że nie używam turbopascala więc lepiej użyj google i tam poczytaj o wszystkom. A do dzielenia w pascalu raczej wystarczy znak /, a gdyby się okazało, że zwraca resztę z dzielenia to spróbuj użyć słowa div.

19.11.2013 16:25
maly_17a
7
odpowiedz
maly_17a
174
Senator

Wlasnie nie wiem po co Wam od razu upchnęli procedury, bo to w bardzo dziwny sposób jest pisane. Albo poprzednie lekcje przespałeś i zaczeły się najprostrze procedurki, a tu człowiek jak z klapkami na oczach :D

19.11.2013 16:46
8
odpowiedz
zanonimizowany956370
1
Junior

Dzięki za pomoc.. ale i tak nie działa..

19.11.2013 17:04
9
odpowiedz
zanonimizowany956370
1
Junior

OK. Już działa poprawiłem ;) Dzięki takbir :D

Forum Forum Rozmawiamy
Odpowiedz

GRYOnline.pl:

Facebook GRYOnline.pl Instagram GRYOnline.pl X GRYOnline.pl Discord GRYOnline.pl TikTok GRYOnline.pl Podcast GRYOnline.pl WhatsApp GRYOnline.pl LinkedIn GRYOnline.pl Forum GRYOnline.pl

tvgry.pl:

YouTube tvgry.pl TikTok tvgry.pl Instagram tvgry.pl Discord tvgry.pl Facebook tvgry.pl