←
↑
⇑
↓
→
Ласло Краус |
Програмски језици (ЕГ)
Испит
6. 5. 2001.
|
Скреће се пажња студентима да домаћи задатак треба да буде одштампан на рачунару, по могућству у облику извештаја преводиоца и са приложеним примером извршавања програма.
Аутори: Зоран Аврамовић (задатак 1) и
Ласло Краус (задатак 2 са решењем)
Задаци: 1
2
| Напомене
| Решења: 2
Поставка задатка 1 (45 поена)
(⇒ почетак)
Начинити програм на FORTRAN-у за налажење првих n простих бројева.
Посебни подаци: n = 20
Потребно је штампати учитане податке, добијени резултат, потребне описне текстове, име и презиме, регистарски број и назив факултета.
Поставка задатка 2 (35 поена)
(⇒ решење | почетак)
Саставити на језику C потпрограм за формирање новог низа реалних бројева пермутовањем елемената задатог низа реалних бројева на основу задатог целобројног пермутационог низа. Пермутациони низ на i-том месту садржи индекс места у резултујућем низу на који треба преместити i-ти елемент прочетног низа. На пример, низ (1.1, 2.2, 3.3, 4.4, 5.5, 6.6) за случај пермутационог низа (3, 5, 1, 2, 6, 4) треба претворити у низ (3.3, 4.4, 1.1, 6.6, 2.2, 5.5).
Саставити на језику C главни програм који чита парове низова (низ реалних бројева и пермутациони низ) преко главног улаза, позове горњи потпрограм и исписује добијени резултат све док за дужину неког од низова не прочита недозвољену вредност.
- Испит траје 3 сата. У току првих 60 минута није дозвољено
напуштање сале.
- Рад се предаје искључиво у вежбанци за испит. Није дозвољено
имати поред себе друге листове папира.
- Коришћење литературе на испиту није дозвољено. Обратити пажњу на
форму рада: читљивост, уредност, коментарисање програма и опис
алгоритма утичу на оцену. Препоручује се рад обичном графитном
оловком.
- За позивање на практични део испита неопходно је добити више од
50% поена на оба задатка.
- Тачно урађени домаћи задатак донoси 5 поена.
- Практични део испита доноси 15 поена. На практичном делу
испита кандидати ће уносити своја решења задатка 1) у
рачунар и после ће вршити потребне исправке да би ти програми
исправно радили. Време одржавања као и распоред кандидата по
групама за практични део испита биће накнадно објављен.
#include <stdio.h>
#define NMAX 50
void permut (float a[], int p[], float b[], int n) {
int i;
for (i=0; i<n; i++) b[p[i]] = a[i];
}
void main () {
float a[NMAX], b[NMAX]; int p[NMAX], n, i;
while (1) {
printf ("n? "); scanf ("%d", &n);
if (n<0 || n>NMAX) break;
printf ("A? "); for (i=0; i<n; scanf("%f", &a[i++]);
printf ("P? "); for (i=0; i<n; scanf("%d", &p[i++]);
redukcija (a, p, b, n);
printf ("B= "); for (i=0; i<n; printf("%.2f ", b[i++]);
}
}
(⇒ почетак)
←
↑
⇑
↓
→
Аутор: Ласло Краус
Е-пошта: kraus@etf.rs
Copyright © 2001, Laslo Kraus
Последња ревизија: 15.7.2001.