←
↑
⇑
↓
→
Ласло Краус |
Програмски језици (ЕГ)
Испит
10. 3. 2000.
|
Аутори: Зоран Аврамовић (задатак 1) и
Ласло Краус (задатак 2 са решењем)
Задаци: 1
2
| Напомене
| Решења: 2
Поставка задатка 1 (45 поена)
(⇒ почетак)
Начинити програм на FORTRAN-у који ће међу децималама броја e
наћи прво децимално место почев од ког децимале чине број 2000.
Израчунавање вредности броја e и налажење децималног места
реализовати посебним потпрограмима.
У главном програму учитати број децимала n (n<2001),
међу којима очекујемо да се налази наведени број, па позивањем
потпрограма утврдити тражено децимално место.
Посебна вредност: n = 1999.
Потребно је штампати учитани податак, добијени резултат, потребне
описне текстове, име и презиме, регистарски број и назив факултета.
Поставка задатка 2 (35 поена)
(⇒ решење | почетак)
Саставити на језику C потпрограм којим се врши испитивање
да ли два природна броја преадстављају Питагорине бројеве, тј. да
ли је збир њихових квадрата једнак квадрату неког природног броја. У
случају потврдног одговора вредност функције треба да је једнак том
природном броју.
Саставити на језику C главни програм који прочита два
природна броја, позива горњи потпрограм, испише добијени резултат и
понавља претходне кораке све док не прочита недозвољену вредност за
један од бројева.
- Испит траје 3 сата. У току првих 60 минута није дозвољено
напуштање сале.
- Рад се предаје искључиво у вежбанци за испит. Није дозвољено
имати поред себе друге листове папира.
- Коришћење литературе на испиту није дозвољено. Обратити пажњу на
форму рада: читљивост, уредност, коментарисање програма и опис
алгоритма утичу на оцену. Препоручује се рад обичном графитном
оловком.
- За позивање на практични део испита неопходно је добити више од
50% поена на оба задатка.
- Тачно урађени домаћи задатак донoси 5 поена.
- Практични део испита доноси 15 поена. На практичном делу
испита кандидати ће уносити своја решења задатка 1) у
рачунар и после ће вршити потребне исправке да би ти програми
исправно радили. Време одржавања као и распоред кандидата по
групама за практични део испита биће накнадно објављен.
#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.