Wprowadzenie do infomatyki
Infomatyka, I rok studia dzienne
Egzamin pisemny, 24.02.01, czas:55 minut

  1. Należy napisać w AWK program obliczający średni puls pacjenta. Puls jest mierzony rano i wieczorem. Wyniki pomiarów są reprezentowane w postaci dwóch kolumn. Lewa kolumna zawiera wyniki porannych pomiarów, a prawa - wieczornych. Poszczególne wiersze odpowiadają kolejnym dniom. Dla uproszczenia należy przyjąć, że każdy z nich zawiera komplet dwóch liczb. Wyjątkiem są pierwsze dwa wiersze, z których pierwszy zawiera imię i nazwisko, a drugi wagę pacjenta. Na przykład dla danych:

    Jan Kowalski

    61

    71 89

    65 95

    77 83

    powinniśmy otrzymać

    80
    odp1

  2. Dany jest następujący ciąg instrukcji, który oblicza dla liczby całkowitej n>0 liczbę zer i jedynek w jej reprezentacji binarnej:
           liczba0:= 0;
           liczba1:= 0;
           while n>0 do
               begin
               cyfra:= n mod 2;
               n:= n div 2;
               if cyfra=0 then
                  liczba0:= liczba0 + 1
               else
                  liczba1:= liczba1 + 1
               end
    
    Przy tłumaczeniu na j. asemblera, rejestry zostały przypisane zmiennym w następujący sposób:
        liczba0 - si                  n - ax 
        liczba1 - di                  cyfra - dx
    
    Uzupełnij podany przekład tych instrukcji:
             mov  si, 0
             mov  di, 0
    @pierw:  cmp  ax, 0
    @drugi:  jle  @stop
             mov  bx, 2
             mov  dx, 0
             idiv bx
             cmp  dx, 0
             jne  @else
             inc  si
    odp2
    @stop:   int  3
    
  3. Należy napisać program, który czyta liczbę naturalną n i podaje liczbę cyfr oktalnych (0, 1, .., 7) w jej reprezentacji dziesiętnej . Na przykład liczba 1583 ma trzy cyfry oktalne w swojej reprezentacji dziesiętnej (1, 3 i 5), zaś liczba 977 dwie (są to dwie siódemki). Uzupełnij podany schemat blokowy.

    schemat blokowy
  4. Należy napisać program w AWK, który czyta liczbę x reprezentującą podstawę systemu (x=2, 3, 4, .., 10) a następnie ciąg cyfr reprezentujących liczbę p w systemie o podstawie x i podaje wartość dziesiętną liczby p reprezentowanej za pomocą tego ciągu. W pliku wejściowym w pierwszym wierszu jest x, a w następnych wierszach znajdują się cyfry umieszczone po jednej w każdym wierszu, zaczynając od cyfry najbardziej znaczącej. Na przykład dla danych:
    8
    1
    2
    5
    powinniśmy otrzymać:
    85
    Uzupełnij poniższy program w AWK:
    odp4
    END          {print p;}

  5. Zdefiniuj za pomocą operatora m (minimum) funkcję f(n) określającą liczbę bitów potrzebnych do zapisania liczby n (dla uproszczenia należy przyjąć, że n > 0).
    odp5

Stronę wykonał Tomasz Dziurzyński. Sprawdził Jerzy Nawrocki. Ostatnia modyfikacja: