|
Turbo Pascal
by SWIFT (4)
Dziś pokaże jak ma wyglądać kod programu, który
będzie dodawał dwie liczby,
które to zostaną podane przez użytkownika programu.
Umiemy już definiować zmienne, napiszemy więc program w którym
zdefiniujemy
dwie zmienne a i b typu WORD
program program8;
var
a : Word;
b : Word;
begin
Write ('Podaj liczbe a: ');
ReadLn (a);
Write ('podaj liczbe b: ');
ReadLn (b);
WriteLn ('Podano dwie liczby: ',a,'+',b,'=',a+b);
ReadLn
end.
Download:
program8.exe
program8.pas
W wyniku otrzymaliśmy [przyjmując, że liczby podane przez użytkownika
to
a=111 i b=234]:
Podaj liczbe a: 111
Podaj liczbe b: 234
Podano dwie liczby: 111+234=345
W podobny sposób można tworzyć programy odejmujące, mnożące
i dzielące
liczby, jeden program może także dodawać/odejmować/dzielić więcej
liczb niż
dwie, teraz zajmiemy się napisaniem programu, który dodaje dwie
liczby a i b,
oraz odejmuje od nich liczbę c:
program program9;
var
a : Word;
b : Word;
c : Word;
begin
Write ('Podaj liczbe a: ');
ReadLn (a);
Write ('podaj liczbe b: ');
ReadLn (b);
Write ('podaj liczbe b: ');
ReadLn (c);
WriteLn ('Podano dwie liczby: ',a,'+',b,'-',c,'=',a+b-c);
ReadLn
end.
Download:
program9.exe
program9.pas
W wyniku otrzymamy [dla a=1, b=2 c=3]:
Podaj liczbe a: 1
Podaj liczbe b: 2
Podaj liczbe c: 3
Podano trzy liczby: 1+2-3=0
Wszystko jest OK, jeśli suma liczb a i b jest większa lub równa
od liczby c,
jednak gdy suma ta jest mniejsza otrzymamy [dla a=1, b=2, c=4]:
Podaj liczbe a: 1
Podaj liczbe b: 2
Podaj liczbe c: 4
Podano trzy liczby: 1+2-4=65535
Spowodowane jest to tym, że zmienna typu WORD przyjmuje wartości
od 0 do 65535 i jeśli wynik jest mniejszy od zera zmienna uznaje
liczbę
65535 jako -1 i tak kolejno na przykład -10 jako 65526, ...
Na rozwiązanie tego problemu jest bardzo prosty sposób, zamiast
zmiennej
typu WORD wstawiamy inną, na przykład INTEGER, przyjmuje ona
wartości
od -32768 do 32767:
program progra10;
var
a : Integer;
b : Integer;
c : Integer;
begin
Write ('Podaj liczbe a: ');
ReadLn (a);
Write ('podaj liczbe b: ');
ReadLn (b);
Write ('podaj liczbe b: ');
ReadLn (c);
WriteLn ('Podano dwie liczby: ',a,'+',b,'-',c,'=',a+b-c);
ReadLn
end.
Download:
progra10.exe
progra10.pas
Teraz uruchamiamy program i jako liczby a, b, c wpisujemy takie,
aby wynik był
mniejszy od zera, ja otrzymałem [dla a=1, b=0, c=10]:
Podaj liczbe a: 1
Podaj liczbe b: 0
Podaj liczbe c: 10
Podano trzy liczby: 1+0-10=-9
Jak widać po kłopocie, problem pojawi się znowu jeśli wynik
będzie mniejszy
od -32768 lub większy od 32767, ale to też nie problem, zmienna
typu LONGINT
może "obsługiwać liczby 10 cyfrowe i to zarówno dodatnie
jak i ujemne, jednak
zmiennych tego typu należy unikać, a szczególnie w dużej ilości.
W programie progra10 jako liczby a,b,c można podać wartości
ujemne, program
używając zmiennej typu INTEGER bez trudu sobie z nimi poradzi.
To tyle, w następnej lekcji zajmiemy się instrukcjami prostymi
w Turbo Pascalu,
takimi jak instrukcja przypisania, instrukcja skoku, czy instrukcja
pusta.
Omówię też instrukcje złożoną wchodzącą w skład instrukcji strukturalnych.
SWIFT
swift@friko.internet.pl
http://swift1.w.interia.pl
|