Fraps [ Generaďż˝ ]
Pascal - pytanie
mam do napisania programik, który doda dwie liczby oraz wskaże zależność a>b a=b a<b
1. dodawanie 2 liczb
uses crt;
var a,b,suma:integer:
clrscr
begin
write('Podaj liczby, ktore chcesz dodac');
writeln('a');
writeln('b');
writeln(a+b=suma);
writeln('suma');
end.
ucz się sam więc są na 100% błędy dlatego pytam tutaj:)
2. zależność między A i B
uses crt;
var a,b:integer;
clrscr
begin
write('Podaj dwie liczby');
writeln('a');
writeln('b');
if a>b then
writeln('a wieksze od b');
if a<b then
writeln('a mniejsze od b');
if a=b then
writeln('liczby sa rowne');
end.
z góry dzięki za poprawki, które są zapewne niezbędne
Zingus123 [ Antyterrorysta ]
hmm clrscr się po begin daje i powinno być clrscr; proponuje też dodawać readln; przed end.
dodawanie
writeln('a');
readln(a);
writeln('b');
readln(b);
writeln('a + b = ', a+b);
BlackBolt [ Senator ]
write/writeln - wypisanie czegoś na ekranie przez komputer
read/readln - odczytanie czegoś przez program, na przykład wpisanego przez użytkownika tekstu z klawiatury.
W tej chwili po uruchomieniu pierwszego programu efekt będzie taki, ze na ekranie zobaczysz dokładnie to:
Podaj liczby, ktore chcesz dodaca
b
a+b=suma <-- chociaż tu powstanie błąd
suma
W drugim programie masz źle pętle napisane. Program dalej będzie działać, ale powinieneś po każdym ifie wstawić else na przykład
if a>b then
writeln('a wieksze od b');
else
if a<b then
writeln('a mniejsze od b');
i tak dalej. Składnia mogła mi się porąbać, bo nie zaglądałem do Pascala od paru ładnych lat.
Zingus123 [ Antyterrorysta ]
write('Podaj dwie liczby');
writeln('a');
writeln('b');
skoro ma podać to powinno być readln czyż nie ?
Fraps [ Generaďż˝ ]
ok dzięki to sprawa dodawania załatwiona dzięki.
read a readln to nie ma różnicy w stosowaniu? jedno wyświetla w tej samej linijce a drugie pod tak?
co do 2 to:
uses crt;
var a,b:integer;
begin
clrscr;
writeln('Podaj dwie liczby');
writeln('a');
readln(a)
writeln('b');
readln(b);
if a>b then
writeln('a wieksze od b');
else
if a<b then
writeln('a mniejsze od b');
else
if a=b then
writeln('liczby sa rowne');
else
end.
ps. C++ jest łatwiejszy od Pascala? chciałem zacząć od podstaw więc wybrałem Pascala
Zingus123 [ Antyterrorysta ]
uses crt;
var
a,b:integer;
begin
clrscr;
writeln('podaj dwie liczby');
writeln('podaj liczbe a');
readln(a);
writeln('podaj liczbe b');
readln(b);
if a>b then
writeln(a,' jest wieksze od ',b )
else
writeln(b,' jest wieksze od ',a);
readln;
end.
tu jest kawałek tego drugiego zadania
tam gdzie else nie ma ;
redan [ Wiking ]
może tez być tak (zamiast sekwencji if-else):
if a>b then writeln(a,' jest wieksze od ',b )
if a<b then writeln(a,' jest mniejsze od ',b )
if a=b then writeln(a,' obie liczby sa takie same ',b )
Zingus123 [ Antyterrorysta ]
to prawda, a więc finalny program wygląda tak
uses crt;
var
a,b:integer;
begin
clrscr;
writeln('podaj dwie liczby');
writeln('podaj liczbe a');
readln(a);
writeln('podaj liczbe b');
readln(b);
if a>b then
writeln(a,' jest wieksze od ',b );
if a<b then
writeln(a,' jest mniejsze od ',b);
if a=b then
writeln('liczby sa rowne');
readln;
end.
BlackBolt [ Senator ]
Wizualnie efekt będzie ten sam, a sami nie zauważymy różnicy w czasie wykonywania się programu, ale jednak lepiej stosować else. Przy wielu różnych warunkach najpierw staramy się uwzględnić te najbardziej prawdopodobne i umieszczamy je na początku. Chodzi o to, że w wersji bez else program będzie zawsze sprawdzał wszystkie 3 warunki nawet wtedy, gdy zostanie spełniony ten pierwszy. Przy zastosowaniu else gdy zostanie spełniony warunek pierwszy pozostałe są ignorowane i nie jest marnowana moc obliczeniowa procesora na dalsze porównania.
Igierr [ Im God Of Rock ]
ps. C++ jest łatwiejszy od Pascala? chciałem zacząć od podstaw więc wybrałem Pascala
Pascal to nic w porównaniu do C++. Tam to się dopiero namęczysz. Zupełnie inaczej się programuje, dużo trudniej.