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-битном целобројном податку које имају вредност 2. Програм треба да прочита број у хексадецималном бројевном систему, изврши тражену обраду испише добијени реултат и да понавља претходне кораке све док не прочита број 9999.


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


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

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

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

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

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

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

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