Opis programów w Pascalu


Artur Bugajski

10 Programów opisanych w PASCAL-u

Program 1.

PROGRAM Payroll(INPUT,OUTPUT);

{ Deklaracja zmiennych }

VAR

Godziny, Stawka, Pensja :REAL;

{ Blok programu }

BEGIN

WRITE('Podaj liczbe przepracowanych godzin: ');

READLN(Godziny);

WRITE('Podaj stawke: ');

READLN(Stawka);

Pensja := Godziny * Stawka;

WRITELN;

WRITELN('Pensja = $', Pensja:0:2);

READLN;

END.

Program wylicza pensje. Na początku zostaniemy poproszeni o podanie liczby przepracowanych godzin. Potem program poprosi o podanie stawki. Następnie nastąpi pomnożenie „Godziny * Stawka”. Na koniec zostanie wyświetlona wynik mnożenia czyli nasza pensja.

Polecenie WRITE rozkazuje ono napisanie jakiegoś tekstu.

Aby zobaczyć, co też komputer napisał musimy wpisać polecenie READLN.

Program 2.

PROGRAM Compare1(INPUT,OUTPUT);

VAR

A, B :INTEGER;

Result :BOOLEAN;

BEGIN

WRITE('Podaj dwie liczby calkowite: ');

READLN(A, B);

Result := (A = B);

{ lub

Result := A = B;

nawiasy mozna pominac. }

WRITELN('Oto wynik porownania ', Result);

READLN

END.

Ten program ma za zadanie porównać dwie liczby całkowite. Wynik zapisać jako „typ logiczny Boolean” czyli (true) lub (false). Na początku program poprosi o podanie dwóch liczb całkowitych. Następnie porówna te dwie liczby. Wynik zostanie podany jako (true) dla tych samych liczb. Natomiast (false) dla liczb przeciwnych.

Program 3.

PROGRAM FlagLoop(OUTPUT);

VAR

Row, Column : INTEGER;

BEGIN

FOR Row := 1 TO 5 DO

BEGIN

FOR Column := 1 to 10 DO

WRITE('* ');

WRITELN

END;

WRITELN;

WRITELN('Nacisnij ENTER...');

READLN

END.

Program rysuje prostokąt z gwiazdek 10 poziomo 5 pionowo. W programie jest uzyta pętla FOR.

Program 4.

PROGRAM Subrange2(INPUT,OUTPUT);

VAR

UpperCase :'A'..'Z';

LowerCase :'a'..'z';

Digit :'0'..'9';

BEGIN

WRITE('Podaj mala litere: ');

READLN(LowerCase);

WRITE('Podaj wielka litere: ');

READLN(UpperCase);

WRITE('Podaj cyfre: ');

READLN(Digit);

WRITELN('-----------------------------------------------');

WRITELN('Twoje dane to:');

WRITELN('Mala litera : ', LowerCase);

WRITELN('Wielka litera : ', UpperCase);

WRITELN('Cyfra : ', Digit);

WRITELN('Nacisnij ENTER...');

READLN

END.

W tym programie zostaniemy poproszeni o podanie na początku małej litery potem wielkiej litery oraz podania cyfry. Program po podaniu liter i cyfr wypisze je pod spodem.

Program 5.

PROGRAM DaysOfMonth2(INPUT,OUTPUT);

LABEL

Start;

VAR

Days, Month, Year :INTEGER;

BEGIN

Start:

WRITE('Prosze podac numer miesiaca: ');

READLN(Month);

CASE Month OF

1,3,5,7,8,10,12 : Days := 31;

4,6,9,11 : Days := 30;

2 : BEGIN

WRITE('Podaj rok: ');

READLN(Year);

IF YEAR MOD 4 = 0 THEN

Days :=29

ELSE

Days :=28

END;

ELSE

EXIT { wszystkie inne przypadki }

END;

WRITELN('W tym miesiacu jest ',Days,' dni.');

GOTO Start

END.

Program ma za zadanie podać ile jest w danym miesiącu dni. Jeżeli zostanie program poproszony o podanie ile jest dni w lutym spyta się

dodatkowo o rok. W programie jest użyta instrukcja warunkowa if która sprawdza czy podany przez urzytkownika rok dzieli się przez 4.Jeżeli reszta jest równa zero to program podaje że luty ma 29 dni. Natomiast jeżeli reszta jest różna od zera to program wypisze że luty ma 28 dni.

W programie jest użyta instrukcje CASE.

Schemat:

CASE wyrażenie OF
wartość1 : Intrsukcja1;
wartość2 : Instrukcja2;
...
ELSE Instrukcja3
End;

Działanie tej instrukcji jest następujące: zostanie obliczone [wyrażenie] i jeśli jest ono równe [wartość1] zostanie wykonana [Instrukcja1], Jeśli wartość wyrażenia jest równe [wartość2], zostanie wykonana [instrukcja2] itd. Jeśli wynikiem wyrażenia nie jest żaden z podanych poniżej wartości zostanie wykonana instrukcja znajdująca się po opcjonalnym parametrze ELSE.

Program 6.

PROGRAM StringLen(INPUT,OUTPUT);

VAR

Nazwisko :STRING[20];

BEGIN

WRITELN('Dlugosc lancucha wynosi teraz ',LENGTH(Nazwisko),

' znakow');

WRITE('Podaj nazwisko, ktore ma do 20 znakow: ');

READLN(Nazwisko);

WRITELN('Dlugosc lancucha wynosi teraz ',LENGTH(Nazwisko),

' znakow')

END.

Program wyświetla ile znaków zostało napisanych. Długość jest określona do 20 znaków.

Zmienna typu STRING może przechowywać do 255 znaków. STRING[20] jest to ograniczenie do 20 znaków.

Program 7.

PROGRAM AlphaCounter(INPUT,OUTPUT);

VAR

Ch :CHAR;

Counter :INTEGER;

BEGIN

Counter := 0;

WHILE NOT EOLN DO

BEGIN

READ(Ch);

IF (Ch >= 'a') AND (Ch <= 'z')

OR (Ch >= 'A') AND (Ch <= 'Z') THEN

Counter := Counter + 1

END;

WRITELN('Liczba wypisanych liter = ', Counter);

READLN;

WRITELN('Nacisnij ENTER...');

READLN

END.

Kolejny program liczy ile liter zostało wpisanych przez użytkownika.

Jest tu zastosowana pętla “WHILE DO”. Pętla "WHILE..DO", najpierw sprawdza warunek, a potem dopiero, (jeżeli jest on spełniony) się wykonuje. Po słowie "DO", musimy zastosować "BEGIN". Użyta jest też funkcja Eoln która zwraca prawdę, jeżeli dojdziemy do końca wczytywanej linii.

Wprogramie jest uzyta instrukcja IF oraz operatory “AND”(i) oraz “OR”(lub).

Program 8.

PROGRAM Arithmetic(OUTPUT);

{ Deklaracje zmiennych }

VAR

a, b :INTEGER;

{ Blok programu }

BEGIN

a := 25;

b := 2;

WRITELN('a=',a);

WRITELN('b=',b);

WRITELN('a+b=',a+b);

WRITELN('a-b=',a-b);

WRITELN('a*b=',a*b);

WRITELN('a/b=',a/b);

WRITELN('a div b=',a DIV b); { Tylko argumenty calkowite }

WRITELN('a mod b=',a MOD b) { Tylko argumenty calkowite }

END.

Program wykonuje operacje matematyczne na dwóch zmiennych 25 i 2. DIV jest to dzielenie całkowite, MOD dzielenie z resztą.

Program 9.

PROGRAM Display1(INPUT,OUTPUT);

CONST

LF = CHR(10);

CR = CHR(13);

VAR

X, Y, Z :INTEGER;

BEGIN

WRITE('Podaj trzy liczby: ');

READLN(X, Y, Z);

WRITELN('X=', X, CR, LF, 'Y=', Y, CR, LF, 'Z=', Z)

END.

Program wypisze trzy liczby. “LF = CHR(10)” i “CR = CHR(13)” są to znaki końca wiersza.

LF i CR były stosowane na maszynach do pisania oznaczały LF - Line Feed (przeniesienie karetki o linie), CR - Carriage Return (przeniesienie karetki w lewo). W chwili, gdy powstały komputery a wraz z nimi podstawowa tablica ASCII, znaki te zostały w niej ujęte i otrzymały swoją reprezentację. Dziesiętnie znaki te maja kody ASCII 10 (LF) i 13 (CR).

Program 10.

PROGRAM OrdinalNumber(INPUT,OUTPUT);

VAR

SingleChar :CHAR;

BEGIN

WRITE('Prosze podac znak: ');

READLN(SingleChar);

WRITELN('Kod podanego znaku to ', ORD(SingleChar));

READLN { Program czeka na nacisniecie Enter }

END.

Ten program zamienia znaki z klawiatury na kod ASCII.

Funkcja ORD działa odwrotnie do funkcji CHAR (zmienia znak na liczby).



Wyszukiwarka

Podobne podstrony:
opis programu Turbo Pascal (24 str)
Opis programu komputerowego Twierdzenie Pitagorasa-dowód i z, wrzut na chomika listopad, Informatyka
Opis programu Photo Collage Platinum
1 Opis programu CorelDRAW
Opis programu Arena
Opis programu TrUtil i jego funkcje, Travian, Travian
Polski opis programu EST
Pliki opis Programowanie w C
Polski opis programów pakietu winPenPack Flash 2Gb
opis programu skrot
Opis programu YAGI
links-opis programu
opis programu ksztalcenia - psychologia , ! PSYCHOLOGIA PSYCHIATRIA
Alg. Kruskala PJ, Opis programu, Autor całego projektu: Paweł Jaroszewski gr 12
Spr z I części Programowanie Pascal Pojęcia
Pliki0MSoffice, Programowanie, Pascal
Opis programu DalilyDiary
Polski opis programu FX ChemStruct 1
Opis programów

więcej podobnych podstron