←
↑
⇑
↓
→
Ласло Краус |
Програмски језици (ЕГ)
Испит
4. 7. 1999.
|
Аутори: Зоран Аврамовић (задатак 1) и
Ласло Краус (задатак 2 са решењем)
Задаци: 1
2
| Напомене
| Решења: 2
Поставка задатка 1 (45 поена)
(⇒ почетак)
Начинити потпрограм типа SUBROUTINE на FORTRAN-у којим се
израчунава тачан производ два задата рационална броја.
Упутство: Користити правило за ручно множење бројева.
Начинити затим главни програм на FORTRAN-у у ком се учитавају
бројеви цифара и саме цифре, потом позива горњи потпрограм и штампају
сви учитани подаци, добијени резултат, потребни описни текстови, као и
име и презиме, регистарски број и одсек кандидата.
Посебни подаци: множеник = 150190,180887, множилац = 300693,251289.
(Претпоставити да резултат нема више од 80 цифара.)
Поставка задатка 2 (35 поена)
(⇒ решење | почетак)
Саставити на језику C потпрограм који израчунава вредност
верижног разломка:

Саставити главни програм на језику C који прочита низ
коефицијената ai (i=0, 1, ...,
n-1) и после табелира функцију
va,n(x) за
xmin≤x≤xmax
са кораком Δx.
- Испит траје 3 сата. У току првих 60 минута није дозвољено
напуштање сале.
- Рад се предаје искључиво у вежбанци за испит. Није дозвољено
имати поред себе друге листове папира.
- Коришћење литературе на испиту није дозвољено. Обратити пажњу на
форму рада: читљивост, уредност, коментарисање програма и опис
алгоритма утичу на оцену. Препоручује се рад обичном графитном
оловком.
- За позивање на практични део испита неопходно је добити више од
50% поена на оба задатка.
- Тачно урађени домаћи задатак донoси 5 поена.
- Практични део испита доноси 15 поена. На практичном делу
испита кандидати ће уносити своја решења задатка 1) у
рачунар и после ће вршити потребне исправке да би ти програми
исправно радили. Време одржавања као и распоред кандидата по
групама за практични део испита биће накнадно објављен.
#include <stdio.h>
double v (double a[], int n, double x) {
double u=0; int i;
for (i=n-1; i>=0; u=a[i--]/(x+u));
return u;
}
void main () {
enum { NMAX = 50 };
double a[NMAX], x, xmin, xmax, dx;
int n, i;
printf ("n? "); scanf ("%d", &n);
printf ("A? "); for (i=0; i<n; scanf("%lf",&a[i++]));
printf ("xmin, xmax, dx? "); scanf ("%lf%lf%lf", &xmin,&xmax,&dx);
for (x=xmin; x<=xmax; x+=dx) printf("%6.2f %8.2f\n", x, v(a,n,x));
}
(⇒ почетак)
←
↑
⇑
↓
→
Аутор: Ласло Краус
Е-пошта: kraus@etf.rs
Copyright © 1999, Laslo Kraus
Последња ревизија: 16.9.1999.