Kordialne
Pascal jak ogarnąć - Wersja do druku

+- Kordialne (https://kordialne.trafne-miejsce.pl)
+-- Dział: DOM (https://kordialne.trafne-miejsce.pl/forumdisplay.php?fid=40)
+--- Dział: Elektryka (https://kordialne.trafne-miejsce.pl/forumdisplay.php?fid=57)
+--- Wątek: Pascal jak ogarnąć (/showthread.php?tid=6241)

Strony: 1 2


RE: Pascal jak ogarnąć - satox - 22-02-2021

@jozekkg  Kolejny  program  ale coś  nie działa  zbyt dobrze:

https://github.com/JERUKA9/Fix-And-Improvments-Object-Pascal/blob/main/math_program.pas


RE: Pascal jak ogarnąć - jozekkg - 23-02-2021

Jeruka,nie będzie działał poprawnie.
W pierwszym poleceniu podstawiasz od V jakieś nieokreślone dane, czyli przypadkowe z pamięci komputera.
Dalej wczytujesz z klawiatury A i H2 i wykorzystujesz je do wyliczenia Pp
Wyniku jednak nigdzie nie wykorzystujesz, bo zaraz potem zmieniasz go na wartość podaną z klawiatury.
W kolejnym kroku wprowadzasz wartość H1.
Dane te wykorzystujesz w instrukcji warunkowej, gdzie po przemnożeniu próbujesz je porównać z wartością V, której wielkość, jak już napisałem, jest przypadkowa i może być od minus ileś do plus ileś.
Jeżeli przypadkiem będzie mniejsza od Pp*H1 to program wyświetli wynik, jeśli większa, to program nic nie zrobi.


RE: Pascal jak ogarnąć - satox - 23-02-2021

(23-02-2021, 10:46 )jozekkg napisał(a):  Jeruka,nie będzie działał poprawnie.
W pierwszym poleceniu podstawiasz od V jakieś nieokreślone dane, czyli przypadkowe z pamięci komputera.
Dalej wczytujesz z klawiatury A i H2 i wykorzystujesz je do wyliczenia Pp
Wyniku jednak nigdzie nie wykorzystujesz, bo zaraz potem zmieniasz go na wartość podaną z klawiatury.
W kolejnym kroku wprowadzasz wartość H1.
Dane te wykorzystujesz w instrukcji warunkowej, gdzie po przemnożeniu próbujesz je porównać z wartością V, której wielkość, jak już napisałem, jest przypadkowa i może być od minus ileś do plus ileś.
Jeżeli przypadkiem będzie mniejsza od Pp*H1 to program wyświetli wynik, jeśli większa, to program nic nie zrobi.

Nie mogłem  wstawić  poprawnych  zmiennych  konflikt  nazw.

Nie wiem jak to ogarnąć choć rozumiem  napisane programy. mutasek2


RE: Pascal jak ogarnąć - jozekkg - 23-02-2021

Co, wg Twojego zamiaru, ten program miał robić?


RE: Pascal jak ogarnąć - satox - 23-02-2021

(23-02-2021, 12:51 )jozekkg napisał(a):  Co, wg Twojego zamiaru, ten program miał robić?

Obliczać  objętość graniastosłupa czy sześcianu.

Wiem o co chodzi  tyle że  nie potrafię  napisać.


RE: Pascal jak ogarnąć - jozekkg - 23-02-2021

program objetosc;
var
a,b,h,v : integer;

Begin
clrscr;
write('Podaj wymiar a= '); readln(a);
write('Podaj wymiar b= '); readln(b);
write('Podaj wymiar h= '); readln(h);
v:=a*b*h;

if (a=b) and (b=c) then
write(' Objetosc szescianu o wymiarach ',a,' x ',b,' x ' ,c,' wynosi V= ',v)
else
write(' Objetosc graniastoslupa o wymiarach ',a,' x ',b,' x ' ,c,' wynosi V= ',v);


readln;

end.

To tak na szybko. Nie wiem, czy nie wskoczył jakiś błąd składniowy. ubawa


RE: Pascal jak ogarnąć - satox - 23-02-2021

(23-02-2021, 15:41 )jozekkg napisał(a):  program objetosc;
var
    a,b,h,v : integer;

Begin
  clrscr;
  write('Podaj wymiar a= '); readln(a);
  write('Podaj wymiar b= '); readln(b);
  write('Podaj wymiar h= '); readln(h);
  v:=a*b*h;

  if (a=b) and (b=c) then
      write(' Objetosc szescianu o wymiarach ',a,' x ',b,' x ' ,c,' wynosi V= ',v)
      else
            write(' Objetosc graniastoslupa o wymiarach ',a,' x ',b,' x ' ,c,' wynosi V= ',v);


  readln;

end.

To tak na szybko. Nie wiem, czy nie wskoczył jakiś błąd składniowy. ubawa
Ucz mnie  mistrzu. dooku

Bo  mi nie wychodzi.

Znam się trochę lepiej na linuksach i językach obcych.

@jozekkg I uzywam freepascala zatem clrscr jest już nie potrzebne.


RE: Pascal jak ogarnąć - satox - 23-02-2021

Twój program został zmodyfikowany przezemnie aby się kompilował na free pascalu bo nie chciał się kompilować wersja pascala linux 86_64:

program objetosc;
var
a,b,c,h,v:integer;

Begin
writeln('Podaj wymiar a= ');
readln(a);
writeln('Podaj wymiar b= ');
readln(b);
writeln('Podaj wymiar h= ');
readln(h);
v:=a*b*h;

if (a=b)and (b=c) then
writeln(' Objetosc szescianu o wymiarach ',a,' * ',b,' *' ,c,' wynosi V= ',v)
else
writeln(' Objetosc graniastoslupa o wymiarach ',a,' * ',b,' * ' ,c,' wynosi V= ',v);


readln;

end.

W każdym razie dzięki :

@jozekkg

I tak na marginesie writeln zajmuje się liczbami i wszelkimi znakami zaś write tylko jednym znakiem.


RE: Pascal jak ogarnąć - jozekkg - 23-02-2021

Nie. Write wyświetla tekst i pozostawia kursor w tej samej linii, natomiast writeln wyświetla tekst i przenosi kursor na początek nowej linii.


RE: Pascal jak ogarnąć - satox - 09-03-2021

Niedługo powrót do pisania i rozpoczęcie algorytmiki to pomoże mi pisać.