„KURS TURBO PASCALA CZ. 5”
Witam wszystkich w piątej już/aż* (* niepotrzebne skreślić) odsłonie programowania w Turbo Pascalu. Pisząc ten tekst jeszcze nie ma wakacji i sądzę, że ukaże się pod ich koniec więc dzisiaj znów zawitają zadanka domowe. Zgodnie z obietnicą (prawie zawsze tak piszę) zajmiemy się dzisiaj swoim własnym kalkulatorem, ale to na samym końcu. Wpierw tradycyjnie kilka teorii i harówa J.
Aby było możliwe wprowadzenie danych do komputera musimy na początku zdefiniować ich typ (patrz poprzednia lekcja). Jeżeli mamy już to zrobione to dane do pamięci kompa wpisujemy dzięki poleceniu READ lub READLN. Jest to polecenie parametrowe i bezparametrowe. Zastosowanie tego polecenia bez parametru znacie z poprzedniej lekcji, a parametrami zajmiemy się dzisiaj. Używa się go tak:
READLN(wartość); {1}
{1}. Jeżeli program napotka taką linijkę zostanie on automatycznie zatrzymany dopóty, dopóki nie wpiszemy jakiejś wartości znakowej lub liczbowej. Musimy pamiętać przy tym, że komputer wpisaną przez nas wartość przypisuje określonemu z góry przez nas typowi . Więc jeśli mamy typ BYTE i wpiszemy litery wystąpi błąd i program się zatrzyma.
Spójrzmy na poniższy przykład:
Program wyswietl_tekst;
Uses crt;
Var nasz_tekst: String[10]; {1}
BEGIN
CLRSCR;
WRITE(‘Wpisz tekst (maksymalnie 10 zanków) :’);
READLN(nasz_tekst); {2}
CLRSCR;
WRITELN(‘Wpisany przez ciebie tekst to: ’,nasz_tekst); {3}
REPEAT UNTIL KEYPRESSED;
END. Źródłó: TUTAJ
Objaśnienie:
{1}. W ramach przypomnienia. Tworzymy tutaj zmienna o nazwie: „nasz_tekst” i przypisujemy go łańcuchowi znaków (dowolny znak lub cyfra) nie dłuższej od 10 znaków. Wartość w nawiasach można zmienić. Jeżeli będzie bez nawiasu czyli STRING domyślna długość łańcucha znaków = 255.
{2}. Komputer w tym momęcie się ztrzyma i będzie żądał wpisania jakichś znaków, które przypisze zmiennej w nawiasie (w naszym przypadku „nasz_tekst”). Jeżeli wystąpi niezgodność podanych danych z ich typem program się zakmnie. WIEM, ŻE POWTARZAM TO DO ZNUDZENIA, ALE TE RZECZY SĄ BARDZO WAŻNE I TYLKO TAK, CHCĄC NIE CHCĄC SIĘ TEGO NAUCZYCIE.
{3}. Tutaj nikt nie powinien mieć problemów. W nawiasach w takich uszach ‘’ wpisuje się tekst, który ma być wyświetlony, a po przecinku , podaje się nazwę zmiennej. W miejscu tum zostanie wyświetlona jej zawartość czyli jak wpiszemy „Pies” to zostanie wyświetlony tam napis „Pies”. Bardzo proste. Prawda?
Zdobyta do tej pory wiedza w zupełności wystarczy do stworzenia programu dodającego podane przez nas liczby. Zamieszczę tutaj fragment takiego programu, a waszym zadaniem domowym będzie rozbudowanie go tak, aby jeszcze odejmował, mnożył i dzielił.
Pamiętajcie, że przy dzieleniu trzeba wynik mieć w formacie REAL. Czemu? Powinniście już to wiedzieć.
...
Var liczba1, liczba2: Integer; {liczby całkłkowite}
Wynik: Real; {wynik jest liczbą od –nies. Do + nies.}
...
Write(‘Podaj pierwszą liczbę: ’)
Readln(liczba1);
Write(‘Podaj drugą liczbę: ’)
Readln(liczba2);
Wynik:=liczba1+liczba2;
Writeln(‘Wynik dodawania liczb to:’ wymik);
MOŻNA ZAMIAST POWYŻSZEJ LINIJKI WPISAĆ
Writeln(‘Liczba ’,liczba1,’ dodać ‘,liczba2,’ równa się:’, wynik);
...
Jeżeli zrobicie ten program możecie być pewni, że bez problemu macie inspirację na programistów, a jak nie to kombinujcie. Nie możecie się poddawać. Na pewno wam się uda i nie zniechęcajcie się tak szybko. Ja siedziałem nad tym 1 godzinę i skumałem to. Miałem wtedy około 14-15 lat i sam, bez żadnych kursów to zrozumiałem.
Za miesiąc zajmiemy się instrukcjami warunkowymi. Czyli np.: w naszym kalkulatorze będziemy wybierali to co chcemy zrobić z wpisanymi liczbami (+,-,*,/).
I jeszcze jedno na koniec. Jeżeli ktoś zna odpowiedź na poniższe pytanie niech mi je prześle. Jest to głównie dla osób, które nie znają odpowiedzi, aby trochę pomyślały nad tym zagadnieniem. W nagrodę 10 pierwszych osób (jeżeli takowe będą) zostaną wyróżnione na łamach kursu. Odpowiedź piszcie na TEN ADRES.
Dlaczego użycie polecenia READLN; zatrzymuje wykonanie programu dopóty, dopóki nie zostanie wciśnięty klawisz ENTER?