Elektrotehnicki fakultet, Beograd  Ласло Краус Програмски језици (ЕГ)
Испит
14. 11. 1999.

Аутори: Зоран Аврамовић (задатак 1) и Ласло Краус (задатак 2 са решењем)

Задаци: 1 2 | Напомене | Решења: 2

Поставка задатка 1 (45 поена) ( почетак)

Фибоначијеви бројеви дефинисани су рекуренцијом: Начинити програм на FORTRAN-у за израчунавање и штампање траженог Фибоначијевог броја n ( n >> 1 ).

(Сугестија: Начинити и користити потпрограм за тачно сабирање природних бројева).

У главном програму учитати полазни податак па позивањем потпрограма генерисати тражени Фибоначијев број.

Посебна вредност: n = 1.000

Потребно је штампати учитани податак, добијени резултат, потребне описне текстове, име и презиме, регистарски број и назив факултета.

Поставка задатка 2 (35 поена) ( решење | почетак)

Саставити потпрограм на језику C за одређивање бројева елемената у целобројном низу који при дељењу са целим бројем k дају остатке 0, 1, ..., k-1 (резултат је низ од k вредности).

Саставити главни програм на језику C који прочита низ целих бројева, прочита број k, позива горњи потпрограм, испише добијени резултат и понавља претходне кораке све док за дужину низа не прочита недозвољену вредност.


Напомене ( почетак)


Решење задатка 2 ( поставка | почетак)

#include <stdio.h>

void ostaci (int a[], int n, int k, int b[]) {
  int i;
  for (i=0; i<k; b[i++]=0);
  for (i=0; i<n; b[a[i++]%k]++);
}

void main () {
  enum (NMAX=100, KMAX=20);
  int a[NMAX], b[KMAX], i, k, n;
  while (1) {
    printf ("n? "); scanf ("%d", &n);
  if (n<0 || n>NMAX) break;
    printf ("A? "); for (i=0; i<n; scanf("%d",&a[i++]));
    printf ("k? "); scanf ("%d", &k);
    ostaci (a, n, k, b);
    printf ("B="); for (i=0; i<k; printf(" %d",b[i++]));
    printf ("\n\n");
  }
}
( почетак)
         
Аутор: Ласло Краус
Е-пошта: kraus@etf.rs

Copyright © 2000, Laslo Kraus
Последња ревизија: 23.1.2000.