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

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

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

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

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

Начинити програм на FORTRAN-у за налажење количника два задата полинома P(x) и Q(x), степена m и n, респективно.

Посебни подаци:

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

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

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

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


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

#include <stdio.h>

#define N 50

void razlika (float s1[], int n1, float s2[], int n2,
              float s3, int *n3) {
  int i, j, k=0;
  for (i=0; i<n1; i++) {
    for (j=0; j<n2 && s2[j]!=s1[i]; j++);
    if (j == n2) s3[k++] = s1[i];
  }
  *n3 = k;
}

void main () {
  float s1[N], s2[N], s3[N]; int n1, n2, n3, i;
  while (1) {
    printf ("n1, n2? "); scanf ("%d%d", &n1, &n2);
  if (n1<0 || n1>N || n2<0 || n2>N) break;
    printf ("s1? "); for (i=0; i<n1; scanf("%f", &s1[i++]));
    printf ("s2? "); for (i=0; i<n2; scanf("%f", &s2[i++]));
    razlika (s1, n1, s2, n2, s3, &n3);
    printf ("s3= "); for (i=0; i<n3; printf("%.2f ", s3[i++]));
  }
}
( почетак)
         
Аутор: Ласло Краус
Е-пошта: kraus@etf.rs

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