Visa elektrotehnicka skola, Beograd
Ласло Краус
Програмирање I
Први колоквијум
Друга група
17. 4. 2004

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

Поставка задатка 1 (50 поена) (решење | садржај)

Саставити структурирани дијаграм тока и написати на језику C програм за табелирање вредности следећег израза за све вредности xminxxmax са кораком Δx:

Све потребне податке читати са главног улаза, а резултате писати на глани излаз.

Поставка задатка 2 (50 поена) (решење | садржај)

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

Поставка задатка 3 (50 поена) (решење | садржај)

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


Напоменe (садржај)


Решење задатка 1 (поставка | садржај)

#include <stdio.h>
main () {
  double x, y, z, xmin, xmax, dx;
  int i, n;
  printf ("n? "); scanf ("%d", &n);
  printf ("xmin, xmax, dx? ");
  scanf ("%lf%lf%lf", &xmin, &xmax, &dx);
  for (x=xmin; x<=xmax; x+=dx) {
    for (y=z=i=1; i<=n; i++) {
      z *= i / x / x;
      y *= 1 + z;
    }
    printf ("%10.2f %10.2f\n", x, y);
  }
}

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

#include <stdio.h>
main {
  float a, min;
  int n, i, nmin;
  while (1) {
    printf ("n? "); scanf ("%d", &n);
  if (n < 0) break;
    printf (niz? ");
    scanf ("%f", &a);
    min = a; nmin = 1;
    for (i=2; i<=n; i++) {
      scanf ("%f", &a);
      if (a < min) {
        min = a; nmin = 1;
      } else if (a == min)
        nmin++;
    }
    printf ("min=  %f\n", min);
    printf ("nmin= %d\n", nmin);
  }
}

Решење задатка 3 (поставка | садржај)

#include <stdio.h>
#include <stdio.h>
main {
  unsigned long k; int i, b;
  while (1) {
    printf ("k? "); scanf ("%lx", &k);
  if (k == 0x9999) break;
    for (i=30; i>=0; i-=2) {
      b = (k >> i) & 3;
      printf ("%d", b);
    }
    printf ("\n");
  }
}
(садржај)
         
Аутор: Ласло Краус
Е-пошта: kraus@etf.rs

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