You are on page 1of 20

Име и презиме: Лабораторија:

Индекс: Број на терминал:

Прв парцијален испит по предметот


Програмирање и алгоритми
Термин 1 Група 1, 03.11.2015

УПАТСТВО ЗА ЧУВАЊЕ НА ЗАДАЧИТЕ:

1. Најавете се на системот:

корисничко име: mrezhi<BR>


лозинка: skopje<BR>
каде <BR> е бројот на терминалот на кој работите

2. Отворете Eclipse (во командна линија напишете: eclipse &)

3. Сменете ја работната патека:


File -> Switch workspace -> патеката е следнава:
/export/home/mrezhi<BR>/ispit/<indeks_godina>
каде <BR> е бројот на терминалот на кој работите, додека <indeks_godina> е вашиот индекс и година

4. Прoектите именувајте ги како PiAZadX (X е бројот на задачата), додека датотеките именувајте ги како
PiAZadX.c (X е бројот на задачата).

5. Во секоја датотека, на почеток напишете коментар со вашето име и презиме и индекс!!!

Задача 1: Ако од тастатура се внесува месец како цел број, да се определи бројот на денови во внесениот месец.
Доколку се внесе месец февруари, од корисникот да се побара да ја внесе и годината. На екран да се испечати
вкупниот број на денови за внесениот месец.

Забелешка: Годината е престапна доколку е делива со 4 и со 100 или доколку е делива со 400.

Месец Број на денови

април, јуни, септември, ноември 30

јануари, март, мај, јули, август, 31


октомври, декември

февруари во непрестапна година 28

февруари во престапна година 29

1
Задача 2: Да се напише програма која ќе дозволи внесување на N цели броеви од тастатура. Од тастатура најпрво
се внесува бројот N и целиот број К. Потоа се внесуваат броевите од тастатура, така што истите би биле во „K“ опсег
од претходно внесениот број „Х“ од тастатура, опсег [X-K, X+K]. Програмата прекинува со внесување на броеви кога
дадениот број ќе биде надвор од опсегот, или кога ќе бидат внесени сите N броеви. За првиот број условот за опсег
не се проверува. На крај да се отпечатат на екран првиот и последниот внесен број од тастатура.

Проверката дали даден број е во опсегот да се прави со посебна функција.

Пример 1:
За внесени N = 5, К = 7,
Се внесуваат: 1, 6, 3, 8, 2 (се прекинува затоа што се внесени N = 5 броеви, вториот број 6 е во опсегот на
претходникот 1 кој е [-6, 8])
Пример 2:
За внесени N = 5, K = 7
Се внесуваат: 1, 7, 20 (прекинува со внесување после третиот број, бидејќи бројот 20 е надвор од опсегот на
претходникот кој е [0, 14])

Задача 3: Да се напише рекурзивна функција која пресметува двоен факториел на даден цел број. Двојниот
факториел се пресметува според следнава формула:

n!! = n * (n-2) * (n-4) *...* 2 * 0!, каде 0! = 1 (ако n е парен број)

n!! = n * (n-2) * (n-4) *... * 3 * 1!, каде 1! = 1 (ако n е непарен број)

Времетраење на испитот: 90 мин.

2
Име и презиме: Лабораторија:
Индекс: Број на терминал:

Прв парцијален испит по предметот


Програмирање и алгоритми
Термин 1 Група 2, 03.11.2015

УПАТСТВО ЗА ЧУВАЊЕ НА ЗАДАЧИТЕ:

1. Најавете се на системот:

корисничко име: mrezhi<BR>


лозинка: skopje<BR>
каде <BR> е бројот на терминалот на кој работите

2. Отворете Eclipse (во командна линија напишете: eclipse &)

3. Сменете ја работната патека:


File -> Switch workspace -> патеката е следнава:
/export/home/mrezhi<BR>/ispit/<indeks_godina>
каде <BR> е бројот на терминалот на кој работите, додека <indeks_godina> е вашиот индекс и година

4. Прoектите именувајте ги како PiAZadX (X е бројот на задачата), додека датотеките именувајте ги како
PiAZadX.c (X е бројот на задачата).

5. Во секоја датотека, на почеток напишете коментар со вашето име и презиме и индекс!!!

Задача 1: Корисникот од тастатура внесува час и минута во 24 – часовен формат. На екран да се испечати времето
во 12 – часовен формат, според следнава табела:

24 – часовен формат 12 – часовен формат


0:00 12:00 АМ
1:00 1:00 АМ
... …
11:00 11:00 АМ
12:00 12:00 PM
13:00 1:00 PM
... …
23:00 11:00 PM
24:00 12:00 АМ

1
Задача 2: Да се напише програма која ќе дозволи внесување на N цели броеви од тастатура. Од тастатура се внесува
бројот N и реалниот број У. Потоа се внесуваат броевите од тастатура, така што истите не треба да се во „У/2“ опсег
од претходно внесениот број „X“ од тастатура,опсег [X-У/2, X+У/2]. Програмата прекинува со внесување на броеви
кога дадениот број ќе биде во опсегот, или кога ќе бидат внесени сите N броеви. За првиот број, претходник е
нулата. На крај да се отпечатат на екран првиот и последниот внесен број од тастатура.

Проверката дали даден број е во опсегот да се прави со посебна функција.

Пример 1:
За внесени N = 5, Y = 7.0
Се внесуваат : -4, 6, 2, 8, 15 (се прекинува затоа што се внесени N = 5 броеви, вториот број 6 не е во опсегот на
претходникот -4 кој е [-7.5, -1.5])
Пример 2:
За внесени N = 5, Y = 7.0
Се внесуваат: 1 (се прекинува со внесување после првиот број, бидејќи бројот 1 е во опсегот на претходникот т.е.
нулата, a опсегот е [-3.5, 3.5])

Задача 3: Да се напише рекурзивна функција која пресметува модифициран збир на цифри на даден цел број кој
се пренесува како аргумент, но според следниов алгоритам: од цифрата на единици се одзема 1, од цифрата на
десетки се одзема 2, од цифрата на стотки се одзема 3, итн.

Пример: модифицираниот збир на 34567 е (3 – 5) + (4 – 4) + (5 – 3) + (6 – 2) + (7 – 1)

Времетраење на испитот: 90 мин.

2
Име и презиме: Лабораторија:
Индекс: Број на терминал:

Прв парцијален испит по предметот


Програмирање и алгоритми
Термин 2 Група 1, 03.11.2015

УПАТСТВО ЗА ЧУВАЊЕ НА ЗАДАЧИТЕ:

1. Најавете се на системот:

корисничко име: mrezhi<BR>


лозинка: skopje<BR>
каде <BR> е бројот на терминалот на кој работите

2. Отворете Eclipse (во командна линија напишете: eclipse &)

3. Сменете ја работната патека:


File -> Switch workspace -> патеката е следнава:
/export/home/mrezhi<BR>/ispit/<indeks_godina>
каде <BR> е бројот на терминалот на кој работите, додека <indeks_godina> е вашиот индекс и година

4. Прoектите именувајте ги како PiAZadX (X е бројот на задачата), додека датотеките именувајте ги како
PiAZadX.c (X е бројот на задачата).

5. Во секоја датотека, на почеток напишете коментар со вашето име и презиме и индекс!!!

Задача 1: На екран да се испечати следново прашање заедно со четирите понудени одговори:


Kolku e 2 + 2?
a) 1
b) 2
c) 3
d) 4
Потоа од корисникот да се побара да внесе еден одговор од тастатура (a, b, c, d или A, B, C, D) и на екран да се
ипечати текст според следнава табела:

Одговор Текст на екран


a или A Sosema netochno
b или B Netochno
c или C Blisku ste

Доколку корисникот внесе d или D, да се испечати пораката Dali ste sigurni? на која тој треба да одговори со da или
ne. Доколку одговори со da да се испечати Tochen odgovor, доколку одговори со ne да се испечати Povekje srekja
sledniot pat. Доколку корисникот не внесе валидна буква за одговор, на екран да се испише Nevaliden izbor.

1
Задача 2: Да се напише програма која ќе дозволи внесување на N цели броеви од тастатура. Програмата треба да
дозволи внесување на N броеви, така што, доколку вториот број е поголем од првиот број внесен од тастатура,
тогаш сите останати N - 2 броеви треба да бидат поголеми од својот претходник. Доколку првиот е помал од
вториот внесен број, тогаш останатите N-2 броеви треба да бидат помали од својот претходник. Доколку првиот и
вториот број се исти, тогаш останатите N-2 броеви мора да бидат исти. Доколку условот не е исполнет, програмата
прекинува со внесување на броеви. На крај, на екран да се отпечати колку броеви биле внесени од тастатура.

Проверката дали е правилно внесен бројот од тастатура да се прави со посебна функција.

Пример 1:
За внесен N = 5
Се внесуваат броевите: -4, 6, 8, 18, 25 (се прекинува затоа што се внесени 5 броеви)
Пример 2:
За внесен N = 5
Се внесуваат броевите: 4, 2, 6 (се прекинува со внесување после третиот број, бидејќи 6 е поголем од 2, а треба
да се внесуваат помали броеви од претходникот)

Задача 3: Да се напише рекурзивна функција која како аргументи прима два цели броја. Функцијата треба да
отстрани онолку цифри од првиот број колку што е вредноста на вториот број и да го врати првиот број по
отстранување на цифрите. Доколку вториот број има поголема вредност од бројот на цифри на првиот број,
функцијата да врати -1.

Пример 1: функцијата повикана со броевите 23465 и 3 треба да го врати бројот 23


Пример 2:
Функцијата повикана со броевите 457 и 5 треба да врати -1

Времетраење на испитот: 90 мин.

2
Име и презиме: Лабораторија:
Индекс: Број на терминал:

Прв парцијален испит по предметот


Програмирање и алгоритми
Термин 2 Група 2, 03.11.2015

УПАТСТВО ЗА ЧУВАЊЕ НА ЗАДАЧИТЕ:

1. Најавете се на системот:

корисничко име: mrezhi<BR>


лозинка: skopje<BR>
каде <BR> е бројот на терминалот на кој работите

2. Отворете Eclipse (во командна линија напишете: eclipse &)

3. Сменете ја работната патека:


File -> Switch workspace -> патеката е следнава:
/export/home/mrezhi<BR>/ispit/<indeks_godina>
каде <BR> е бројот на терминалот на кој работите, додека <indeks_godina> е вашиот индекс и година

4. Прoектите именувајте ги како PiAZadX (X е бројот на задачата), додека датотеките именувајте ги како
PiAZadX.c (X е бројот на задачата).

5. Во секоја датотека, на почеток напишете коментар со вашето име и презиме и индекс!!!

Задача 1: На екран да се испечати следново прашање заедно со двата понудени одговори:


Dobredojdovte vo Video Rental. Shto sakate da napravite?
a) Da iznajmite film
b) Da vratite iznajmen film
Vnesete odgovor

Потоа од корисникот да се побара да внесе еден одговор од тастатура (a, b).


Доколку го внесе првиот одговор (a), дополнително да се постави следново прашање со одговори:
Koj film sakate da go iznajmite?
a) Wolf of the wall street
b) Perks of being a wild flower
c) Home
и да се побара да внесе една од трите понудени опции, а потоа на екран да се испечати: Go iznajmivte filmot …
(трите точки се заменуваат со името на соодветниот филм).

Доколку го внесе вториот одговор (b) да се испечати пораката Vi blagodarime.


Доколку корисникот не внесе валидна буква за одговор, на екран да се испише Nevaliden izbor.

1
Задача 2: Да се напише програма која што ќе дозволи внесување на N знаци од тастатура. Програмата треба да
дозволи внесување на N знаци, така што, доколку првиот внесен знак од тастатура е голема буква, тогаш сите
останати N-1 знаци треба да се големи букви. Доколку првиот знак внесен од тастатура е мала буква, тогаш сите
останати N-1 знаци треба да се мали букви. Доколку првиот знак не е буква, тогаш сите останати N-1 знаци внесени
од тастатура не смеат да бидат букви. Доколку условот не е исполнет, програмата прекинува со внесување на
знаци. На крај, на екран да се отпечати колку знаци биле внесени од тастатура.

Проверката дали е правилно внесен знакот од тастатура да се прави со посебна функција.

Пример 1:
За внесен N = 5
Се внесуваат буквите: А, C, Z, B, K (се прекинува затоа што се внесени 5 букви)
Пример 2:
За внесен N = 5
Се внесуваат броевите: t, r, R (се прекинува со внесување на знаци бидејќи „R“ е голема буква а првата внесена
буква е мала)

Задача 3: Да се напише рекурзивна функција која како аргументи прима три цели броја. Функцијата треба да го
множи првиот број со 10 онолку пати колку што изнесува помалиот од вториот и третиот број.

Пример: функцијата повикана со броевите 123, 3 и 8 треба да го врати бројот 123000

Времетраење на испитот: 90 мин.

2
Име и презиме: Лабораторија:
Индекс: Број на терминал:

Прв парцијален испит по предметот


Програмирање и алгоритми
Термин 3 Група 1, 03.11.2015

УПАТСТВО ЗА ЧУВАЊЕ НА ЗАДАЧИТЕ:

1. Најавете се на системот:

корисничко име: mrezhi<BR>


лозинка: skopje<BR>
каде <BR> е бројот на терминалот на кој работите

2. Отворете Eclipse (во командна линија напишете: eclipse &)

3. Сменете ја работната патека:


File -> Switch workspace -> патеката е следнава:
/export/home/mrezhi<BR>/ispit/<indeks_godina>
каде <BR> е бројот на терминалот на кој работите, додека <indeks_godina> е вашиот индекс и година

4. Прoектите именувајте ги како PiAZadX (X е бројот на задачата), додека датотеките именувајте ги како
PiAZadX.c (X е бројот на задачата).

5. Во секоја датотека, на почеток напишете коментар со вашето име и презиме и индекс!!!

Задача 1: Вие сакате да одите на концертот на Whitesnake кој ќе се одржи на 25 Ноември. Цената на карта за
концертот се пресметува според следниве услови:

Категорија

Партер 990 денари

Трибина 1200 денари

Фан пит 1500 денари

Картите се пуштени во продажба на 17 Април. Доколку купите карта пред 15 Јуни, на истата добивате 20% попуст,
а доколку ја купите пред 15 Септември, добивате 10% попуст.
Според внесената категорија и датумот, пресметајте ја испечатете ја цената на картата треба да ја платите.

1
Задача 2: Да се напише програма која ќе дозволи внесување на N полиња за игра од тастатура. Секое поле од
играта е претставено како цел број, чии дозволени вредности се 0, 1 или 2. Полето претставено со вредност 0
означува дека тоа поле е слободно, полето со вредност 1 означува дека на тоа поле е застанат првиот играч, додека
пак полето со вредност 2 означува дека на тоа поле е застанат вториот играч. Програмата треба да пресмета и
отпечати колку полиња треба да измине првиот играч за да стигне до полето на вториот играч. Внесувањето на
полиња прекинува доколку правилно се внесат сите N полиња или доколку се внесе невалидна вредност за поле
(вредност која не е 0, 1 или 2). Исто така не смее да има повеќе од еден играч со вредност 1 или играч со вредност
2.

Внесувањето на ново поле да се прави преку посебна функција која како резултат го враќа новото поле или -1 за
грешка.

Пример 1:
Се внесува (за N = 14): 00001000020000
На екран треба да се испечати: „Igracot 1 treba da pomine 5 polinja“
Пример 2:
Се внесува (за N = 14): 000010003
На екран треба да се испечати: „Greska“ (бидејќи е внесено невалидно поле со вредност 3)

Задача 3: Да се напише рекурзивна функција која проверува дали даден цел број е прост.
Бројот е прост доколку е делив само со себе и со еден.

Забелешка: во функцијата може да се пренесат дополнителни аргументи (во тој случај да се искоментира која би
била нивната почетна вредност)

Времетраење на испитот: 90 мин.

2
Име и презиме: Лабораторија:
Индекс: Број на терминал:

Прв парцијален испит по предметот


Програмирање и алгоритми
Термин 3 Група 2, 03.11.2015

УПАТСТВО ЗА ЧУВАЊЕ НА ЗАДАЧИТЕ:

1. Најавете се на системот:

корисничко име: mrezhi<BR>


лозинка: skopje<BR>
каде <BR> е бројот на терминалот на кој работите

2. Отворете Eclipse (во командна линија напишете: eclipse &)

3. Сменете ја работната патека:


File -> Switch workspace -> патеката е следнава:
/export/home/mrezhi<BR>/ispit/<indeks_godina>
каде <BR> е бројот на терминалот на кој работите, додека <indeks_godina> е вашиот индекс и година

4. Прoектите именувајте ги како PiAZadX (X е бројот на задачата), додека датотеките именувајте ги како
PiAZadX.c (X е бројот на задачата).

5. Во секоја датотека, на почеток напишете коментар со вашето име и презиме и индекс!!!

Задача 1: Одлучивте да се зачлените во фитнес студио. Фитнес студиото ги нуди следниве категории:

Категорија Месечна чланарина

Фитнес над 3 дена неделно 1200 денари

Фитнес 1, 2 или 3 дена неделно 1000 денари

Зумба и латино танци 900 денари

Аеробик и пилатес 1100 денари

Доколку часовите ги посетувате со барем уште едне член од семејството, на вкупната цена добивате 20% попуст.
Според внесената категорија (или повеќе категории) кои сакате да ги посетувате, бројот на денови, како и
информација за дополнителен член од семеството, пресметајте ја и испечатете ја вкупната цена за месечна
чланарина која треба да ја платите.

1
Задача 2: Да се напише програма која ќе дозволи внесување на N полиња за игра од тастатура. Секое поле од
играта е претставено како знак, чии дозволени вредности се ‘P’, ‘А’ или ‘B’. Полето со вредност ‘P’ означува дека
тоа поле е слободно, полето со вредност ‘А’ означува дека на тоа поле е застанат првиот играч, додека пак полето
со вредност ‘B’ означува дека на тоа поле е застанат вториот играч. Програмата треба да пресмета и отпечати колку
полиња треба да се врати назад првиот играч за да стигне до полето на вториот играч. Внесувањето на полиња
прекинува доколку правилно се внесат сите N полиња или доколку се внесе невалидна вредност за поле (вредност
која не е ‘Р’, ‘А’ или ‘В’). Доколку има повеќе играчи со вредност ‘А’ или ‘В’, тогаш програмата враќа колку места
треба првиот (внесен од тастатура) играч ‘А’ да се врати до првиот (внесен од тастатура) играч ‘В’.

Внесувањето на ново поле да се прави преку посебна функција која како резултат ја враќа вредноста за новото
поле или враќа „#“ за грешка.

Пример 1:
Се внесува (за N = 26): PPPPPPВPPPPPВPPPPPАPPPPАPP
На екран се печати: “Igracot 1 treba da se vrati 12 polinja nazad” (првото внесено ‘А’ да стигне до првото внесено ‘В’)
Пример 2:
Се внесува (за N = 14): PPPPPAPPPPBPPPPZ
На екран се печати: “Greska” (бидејќи е внесено невалидно поле со вредност ‘Z’)

Задача 3: Да се напише рекурзивна функција која за пренесен цел број n, треба да ја пресмета вредноста
на n-тиот елемент, според следнава формула:

f(n) = f(n-1) * f(n-2) + 2, каде f(1) = f(0) = 3

Пример 1: за n = 3 функцијата треба да врати 35


Пример 2: за n = 4 функцијата треба да врати 387

Времетраење на испитот: 90 мин.

2
Име и презиме: Лабораторија:
Индекс: Број на терминал:

Прв парцијален испит по предметот


Програмирање и алгоритми
Термин 4 Група 1, 03.11.2015

УПАТСТВО ЗА ЧУВАЊЕ НА ЗАДАЧИТЕ:

1. Најавете се на системот:

корисничко име: mrezhi<BR>


лозинка: skopje<BR>
каде <BR> е бројот на терминалот на кој работите

2. Отворете Eclipse (во командна линија напишете: eclipse &)

3. Сменете ја работната патека:


File -> Switch workspace -> патеката е следнава:
/export/home/mrezhi<BR>/ispit/<indeks_godina>
каде <BR> е бројот на терминалот на кој работите, додека <indeks_godina> е вашиот индекс и година

4. Прoектите именувајте ги како PiAZadX (X е бројот на задачата), додека датотеките именувајте ги како
PiAZadX.c (X е бројот на задачата).

5. Во секоја датотека, на почеток напишете коментар со вашето име и презиме и индекс!!!

Задача 1: Корисникот од тастатура го внесува редниот број (цел број) на денешниот ден. На екран да се испечати
соодветното име кое одговара на редниот број:

Реден број Ден


1 Ponedelnik
2 Vtornik
… …
7 Nedela

Дополнително доколку станува збор за ден од понеделник до петок, на екран да се испечати Denes e raboten den,
а доколку внесениот ден е сабота или недела, да се испечати Denes e vikend. Доколку корисникот внесе број надвор
од опсегот од 1 до 7, да се испечати Vnesovte nevaliden den.

1
Задача 2: Да се напише програма која ќе дозволи внесување на непознат број на цели броеви од тастатура
(корисникот внесува цели броеви по желба без однапред да каже колку броеви ќе внесува). Програмата треба да
ја пресмета и отпечати средната вредност (како реален број) на броевите до каде што има внесено. На почеток ја
печати средната вредност на првиот внесен број, па средната вредност на првите два броеви кога ќе се внесе
вториот број и т.н. Кога ќе заврши со внесување на броеви, на екран да се отпечати колку броеви биле внесени.

Пример:
Се внесуваат броевите: 1 7 2 5 4 13 12
На екран се печати: 1.0 4.0 5.0 3.75 3.8 5.33 6.28 Vneseni se 7 broevi

Задача 3: Да се напише рекурзивна функција која ќе го пресмета следниов математички израз за даден аргумент
N:
1 2 3 𝑁−2 𝑁−1
+ + + ⋯+ +
2 3 4 𝑁−1 𝑁

Времетраење на испитот: 90 мин.

2
Име и презиме: Лабораторија:
Индекс: Број на терминал:

Прв парцијален испит по предметот


Програмирање и алгоритми
Термин 4 Група 2, 03.11.2015

УПАТСТВО ЗА ЧУВАЊЕ НА ЗАДАЧИТЕ:

1. Најавете се на системот:

корисничко име: mrezhi<BR>


лозинка: skopje<BR>
каде <BR> е бројот на терминалот на кој работите

2. Отворете Eclipse (во командна линија напишете: eclipse &)

3. Сменете ја работната патека:


File -> Switch workspace -> патеката е следнава:
/export/home/mrezhi<BR>/ispit/<indeks_godina>
каде <BR> е бројот на терминалот на кој работите, додека <indeks_godina> е вашиот индекс и година

4. Прoектите именувајте ги како PiAZadX (X е бројот на задачата), додека датотеките именувајте ги како
PiAZadX.c (X е бројот на задачата).

5. Во секоја датотека, на почеток напишете коментар со вашето име и презиме и индекс!!!

Задача 1: Двајца корисници (К1 и К2) ја користат истата тастатура за да внесуваат цели броеви. К1 внесува еден цел
број. Целта на К2 е да го погоди бројот кој го внел К1. К2 внесува број за погодок. Доколку го погоди бројот внесен
од првиот корисник, на екран да се испечати Pogodok!!!, поинаку на екран да се испечати текст според следнава
табела:

Број за погодок внесен од К2 Текст

Помал за повеќе од 15 од бројот на К1 Vnesovte mnogu pomal broj

Поголем за повеќе од 15 од бројот на К1 Vnesovte mnogu pogolem broj

Помал за помалку од 15 од бројот на К1 Vnesovte pomal broj

Поголем за помалку од 15 од бројот на К1 Vnesovte pogolem broj

Доколку К2 внесе број кој се разликува за помалку од 15 од бројот на К1, да му се даде уште една шанса да го
погоди бројот. После вториот внесен број за погодок на екран да се испечати само Pogodok, Pomal или Pogolem.

1
Задача 2: Да се напише програма која ќе дозволи внесување на непознат број на цели броеви од тастатура
(корисникот внесува цели броеви по желба без однапред да каже колку броеви ќе внесува). Програмата треба да
го пронајде и отпечати најголемиот внесен број од броевите што ги има внесено. На почеток го печати првиот
внесен број како најголем, па пресметува кој е поголем од првите два броеви кога ќе се внесе вториот број и. т.н.
Кога ќе заврши со внесување на броеви, на екран да се отпечати колку броеви биле внесени.

Пример:
Се внесуваат броевите: 1 7 2 5 4 13 12
На екран се печати: 1 7 7 7 7 13 13 Vneseni se 7 broevi

Задача 3: Да се напише рекурзивна функција која ќе го пресмета следниов математички израз за даден аргумент
N:

√1 + √3 + √7 + ⋯ √(𝑁 − 2) + √𝑁

Забелешка: во функцијата може да се пренесe дополнитен аргументи (во тој случај да се искоментира која би била
неговата почетна вредност)

Времетраење на испитот: 90 мин.

2
Име и презиме: Лабораторија:
Индекс: Број на терминал:

Прв парцијален испит по предметот


Програмирање и алгоритми
Термин 5 Група 1, 03.11.2015

УПАТСТВО ЗА ЧУВАЊЕ НА ЗАДАЧИТЕ:

1. Најавете се на системот:

корисничко име: mrezhi<BR>


лозинка: skopje<BR>
каде <BR> е бројот на терминалот на кој работите

2. Отворете Eclipse (во командна линија напишете: eclipse &)

3. Сменете ја работната патека:


File -> Switch workspace -> патеката е следнава:
/export/home/mrezhi<BR>/ispit/<indeks_godina>
каде <BR> е бројот на терминалот на кој работите, додека <indeks_godina> е вашиот индекс и година

4. Прoектите именувајте ги како PiAZadX (X е бројот на задачата), додека датотеките именувајте ги како
PiAZadX.c (X е бројот на задачата).

5. Во секоја датотека, на почеток напишете коментар со вашето име и презиме и индекс!!!

Задача 1: Корисникот од тастатура го внесува редниот број (цел број) на тековниот месец. На екран да се испечати
соодветното име кое одговара на редниот број на месецот:

Реден број Ден


1 Januari
2 Fevruari
… …
12 Dekemvri

Дополнително доколку станува збор за месеците помеѓу Септември и Јануари, на екран да се испечати Prv
Semestar, доколку станува збор за месеците помеѓу Февруари и Јуни, да се испечати Vtor Semestar, поинаку да се
испечати Leten raspust. Доколку корисникот внесе број надвор од опсегот од 1 до 12, да се испечати Vnesovte
nevaliden mesec.

1
Задача 2: Да се напише програма која ќе дозволи внесување на непознат број на цели броеви од тастатура
(корисникот внесува цели броеви по желба без однапред да каже колку броеви ќе внесува). Програмата треба да
ја пресмета и отпечати средната вредност (како реален број) само на парните броевите од сите броеви кои ги има
внесено. На почеток ја печати средната вредност на првиот внесен парен број, па средната вредност на првите два
внесени парни броеви и т.н. Кога ќе заврши со внесување на броеви, на екран да се отпечати колку парни броеви
биле внесени.

Пример:
Се внесуваат броевите: 1 7 2 5 4 13 12
На екран се печати: 0.0 0.0 2.0 2.0 3.0 3.0 9.0

Задача 3: Да се напише рекурзивна функција која како аргумент прима една буква (мала или голема). Да се
избројат и да се испечатат сите самогласки кои се наоѓаат во англиската азбука пред буквата која се пренесува како
аргумент. Ако е внесена мала буква да се испечатат само малите самогласки пред неа, а ако е внесена голема буква
да се испечатат само големите самогласки пред неа. Во самогласки спаѓаат: a, e, i, o, u, A, E, I, O, U

Пример: функцијата повикана со буквата s, треба да ги испечати самогласките o, i, e, a и да врати 4. Функцијата


повикана со буквата H треба да ги испечати самогласките E, A и да врати 2.

Времетраење на испитот: 90 мин.

2
Име и презиме: Лабораторија:
Индекс: Број на терминал:

Прв парцијален испит по предметот


Програмирање и алгоритми
Термин 5 Група 2, 03.11.2015

УПАТСТВО ЗА ЧУВАЊЕ НА ЗАДАЧИТЕ:

1. Најавете се на системот:

корисничко име: mrezhi<BR>


лозинка: skopje<BR>
каде <BR> е бројот на терминалот на кој работите

2. Отворете Eclipse (во командна линија напишете: eclipse &)

3. Сменете ја работната патека:


File -> Switch workspace -> патеката е следнава:
/export/home/mrezhi<BR>/ispit/<indeks_godina>
каде <BR> е бројот на терминалот на кој работите, додека <indeks_godina> е вашиот индекс и година

4. Прoектите именувајте ги како PiAZadX (X е бројот на задачата), додека датотеките именувајте ги како
PiAZadX.c (X е бројот на задачата).

5. Во секоја датотека, на почеток напишете коментар со вашето име и презиме и индекс!!!

Задача 1: Корисникот од тастатура внесува час и еден знак (‘A’ за AM или ‘P’ за PM) според 12 часовен формат. На
екран да се испечати порака според следнава табела:

Час Порака
12 AM Polnokj
13 AM – 11 AM Pretpladne
12 PM Pladne
1 PM – 11 PM Popladne

1
Задача 2: Да се напише програма која ќе дозволи внесување на непознат број на цели броеви од тастатура
(корисникот внесува цели броеви по желба без однапред да каже колку броеви ќе внесува). Програмата треба да
го пронајде и отпечати најмалиот внесен број од броевите што ги има внесено. На почеток го печати првиот внесен
број како најмал, па пресметува кој е помал од првите два броеви кога ќе се внесе вториот број и. т.н. Кога ќе
заврши со внесување на броеви, на екран да се отпечати колку броеви биле внесени.

Пример:
Се внесуваат броевите: 11 7 2 5 4 1 12
На екран се печати: 11 7 2 2 2 1 1

Задача 3: Да се напише рекурзивна функција која како аргумент прима една буква (мала или голема). Да се
избројат и да се испечатат сите согласки кои се наоѓаат во англиската азбука пред буквата која се пренесува како
аргумент. Ако е внесена мала буква да се испечатат само малите согласки пред неа, а ако е внесена голема буква
да се испечатат само големите согласки пред неа. Во согласки спаѓаат сите букви од англиската азбука, освен
буквите: a, e, i, o, u, A, E, I, O, U

Пример: функцијата повикана со буквата f треба да ги испечати согласките b, c, d и да врати 3. Функцијата повикана
со буквата H треба да ги испечати согласките B, C, D, F, G да врати 5.

Времетраење на испитот: 90 мин.

You might also like