←
↑
⇑
↓
→
Ласло Краус |
Програмски језици (ЕГ)
Испит
12. 2. 1999.
|
Аутори: Зоран Аврамовић (задатак 1) и
Ласло Краус (задатак 2 са решењем)
Задаци: 1
2
| Напомене
| Решења: 2
Поставка задатка 1 (45 поена)
(⇒ почетак)
Начинити потпрограм типа SUBROUTINE на FORTRAN-у којим се
израчунава производ две матрице. Број врста и колона тих матрица није
већи од 10.
У главном програму учитати број врста и колона као и елементе две
матрице, позивањем потпрoграма наћи њихов производ и исписати
резултат.
Посебне вредности:
Потребно је штампати све учитане податке, добијени резултат, потребне
описне текстове, име и презиме, регистарски број и назив факултета.
Поставка задатка 2 (35 поена)
(⇒ решење | почетак)
Саставити потпрограм на језику C којим се врши изостављање свих
елемената низа целих бројева који су дељиви без остатка са 3 или са
5.
Саставити главни програм на језику C који чита низове целих
бројева, примењује на њих горњи потпрограм и исписује добијене
резултате, све док за дужину низа не прочита недозвољену вредност.
- Испит траје 3 сата. У току првих 60 минута није дозвољено
напуштање сале.
- Рад се предаје искључиво у вежбанци за испит. Није дозвољено
имати поред себе друге листове папира.
- Коришћење литературе на испиту није дозвољено. Обратити пажњу на
форму рада: читљивост, уредност, коментарисање програма и опис
алгоритма утичу на оцену. Препоручује се рад обичном графитном
оловком.
- За позивање на практични део испита неопходно је добити више од
50% поена на оба задатка.
- Тачно урађени домаћи задатак донoси 5 поена.
- Практични део испита доноси 15 поена. На практичном делу
испита кандидати ће уносити своја решења задатка 1) у
рачунар и после ће вршити потребне исправке да би ти програми
исправно радили. Време одржавања као и распоред кандидата по
групама за практични део испита биће накнадно објављен.
#include <stdio.h>
void izost (int a[], int *n) {
int i, j;
for (i=j=0; i<*n; i++)
if (a[i]%3 != 0 && a[i]%5 != 0) a[j++] = a[i];
*n = j;
}
void main () {
enum { NMAX = 50 };
int a[MAX], n, i;
while (1) {
printf ("n? "); scanf ("%d", &n);
if (n<0 || n>NMAX) break;
printf ("A? "); for (i=0; i<n; scanf("%d", &a[i++]);
izost (a, &n);
printf ("A= "); for (i=0; i<n; printf("%d ", a[i++]);
printf ("\n\n");
}
}
(⇒ почетак)
←
↑
⇑
↓
→
Аутор: Ласло Краус
Е-пошта: kraus@etf.rs
Copyright © 1999, Laslo Kraus
Последња ревизија: 7.12.1999.