Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 3.00 KB | None | 0 0
  1.  
  2. --1. Napisz program, który poprosi o podanie imienia i nazwiska (zarówno imię jak
  3.   -- i nazwisko powinno być przechowywane w osobnych zmiennych), a następnie
  4.   -- wyświetli na ekranie napis: Witaj imię nazwisko!
  5.   DECLARE
  6.       imie VARCHAR(20);
  7.       nazwisko VARCHAR(20);
  8.   BEGIN
  9.       imie := :imie_tmp;
  10.       nazwisko := :nazwisko_tmp;
  11.       DBMS_OUTPUT.PUT_LINE('Witaj '||imie||' '||nazwisko||'!');
  12.   END;
  13.  
  14. -- 2.Napisz program, który dla podanego przez użytkownika n obliczy wartość wyrażenia
  15.   -- n! = 1 * 2 * 3 * ... * n (silnię).
  16.   DECLARE
  17.     suma NUMBER;
  18.     n NUMBER;
  19.   BEGIN
  20.     suma := 1;
  21.     n := :n;
  22.     FOR x IN 1..n
  23.     LOOP
  24.        suma := suma * x;
  25.     END LOOP;
  26.     DBMS_OUTPUT.PUT_LINE('SILNIA '||suma);
  27.   END;
  28.  
  29. -- 3. Napisz program, który dla podanej wartości r (promień) obliczy pole i obwód
  30.   -- zadanego koła. Wartość PI zadeklaruj jako wartość stałą równą 3,1416.
  31.   DECLARE
  32.     pi CONSTANT NUMBER := 3.1416;
  33.     r NUMBER;
  34.     pole NUMBER;
  35.     obwod NUMBER;
  36.   BEGIN
  37.     r := :r;
  38.     pole := r*r*pi;
  39.     obwod := 2*pi*r;
  40.     DBMS_OUTPUT.PUT_LINE('Obwod: '||obwod);
  41.     DBMS_OUTPUT.PUT_LINE('Pole: '||pole);
  42.   END;
  43.  
  44. -- 4. Napisz program, który przy podanych dwóch zmiennych podniesie wartość pierwszej
  45.   -- zmiennej do potęgi równej wartości drugiej zmiennej (bez użycia funkcji power).
  46.   -- Program powinien działać dla liczb z zakresu od 1 do 10. W przeciwnym przypadku
  47.   -- powinien wypisać komunikat informujący, która liczba (podstawa lub wykładnik)
  48.   -- przekracza zakres.
  49.   -- Proszę podać wartość dla podstawy:
  50.   -- Proszę podać wartość dla wykładnika:
  51.   -- wykładnik wynosi
  52.   -- podstawa wynosi
  53.   -- Wynik:
  54.   DECLARE
  55.     x NUMBER := :x;
  56.     y NUMBER := :y;
  57.     i NUMBER := 1;
  58.     tmp NUMBER := 1;
  59.   BEGIN
  60.     IF x < 1 OR x > 10 OR x IS NULL THEN
  61.       DBMS_OUTPUT.PUT_LINE('Bledna podstawa');
  62.     ELSIF y < 1 OR y > 10 OR y IS NULL THEN
  63.       DBMS_OUTPUT.PUT_LINE('Bledny wykladnik');
  64.     ELSE
  65.       DBMS_OUTPUT.PUT_LINE('Podstawa: '||x);
  66.       DBMS_OUTPUT.PUT_LINE('Wykladnik: '||y);
  67.       LOOP
  68.         tmp := tmp * x;
  69.         i := i + 1;
  70.         EXIT WHEN i > y;
  71.       END LOOP;
  72.       DBMS_OUTPUT.PUT_LINE('Wynik: '||tmp);
  73.     END IF;
  74.   END;
  75.  
  76. -- 5.Napisz program, który dla podanej przez użytkownika liczby wyrazów szeregu obliczy
  77.   -- liczbę e (liczba Eulera) ze wzoru:
  78.   -- Podaj liczbe wyrazow szeregu:
  79.   -- Liczba e wynosi:
  80.  
  81. -- 6. Napisz program, który będzie pracował do momentu, gdy nastanie najbliższa sekunda
  82.   -- aktualnego czasu systemowego będąca wielokrotnością liczby 15 (czyli 0, 15, 30, 45).
  83.   -- Przed zakończeniem program powinien wypisać tekst: Jest godzina HH:MM:SS.
  84.   -- Koncze działanie.
  85.  
  86. -- 7. Napisz anonimowy blok PL/SQL, który wypisze ile dni minęło od twojej daty
  87.   -- urodzenia. Data ma być podawana z klawiatury. Wprowadź obsługę błędów gdy
  88.   -- zostanie podana nieprawidłowa data – kontroluj ilość dni w miesiącu oraz miesięcy w roku.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement