Skocz do zawartości

[Turbo Pascal] problem z łączeniem funkcji programu


Farkraj

Rekomendowane odpowiedzi

Żeby nie zaczynać od " A więc" zacznę od "żeby" xd

 

Mam taki o to problem, napisałem programik obliczający ile razy zmienna "b" się miesci w zmiennej "a" które ustawiamy sami na początku po włączeniu. Jest to podzielone na 2 częsci

 

program zm41a

 

i

 

program zm41b

 

ale chciałbym dodać funckcje liczenia średniej arytmetycznej ale oprócz tego wcześniejszego. Napisałem to ale gdy kończy obliczać te zmienne a i b po naciśnieciu przycisku się program wyłącza a ja bym chciał żeby przechodziło teraz do wprowadzania x i y i liczenia średniej arytmetycznej

 

pomocy :)

Odnośnik do komentarza
Udostępnij na innych stronach

moze to tak powiem ;p

 

program zm41a;
    uses crt;
    var a,b,pom : integer;
begin
    clrscr;
    write('Podaj wartosc zmiennej "a": ');
    readln(a);
    write('Podaj wartosc zmiennej "b": ');
    readln(b);
    pom:=a div b;
    writeln(b,' w ',a,' miesci sie ',pom,' razy');
    readln
end.

program zm41b;
    uses crt;
    var a,b : integer;
begin
    clrscr;
    write('Podaj wartosc zmiennej "a": ');
    readln(a);
    write('Podaj wartosc zmiennej "b": ');
    readln(b);
    writeln(b,' w ',a,' miesci sie ',a div b,' razy');
    readln
end.

(TUTAJ CHCE ZEBY SIE NIE WYLACZALO ALE PRZECHODZILO DO KODU NIZEJ!)

program zm26a;
    uses crt;
    var a,b : real;
begin
    clrscr;
    writeln('liczymy srednia arytmetyczna z nast. liczb: ');
    readln(a,b);
    a:=(a+b)/2;
    writeln;
    write('Srednia arytmetyczna wprowadzonych liczb wynosi ');
    writeln(a :6:2);
    readln
end.

program zm26b;
    uses crt;
    var a,b,c : real;
begin
    clrscr;
    writeln('liczymy srednia arytmetyczna z nast. liczb: ');
    readln(a,b);
    c:=(a+b)/2;
    writeln;
    write('(',a :0:2,'+',b :0:2,')/2=',c :6:2);
    readln
end.

 

xd

Odnośnik do komentarza
Udostępnij na innych stronach

użyj repeat i until. :P i wszystkie zmienne musisz mieć zdefiniowane w jednym var przed begin ;)

 

E:

np. coś takiego:

 Uses CRT;
Var
a, b , c, P, r, l, h, V: real

Begin

Repeat
  { Pierwsza część programu }
  ClrScr;
  WriteLn( 'Program oblicza pole trójkąta' );
  WriteLn( 'Podaj A' );
  Write( 'A: ' );
  ReadLn( a );

  WriteLn( 'Podaj B' );
  Write( 'B: ' );
  ReadLn( b );

  P := SQRT( SQR( A ) + SQR( B ));
  WriteLn( 'Pole wynosi: ' , B :6:2 );
  WriteLn( 'Naciśnij klaiwsz aby przjść do następnej części programu.' );

Until keypressed

  {druga część programu }
Repeat
  ClrScr;
  WriteLn( 'Program oblicza objętość stożka' );
  WriteLn( 'Podaj wysokość stożka' );
  Write( 'H: ' );
  ReadLn( h );

  WriteLn( 'Podaj Promień podstawy' );
  Write( 'R: ' );
  ReadLn( r );

  l := SQRT( SQR( r ) + SQR( h ));
  V := ( pi * r * l ) + ( 2 * pi * r );
  WriteLn( 'Pole wynosi: ' , V :6:2 );
  WriteLn( 'Naciśnij klaiwsz aby zakończyć program.' );

Until keypressed
END.

to tylko jedno rozwiązanie a są ich setki :D :P

Odnośnik do komentarza
Udostępnij na innych stronach

To może coś takiego?

program jakastamnazwa;
uses crt;

procedure zm41a;
    var a,b,pom : integer;
begin
    clrscr;
    write('Podaj wartosc zmiennej "a": ');
    readln(a);
    write('Podaj wartosc zmiennej "b": ');
    readln(b);
    pom:=a div b;
    writeln(b,' w ',a,' miesci sie ',pom,' razy');
    readln;
end;

procedure zm41b;
    var a,b : integer;
begin
    clrscr;
    write('Podaj wartosc zmiennej "a": ');
    readln(a);
    write('Podaj wartosc zmiennej "b": ');
    readln(b);
    writeln(b,' w ',a,' miesci sie ',a div b,' razy');
    readln;
end;

procedure zm26a;
    var a,b : real;
begin
    clrscr;
    writeln('liczymy srednia arytmetyczna z nast. liczb: ');
    readln(a,b);
    a:=(a+b)/2;
    writeln;
    write('Srednia arytmetyczna wprowadzonych liczb wynosi ');
    writeln(a :6:2);
    readln;
end;

procedure zm26b;
    var a,b,c : real;
begin
    clrscr;
    writeln('liczymy srednia arytmetyczna z nast. liczb: ');
    readln(a,b);
    c:=(a+b)/2;
    writeln;
    write('(',a :0:2,'+',b :0:2,')/2=',c :6:2);
    readln;
end;

begin
zm41a;
zm41b;
zm26a;
zm26b;
end.

Pętla tu jest zbędna moim zdaniem, wystarczą zwykłe procedury.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...