Pascal (język programowania)


Pascal (język programowania) w encyklopedii

Z Wikipedii, wolnej encyklopedii Przejdź do nawigacji Przejdź do wyszukiwania

Pascaljęzyk programowania wysokiego poziomu opracowany przez Niklausa Wirtha w 1970 roku.

Spis treści

Historia | edytuj kod

Pascal jako język programowania pojawił się stosunkowo późno (Fortran, Cobol i IBM PL/1 pojawiły się już we wczesnych latach sześćdziesiątych). Niklaus Wirth miał zacząć tworzyć Pascala w 1968, a pierwsza implementacja tego języka miała nastąpić w 1970 w serii komputerów CDC 6000. Korzenie języka mają sięgać linii języków programowania Algol-60 i Algol-W. W przeciwieństwie do języka C który został stworzony jako język programowania wysokiego poziomu ale zapewniający ciągle dostęp niskopoziomowy jak języki asemblera, Pascal został stworzony przede wszystkim jako język do tworzenia strukturalnych aplikacji. Pierwszy opis języka Wirth zawarł w The programming language Pascal, Acta Informatica 1/1971, a kolejny, poprawiony w The programming language Pascal (Revised Report), Bericht der Fachrgruppe Computer – Wissenschaften 5/1972. Pierwszym podręcznikiem języka Pascal była pozycja Jensen, Wirth, Pascal, User Manual and Report 1974. W 1977 Wirth zarzucił pracę nad Pascalem na rzecz Modula. W 1982 pojawił się ISO Pascal. Mniej więcej w tym samym czasie pojawił się Compas Pascal stworzony przez Andersa Hajlsberga. Później produkt ten został przebudowany i przemianowany na PolyPascal przez firmę PolyData A/S (początkowo firma ta należała do Hajlsberga, który sprzedał ją później Borlandowi). W listopadzie 1983 pojawił się Turbo Pascal od firmy Borland, który do 1987 osiągnął wersję 4. Turbo Pascal jako środowisko programistyczne wyróżniał się wówczas na tle konkurencji szybkością kompilacji i uruchomienia[1].

Popularność Pascala w Polsce była większa niż w innych krajach ze względu na dostępność kompilatorów w pirackich wersjach (zanim pojawiło się prawo ochrony własności intelektualnej), prostotę języka oraz jego popularyzację przez wyższe uczelnie. Szczyt popularności tego języka przypadł na lata 80. i początek 90 XX wieku. Wraz ze zniesieniem ograniczeń COCOM, upowszechnieniem się sieci oraz systemu Unix (następnie Linuksa) stopniowo został wyparty przez C i C++.

Jedną z popularniejszych implementacji kompilatorów tego języka był produkt firmy Borland InternationalTurbo Pascal. W chwili obecnej dość mocno rozpowszechnionym obiektowym dialektem języka Pascal jest Object Pascal, który stanowi podstawę dla takich języków jak Delphi, Delphi.NET, Oxygene

Istnieją wolne kompilatory Pascala, na przykład Free Pascal, a także bazujące na nim, wolne środowiska IDE jak Lazarus.

Pascal jako narzędzie programisty | edytuj kod

Pascal bardzo rygorystycznie podchodzi do kontroli typów, tj. sprawdza czy do zmiennej typu A nie próbuje się przypisać wartości typu B. Jest zatem językiem silnie typowanym.

Popularność Pascala znacznie wzrosła z pojawieniem się Delphi – środowiska programistycznego, opartego na obiektowym Pascalu, pozwalającego na błyskawiczne tworzenie atrakcyjnych wizualnie aplikacji pod Windows. Średnik w języku Pascal jest separatorem instrukcji podczas gdy w C++ jest terminatorem. Poprawna jest instrukcja blokowa:

begin x:=1 end 

jak również:

begin x:=1; end 

Jednak w tym drugim przypadku w bloku są dwie instrukcje: podstawienia i pusta. Zdaniem niektórych programistów bezpieczniej jest używać średnika jako terminatora, co ma zapobiegać błędom wynikającym pominięcia go tam, gdzie jest on konieczny.

Przykładowe programy | edytuj kod

Poniżej przedstawione są przykładowe proste programy źródłowe - pełne lub podprogramy - napisane w języku Pascal. W przypadku programów pełnych można poddać je kompilacji/konsolidacji, np. w zainstalowanym ww. samodzielnie środowisku Free Pascal i uruchomić. Należy zwrócić uwagę, że w przykładach teksty wyprowadzane na urządzenie wyjścia zawierają polskie znaki diakrytyczne w standardzie UTF-8 - w przypadku użycia programów w oknie komend systemu Windows należy zamienić kodowanie polskich znaków na standard CP852 - można w tym celu użyć np. edytora Notepad++ (dla standardu CP852 używa on oznaczenia OEM-852).

Najprostszy program wypisujący tekst | edytuj kod

begin writeln('Hello World'); end. 

Program ustalenia n–tego wyrazu ciągu | edytuj kod

Program oblicza n–ty wyraz ciągu Fibonacciego.

program fibonacci; var i, liczba: word; a, b, c: longint; begin writeln('Podaj którą liczbę z ciągu Fibonacciego chcesz zobaczyć: '); readln(liczba); a := 1; b := 1; if liczba <= 2 then writeln('Wynik: ', a) else begin for i := 3 to liczba do begin c := a+b; a := b; b := c; end; writeln('Wynik: ', c); end; end. 

Podprogram obliczający liczbę w ciągu Fibonacciego | edytuj kod

Podprogram ustala liczbę w ciągu Fibonacciego metodą rekurencyjną.

function fibonacci(nr: integer): integer; begin if (nr = 1) or (nr = 2) then fibonacci := 1 else fibonacci := fibonacci(nr-1) + fibonacci(nr-2); end; 

Program wyliczenia miejsc zerowych funkcji kwadratowej | edytuj kod

program funkcja; var delta , x1 , x2: real; a, b, c: real; begin writeln('Podaj współczynniki a, b, c trójmianu kwadratowego: '); readln(a, b, c); if a = 0 then writeln('TO NIE JEST FUNKCJA KWADRATOWA') else begin delta := (b * b) - (4 * a * c); writeln('Delta = ', delta); if delta < 0 then writeln('BRAK MIEJSC ZEROWYCH FUNKCJI ! (w zbiorze liczb rzeczywistych)') else if delta > 0 then begin x1 := ((- b) - sqrt(delta)) / (2 * a); x2 := ((- b) + sqrt(delta)) / (2 * a); writeln('X1 = ' , x1); writeln('X2 = ' , x2); end else begin x1 := (- b) / (2 * a); writeln('X1 = ' , x1); end; end; end. 

Program obliczenia silni | edytuj kod

Program oblicza silnię dowolnej liczby naturalnej n (w praktyce dowolność ta ograniczona jest zakresem danych typu).

program silnia_liczby; var n: integer; function silnia(n: integer): integer; begin if n = 0 then silnia := 1 else silnia := n * silnia(n-1); end; begin writeln('Program oblicza silnię z dowolnej liczby'); write('Podaj liczbę: '); readln(n); writeln(n,'! = ',silnia(n)); end. 

Program sortujący tablicę liczb | edytuj kod

W programie zaimplementowano sortowanie metodą bąbelkową.

program sortowanie; const zakres = 99; var Liczby: array [1..zakres] of integer; i, j, k, n: integer; procedure czytaj; begin writeln('Program sortuje dane metodą bąbelkową'); write('Podaj ile liczb należy przesortować: '); read(n); for i := 1 to n do begin write('Liczba nr ',i,' = '); read(Liczby[i]); end; end; procedure pisz; begin writeln('Oto liczby posortowane rosnąco:'); for i := 1 to n do write(liczby[i],' '); readln; end; begin czytaj; for i := 2 to n do begin for j := n downto i do begin if Liczby[j-1] > Liczby[j] then begin k := liczby[j-1]; Liczby[j-1]:=Liczby[j]; Liczby[j]:=k; end; end; end; pisz; readln; end. 

Program symulujący kostkę do gry | edytuj kod

program kostka; uses crt; var kost: integer; znak: string; begin randomize; repeat clrscr; write ('Iluścienną kostką chcesz grać?:'); readln(kost); if (kost < 4) then begin writeln('Kostka musi mieć minimum 4 ściany'); readln; end; until (kost >= 4); clrscr; repeat write('Wylosowano : '); write(random(kost)+1); writeln(' aby zakonczyć wcisnij "q"'); readln(znak); until (znak ='q') or (znak = 'Q'); end. 

Zobacz też | edytuj kod

Przypisy | edytuj kod

  1. Neil Moffatt: DelphiBasics - Krótka historia Borland Delphi (ang.). [dostęp 17.06.2014].

Bibliografia | edytuj kod

  1. Michał Iglewski, Jan Madey, Stanisław Matwin, Pascal. Język wzorcowy – Pascal 360., Wydawnictwa Naukowo-Techniczne, Warszawa 1984, wydanie trzecie – zmienione, Seria: Biblioteka Inżynierii Oprogramowania, ​ISBN 83-204-0597-1​,
  2. Andrzej Marciniak: Borland Pascal 7.0. Poznań: Nakom, 1994. ISBN 83-85060-53-7. ISSN 0867-6011.

Linki zewnętrzne | edytuj kod

Na podstawie artykułu: "Pascal (język programowania)" pochodzącego z Wikipedii
OryginałEdytujHistoria i autorzy