Nizovi. Programiranje 1

Similar documents
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;

NIZOVI.

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

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

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

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

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

VB komande. Programiranje 1

Numeričke metode i praktikum

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

VRIJEDNOSTI ATRIBUTA

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

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

I PISMENI ZADATAK III6 I GRUPA IME I PREZIME

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

Programiranje III razred

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

PARALELNO PROGRAMIRANJE

Izrada VI laboratorijske vježbe

VHDLPrimeri Poglavlje5.doc

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

x y = z Zadaci - procedure

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

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

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

SELECT CASE i FOR NEXT. Programiranje 1

Informacioni sistemi i baze podataka

Računarske osnove Interneta (SI3ROI, IR4ROI)

String. String. Kreiranje string objekta pomoću string literala (konstanti) Kreiranje string objekta

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

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

Programske paradigme Funkcionalna paradigma

Uputstvo za korišćenje logrotate funkcije

Uvod u relacione baze podataka

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

UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a

Upute za postavljanje Outlook Expressa

Visual Basic 6.0. Osnove VB. Uvod u računarstvo 1

Sberbank Business Online na Mozilla FireFox

JavaScript i HTML DOM

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET

PROGRAMIRANJE. Amir Hajdar

Vežbe - XII nedelja PHP Doc

Prva recenica. Druga recenica.

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

Naredbe za kontrolu toka

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

Vidljivost TipPovratneVrednosti ImeFunkcije (NizParametara) { TeloFunkcije }

a = x * y; b = a / x; cout << "a = "<<a<<" b ="<< b <<endl;

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

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

Uvod u programiranje

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

PREDMET. Osnove Java Programiranja. Čas JAVADOC

KLASIFIKACIJA JELENA JOVANOVIĆ. Web:

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

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

Sveučilište u Zagrebu Fakultet strojarstva i brodogradnje. WEB programiranje HTML & CSS

Lab. vježba PROGRAMIRANJE ZA INTERNET. Upute za laboratorijske vježbe. (izradio: Marin Bugarić) CSS3

ARDUINO KROZ JEDNOSTAVNE PRIMJERE - pripreme za natjecanja -

Zadaci za Tutorijal 2.

Scheme je funkcionalni jezik moderna varijanta jezika LISP-a, s dodacima iz Algola (lokalni doseg identifikatora).

RDF, RDFS i JSON-LD. NIKOLA MILIKIĆ URL: nikola.milikic.info

Zbirka zadataka iz C-a

PRINCIPI SOFTVERSKOG INŽENJERSTVA TIM NAZIV_TIMA

Primjer ispisuje rečenicu "Dobro dosli na brzi tecaj C-a" na ekranu

Programiranje kroz aplikacije. Kontrola toka programa Nizovi

INSTALACIJA RAZVOJNOG OKRUŽENJA DEV-C++

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

Uvod, varijable, naredbe, petlje

PKI Applet Desktop Application Uputa za instalaciju programske potpore

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

Aspektno programiranje u Javi. AOP + AspectJ

BAZE PODATAKA. SQL Opis podataka. Neđeljko Lekić Irena Orović

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

Ciljevi. Poslije kompletiranja ove lekcije trebalo bi se biti u mogućnosti: Opisati ograničenja Generisati i održavati ograničenja u bazi

PROGRAMIRANJE. Teme. Packages Reference objekata Inheritance nasljeđivanje Exceptions. Amir Hajdar

Kratke upute za korištenje MATLAB-a

VDSL modem Zyxel VMG1312-B10A/B30A

PRIJEMNI ISPIT IZ INFORMATIKE

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

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

1/42 SQL DDL. CREATE ALTER DROP Schema Table Tablespace Index View Domain Constraint... DECLARE TABLE (DB2)

Sintaksa VHDL jezika - podsjetnik -

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

CJENOVNIK OGLAŠAVANJA ZA ROTIRAJUĆE BANNERE NA NASLOVNICI

Backup i Restore C particije ili Windowsa sa NORTON-om

SQL Rukovanje podacima

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.

Veverica (za ocene >=3)

Uputa za instaliranje programske potpore za operativni sustav WINDOWS

Deo J. VBA Objects, Properties, Methods, Events,... PROJEKTOVANJE KLASNIH MODULA... Objekti Svojstva. Metode. Dogadjaji KLASE.

Push(3,&S) 3 1 S Uvijek trebamo paziti da ne zovemo Pop nad praznim stogom.

Algoritmi za sortiranje u programskom jeziku C++

Numeričke metode i praktikum

Algoritmi i strukture podataka

9. RAD S DATOTEKAMA PODATAKA

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

6. SWITCH IZRAZ I PETLJE

public static void main(string []args) { System.out.println("Hello World"); /* prints Hello World */

Transcription:

Nizovi Programiranje 1

VB Nizovi Zamislite da imate 10,000 šešira i da morate svakome od njih dati jedinstvenu oznaku. Kako biste to napravili? Bilo bi razumno svakom šeširu dati njegov broj. Sada možete tražiti šešir 8432 ili poslati šešir 844 na čišćenje. Korištenjem brojeva za označavanje šešira imate neiscrpnu zalihu imena za šešire. Programiranje 2

VB Nizovi Zamislite sada da imate kolekciju od 2,000 kravata. Možete li dati svakoj kravati njen broj? Sada vam je lako tražiti šešir 1,982 i kravatu 1,999 Dvije su stvari koje označavaju element: Ime kolekcije ( šešir" ili kravata") Broj objekta Numeriranje unutar kolekcije ne ovisi o nijednoj drugoj kolekciji. Možete imati i šešir broj 863 i kravatu broj 863. Programiranje 3

VB Nizovi U programiranju kolekcija sličnih elemenata se naziva niz, a broj indeks elementa niza. Ako u programu želimo raditi s više istovrsnih varijabli, da ne bi koristili više oznaka za navedene varijable te da bi jednostavnije učitali i obradili takvu vrstu varijabli koristimo nizove i naredbu DIM. Označavanje jednog elementa niza Ime_niza(indeks) Npr., neka je DAY$ niz stringova koji označavaju dane u tjednu. Tada je DAY$(1) = "Monday" prvi element niza. DAY$ je naziv niza Koja je vrijednost varijable DAY$(1)? Programiranje 4

VB Nizovi Mora se unaprijed kazati koliko će elemenata biti u nizu DIM ime_niza( veličina ) Npr., DIM DAY$( 7 ), DIM x(10) računalo će rezervirati 10 lokacija DIM y(20,20) dvodimenzionalna matrica Ako je DAY$ kao gore, da li je sljedeća linija moguća: DAY$(8) = "Memorial Day" Programiranje 5

VB Nizovi DIM DAY$(7) DAY$(1) = "Monday" msgbox "The day is", DAY$(1) Kada pokrenete program, stvara se niz od sedam praznih stringova. Indeksi elemenata niza mogu biti aritmetički izrazi. Npr., DAY$(n+3) Elementu niza može se pridijeliti i vrijednost neke druge varijable istog tipa podataka. Npr., DAY$(2)=a$ Programiranje 6

VB Nizovi Niz je lista varijabli istog tipa. Nizovi pomažu kod organiziranja višestrukih varijabli. DIM naredba služi za kreiranje niza (određuje se dimenzija niza). DIM a(5) Kreira niz a od 5 elemenata. 5 je dimenzija niza a(1) a(2) a(3) a(4) a(5) Programiranje 7

Primjer VB Primjer 1 Kiša je padala dva od tri dana: Dan 1: 3.54 l Dan 2: 0.00 l Dan 3: 1.79 l Napišite program koji će pohraniti ove vrijednosti u niz RAIN i izračunati i ispisati prosjek padavina Programiranje 8

VB Primjer 1 Dim RAIN(3) RAIN(1) = 3.54 RAIN(2) = 0# RAIN(3) = 1.79 Sum = RAIN(1) + RAIN(2) + RAIN(3) Avg = Sum / 3 MsgBox ("Prosjek: " & Avg & " lit") End Omogućite sada korisniku unošenje padavina. Programiranje 9

VB Primjer 1 DIM RAIN(3) msgbox Upišite padavine za dan 1:" RAIN(1)=INPUTBOX( Unesi rain(1) ) msgbox "Upišite padavine za dan 2:" RAIN(2)=INPUTBOX( Unesi rain(2) ) msgbox "Upišite padavine za dan 3:" RAIN(3)=INPUTBOX( Unesi rain(3) ) SUM = RAIN(1) + RAIN(2) + RAIN(3) AVG = SUM / 3 msgbox Prosjek:", AVG, " l" Programiranje 10

VB Zbroj članova niza Primjer: Sastaviti algoritam za izračunavanje zbroja brojeva u nizu zadanih realnih brojeva. Programiranje 11

VB Zbroj članova niza Dim a(100) Cls n = InputBox("Koliko ima brojeva") For i = 1 To n a(i) = InputBox("Unesi a(" & i & ")") Next i z = 0 For i = 1 To n z = z + a(i) Next i MsgBox ("Zbroj brojeva niza je : " & z) Programiranje 12

VB Primjer Traženje maksimuma niza Primjer: Sastaviti algoritam za određivanje najvećeg broja u nizu zadanih realnih brojeva. Programiranje 13

Cls n = InputBox("Koliko ima brojeva") For i = 1 To n a(i) = InputBox("Unesi a(" & i & ")") Next i Max = a(1) For i = 1 To n If a(i) > Max Then Max = a(i) End If Next i MsgBox ("Najveći broj je " & Max) End Programiranje 14

VB Primjer Sortiranje niza Primjer: Sastaviti algoritam za sortiranje po volji zadanog niza realnih brojeva. Sortiranje izvesti u rastućem nizu. msgbox "Unesi N!"; N=inputbox( Unesi n ) DIM a(n) FOR i = 1 TO N a(i)=inputbox( Unesi a ) NEXT i FOR i = 1 TO n - 1 FOR j = i + 1 TO n IF a(j) < a(i) THEN p = a(j) a(j) = a(i) a(i) = p END IF NEXT j NEXT i FOR i = 1 TO n msgbox a(i) NEXT i END Programiranje 15

Sastaviti program za izračunavanje skalarnog proizvoda dva vektora u prostoru. Definicija skalarnog proizvoda vektora a = [a 1, a 2,, a n ] i vektora b = [b 1, b 2,, b n ] : Programiranje 16

Napomena: Kod za unos podataka u niz je elegantniji i pregledniji ako se koristi ciklus (slučaj niza b(2). Funkcijom Array() mogu se u kodu zadati vrijednosti članova niza deklarisanog kao Variant. Na taj način je definisan pomoćni niz osa, koji sadrži tri znakovne vrijednosti: osa(0) = ''x'', osa(1) = ''y'' i osa(2) = ''z''. Iz niza osa uzimaju se ove znakovne vrijednosti za definisanje Prompt argumenta InputBox() funkcije. Programiranje 17

Dim a(2) As Single, b(2) As Single Dim proizvod As Single Private Sub Form_Load() Dim a(2) As Single, b(2) As Single Dim proizvod As Single a(0) = InputBox("unesite x komponentu vektora a") a(1) = InputBox("unesite y komponentu vektora a") a(2) = InputBox("unesite z komponentu vektora a") proizvod = 0 osa = Array("x", "y", "z") For i = 0 To 2 b(i) = InputBox("unesite" & osa(i) & "komponentu vektora b") For j = 0 To 2 proizvod = proizvod + a(i) * b(j) Next j Next i Programiranje 18

Sastaviti program koji će ispisati najmanji i najveći broj od 6 unesenih cijelih brojeva. Dim niz(5) As Integer Dim najmanji As Integer Dim najveci As Integer Private Sub Form_Load() For i = 0 To 5 niz(i) = InputBox("") Next i najmanji = niz(0) najveci = niz(0) For i = 1 To 5 If niz(i) < najmanji Then najmanji = niz(i) End If If niz(i) > najveci Then najveci = niz(i) End If Next i MsgBox "Najmanji clan niza je " & najmanji & ", a najveci clan niza je " & najveci Programiranje 19

Programiranje 20

Dim vektor(2) As Single, matrica(2, 2) As Single Dim rezultat(2) As Single For i = 0 To 2 vektor(i) = InputBox("") Next i For i = 0 To 2 For j = 0 To 2 matrica(i, j) = i + j Next j Next i For i = 0 To 2 rezultat(i) = 0 For j = 0 To 2 rezultat(i) = rezultat(i) + vektor(j) * matrica(i, j) Next j Next i MsgBox "[ " & rezultat(0) & " " & rezultat(1) & " " & rezultat(2) & " ]" Programiranje 21

Sastaviti program koji će izračunati novi položaj tačke u ravni nakon rotacije tačke za zadan ugao oko ishodišta koordinatnog sistema. Programiranje 22

Programiranje 23

Private Sub Form_Load() Dim P(1) As Single, Pprim(1) As Single 'vektori polozaja Dim R(1, 1) As Single 'matrica rotacije Dim fi As Single 'ugao rotacije Dim pi As Double pi = 4 * Atn(1) P(0) = InputBox("Unesite x koordinatu tacke") P(1) = InputBox("Unesite y koordinatu tacke") fi = InputBox("Unesite ugao rotacije tacke oko ishodistau stepenima") pomoc = Array(Cos(fi * pi / 180), Sin(fi * pi / 180), Cos(fi * pi / 180)) For i = 0 To 1 For j = 0 To 1 R(i, j) = pomoc(i + j) Next j Next i Programiranje 24

R(0, 1) = -R(0, 1) For i = 0 To 1 Pprim(i) = 0 For j = 0 To 1 Pprim(i) = Pprim(i) + P(j) * R(i, j) Next j Next i MsgBox "Nakon rotacije tacke, nove koordinate su: x = " & Round(Pprim(0), 3) & " y = " & Round(Pprim(1), 3) End Sub Programiranje 25