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

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

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

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

Начинити програм на FORTRAN-у који ће међу децималама броја e наћи прво децимално место почев од ког децимале чине број 2000.

Израчунавање вредности броја e и налажење децималног места реализовати посебним потпрограмима.

У главном програму учитати број децимала n (n<2001), међу којима очекујемо да се налази наведени број, па позивањем потпрограма утврдити тражено децимално место.

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

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

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

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

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


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


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

#include <stdio.h>

int pitagora (int a, int b) {
  int c2 = a*a + b*b, c = 1;
  for (; c*c < c2; c++) if (c*c == c2) return c;
  return 0;
}

void main () {
  int a, b, c;
  while (1) {
    printf ("\na,b? "); scanf ("%d%d", &a, &b);
  if (a <=0 || b <= 0) break;
    if ((c = pitagora (a, b)) != 0)
      printf ("c= %d\n", c);
    else
      printf ("Nisu Pitagorini brojevi.\n");
  }
}
( почетак)
         
Аутор: Ласло Краус
Е-пошта: kraus@etf.rs

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