CWICZ_1.TXT

(4 KB) Pobierz
                              CWICZENIE  1

        EDYCJA, KOMPILACJA I URUCHOMIENIE PROGRAMU SEKWENCYJNEGO

          Celem cwiczenia jest zapoznanie z edytorem systemu TP  poprzez
    napisanie prostego programu  sekwencyjnego  z  deklaracja  zmiennych
    prostych oraz z wykorzystaniem instrukcji wprowadzania danych READ i
    READLN, wyprowadzania wynikow WRITE i WRITELN oraz instrukcji  przy-
    pisania.

                         I. PRZEBIEG CWICZENIA

     1. W trybie edycji  wprowadzic do pamieci ponizszy program. Program
oblicza odleglosc miedzy dwoma punktami na plaszczyznie o wspolrzednych
(x1,y1), (x2,y2), wg wzoru
               _________________________
          d =  (x1 - x2 )+( y1 - y2 )

  PROGRAM Odleglosc;
   VAR
    x1,x2,y1,y2:REAL;
   BEGIN 
    WRITELN('PODAJ WARTOSCI : x1,y1,x2,y2 ');
    READ(x1,y1,x2,y2);
    WRITELN('ODLEGLOSC = ',sqrt(sqr(x1-x2)+sqr(y1-y2)))
   END. {Odleglosc}
     2. Wyjsc z trybu edycji i skompilowac wprowadzony program.
     3. W razie wykrycia bledow popelnionych w czasie wpisywania progra- 
mu poprawic je kolejno, kompilujac program po kazdej poprawce, lub  pop- 
rawic wszystkie zauwazone bledy i dopiero skompilowac program.
     4. Po otrzymaniu komunikatu o poprawnie zakonczonej kompilacji uru- 
chomic program dla wybranych danych.
     5. Rozszerzyc program o wyprowadzanie w czasie jego dzialania komu-
nikatu proszacego o podanie danych
     'PODAJ WSPOLRZEDNE PUNKTOW W KOLEJNOSCI x1,y1,x2,y2.'
W tym celu, instrukcje czytania
     READ(x1,y1,x2,y2);
nalezy poprzedzic instrukcja
     WRITELN('PODAJ WSPOLRZEDNE PUNKTOW W KOLEJNOSCI x1,y1,x2,y2');
i po wprowadzeniu poprawki ponownie skompilowac i uruchomic program.
     6. Rozbudowac program do postaci, ktora umozliwi obliczanie wszyst-
kich odleglosci miedzy trzema punktami na plaszczyznie  o  wspolrzednych
(x1,y1), (x2,y2), (x3,y3). W tym celu mozna skopiowac  instrukcje  obli-
czajace odleglosc i zamienic numery wspolrzednych punktow w ich tresci.
Tekst rozbudowanego programu:

  PROGRAM Odleglosci;
   VAR 
    x1,x2,x3,y1,y2,y3:REAL;
   BEGIN
    WRITE('PODAJ WSPOLRZEDNE TRZECH PUNKTOW ');
    WRITELN('W KOLEJNOSCI: x1,y1,x2,y2,x3,y3 ');
    READ(x1,y1,x2,y2,x3,y3);
    WRITE('ODLEGLOSC PUNKTOW 1 I 2 WYNOSI: ');
    WRITELN(sqrt(sqr(x1-x2)+sqr(y1-y2)));
    WRITE('ODLEGLOSC PUNKTOW 1 I 3 WYNOSI: ');
    WRITELN(sqrt(sqr(x1-x3)+sqr(y1-y3)));
    WRITE('ODLEGLOSC PUNKTOW 2 I 3 WYNOSI: ');
    WRITELN(sqrt(sqr(x2-x3)+sqr(y2-y3)))
   END. {Odleglosci}
     7. Zmodyfikowac program z p. 6 wprowadzajac prosbe o podanie wspol- 
rzednych kazdego punktu osobno, na przyklad:
    WRITELN('PODAJ WSPOLRZEDNE PUNKTU i');
    READ(xi,yi);
wpisujac zamiast litery "i" numer kolejnego punktu.
     8. Zaobserwowac  zmiany  w  dzialaniu  programu   po   zastapieniu 
instrukcji
    WRITELN('PODAJ WSPOLRZEDNE PUNKTU i ');
    READ(xi,yi);
instrukcjami
    WRITE('PODAJ WSPOLRZEDNE PUNKTU i ');
    READLN(xi,yi);

                               II. ZADANIA                              

     1. Oblicz odleglosc miedzy dwoma punktami w przestrzeni trojwymia-
rowej wg wzoru:
             ___________________________
        d =  (x1-x2)+(y1-y2)+(z1-z2)

     2. Oblicz iloczyn dwoch liczb zespolonych z1=a+bi i z2=c+di.
     3. Oblicz iloraz  dwoch liczb zespolonych z1=a+bi i z2=c+di
        w = z1/z2=(a*c+b*d)/(c+d)+(b*c-a*d)/(c+d) i
Nalezy wczytac kolejno czesci obydwu liczb i osobno policzyc czesc  rze-
czywista i czesc urojona ilorazu.
     4. Rozwiaz uklad rownan
        a1*x + b1*y = c1
        a2*x + b2*y = c2
            b2*c1 - b1*c2             a1*c2 - a2*c1
        x =          y = 
            a1*b2 - a2*b1             a1*b2 - a2*b1

     5. Oblicz pole trojkata, gdy dane sa
          - dlugosci bokow  a,b,c
             ____________________
        P =   s*(s-a)*(s-b)*(s-c)       gdzie s = 0.5*(a+b+c),

          - wspolrzedne wierzcholkow (x1,y1), (x2,y2), (x3,y3)
        P = abs(0.5 *(x1*y2-x2*y1)+(x2*y3-x3*y2)+(x3*y1-x1*y3)).
Zgłoś jeśli naruszono regulamin