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

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

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

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

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

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

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

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

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


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


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

#include <stdio.h>
main () {
  double x, y, a, b, 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=b=0, a=i=1; i<=n; i++) {
      a *= x;
      b += a;
      y += (2*i-1) / b;
    }
    printf ("%10.2f %10.2f\n", x, y);
  }
}

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

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

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

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

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