Zadaci za Tutorijal 2.

Similar documents
Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list.

/*#include <iostream> // Prvi zadatak sa integralnomg ispita

b) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end.

pojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1

Uvod u programiranje - vežbe. Kontrola toka izvršavanja programa

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET

VHDLPrimeri Poglavlje5.doc

Programiranje III razred

Učitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0.

VDSL modem Zyxel VMG1312-B10A/B30A

namespace spojneice { public partial class Form1 : Form { public Form1() { InitializeComponent(); }

... ; ako je a n parno. ; ako je a n neparno

for i:=2 to n do if glasovi[i]>max then begin max:=glasovi[i]; k:=i {*promenljiva k ce cuvati indeks takmicara sa najvise glasova *} end;

x y = z Zadaci - procedure

Numeričke metode i praktikum

VB komande. Programiranje 1

Programiranje Programski jezik C. Sadržaj. Datoteke. prof.dr.sc. Ivo Ipšić 2009/2010

Veliki računski zadaci mogu se razbiti u manje delove i time se omogućava ljudima da iskoriste ono što su neki drugi već uradili, umesto da počinju

Izrada VI laboratorijske vježbe

Uputstvo za podešavanje mail klijenta

Algoritmi i strukture podataka 2. Čas, Uvod u C++

Računarske osnove Interneta (SI3ROI, IR4ROI)

JavaScript i HTML DOM

Binarne hrpe. Strukture podataka i algoritmi VJEŽBE 26. siječnja / 133

VRIJEDNOSTI ATRIBUTA

Upute za postavljanje Outlook Expressa

UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a

Uputstvo za korišćenje logrotate funkcije

For. 1) program ispis; {ispisuje brojeve od 1 do 5 jedan ispod drugog} uses wincrt; var s,i:integer; begin for i:=1 to 5do writeln(i); end.

CSS CSS. selector { property: value; } 3/20/2018. CSS: Cascading Style Sheets

Sberbank Business Online na Mozilla FireFox

2. Linijska algoritamska struktura

PARALELNO PROGRAMIRANJE

Vežbe - XII nedelja PHP Doc

I PISMENI ZADATAK III6 I GRUPA IME I PREZIME

Nizovi. Programiranje 1

NIZOVI.

Informacioni sistemi i baze podataka

modifier returnvaluetype methodname(list of parameters) { // Method body; }

PREDMET. Osnove Java Programiranja. Čas JAVADOC

var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Items.LoadFromFile('d:\brojevi.

INSTALACIJA RAZVOJNOG OKRUŽENJA DEV-C++

Zbirka zadataka iz C-a

Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje. Office 2013 / Office 365

Programske paradigme Funkcionalna paradigma

Programiranje 1. Školska 2006/2007 godina. Matematički fakultet, Beograd

GUI - događaji (Events) i izuzeci. Bojan Tomić

Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R.

tada su sasvim ispravne sljedeće dodjele (uz pretpostavku da također imamo deklarirane brojčane promjenljive stanje_kase i starost ):

Naredbe za kontrolu toka

LIGA PROGRAMIRANJA U PYTHONU ZA

Tutorijal 7. /* Unos matrice */ for (i=0; i<10; i++) { for (j=0; j<10; j++) { printf ("Unesite element A[%d][%d]: ",i,j); scanf ("%f", &A[i][j]); } }

Uvod u relacione baze podataka

Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi

VEŽBA 5 do while petlja, switch case

4.1 Učitavanje podatka tipa string Učitavanje brojčanih vrijednosti Rad sa dinamičkim objektima... 7

Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak...

PROGRAMIRANJE. Objekt-orjentirano programiranje (OOP)

Dr. Željko Jurić: Tehnike programiranja /kroz programski jezik C++/

Aktuelna verzija Matlaba je 7, koja ima dosta poboljšanja u odnosu na prethodne.

SELECT CASE i FOR NEXT. Programiranje 1

Mašinska vizija. Dr Nenad Jovičić tnt.etf.rs/~mv

PVC Eco. Eco Prozori i Balkonska Vrata Bela Boja Dezeni drveta su 40% skuplji

Programiranje kroz aplikacije. Kontrola toka programa Nizovi

Uvod u programski jezik

Uputstva za instaliranje čitača Datalogic Skorpio u operativnom sistemu Windows 7 i višim POM-NA-XX-46, V3.0

Prva recenica. Druga recenica.

RAČUNARSKI PRAKTIKUM II

Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo

Kantonalno takmičenje iz informatike za učenike osnovnih škola KS godine

TP-LINK TL-WPA4220 strujni prijenosnik Internet ili IPTV signala s bežičnim modulom. Priručnik za korištenje i brzu instalaciju

12. Uskladištene procedure (Stored Procedures)

Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući Java konstrukt

PROGRAMIRANJE. Amir Hajdar

KREDITI ZA POLJOPRIVREDNIKE

Microsoftova productivity vizija

Iskočni okviri (eng. popup boxes)

AJAX Asychronous JavaScript And XML (...mali delic WEB 2.0 standarda) Tutorijal za osnovno koriscenje AJAX-a - Vladica Savić

SVEUČILIŠTE U Z GRE U Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Vukelićeva 4, Zagreb, HRV TSK.

Moja naslovnica / Sveučilište u Zagrebu / Fakultet prometnih znanosti / Baze podataka / Opći dio / Izvanredni studenti - test za potpis

8. NIZOVI. // deklaracija niza od 10 elemenata: data[0], data[1],..data[9] int data[10] ; S elementima niza se operira kao s prostim varijablama

WEB APLIKACIJA ZA REZERVACIJU PACIJENATA

Uvod u programiranje I (za gimnazijalce)

Univerzitet u Nišu Građevinsko-arhitektonski fakultet. 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje.

Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb,

Algoritmi za sortiranje u programskom jeziku C++

Uvod u programiranje

Dežurni nastavnik: Kolokvijum traje 1.5 sat, prvih sat vremena nije dozvoljeno napuštanje kolokvijuma. Upotreba literature nije dozvoljena.

Prirodno-matematički fakultet u Nišu Departman za fiziku. dr Dejan S. Aleksić Programiranje u fizici

UNIX & UNIX-u slični OS Uvod u Linux

Jezik Baze Podataka SQL. Jennifer Widom

Fortran 90. Numeričke Metode DECEMBAR ĐURĐEVAC NATAŠA

PVC Eco. Eco Prozori i Balkonska Vrata Bela Boja Dezeni drveta su 40% skuplji

KINEMATIČKA ANALIZA MEHANIZAMA INDUSTRIJSKIH ROBOTA KORIŠTENJEM PROGRAMSKOG JEZIKA MATLAB

Blokovska struktura C++ programa ima četiri razine:

Variable Neighborhood Descent - VND (Metoda promenljivog spusta)

Sveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 08. Zvonimir Bujanović Slaven Kožić Vinko Petričević

Z1. Dati RDF graf predstavljen u JSON-LD sintaksi potrebno je grafički predstaviti u skladu sa RDF notacijom. (5 poena)

Ovde će se raditi na funkcijama konverzija: konverzija tipa datuma u znak tip i obrnuto, konverzija broja u karakter tip i obrnuto

Besplatni softverski alati

Transcription:

Dr. Željko Jurić: Tehnike programiranja /kroz programski jezik C++/ Tutorijal 2 Zadaci predviđeni za rad na laboratorijskim vježbama uz pomoć tutora Akademska godina 2013/14 Zadaci za Tutorijal 2. NAPOMENA: Studenti bi trebali da razmisle o zadacima koji će se raditi na tutorijalu prije nego što dođu na tutorijal, tako da već u startu imaju osnovne ideje kako riješiti zadatke. U suprotnom, rad na laboratorijskim vježbama neće biti produktivan. Zadaci koje studenti ne stignu uraditi za vrijeme tutorijala, trebali bi samostalno uraditi kod kuće. 1. Napišite funkciju DaLiJeProst sa jednim parametrom n koji predstavlja neki cijeli broj, a koja kao rezultat vraća logičku vrijednost tačno ili netačno u ovisnosti od toga da li je parametar prost broj ili ne (prosti brojevi su oni koji imaju tačno dva djelioca u skupu prirodnih brojeva: jedinicu i samog sebe). Napisanu funkciju iskoristiti u glavnom programu koji traži da se sa tastature unesu dva cijela broja a i b, a zatim za sve cijele brojeve u opsegu od a do b ispisuje informaciju o tome da li su prosti ili ne, u vidu rečenica oblika Broj 5 je prost. odnosno Broj 9 nije prost.. 2. U teoriji električnih kola uvodi se pojam impedanse, koja je kompleksan broj Z definiran kao Z = R + X i, gdje je R tzv. aktivni otpor, a X tzv. reaktivni otpor (ili reaktansa), koji može biti i negativan. Ukoliko imamo paralelni spoj n elemenata čije su impedanse Z 1, Z 2,... Z n, ukupna impedansa paralelne veze Z računa se kao Z = 1 / (1 / Z 1 + 1 / Z 2 +... + 1 / Z n ). Drugim riječima, situacija je slična paralelnom spajanju otpornika, osim što se ovdje radi sa kompleksnim impedansama. a) Napišite program u kojem se korisnika traži da se unese broj elemenata n, a zatim n impedansi Z k za sve k od 1 do n. Impedanse se unose kao kompleksni brojevi, tačnije kao parovi realnih i imaginarnih dijelova unutar zagrada, razdvojeni zarezom. Nakon toga, treba da izračuna i ispiše impedansu paralelne veze svih n elementata, ponovo kao kompleksan broj. Dijalog između programa i korisnika treba da izgleda poput sljedećeg: Unesi broj elemenata: 3 Z_1 = (3.5,2.8) Z_2 = (10,-1.54) Z_3 = (12.37,0.24) Paralelna veza ovih elemenata ima impedansu Z_ = (2.51479,0.897637). Za realizaciju programa koristite kompleksni tip podataka. Nemojte koristiti niti nizove niti vektore, nego sumu 1 / Z 1 + 1 / Z 2 +... + 1 / Z n računajte u hodu, uporedo sa unosom podataka. b) Prepravite prethodni program tako što će se umjesto impedansi Z k sa tastature posebno unositi aktivni i reaktivni otpori R k i X k, i što će se na kraju ispisivati posebno aktivni i reaktivni otpor paralelne veze elemenata. Dijalog između programa i korisnika treba da izgleda poput sljedećeg: Unesi broj elemenata: 3 R1 = 3.5 X1 = 2.8 R2 = 10 X2 = -1.54 R3 = 12.37 X3 = 0.24 Paralelna veza ovih elemenata ima R = 2.51479 i X = 0.897637. c) Prepravite prethodni program tako što će se sve impedanse Z k umjesto preko aktivnog otpora R k i reaktivnog otpora X k zadavati preko tzv. prividnog otpora Z k i faznog pomaka k, pri čemu vrijedi Z k = Z k e i k. Program na kraju treba prikazati prividni otpor i fazni pomak za čitavu 1

Dr. Željko Jurić: Tehnike programiranja /kroz programski jezik C++/ Tutorijal 2 Zadaci predviđeni za rad na laboratorijskim vježbama uz pomoć tutora Akademska godina 2013/14 paralelnu vezu. Fazni pomak treba zadavati ispisivati u stepenima. Dijalog između programa i korisnika treba da izgleda poput sljedećeg: Unesi broj elemenata: 2 Z1 = 10.5 fi1 = 30 Z2 = 2.8 fi2 = -47.6 Paralelna veza ovih elemenata ima Z = 2.57147 i fi = -33.7613. Uputa: trebaće vam funkcije abs, arg i polar. 3. Napišite funkciju koja kao parametar prima vektor realnih brojeva. Funkcija treba da ispita da li elementi vektora čine slijed koji se periodično ponavlja ili ne. Na primjer, za vektor čiji su elementi 5, 9, 7, 2, 5, 9, 7, 2, 5, 9, 7 uočavamo da njegovi elementi čine slijed koji se periodično ponavlja sa dužinom perioda 4. Ukoliko elementi vektora čine periodičan slijed, funkcija treba da vrati kao rezultat dužinu perioda, a u suprotnom, funkcija treba da vrati nulu kao rezultat. Napisanu funkciju demonstrirajte u glavnom programu u kojem ćete unositi elemente sa tastature u neki vektor sve dok se sa tastature ne unese nula, koja označava kraj unosa (tu nulu ne treba smjestiti u vektor). Nakon završetka unosa, program poziva napisanu funkciju sa ciljem da utvrdi da li se elementi periodično ponavljaju ili ne, nakon čega ispisuje odgovarajuči komentar na ekranu (informaciju o dužini perioda, ili da elementi ne čine periodičan slijed). Napomenimo da nije unaprijed poznato koliko će korisnik unijeti elemenata prije nego što unese nulu kao oznaku završetka unosa. 2

1. ZADATAK bool DaLiJeProst (int n) for (int i=2; i<=n-1; i++) if (n%i==0) return false; return true; int a,b; cout << "Unesite dva broja a i b: "; cin >> a >> b; for (int i=a; i<=b; i++) if (DaLiJeProst(i)) cout << "Broj "<<i<<" je prost."<<endl; else cout <<"Broj "<<i<<" nije prost."<<endl;

2. ZADATAK a) #include <complex> int n; cout <<"Unesite broj elemenata: "; cin >> n; complex<double>zk; complex<double> SumaNazivnika,Z; for (int i=1; i<=n; i++) cout <<"Z"<<i<<"="; cin >> Zk; SumaNazivnika=SumaNazivnika+(1./Zk); Z=1./SumaNazivnika; cout << "Paralelna veza ovih elemenata ima impedansu Z = "<<Z<<endl; b) #include <complex> cout << "Unesi broj elemenata: "; int n; cin >> n; double Re,Im; complex<double>zk,z,sumanazivnika; for (int i=1; i<=n; i++) cout << "R"<<i<<"="; cin >> Re; cout << "X"<<i<<"="; cin >> Im; Zk=complex<double>(Re,Im); SumaNazivnika=SumaNazivnika+(1./Zk); Z=(1./SumaNazivnika); cout <<"Paralelna veza ovih elemenata ima R="<<real(Z)<<" i X="<<imag(Z)<<endl;

c) #include <complex> cout << "Unesite broj elemenata: "; int n; cin >>n; double Zm,fi,fik; complex<double>zk,z,sumanazivnika; const double PI=4*atan(1); for (int i=1; i<=n; i++) cout << "Z"<<i<<"="; cin >>Zm; cout << "fi"<<i<<"="; cin>>fi; fik=fi*pi/180; Zk=polar (Zm,fik); Sumanazivnika=Sumanazivnika+(1./Zk); Z=1./Sumanazivnika; cout << "Paralelna veza ovih elemenata ima Z="<<abs(Z)<<" i fi="<<arg(z)*180/pi;

3. ZADATAK #include <vector> int Period (vector<int>v) int p=0; for (int i=1; i<v.size(); i++) if (v[i]==v[0]) p=i; break; for (int i=1; i<v.size()-p; i++) if (v[i]!=v[i+p]) return p; vector<int> NekiVektor; double n; cout << "Unesite elemente u vektor: "; cin >> n; while (n!=0) NekiVektor.push_back(n); cin>>n; if (Period(NekiVektor)==0) cout << "Uneseni niz brojeva nije periodican"; else cout << "Uneseni niz je periodican i ima period: "<<Period(NekiVektor);