background image

ALGORYTMY I SPOSOBY ICH 
PRZEDSTAWIANIA 
 
Definicja algorytmu: 
Algorytm jest przepisem który opisuje krok po kroku 
rozwiązanie problemu lub osiągniecie jakiegoś celu. 

 

 
PODSTAWOWE CECHY ALGORYTMU
 

 

Uniwersalność - moŜliwość rozwiązania całej klasy 
problemów 
Ścisłość - czynności i kolejność ich wykonania są 
opisane jasno i wyraźnie 
Jednoznaczność - wielokrotne wykonywanie 
algorytmu dla identycznych danych prowadzi do takich 
samych wyników 
Kompletność - algorytm uwzględnia wszystkie 
moŜliwe przypadki, jakie mogą wystąpić podczas jego 
wykonania 
Skończoność - wykonanie zadania otrzymamy po 
wykonaniu pewnej ilości czynności (kroków 
algorytmu) 
 
ZASADY OPRACOWYWANIA ALGORYTMÓW 
Przy opracowywaniu algorytmu naleŜy uwzględnić 
specyfikę obliczeń komputerowych a w szczególnosci 
- czas trwania obliczeń 
- pojęcie zera jest inne w logice komputera niŜ w 
matematyce 
SPOSOBY PRZEDSTAWIANIA ALGORYTMÓW 
Opis słowny 
Lista kroków 
Schemat blokowy 
Drzewo algorytmu 
Algorytm w języku programowania 
OPIS SŁOWNY ALGORYTMU 
Wyznaczyć wartość funkcji f(x)=x/|x| 

         -1 dla x <0 
|x|=     0 dla x=0 
          1 dla x>=0 

JeŜeli x=0 to wartość funkcji wynosi 0 
ALGORYTM W POSTACI LISTY KROKÓW 
Obliczyć wartość funkcji f(x)=x/|x| 
1.Wczytać wartość x 
2.jeŜeli x=0 ;f(x)=0; koniec 
3.JeŜeli x>0; f(x)=1; koniec 
4.JeŜeli x<0; f(x)=-1; koniec 
ALGORYTM - PROGRAM W JĘZYKU TURBO 
PASCAL 
PROGRAM oblicz; 
  var x :integer; 
BEGIN 
 read (x) 
 if  x < 0 then writeln(1); 
 if  x = 0 then writeln (0); 
 if  x > 0 then writeln (1) 
END. 
PROJEKT SYSTEMU INFORMATYCZNEGO 
ETAPY PROJEKTOWANIA SYSTEMU 
INFORMATYCZNEGO 
Zakres systemu(cząstkowy,dziedzinowy, 
wielodziedzinowy) 
Poziom ewolucyjny systemu(ewidencyjny, analityczny, 
SWD, SIK, ekspercki) 
Stopień integracji systemu 
STADIA śYCIA SYSTEMU INFORMATYCZNEGO 
Tworzenie systemu 
Weryfikacja systemu 
Eksploatacja i doskonalenie systemu 
Likwidacja systemu 
PROCES TWORZENIA SYSTEMU 
(Schemat) 
 
FORMUŁOWANIE ZAŁOśEŃ 
Obszar działania systemu 
Zakres systemu 
Rodzaj i konfiguracja komputera 
Przewidywane koszty 
Czasochłonność projektowania 
Zapotrzebowanie na kadrę specjalistów 
Przewidywane zmiany organizacyjne obiektu 
Kierownictwo obiektu(system powinien być idealny) 
Kierownictwo firmy informatycznej(system powinien 
być powielarny najlepiej juŜ istniejący) 
Opis podstawowych funkcji merytorycznych 
Powiązania z innymi systemami(modułami) 
Wykaz wymagań i ograniczeń systemu 
Limity środków przygotowania systemu  
Błędy przy ustalaniu załoŜeń : 
1)”wszystko zrobi komputer”-aby zminimalizować 
czynności przyszłego uŜytkownika 
2)informatycy(analitycy I programiści nie rozumiejąc 
procesów gospodarczych upraszczają je w algorytmach 
I programach) 
3)nie uwzględnia się moŜliwości zmian systemów i 
metod zarządzania, przyzwyczajeń ludzi, ich 
interpretację informacji uzyskanych z systemu 
MODELOWANIE SYSTEMU 
•Struktura funkcjonalna (zbiór celów, funkcji, zadań, 
oraz zaleŜności) 
•Struktura informacyjna( zbiory informacji i 
powiązania między nimi)  
•Struktura techniczna(środki techniczne i 
oprogramowanie) 
•Struktura przestrzenna( zbiór miejsc w których 
rozmieszczone są obiekty systemu) 
SYSTEM INFORMACYJNY 
System który zajmuje się przetwarzaniem informacji  
nazywamy  
systemem informacyjnym. W teorii organizacji i 
zarządzania  
jest to jeden z podsystemów systemu zarządzania. 
 
System informacyjny określony jest przy pomocy 
następujących zbiorów:  
-zbiór podmiotów-uŜytkowników systemu(nadawcy i 
odbiorcy) 
-zbiory informacji (zasoby informacyjne) 
-zbiór technik informacyjnych 
-zbiory metainformacji 
 
System informatyczny jest pojęciem węŜszym niŜ 
system informacyjny (jest jego podsystemem) 
 
Pojęcie informacji 
Informacje określa się jako odbicie róŜnorodności 
charakteryzującej rozpatrywany obiekt, proces, 
zjawisko.(Dictionary of Computing Oxford University 
Press 1986) Wg Wienera informacją nazywamy treść 
zaczerpniętą ze świata zewnętrznego w procesie 
naszego dostosowania się do niego i przystosowania 
się do niego naszych zmysłów. W informatyce 
informację nazywamy wielkość abstrakcyjną która 
moŜe być przechowywana w pewnych obiektach(np. 
komputerach) przesyłana między pewnymi 

obiektami(np. komputerami), przetwarza na na pewnych 
obiektach(np. komputerach) i stosowana do zarządzania 
pewnymi obiektami. 
 
Podstawowe pojęcia systemu informacyjnego 
Dana 
- jest to ta część informacji, która stanowi 
materialną reprezentację informacji(informacja 
ilościowa)- jest ona przedmiotem przetwarzania 
Wiadomość - jest to kaŜdy przekaz o określonym 
znaczeniu wysyłany i odbierany przez człowieka lub 
skonstruowane przez niego urządzenia. 
Informacja - określa znaczenie a więc treść jaką po 
zastosowaniu odpowiedniej interpretacji przypisuje się 
wiadomościom. 
Wiadomość formułuje się i interpretuje w pewnej 
konwencji znanej nadawcy i odbiorcy. 
 
Elementy systemu informacyjnego 
1.Bank informacji - zbiór informacji systemu 
informacyjnego. 
2.Kanały przepływu informacji - łączące nadawców 
informacji z odbiorcami do przesyłania tzw Ŝądań 
informacyjnych-zestawów informacji dla komórek 
organizacyjnych danej instytucji.  
3.Zbiór nośników informacji- w systemie 
informacyjnym są to głównie róŜnego rodzaju 
dokumenty. 
4.Środki systemu informacji- urządzenia słuŜące do 
przekazywania  informacji. Bank informacji zawiera 
informacje podzielone według specyficznego charakteru 
sfer działalności danej instytucji(kadry, płace logistyka 
itp.)  
Kanały informacyjne prowadzone są od odbiorcy do 
nadawcy tak aby jak najlepiej zostało przekazane Ŝądanie 
informacyjne(np. dane o zuŜyciu materiałów moŜe być 
uzyskane z magazynu, produkcji lub księgowości) 
Bierni odbiorcy informacji otrzymują informacje zaleŜne 
od woli moŜliwości i upodobań nadawców. 
Czynni odbiorcy informacji otrzymują informacji według 
określonego przez siebie zakresu  schematu i 
dokładności.   
 
PODSTAWY PROJEKTOWANIA OBIEKTOWEGO 
Obiektowość to: cecha języków programowania; sposób 
podejścia do projektowania systemów; sposób 
organizowania naszych sądów o świecie. To 
organizowanie bazuje na typach rzeczy (inaczej typach 
obiektowych.) 
 
Obiekty opisuje się w kategoriach struktury i 
zachowania 
 
Struktura
 to statyczne ułoŜenie obiektów w przestrzeni. 
(np. pracownicy, dokumenty, maszyny) 
 
Zachowanie to zmiana konfiguracji i stanów obiektów - 
opisuje ono procesy modyfikujące obiekty 
(np. pracownik osiągnął wiek emerytalny, wykonano 
operację  
księgowania na dokumencie) 
 
PODEJŚCJE OBIEKTOWE MOśE BYĆ 
STOSOWANE DO PROJEKTOWANIA RÓśNEGO 
RODZAJU SYSTEMÓW 
Obiektowość powstała z potrzeby łatwiejszego 
sposobu przedstawiania systemów
 
Podejście projektowania obiektowego moŜna stosować w 
takich dziedzinach jak: 
inŜynieria oprogramowania 
inŜynieria sieci 
produkcja 
robotyka 
 
POJĘCIA I RZECZYWISTOŚĆ 
Pojęcie jest wyobraŜeniem lub oznaczeniem obiektów w 
naszej świadomości 
Przykłady pojęć:....... 
DEFINIOWANIE POJĘĆ 
•Nazwa pojęcia 
•Treść pojęcia - intensja 
•Zakres pojecia - ekstensja 
Pojęcia mogą występować bez obiektów np. perpetum 
mobile, kompetentny rząd 
 
Pojęcia mogą nie mieć nazwy np. 
zaksięgowanie na konto 21-45 prowizji ze sprzedaŜy 
DZIEDZINY 
Dziedzina jest obszarem zainteresowań, który zawiera 
kolekcję obiektów będących egzemplarzami specyfikacji 
dziedziny 
Specyfikacja jest kolekcją pojęć odnoszących się do 
dziedziny 
„Ola wysoko zaszła” 
dziedzina :firma, wspinaczka wysokogórska 
pojęcia:stopnie kariery w firmie, nazwy zdobytych 
szczytów 
  OBIEKTY 
Obiektem jest to do czego da się zastosować jakieś 
pojęcie. Obiekt jest egzemplarzem pojęcia. 
 
Pojęcia mogą być teŜ obiektami, np. FIAT 126, np. FIAT 
126  rok 1998 np. fiat 126 rok 1998 biały(dla np. fabryki 
to pojęcia; dla własciciela to obiekty) 
 
Cykl Ŝycia obiektu-obiekty istnieją w naszej 
ś

wiadomości gdy po raz pierwszy zastosujemy do nich 

jakieś pojecie i znikają gdy tego pojęcia nie moŜna juŜ do 
nich stosować(np. mój samochód-dla mnie przestaje być 
obiektem gdy go sprzedam lub oddam na złom) 
  
NaleŜenie do zbioru. Zbiór jest klasą(kolekcją 
obiektów). Jeden obiekt moŜe naleŜeć do wielu zbiorów. 
Np. Jan K. MoŜe naleŜeć do zbioru łysych oraz do zbioru 
profesorów 
 
KOJARZENIE OBIEKTÓW 
 
schemat 
 
Kolekcja połączeń między typami obiektowymi 
(organizacja, osoba) 
stanowi specjalny rodzaj typu obiektowego tak zwany 
typ związku. UmoŜliwia odwzorowanie obiektów 
jednego zbioru na obiekty drugiego zbioru i na odwrót. 
 
 
Odwzorowanie przypisuje obiekty jednego typu 
obiektom drugiego typu 
Odwzorowania typów
 przedstawiają sam typ obiektowy 
a nie poszcze- 
gólne obiekty z kolekcji obiektów tego typu. 
Odwzorowania typów pozwalają definiować powiązania 
dotyczące  
typów, a nie ich pojedyńczych egzemplarzy 
 

RELACJE JAKO TYPY OBIEKTOWE 
RELACJE MOGĄ MIEĆ WŁASNOŚCI 
JeŜeli relacje nie mają własności notacja liniowa 
JeŜeli chcemy przedstawić własności związku -notacja 
węzłowa
 
KROTKI 
KROTKA JEST NIEZMIENNYM POŁĄCZENIEM 
OBIEKTÓW 
JeŜeli małŜeństwo przestanie istnieć-przestanie istnieć 
odpowiednia krotka(numer). 
JeŜeli jeden ze współmałŜonków zawrze ponownie 
związek małŜeński powstanie nowa krotka(o innym 
numerze), mimo Ŝe istota związku (małŜeństwo) nie 
zmieni się.Dawna krotka(oznaczona np. numerem 2 
przestanie istnieć). 
Klasyfikowanie jest aktem lub wynikiem zastosowania 
pojęcia 
( tzn. typu obiektowego ) do obiektu  
Uogólnianie jest aktem lub wynikiem wyróŜnienia 
pojęcia(tzn. typu obiektowego), które całkowicie zawiera 
(obejmuje) inne 
Składanie jest aktem lub wynikiem tworzenia całości 
obiektu  
uŜywając innych obiektów jako jego części 
Klasyfikowanie, uogólnianie i składanie są relacjami 
dotyczącymi obiektów i typów 
obiektowych 
--------------------------------------------------------------------- 
deklarowanie rekordow : 
type dane=record; 
   imie:string[10]; 
   nazwisko:[20]; 
   rok_urodz:integer; 
   mc_urodz:integer; 
   dz_urodz:integer; 
  end; 
  dane1:dane 
  write('podaj nazwisko '); 
  read dane1.nazwisko 
 
  deklarowanie plikow : 
  type plik=file of real; 
 
                    I 
                    I 
       opis zmiennej plikowej 
       skojarzenie pliku z fizycznym zbiorem danych 
       otwarcie piku 
       wykonanie opreacji na pliku 
       zamkniecie pliku 
--------------------------------------------------------------------- 
{program pokazuje najwiekszy i najmniejszy obiekt 
zboiru} 
Program wybierak; 
type tab=array[1..10] of integer; 
     ob=object 
     t:tab; 
     max,min:integer; 
     suma:integer; 
     procedure czytaj; 
     procedure max1; 
     procedure min1; 
     procedure su; 
     procedure pisz; 
 
end; 
var k:ob; 
    i:integer; 
procedure ob.czytaj; 
          begin 
               for i:=1 to 10 do 
                   begin 
                        writeln('podaj ',i,'element tablicy'); 
                        read(t[i]); 
                   end; 
          end; 
Procedure ob.max1; 
             begin 
                  max:=t[1]; 
                  for i:=2 to 10 do 
                  if t[i]>max then max:=t[i]; 
             end; 
procedure ob.min1; 
             begin 
                 min:=t[10]; 
                 for i:=1 to 9 do 
                 if t[i]<min then min:=t[i]; 
             end; 
 
procedure ob.pisz; 
          begin 
               writeln('maksymalna liczba z tablicy 
wynosi',max); 
               writeln('minimalna liczba z tablicy 
wynosi',min); 
          end; 
begin 
     k.czytaj; 
     k.max1; 
     k.min1; 
     k.pisz; 
end. 
 
{ZAD.1 PROGRAM Oblicza dla dowolnego x wartosci 
funkcji :} 
Program funkcja; 
type punkt=object 
         x:real; 
         procedure czytaj; 
         function wartosc:real; 
         end; 
procedure punkt.czytaj; 
    begin 
         WRITELN('Podaj dowolna liczbe:'); 
         READ(X); 
    end; 
function punkt.wartosc; 
    begin 
         if (x<=-3) or (x>3) then wartosc:=sqrt(x*x - 9); 
         if (x>-3) and (x<0) then wartosc:=abs(x+2); 
         if (x>=0) and (x<4) then wartosc:=x*x-4*x + 7; 
    end; 
var      p:punkt; 
   begin 
   p.czytaj; 
         WRITE('Wartosc=', p.wartosc:2:2); 
    readln; 
end. 
 
{Zad.2. Program sprawdza ktora z nazw imie czy 
nazwisko jest dluzsza} 
Program lancuchy; 
Type 
    nazwy=object 
    imie,nazwisko:string; 

    dl_im,dl_na:byte; 
    procedure czytaj; 
    procedure dlugosc; 
    function warunek:boolean; 
    procedure pisz; 
    end; 
procedure nazwy.czytaj; 
    begin 
    Writeln('Podaj imie'); 
    Readln(imie); 
    Writeln('Podaj nazwisko'); 
    Readln(nazwisko); 
    end; 
procedure nazwy.dlugosc; 
    begin 
    dl_im:=length(imie); 
    dl_na:=length(nazwisko); 
    end; 
function nazwy.warunek; 
    begin 
    warunek:=(dl_im>dl_na); 
    end; 
procedure nazwy.pisz; 
    begin 
if nazwy.warunek then writeln('Imie ma wiecej znakow') 
else 
                      writeln('Nazwisko ma wiecej znakow'); 
    end; 
var 
  n:nazwy; 
    begin 
    n.czytaj; 
    n.dlugosc; 
    n.pisz; 
 
    Readln; 
end. 
 
{Program wczytuje i wyświetla elementy tabilcy 4 
elementowej} 
 
program tablice; 
type tab=array[1..4] of integer; 
     ob=object 
     t:tab; 
     procedure czytaj; 
     procedure pisz; 
     end; 
var k:ob; 
    i:integer; 
procedure ob.czytaj; 
  begin 
  for i:=1 to 4 do 
  begin 
  write('podaj',i,'element tablicy'); 
  read(t[i]); 
  end; 
  end; 
procedure ob.pisz; 
  begin 
  for i:=1 to 4 do 
  write(t[i]); 
  end; 
begin 
k.czytaj; 
k.pisz; 
end. 
 
{program pokazuje najwiekszy obiekt zboiru} 
Program wybierak; 
type tab=array[1..10] of integer; 
     ob=object 
     t:tab; 
     max,min:integer; 
     procedure czytaj; 
     procedure max1; 
     Procedure min1;     
     procedure pisz; 
end; 
var k:ob; 
    i:integer; 
procedure ob.czytaj; 
          begin 
               for i:=1 to 10 do 
                   begin 
                        writeln('podaj ',i,'element tablicy'); 
                        read(t[i]); 
                   end; 
          end; 
Procedure ob.max1; 
             begin 
                  max:=t[1]; 
                  for i:=2 to 10 do 
                  if t[i]>max then max:=t[i]; 
             end; 
 
procedure ob.min1; 
 

     Begin 

 

 

  min:=t[10]; 

 

 

  for i:=1 to 9 do 

 

 

  if t[i]<min then 

max:=t[i]; 
 
 

     end; 

procedure ob.pisz; 
          begin 
               writeln('maksymalna liczba z tablicy 
wynosi',max); 
  

       writeln('minimalna liczba z 

tablicy wynosi ',min); 
          end; 
begin 
     k.czytaj; 
     k.max1;; 
     k.pisz; 
end. 
 
{program sprawdza czy dany punkt nalezy do zadanego 
obszaru} 
 
program zbior; 
type 
  obszar=object 
  x,y:real; 
  nazwa:string; 
  procedure czytaj; 
  function sprawdz:boolean; 
  function pisz:string; 
end; 
procedure obszar.czytaj; 
          begin 
               writeln ('podaj nazwe punktu'); 
               readln(nazwa); 
               writeln('podaj wspolrzedna x-owa 
punktu',nazwa); 

background image

               read(x); 
               writeln('podaj wspolrzeda y-owa 
punktu',nazwa); 
               read(y); 
          end; 
function obszar.sprawdz; 
         begin 
             sprawdz:=(abs(x)+abs(y)<=1) and (sqr(x-
1)+sqr(y)<=1) 
         end; 
function obszar.pisz; 
         begin 
              if sprawdz then pisz:=' nalezy' 
                         else pisz:=' nie nalezy'; 
         end; 
var 
o:obszar; 
begin 
     o.czytaj; 
     o.pisz; 
     write('punkt A ',o.pisz);write(' do podanego 
obszaru'); 
end. 
 
{{Program coś sobie liczy ale nie wiem co } 
 
program liczby; 
type ob=object 
s,i:integer; 
procedure we; 
procedure petla; 
end; 
var p:ob; 
procedure ob.we; 
          begin 
               write ('podaj i '); 
               read(i); 
          end; 
procedure ob.petla; 
          begin 
               s:=0; 
               while i<11 do 
               begin 
                          s:=s+i; 
                          i:=i+1; 
                          writeln ('suma wynosi s = ',s); 
                     end; 
          end; 
begin 
     p.we; 
     p.petla; 
end. 
 
{program liczy sobie pierwiastek i resztę dla liczb 
mniejszych od 5} 
 
program liczby; 
type ob=object 
i:integer; 
procedure we; 
procedure petla; 
end; 
var p:ob; 
procedure ob.we; 
          begin 
               write ('podaj i '); 
               read(i); 
          end; 
procedure ob.petla; 
          begin 
               while i<5 do 
                     begin 
                          write ('i=',i); 
                          write ('kwadrat = ',sqr(i)); 
                          write ('szescian =', i*i*i); 
                          write ('pierwiastek=',sqrt(i)); 
                          i:=i+1 
                     end; 
          end; 
begin 
     p.we; 
     p.petla; 
end. 
 
{program liczy } 
 
program liczby; 
type ob=object 
s,i:integer; 
k:real; 
procedure we; 
procedure petla; 
end; 
var p:ob; 
procedure ob.we; 
          begin 
               write ('podaj i '); 
               read(i); 
          end; 
procedure ob.petla; 
          begin 
               s:=0; 
               while i<11 do 
               begin 
                          k:=i/2; 
                          if frac(k)=0 then s:=s+i; 
                          if frac(k)<>0 then s:=s+i; 
 
                     end; 
          end; 
begin 
     p.we; 
     p.petla; 
end. 
 
{program segreguje liczby parzyste i nieparzyste 
 
program liczby; 
type ob=object 
s1,s2,i:integer; 
k:real; 
procedure we; 
procedure petla; 
end; 
var p:ob; 
procedure ob.we; 
          begin 
               write ('podaj i '); 
               read(i); 
          end; 
procedure ob.petla; 
          begin 
               s1:=0 ; s2:=0; 
               while i<11 do 
                     begin 

                          k:=i/2; 
                          if frac(k)=0 then s1:=s1+i; 
                          if frac(k)<>0 then s2:=s2+i; 
                          i:=i+1; 
                          writeln('parzyste= ',s1); 
                          writeln('nieparzysta=',s2); 
                     end; 
          end; 
begin 
     p.we; 
     p.petla; 
end. 
 
{program liczy średnie z 5 przedmiotów 5 studentom} 
 
program studenci; 
type tab=array[1..5,1..5] of integer; 
     t2=array[1..5] of integer; 
     ob=object 
     procedure wczytaj; 
     procedure licz; 
     procedure wyswietl; 
     end; 
var  t:tab; 
     i,j:integer; 
     s:integer; 
     sr:real; 
     tt:t2; 
     k:ob; 
procedure ob.wczytaj; 
          begin 
               for i:=1 to 5 do 
               for j:=1 to 5 do 
                   begin 
                   writeln('podaj oceny ',i,'studenta'); 
                   read(t[i,j]); 
          end; 
          end; 
procedure ob.licz; 
          begin 
               for i:=1 to 5 do 
               s:=s+t[i,j]; 
               sr:=s/5; 
          end; 
procedure ob.wyswietl; 
          begin 
               for i:=1 to 5 do 
                   begin 
                        writeln('srednia ',i,'studenta wynosi',sr); 
                        read; 
                   end; 
          end; 
begin 
     k.wczytaj; 
     k.licz; 
     k.wyswietl; 
end. 
 
{program liczy sume wszystkich elementów tablicy i 
ś

rednią} 

 
program tablice; 
type tab=array[1..4] of integer; 
     ob=object 
     t:tab; 
     suma:integer; 
     srednia:real; 
     procedure czytaj; 
     procedure pisz; 
     procedure licz; 
     end; 
var k:ob; 
    i:integer; 
procedure ob.czytaj; 
  begin 
  for i:=1 to 4 do 
  begin 
  write('podaj ',i,' element tablicy '); 
  read(t[i]); 
  end; 
  end; 
procedure ob.pisz; 
  begin 
  for i:=1 to 4 do 
  write(t[i]); 
  end; 
procedure ob.licz; 
  Begin 
       for i:=1 to 4 do 
       suma:=suma+t[i]; 
       writeln(suma); 
       srednia:=suma/4; 
       writeln(srednia); 
  end; 
begin 
k.czytaj; 
k.pisz; 
k.licz; 
end. 
 
{program liczący sume i średnią tablicy 4x4} 
 
Program tab; 
type dane=array[1..4,1..4] of integer; 
     ob=object 
     t:dane; 
     procedure we; 
     procedure suma; 
     procedure wyswietl; 
     end; 
     var 
     k:ob; 
     i,j,s:integer; 
     sr:real; 
     Procedure ob.we; 
               begin 
                    for i:=1 to 4 do 
                        for j:=1 to 4 do 
                            Begin 
                                 Write('podaj',i,j,'element tablicy'); 
                                 Readln(t[i,j]); 
                            end; 
                        end; 
     Procedure ob.suma; 
               Begin 
                    for i:=1 to 4 do 
                    for j:=1 to 4 do 
                    s:=s+t[i,j]; 
                    sr:=s/4; 
                    end; 
     procedure ob.wyswietl; 
               begin 
                    writeln('suma wynosi :',s,'˜rednia wynosi',sr); 
                    read; 
               end; 

 
     Begin 
          k.we; 
          k.suma; 
          k.wyswietl; 
     end. 
 
Program wyświetla elementy bedące na przekątnej} 
 
Program tab; 
type dane=array[1..5,1..4] of integer; 
     ob=object 
     t:dane; 
     procedure we; 
     procedure wy; 
     end; 
     var 
     k:ob; 
     i,j:integer; 
     Procedure ob.we; 
               begin 
                    for i:=1 to 5 do 
                        for j:=1 to 4 do 
                            Begin 
                                 Write('podaj',i,j,'element tablicy'); 
                                 Readln(t[i,j]); 
                            end; 
                        end; 
     Procedure ob.wy; 
               Begin 
                    for i:=1 to 5 do 
                        for j:=1 to 4 do 
                        if i=j then 
                        writeln('Element',i,j,' tablicy 
wynosi',t[i,j]); 
                        end; 
     Begin 
          k.we; 
          k.wy; 
     end. 
 
{program oblicza wartosc wyrazenia dla dowolnego a, 
nastepnie zaokragla 
ten wynik do liczby calkowitej} 
program oblicz; 
type 
    wyrazenie=object 
    a:real; 
    procedure czytaj; 
    function wynik:longint; 
    end; 
procedure wyrazenie.czytaj; 
          begin 
               Writeln('podaj dowolnĄ liczb©'); 
               read(a); 
          end; 
function wyrazenie.wynik; 
         var 
         lok:real; 
         begin 
              
lok:=sqrt(a*a+4)+abs(3*pi+sin(2*a))+exp(4*a+3); 
              If frac(lok)>0.5 then lok:=lok+1 else lok:=lok; 
         end; 
var 
w:wyrazenie; 
         begin 
              w.czytaj; 
              write('Warto˜† wyrazenia dla a =',w.a:0:3); 
              writeln('Wynosi b= ',w.wynik); 
              readln; 
         end. 
 
{program zapisuje pliki a po co} 
 
program pliki; 
type plik=file of string; 
     ob=object 
     zn:char; 
     a:string; 
     p:plik; 
     na:string; 
     procedure we; 
     procedure wy; 
end; 
     var 
     k:ob; 
procedure ob.we; 
begin 
     writeln('podaj nazwe pod ktora zostanie zapisany 
plik'); 
     readln(na); 
     assign(p,na); 
     rewrite(p); 
                repeat 
                      write('podaj kolejny element pliku'); 
                      readln(a); 
                      write(p,a); 
                      writeln('cy koniec danych? t/n'); 
                      readln(zn); 
                      until zn='t'; 
                      close(p); 
                end; 
 
procedure ob.wy; 
          begin 
               assign(p,na); 
               reset(p); 
               while not EOF (p) do 
                     begin 
                          read(p,a); 
                          writeln(a) 
                     end; 
               close(p) 
          end; 
     begin 
          k.we; 
          k.wy; 
     end.