!3 Pascal instrukcje, szkoła VII LO, INFA


BORLAND PASCAL
PODSTAWOWE INSTRUKCJE I ICH SKŁADNIE Z PRZYKŁADAMI

  1. Instrukcja program - to nagłówek programu, w którym podajemy jego nazwę (nazwa programu nie może zawierać spacji, polskich znaków diaktrycznych, cyfr na początku nazwy i oraz znaków specjalnych Pascal'a.

  1. Instrukcja begin - to oznaczenie rozpoczęcia wykonywania bloku sekwencji instrukcji. UWAGA! Po begin NIGDY nie robimy ;

  1. Instrukcja end - to oznaczenie zakończenia wykonywania bloku sekwencji instrukcji rozpoczętych słowem kluczowym begin gdzieś powyżej. Ogólnie, tyle ile begin
    w programie tyle też musi być end (choć są i wyjątki). Obie instrukcje są niczym nawiasy otwierające (begin) i zamykające (end).

UWAGA! Z okazji tego, że end może mieć trzy znaczenia w programie kończymy go na trzy możliwe sposoby:

        1. end; - kończy wykonywanie bloków w pętlach, warunkach itp.

        2. end. - kończy program (zamyka pierwszy begin)

        3. end - kończy pierwszą część w warunku if przed słowem kluczowym else

Przykład Program, który nic nie robi

program nic;

begin

end.

  1. Funkcja write() / writeln() - ­służy do wypisywania na ekranie monitora tekstu czy wyniku obliczeń. Funkcja write wypisuje tekst do momentu zapełnienia wiersza po czym przechodzi do wiersza poniżej. Writeln zaczyna zawsze pisanie od nowego wiersza. Ich składnia jest różna w zależności od tego co ma wypisać:

        1. write(`dowolny tekst'); ⇒ wypisze tekst na ekranie monitora

        2. write(`dowolny tekst ',zmienna); ⇒ wypisze na ekranie tekst oraz wartość obliczoną w zmiennej o nazwie zmienna

        3. write(zmienna); ⇒ wypisze na ekranie wartość zmiennej o nazwie zmienna

        4. write(`tekst1 ',zmienna1,' tekst2 `,zmienna2); ⇒ wypisze na ekranie dwa teksty rozdzielone i zakończone wartością obliczonych zmiennych

Przykład Programy, który wypisują imię i nazwisko na ekranie monitora.

program imie; program imie2;

begin begin

write(`Imie nazwisko'); writeln(`Imie nazwisko');

end. end.

Zauważcie i zapamiętajcie różnicę w wykonaniu obu programów

  1. Instrukcja var - służy do deklaracji (definiowania) zmiennych i ich typów. Po tej komendzie podajemy zmienne i typy, które mają przyjmować. Jeśli więcej niż jedna zmienna ma przyjąć ten sam typ to wówczas wypisujemy je wszystkie po przecinku i „podpinamy” pod odpowiedni typ zmiennej:

var a:integer;

b,c,d:real;

imie,plec:string[15];

nazwisko:string[20];

stan:char;

  1. Instrukcja read() / readln()- służy do odczytania i przypisania zmiennej o nazwie podanej w nawiasie wartości wprowadzonej z klawiatury. Wartość wprowadzanych danych musi się zgadzać z wybranym typem danych, które ta zmienna ma przyjmować.

read(wiek);

read(imie);

read(n);

read(zakres);

read(zmienna1);

Przykład

var

a:string;

begin

writeln('Podaj swoje imię');

readln(a);

writeln(a,'-jakie ładne imię!');

end.

Przykład

var

a,b:string;

begin

writeln('Podaj swoje imię');

readln(a);

writeln(a,'-jakie ładne imię!');

writeln('Podaj imię sąsiada');

readln(b);

writeln(`Imię `,b,' jest jeszcze ładniejsze od imienia ',a);

end.

  1. Instrukcja przypisania wartości := pozwala na wykonanie obliczenia
    i podstawienia go do pewnej zmiennej. ZAWSZE jest to symbol :=

i:=1;

pole:=2*a+2*b;

objetosc:=(a*a*h)/3;

j:=j+1;

Przykład Program, który oblicza objętość i pole powierzchni bocznej sześcianu

(program na razie bez koniecznych założeń).

program szescian;

var a,poleboczne,objetosc:integer;

begin

writeln('Podaj długość boku a=?');

readln(a);

poleboczne:=4*a*a;

objetosc:=a*a*a;

writeln('Objętość sześcianu o boku ',a,' wynosi ',objetosc);

writeln('Pole powierzchni bocznej wynosi ',poleboczne);

end.

  1. Instrukcja warunkowa składa się ze słowa kluczowego if, bezpośrednio po którym następuje wyrażenie logiczne, słowo kluczowe then i instrukcja (instrukcje). Po instrukcji (instrukcjach) może występować słowo kluczowe else
    i ponownie instrukcja (instrukcje). Wyrażenia logiczne można w instrukcji warunkowej łączyć operatorami logicznymi: and, or, xor, in.

if (warunek) then if (warunek) then

0x08 graphic
0x08 graphic
instrukcja begin

else instrukcja1;

instrukcja; instrukcja2;

.....

0x08 graphic
end

0x08 graphic
UWAGA! Przed słowem else

kluczowym else begin

linia powyżej NIE instrukcja3;

kończy się [ ; ] instrukcja4;

.....

end;

Wykonanie instrukcji warunkowej rozpoczyna się od wyznaczenia wartości danej reprezentowanej przez wyrażenie logiczne.

Jeśli jest nią wartość true (warunek spełniony, PRAWDA), to wykonywana jest instrukcja (instrukcje) następująca po słowie kluczowym then.

Jeśli jest nią false (warunek niespełniony, FAŁSZ), to wykonywana jest instrukcja (instrukcje) następujące po słowie kluczowym else.

Jeśli w instrukcji warunkowej brak jest słowa kluczowego else wówczas, przy niespełnionym warunku logicznym, wykonywanie tej instrukcji jest zakończone.

Przykład Program, który oblicza objętość i pole powierzchni bocznej sześcianu

(program sprawdza konieczne założenia).

program szescian;

var a,poleboczne,objetosc:integer;

begin

write('Podaj długość boku a=? ');

read(a);

if (a>0) then

begin

poleboczne:=4*a*a;

objetosc:=a*a*a;

writeln('Objętość sześcianu o boku ',a,' wynosi ',objetosc);

writeln('Pole powierzchni bocznej wynosi ',poleboczne);

end

else

writeln('Taki sześcian nie istnieje!');

end.

Przykład Program, który oblicza pole trójkąta.

program trojkat;

var a,h:integer;

pole:real;

begin

write('Podaj długość podstawy a=? ');

read(a);

writeln;

write('Podaj długość wysokości h=? ');

read(h);

if (a=0) or (h=0) then

writeln('Trójkąt nie istnieje!!!')

else

begin

pole:=0.5*a*h;

writeln('Pole trójkąta wynosi ',pole,'[j^2]');

end;

end.

Zadanie 1.

Napisz prosty program, który zada użytkownikowi pytanie o wartość prędkości
(wyrażoną w km/s) z jaką ma z Ziemi wystartować rakieta. W zależności od wprowadzonej prędkości poinformuj użytkownika czy:

Zadanie 2.

Najprostszy wzór na obliczanie prawidłowej wagi polega na odjęciu od wzrostu podanego w [cm] liczby 110. Napisz prosty program, który zada użytkownikowi pytanie o wzrost i wagę (wyrażoną w kg), a następnie:

Załóż w programie, że wzrost i wagę podajemy tylko w liczbach całkowitych.

Zadanie 1.

program kosmos;

var v:real;

begin

write('Podaj prędkość w [km/s]. V=? ');

read(v);

if (v<7.9) then

writeln ('Pierwsza prędkość kosmiczna. Rakieta zrąbie się na ziemie!')

else

if (v<11.17) then

writeln('Druga prędkość kosmiczna. Rakieta zajmie orbitę wokół Ziemi!')

else

if (v<16.7) then

writeln('3 prędkość kosmiczna. Rakieta opuści orbitę Ziemską!');

else

if (v<=130) then

writeln('4 pr. kosm.. Rakieta wyleci poza Układ Słoneczny!');

else

if (v>130) then

writeln('Podbijemy obce planety!!!');

end.

Zadanie 2.

program test;

var wzrost,waga,dif,ile:integer;

begin

write('Podaj wzrost w [cm]. Wzrost=? ');

read(wzrost);

writeln;

write('Podaj wagę w [kg]. Waga=? ');

read(waga);

dif:=wzrost-110;

if (dif<waga) then

begin

ile:=waga-dif;

writeln('Masz nadwagę około ',ile,'[kg]');

end

else

begin

if (dif>waga) then

begin

ile:=dif-waga;

writeln('Masz niedowagę około ',ile,'[kg]');

end

else

writeln('Teeee... masz idealną wagę! Oszukujesz?');

end;

end.

  1. Instrukcja wyboru case of służy do wykonania pewnych poleceń w zależności od wybranej opcji określonej w programie.

case (wyrażenie) of

wartość wyrażenia: instrukcja;

wartość wyrażenia: instrukcja;

wartość wyrażenia: instrukcja;

end;

Przykład Program wypisujący słownie podaną liczbę.

var

n:integer;

begin

writeln('Podaj liczbę');

readln(n);

case n of

1: writeln(`Jeden');

2: writeln(`Dwa');

3: writeln(`Trzy');

4: writeln(`Cztery');

5: writeln(`Pięć');

end;

readln;

end.

  1. Instrukcje ITERACYJNE - służą do organizowania cykli programowych. Występują one w trzech odmianach, tzw. pętle: for, while i repeat.

        1. instrukcja for - powoduje wykonanie zawartej w niej instrukcji lub ciągu instrukcji dla wszystkich wartości zmiennych iteracyjnych, które należą do przedziału domkniętego [a;b]. Wyrażenia a i b określające wartość początkowe i końcowe iteracji muszą należeć do tego samego typu porządkowego (najczęściej jest to typ integer). Postać instrukcji for zależy od sposobu modyfikowania zmiennej iteracyjnej:

        2. zmienna iteracyjna przybiera wartości od najmniejszej do największej (wartośc a<b):

      for nazwa_zmiennej:=wartość_początkowa to wartość _końcowa do

      begin

      instrukcja_1;

      instrukcja_2;

      ...

      end;

        • zmienna iteracyjna przybiera wartości od największej do najmniejszej (wartośc a>b):

      for nazwa_zmiennej:=wartość_początkowa downto wartość _końcowa do

      begin

      instrukcja_1;

      instrukcja_2;

      ...

      end;

      UWAGA! Jeśli w pętli mamy do wykonania tylko jedną instrukcję wówczas nie musimy poprzedzać ja słowem kluczowym begin i kończyć end.

      Przykład Program wyznaczający sumę n kolejnych liczb naturalnych.

      program suman;

      var n,i,suma:integer;

      begin

      writeln('Podaj do której liczby zsumować? n=');

      read(n);

      0x08 graphic
      0x08 graphic
      for i:=1 to n do

      suma:=suma+i;

      writeln('Suma ',n,' kolejnych liczb naturalnych wynosi ',suma);

      end.

      Mała modyfikacja programu:

      ...

      0x08 graphic
      for i:=1 to n do

      begin

      suma:=suma+i;

      writeln('Suma ',n,' kolejnych liczb naturalnych wynosi ',suma);

      end;

      end.

            1. instrukcja while - ciąg instrukcji zawartych w tej pętli wykonuje się tak długo, jak długo spełniony jest warunek. W przypadku, gdy warunek nie jest spełniony, pętla przestaje być wykonywana. Składnia pętli while jest następująca:

      while warunek do

      begin

      instrukcja_1;

      instrukcja_2;

      ...

      end;

      Wykonywanie pętli przebiega według poniższego algorytmu:

      1. Wyznaczana jest wartość wyrażenia logicznego

      2. Jeśli wartością warunku jest false, to wykonywanie pętli uznaje się za zakończone

      3. Jeśli wartością warunku jest true, to są wykonywane wszystkie instrukcje po słowie kluczowym do

      4. Idź do kroku 1)

      Przykład Program zmniejszający liczbę n do zera.

      program zero;

      var n:integer;

      begin

      writeln('Podaj od ilu zmniejszać? N=');

      read(n);

      while n<>0 do

      begin

      n:=n-1;

      writeln(n);

      end;

      writeln('Masz zero. KONIEC!');

      end.

            1. instrukcja repeat ... until - ciąg instrukcji zawartych w tej pętli wykonuje się tak długo, jak długo nie jest spełniony warunek logiczny. W przypadku, gdy warunek jest spełniony, pętla przestaje być wykonywana. Składnia pętli repeat ... until jest następująca:

      repeat

      instrukcja_1;

      instrukcja_2;

      ...

      until warunek;

      Wykonywanie pętli przebiega według poniższego algorytmu:

      1. Wykonywane są instrukcje wykazu następujące po słowie kluczowym repeat

      2. Wyznaczana jest wartość wyrażenia logicznego określonego po słowie kluczowym until.

      3. Jeśli wartością warunku jest true, to wykonywanie pętli uznaje się za zakończone

      4. Jeśli wartością warunku jest false, to idź do kroku 1)

      Przykład Program zmniejszający liczbę n do zera.

      program zero;

      var n:integer;

      begin

      writeln('Podaj od ilu zmniejszać? N=');

      read(n);

      repeat

      n:=n-1;

      writeln(n);

      until n=0;

      writeln('Masz zero. KONIEC!');

      end.

      UWAGA!!!

      Istotną różnicą pomiędzy pętlami while a repeat ... until jest to, że pętla
      repeat ... until wykona się ZAWSZE PRZYNAJMNIEJ RAZ, bez względu na to jaka jest wartość logiczna warunku logicznego określonego w pętli.

      Natomiast pętla while nie wykona się ANI RAZU jeśli zadany warunek nie jest spełniony.

      Fakt ten ma bardzo istotne znaczenie w programistyce. Stosowanie
      w programie pętli repeat ... until wiąże się z dość poważnym ryzykiem. Często ta pętla z okazji tego, że zawsze się wykonuje przynajmniej raz, generowała bezsensowne błędy w dobrze napisanych (oczywiście merytorycznie) programach.

      6



      Wyszukiwarka

      Podobne podstrony:
      Zadania Pascal lekcja, szkoła VII LO, INFA
      !2 Pascal Znaki, szkoła VII LO, INFA
      !2 Pascal Typy Danych, szkoła VII LO, INFA
      !04a.algorytmy, szkoła VII LO, INFA
      hist-lektury, szkoła VII LO
      04 W a ciwo ci wybranych metali i niemetali test II , szkoła VII LO
      KULTURA GRECKAhh, szkoła VII LO
      Wykład VII, politechnika infa 2 st, Projektowanie Systemów Informatycznych
      Turbo Pascal Instrukcja przypisania
      pascal instrukcje Lab nr6
      pascal instrukcje, Lab.nr4, Laboratorium z mechaniki ogólnej
      Instr-BHP, zad szkoła, ti LO klasy informatyczne na Stn01, materialy do podrecznika, regulamin praco
      Regulamin Pracowni komputerowej, zad szkoła, ti LO klasy informatyczne na Stn01, materialy do podrec
      Wymagania dot st komp, zad szkoła, ti LO klasy informatyczne na Stn01, materialy do podrecznika, reg
      Wykład VII, politechnika infa 2 st, Projektowanie Systemów Informatycznych
      pascal instrukcje, Lab.nr2, Laboratorium z mechaniki ogólnej
      PODRECZNIK R 16 2 b, zad szkoła, ti LO klasy informatyczne na Stn01, materialy do podrecznika, rozdz
      07- INSTRUKCJA BHP ZASAD BEZPIECZEŃSTWA EKSPL URZĄDZEŃ I IN~2, Instrukcje BHP, VII - ELEKTRYKA
      05- INSTRUKCJA BHP PRZY OBSŁUDZE PRASY HYDRAULICZNEJ, Instrukcje BHP, VII - ELEKTRYKA

      więcej podobnych podstron