PowerPoint Presentation

Слични документи
Tutoring System for Distance Learning of Java Programming Language

3.Kontrlne (upravlja~ke) strukture u Javi

Microsoft PowerPoint - 10-Jednodimenzionalni nizovi.ppt [Compatibility Mode]

Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić

Microsoft Word - 11 Pokazivaci

Tutoring System for Distance Learning of Java Programming Language

PROMENLJIVE, TIPOVI PROMENLJIVIH

Uvod u računarstvo 2+2

Funkcije predavač: Nadežda Jakšić

Programiranje u C-u ili C++-u Pseudo-slučajni brojevi; Dinamička alokacija memorije 1 ZADACI SA ČASA Zadatak 1 Napraviti funkciju koja generišlučajan

NIZOVI

Tutoring System for Distance Learning of Java Programming Language

I grupa 1. Napisati program koji izračunava i ispisuje zbir 4 najveća od pet brojeva unetih sa standardnog ulaza. ulaz izlaz Analiza: 1.

Programiranje 1 Beleške sa vežbi Školska 2007/2008 godina Matematički fakultet, Beograd Jelena Tomašević December 5, 2007

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br

Funkcije predavač: Nadežda Jakšić

Upitni jezik SQL

Microsoft PowerPoint - Bitovi [Compatibility Mode]

Programski jezici i strukture podataka 2018/2019. Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijsk

PowerPoint Presentation

PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije

P1.2 Projektovanje asemblera

Microsoft Word - Zadaci za samostalno vjezbanje 4.doc

Microsoft Word - 1.Operacije i zakoni operacija

PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste

Slide 1

P11.3 Analiza zivotnog veka, Graf smetnji

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode]

Програмирај!

08 RSA1

Рационални Бројеви Скуп рационалних бројева 1. Из скупа { 3 4, 2, 4, 11, 0, , 1 5, 12 3 } издвој подскуп: а) природних бројева; б) целих броје

03 SUBP

Grananje u programu predavač: Nadežda Jakšić

Microsoft Word - 02 Elementi programskog jezika Pascal

Programiranje 2 popravni kolokvij, 15. lipnja Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanj

Programski jezik C

М А Т Е М А Т И К А Први разред (180) Предмети у простору и односи међу њима (10; 4 + 6) Линија и област (14; 5 + 9) Класификација предмета према свој

Uvod u računarstvo 2+2

Microsoft PowerPoint - OOPpredavanja05 [Compatibility Mode]

Algoritmi i arhitekture DSP I

Microsoft Word - AIDA2kolokvijumRsmerResenja.doc

PowerPoint Presentation

1 jmbag ime i prezime Programiranje 2 prvi kolokvij, Rezultati i uvidi u kolokvije: Rezultati u petak, 3.5., navečer na webu, a uvidi u p

070-ALIP2-udzbenik.indb

Dinamičko programiranje Primer 1: Za dati niz naći njegov najduži neopadajući podniz. Defnicija: podniz nekog niza je niz koji se dobija izbacivanjem

Pojačavači

Република Србија МИНИСТАРСТВО ПРОСВЕТЕ, НАУКЕ И ТЕХНОЛОШКОГ РАЗВОЈА ЗАВОД ЗА ВРЕДНОВАЊЕ КВАЛИТЕТА ОБРАЗОВАЊА И ВАСПИТАЊА ЗАВРШНИ ИСПИТ У ОСНОВНОМ ОБРА

РЕПУБЛИКА СРПСКА МИНИСТАРСТВО ПРОСВЈЕТЕ И КУЛТУРЕ РЕПУБЛИЧКИ ПЕДАГОШКИ ЗАВОД Милоша Обилића 39 Бањалука, Тел/факс 051/ , 051/ ; p

Programiranje II Beleške sa vežbi Smer Informatika Matematički fakultet, Beograd Sana Stojanović 1

Uvod u takmičarsko programiranje

01 SUBP

Uvod u PHP

KATALOG ZNANJA IZ INFORMATIKE

P1.1 Analiza efikasnosti algoritama 1

Sveučilište u Zagrebu Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Katedra za primijenjeno računarstvo Vježba: #7 Kolegij: Ba

23. siječnja od 13:00 do 14:00 Školsko natjecanje / Osnove informatike Srednje škole RJEŠENJA ZADATAKA S OBJAŠNJENJIMA Sponzori Medijski pokrovi

Microsoft PowerPoint - 07-DinamickeStrukturePodataka

6-8. ČAS Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: Gde pretpostavljamo da je A celobrojna matrica dimenzije,. Takođe

Test ispravio: (1) (2) Ukupan broj bodova: 21. veljače od 13:00 do 14:00 Županijsko natjecanje / Osnove informatike Osnovne škole Ime i prezime

PHP kod

Državna matura iz informatike

Microsoft PowerPoint - 03-Slozenost [Compatibility Mode]

Računarski praktikum I - Vježbe 03 - Implementacija strukture string

Studijski primer - Dijagrami toka podataka Softverski inženjering 1

Strukture predavač: Nadežda Jakšić

ELEKTROTEHNIČKI FAKULTET, UNIVERZITET U BEOGRADU KATEDRA ZA ELEKTRONIKU UVOD U ELEKTRONIKU - 13E041UE LABORATORIJSKA VEŽBA Primena mikrokontrolera

Microsoft Word - CCERT-PUBDOC doc

Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica

LAB PRAKTIKUM OR1 _ETR_

Programiranje 1 5. predavanje dodatak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 5. predavanj

PowerPoint Presentation

MATEMATIKA EKSTERNA PROVJERA ZNANJA UČENIKA NA KRAJU III CIKLUSA OSNOVNE ŠKOLE UPUTSTVO VRIJEME RJEŠAVANJA TESTA: 70 MINUTA Pribor: grafitna olovka i

Classroom Expectations

Република Србија МИНИСТАРСТВО ПРОСВЕТЕ, НАУКЕ И ТЕХНОЛОШКОГ РАЗВОЈА ЗАВОД ЗА ВРЕДНОВАЊЕ КВАЛИТЕТА ОБРАЗОВАЊА И ВАСПИТАЊА ЗАВРШНИ ИСПИТ У ОСНОВНОМ ОБРА

Konverzije, operatori, matematičke funkcije predavač: Nadežda Jakšić

Fortran

Microsoft PowerPoint - 12-Funkcije_1.ppt [Compatibility Mode]

PASCAL UVOD 2 II razred gimnazije

1. OPĆE INFORMACIJE 1.1. Naziv kolegija Programiranje 1.6. Semestar Nositelj kolegija dr.sc. Bruno Trstenjak, v. pred Bodovna vrijednost

Teorija skupova - blog.sake.ba

Microsoft PowerPoint - C-4-1

Programiranje 1 drugi kolokvij, 2. veljače Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje,

Microsoft PowerPoint - MR - Vjezbe - 03.ppt [Compatibility Mode]

Državno natjecanje / Osnove informatike Srednje škole Zadaci U sljedećim pitanjima na odgovore odgovaraš upisivanjem slova koji se nalazi ispred

PowerPoint Presentation

My_P_Red_Bin_Zbir_Free

The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature opti

Microsoft Word - MySQL_3.doc

Microsoft Word - SYLLABUS -Dinamicki

Рачунарска интелигенција

Република Србија МИНИСТАРСТВО ПРОСВЕТЕ, НАУКЕ И ТЕХНОЛОШКОГ РАЗВОЈА ЗАВОД ЗА ВРЕДНОВАЊЕ КВАЛИТЕТА ОБРАЗОВАЊА И ВАСПИТАЊА ЗАВРШНИ ИСПИТ У ОСНОВНОМ ОБРА

Microsoft PowerPoint - 13-Funkcije_2.ppt [Compatibility Mode]

Microsoft Word - 6. RAZRED INFORMATIKA.doc

PowerPoint Presentation

PowerPoint Presentation

My_P_Trigo_Zbir_Free

Konstrukcija i analiza algoritama Nina Radojičić februar Analiza algoritama, rekurentne relacije 1 Definicija: Neka su f i g dve pozitivne fun

pricalica.PDF

Programiranje 2 0. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/4

Транскрипт:

Увод у објектно програмирање: Низови Матрице Професор: др Светлана Штрбац-Савић Маил / Кабинет: svetlanas@viser.edu.rs / 501

Увод у објектно програмирање: Низови Висока школа електротехнике и рачунарства 2

Увод у објектно програмирање: Низови UkupnaPlata=0 UkupnaPlata= UkupnaPlata+Plata1 UkupnaPlata= UkupnaPlata+Plata2 UkupnaPlata= UkupnaPlata+Plata3 UkupnaPlata= UkupnaPlata+Plata4 UkupnaPlata= UkupnaPlata+Plata5 UkupnaPlata= UkupnaPlata+Plata6 UkupnaPlata= UkupnaPlata+Plata7 UkupnaPlata= UkupnaPlata+Plata8 UkupnaPlata= UkupnaPlata+Plata9 UkupnaPlata= UkupnaPlata+Plata10 ProsečnaPlata= UkupnaPlata/10 Висока школа електротехнике и рачунарства 3

Увод у објектно програмирање: Низови Декларисање низа Низ се декларише као и све остале промељиве у програму. Само што се у заградама после имена низа наводи број елемената низа. Декларација целонројног низа Plata од 11 елемената Dim Plata(10) As Integer Декларација низа karaktera imestudenta од 16 елемената Dim imestudenta(15) As String Декларација низа 12 eлемената типа Object miscdata Dim miscdata(11) As Object Висока школа електротехнике и рачунарства 4

Увод у објектно програмирање: Низови Приступ елемнту низа Појединачном елемнту низа приступа се навођењем имена низа иза код се у заградама наводи позиција елемта у низу. Елементи се у низу нумеришу од 0 до броја који је у заградама наведен у декларацији низа. Пример: Dim Plata(10) As Integer Plata(5)=32000 Pristup 6 elementu niza Plata(6)=Plata(5)+Plata(4) Висока школа електротехнике и рачунарства 5

Увод у објектно програмирање: Низови Својство Lenght Елемент низа се употребљава као и свака друга променљива. Може учествовати у изразима, а може и бити са леве стране наредбе доделе тј. може му се доделити вредност неког израза или нека конкретна вредност. Дужина низа може се одредити и коришћењем својсва Length. Пример: For i=0 To Plata.Length UkupnaPlata= UkupnaPlata+Plata(i) Next i Висока школа електротехнике и рачунарства 6

Увод у објектно програмирање: Низови Низови Пример: Dim Plata(10) As Integer UkupnaPlata=0 BrojČlanova=10+1 For i=0 To BrojČlanova-1 UkupnaPlata= UkupnaPlata+Plata(i) Next i Srednja plata = UkupnaPlata/BrojČlanova Висока школа електротехнике и рачунарства 7

Увод у објектно програмирање: Низови Пример 1. Учитати низ од n целих бројева, а затим их исписати у једном реду истим редоследом којим су учитани. POČETAK n TAČNO n < 1 Netačno i = 0, n-1 niz[i] i = 0, n-1 niz[i] KRAJ Висока школа електротехнике и рачунарства 8

Увод у објектно програмирање: Низови Пример 2. Учитати низ од n целих бројева, а затим их исписати у једном реду обрнутим редоследом од оног којим су учитани. POČETAK n TAČNO n < 1 i = 0, n niz[i] NETAČNO i = n-1, 0 niz[i] KRAJ Висока школа електротехнике и рачунарства 9

Увод у објектно програмирање: Низови Пример 3. Учитати низ од n целих бројева, а затим израчунати исписати аритметичку средину, и оне бројеве који су већи од средње вредности. POČETAK n T TAČNO n < 1 NETAČNO as = s/n i = 0, n-1 s = 0 TAČNO niz[i]>as NETAČNO i = 0, n-1 niz[i] niz[i] s = s + niz[i] KRAJ T Висока школа електротехнике и рачунарства 10

Увод у објектно програмирање: Низови For Each петља Користи се искључиво за рад са низовима. For ime_brojača As Tip_podatka In Ime_niza Пример: Dim imenastudenata(15)as String Dim i Integer... For ime As String In imenastudenata Next Console.WriteLine(ime) Висока школа електротехнике и рачунарства 11

Увод у објектно програмирање: Низови Динамички низови Декларација динамичког низа: Dim niz() As Integer Наредбом ReDim врши се одређивање димензије низа тј. резервише се меморијски простор за смештање низа у фази извршавања програма. Пример: Dim niz() As Integer... ReDim niz(n) Висока школа електротехнике и рачунарства 12

Увод у објектно програмирање: Низови Наредба ReDim ReDim се поред резервисања меморије за смештање динамичких низова, може користити за повећање тј. промену капацитета низа. Пример:... ReDim imeniza (4)... ReDim imeniza (14)... Висока школа електротехнике и рачунарства 13

Увод у објектно програмирање: Низови ReDim Preserve Коришћењем команде ReDim за исти низ се не памти претходно унети низa него се заузима његово место у меморији уз брисање свих претходно унетих елеменат низа. Да би се то спречило, односно да би постојећи чланови низа били сачувани, користи се кључна реч Preserve - ReDim која решава тај проблем онемогућавајући губитак података. Висока школа електротехнике и рачунарства 14

Увод у објектно програмирање: Низови Пример ReDim Preserve Dim niz() As Integer... ReDim niz(10)... ReDim Preserve niz(15)... ReDim niz(5)... Прва ReDim наредба обезбеђује простор за низ од 11 места. Друга ReDim наредба премешта низ преписујући прве чланове низа и повећевајући капацтет низа. Трећа ReDim наредба смањује капацитет низа, при чему не чува вредности првих 6 елемената низа. Висока школа електротехнике и рачунарства 15

Увод у објектно програмирање: Низови знакова Низови знакова У групу основних операција које се могу применити на знаковне податке и низове знакова спадају: копирање алфанумеричког низа (низа знакова), налажење задатог знака у неком низу знакова, налажење првог знака (у неком низу знакова) који је различит од задатог знака, налажење задатог низа знакова у другом низу знакова, проналажење знака из задатог скупа знакова у неком низу знакова, проналажење знака у низу знакова који не припада датом скупу знакова, копирање низа знакова уз конверзију, копирање једног низа знакова у други низ почев од неке позиције поређење низова знакова, итд. Висока школа електротехнике и рачунарства 16

вод у објектно програмирање: Низови знакова Обрада String-ова За рад са текстуалним подацима (обрада текста) Висуал Басиц има само један оператор (&) и мноштво уграђених функција. Он служи за спајање стрингова, а подсећа на операцију сабирања: novistring=string1 & String2 [& String3...] Пример: ImeIPrezime= Petar & Petrović, ImeIPrezime=PetarPetrović ImeIPrezime= Petar & & Petrović, ImeIPrezime=Petar Petrović. VB.NET користи оператор + за спајање стрингова и мноштво уграђених функција, а неке од њих су : Висока школа електротехнике и рачунарства 17

вод у објектно програмирање: Низови знакова Обрада String-ова Left издваја првих n левих карактера стринга rez = Left (teststring, n) Пример: rez=left( knjiga, 2) даје као резултат rez= kn. Right издваја последњих n десних карактера стринга rez = Right ( teststring, n) Пример: rez=right( knjiga, 2) даје као резултат = ga. LTrim уклања само почетне празне знакове стринга rez = LTrim (teststring) Пример: rez=ltrim( knjiga ) даје као резултат = knjiga. RTrim - уклања само крајње празне знакове стринга rez = RTrim (teststring) Пример: rez=rtrim( knjiga ) даје као резултат = knjiga. Trim уклања почетне и крајње празне знакове стринга rez = Trim (teststring) Пример: rez=trim( knjiga ) даје као резултат = knjiga. Висока школа електротехнике и рачунарства 18

вод у објектно програмирање: Низови знакова Обрада String-ова UCase претвара мала слова у велика rez = UCase (teststring) Пример: rez=trim( Knjiga ) даје као резултат rez= KNJIGA. LCase претвара велика слова у мала слова rez = LCase(testString) Пример: rez= LCase( Knjiga ) даје као резултат rez= knjiga. Mid - издваја n карактера стринга почевши од позиције m, где је m цео број и m>0. Ако се изостави параметар n онда издваја све карактере од позиције m до краја стринга. rez = Mid( teststring, m[, n]) Пример: rez=mid( Knjiga, 2, 2) даје као резултат rez= nj. rez=mid( Knjiga, 2, 4) даје као резултат rez= njig. rez=mid( Knjiga, 2) даје као резултат rez= njiga. Ова функција може се користити и за замену знакова у стрингу : Mid ( teststring, m[, n]) = zamenitelj Висока школа електротехнике и рачунарства 19

вод у објектно програмирање: Низови знакова Обрада String-ова Len даје као резултат дужину стринга, тј. број од колико карактера се састоји стринг. rez = Len( teststring) Пример: rez=len( Knjiga ) даје као резултат rez=6. Format даје као резултат стринг по задатом формату. Најчешће се користи за форматирање: новца (FormatCurrency), бројева (FormatNumber i Round), процената (FormatPercent), датума и времена (FormatDateTime). rez = Format ( teststring, "####.0" ) Пример: rez=format( 123, #.0 ) даје као резултат rez= 123.0. Висока школа електротехнике и рачунарства 20

вод у објектно програмирање: Низови знакова Обрада String-ова Chr даје као резултат карактер чији је ASCII кôд задат. rez=chr(broj) Пример: rez=chr(65) даје као резултат rez= A. Asc даје као резултат ASCII кôд једног карактера rez = Asc( testkarakter ) Пример rez=asc( A ) даје као резултат rez=65. Space даје као резултат n празних места rez=space(n) Пример: rez=space(4) даје као резултат rez=. Висока школа електротехнике и рачунарства 21

вод у објектно програмирање: Низови знакова Обрада String-ова StrReverse обрће карактере стринга (први карактер постаје последњи, други предпоследњи итд.). rez = StrReverse ( teststring) Пример: rez=strreverse( knjiga ) даје као резултат rez= agijnk. Str, CStr претвара број или вредност израза у стринг. Val претвара стринг у број. Висока школа електротехнике и рачунарства 22

вод у објектно програмирање: Низови знакова Обрада String-ова Иначе сваком знаку, карактеру, одговара одређени ASCII кôд, цео број без знака, па се низови знакова могу поредити као бројеви и при томе је резултат поређења тачан (True) или нетачан (False): A < B A > B B > A AAA < AA AA < B тачан нетачан тачан нетачан тачан Milen < Milena тачан Знакови се претварају у бројеве (ASCII kôd) и обрнуто помоћу функција: AskiKod%=Asc(znak$) и znak$=chr(askikod%). Висока школа електротехнике и рачунарства 23

вод у објектно програмирање: Низови знакова Бели знакови Стрингови и текстуални фајлови садрже препознатљиве знакове који се могу одштампати, али и неке знакове који се не могу одштампати, а служе за рад са стринговима. То су на пример: знак за крај датотеке (End of File, EOF), знак за крај реда (CR), знак за прелазак у нови ред и слично. Ови знакови такође имају Ascii кôд. Тако знаку CR за крај реда одговара Ascii кôд 13, LF одговара Ascii кôд 10. Висока школа електротехнике и рачунарства 24

вод у објектно програмирање: Низови знакова.net Подржава све претходно наведене функције из VB Има класу String у библиотеци.net Framework Метод String.Concat омогућава спајање стрингова, а исто обављају и опетатори + и &. Класа String у библиотеци.net Framework има своје методе које одговарају функцијама из VB Висока школа електротехнике и рачунарства 25

вод у објектно програмирање: Низови знакова.net Метод.NET Framework Visual basic функција Пример ToUpper UCase Dim Ime, NIme As String Ime = Ana Nime=Ime.ToUpper() ToLower LCase Dim Ime, NIme As String Ime = Ana Nime=Ime.ToLower() Lenght Len Dim Ime Dim Vel As Short Ime = Ana Vel=Ana.Lenght Висока школа електротехнике и рачунарства 26

вод у објектно програмирање: Низови знакова.net Метод.NET Framework Visual basic функција Пример или опис Substring Mid Dim Ime, Sred As String Ime = Anastasija Sred=Ime.Substring(3,3) IndexOf InStr Проналази почетну тачку једног низа у другом низу. Trim Trim Dim Ime, NIme As String Ime = Ana Nime=Ime.Trim() Висока школа електротехнике и рачунарства 27

вод у објектно програмирање: Низови знакова.net Метод.NET Framework Visual basic функција Пример или опис Remove Insert Уклања знаке из средине стринга Dim Ime, Sred As String Ime = Anastasija Sred=Ime.Remove(4,3) Додаје знаке у средину знаковног низа StrComp Упоређује знаковне низове и занемарује величину слова Висока школа електротехнике и рачунарства 28

вод у објектно програмирање: Низови знакова Пример 1 Написати програм који одређује број линија текста у TextBox txtporuka. Висока школа електротехнике и рачунарства 29

вод у објектно програмирање: Низови знакова Решење примера 1 BrLinija=0 BrSlovaUTekstu=Len(txtPoruka.Text) određivanje dužine teksta For i=1 To BrSlovaUTekstu Slovo=Mid(txtPoruka.Text,i,1) izdvaja slovo na i-tom mestu If Slovo=Chr(13) Then proverava da li je i-ti znak CR BrLinija= BrLinija+1 I=i+1 preskače LF znak za prelazak na početak reda End If Next i If BrSlovaUTekstu>0 And BrLinija=0 Then BrLinija=1[1] [1] Овај ред је додат да коригује резултат у случају да текст има један ред и да на крају није стављен знак за крај реда. Висока школа електротехнике и рачунарства 30

вод у објектно програмирање: Низови знакова Пример 1 Линије се раздвајају знаком за крај реда CR, па овај део програма посматра текст као низ знакова и препознаје и броји знакове за крај реда. Програм чита знак по знак и сваки знак пореди са знаком чији је декадни Ascii кôд 13 (одговарајући хексадецимални кôд је 0d). Када је резултат поређења тачан, откривен је крај једне линије и прелази се на следећу, а бројач линија се увећава за један. Висока школа електротехнике и рачунарства 31

вод у објектно програмирање: Низови знакова Пример 2 Написати програм који мења сваки карактер у унетом тексту тако што дода број 1 Ascii кôду тог карактера. Ако у једном разумљивом, тексту који има смисао свим знацима повећамо Ascii кôд за 1, текст ће постати неразумљив, односно добијене речи неће имати никакав смисао ни значење. Овај неразумљиви и нечитљиви текст зове се шифрат и приказује се у текст пољу са именом txtšifraporuke, а смислени текст се зове отворени текст и уноси се преко поља txtporuka. Висока школа електротехнике и рачунарства 32

вод у објектно програмирање: Низови знакова Решење примера 2 Inicijalizacija praznog stringa za šifrirani tekst Šifra= BrSlova=Len(txtPoruka.Text) For i=1 To BrSlova Znak=Mid(txtPoruka.text, i, 1) Ascii kod znaka poveća za jedan i ponovo pretvori u znak i doda ga u string Šifra$ Šifra=Šifra & Chr(Asc(Znak)+1) Next i txtšifraporuke.text=šifra Висока школа електротехнике и рачунарства 33

вод у објектно програмирање: Низови знакова Пример 3 У текст поље txtporuka унети реченицу: ana voli, у текст пољу txtšifraporuke биће приказан бесмислен текст: bob!wpmj. Да би текст поново био читљив треба га дешифрирати, идентичним алгоритмом само Ascii кôд сваког знака треба смањити за један и поново претворити у знак, Резултат приказати у текст пољу txtdešifraporuke Висока школа електротехнике и рачунарства 34

вод у објектно програмирање: Низови знакова Решење примера 3 dešifra= Inicijalizacija praznog stringa za Šifrat BrSlova=Len(Šifra) For i=1 To BrSlova Znak=Mid(Šifra, i, 1) dešifra=dešifra+chr(asc(znak)-1) Ascii kod znaka smanji za jedan, ponovo pretvori u znak i doda ga stringu dešifra$ Next i txtdešifraporuke.text=dešifra Висока школа електротехнике и рачунарства 35

вод у објектно програмирање: Низови знакова Пример 4 Симетрични алгоритми шифровања користе исти кључ и за шифровање и за дешифровање оригиналног текста. Ширфовање обавити помоћу логичког оператора Xor (ексклузивно, искључиво ILI). Симетрично шифрирање базира се на примени теореме Булове алгебре : (A Xor K) Xor K = A Xor (K Xor K) = A Xor 0 = A. Висока школа електротехнике и рачунарства 36

вод у објектно програмирање: Низови знакова Пример 4 Ако неки број А два пута обрадимо Xor операцијом са истим бројем К (кључ) опет ћемо добити исти број А. Ако неко шифрује поруку A неким кључем K (наредба: AS=AXorK), само особе које знају кључ K могу прочитати, односно дешифровати поруку AS (наредба: A = AS Xor K). Висока школа електротехнике и рачунарства 37

вод у објектно програмирање: Низови знакова Решење примера 4 Dim Šifrat() As Integer Dim BrSlova As Integer Dim Ključ As Integer Private Sub Šifriranje() deklarisanje dinamičkog niza Procedura za šifriranje Ključ=InputBox( Upišite ključ za šifriranje,,1) If Ključ= Then Exit Sub BrSlova=Len(txtPoruka.Text) ReDim Šifrat(BrSlova) Ako nije unet ključ izlaz iz procedure Dimenzija niza jednaka je broju slova Висока школа електротехнике и рачунарства 38

вод у објектно програмирање: Низови знакова Решење примера 4 For i=0 To BrSlova-1 Znak=Mid(txtPoruka.Text, i+1,1) Šifrat(i)=Asc(Znak) Xor Ključ (*)Šifriranje svakog znaka Next i End Sub Висока школа електротехнике и рачунарства 39

вод у објектно програмирање: Низови знакова Пример 5 Дешифровање поруке Private Sub DeŠifriranje() Tekst= Ključ=InputBox( Upišite ključ za šifriranje,,1) If Ključ= Then Exit Sub Ako nije unet ključ izlaz iz procedure For i=0 To BrSlova-1 Tekst=Tekst & Chr(Šifrat(i) Xor Ključ) Next i TxtDesifra.Text=Tekst$ Prikaz dešifriranog teksta u polju End Sub Висока школа електротехнике и рачунарства 40

вод у објектно програмирање: Низови знакова Напомена о декларацијама променљивих Да би динамички низ, кључ и број слова били познати и процедури за дешифрирање, променљиве: Šifrat(), BrSlova, Ključ морају се декларисати у стандардном модулу, а не у процедури. Висока школа електротехнике и рачунарства 41

вод у објектно програмирање: Низови знакова Пример 6 Сортирање низа имена Висока школа електротехнике и рачунарства 42

вод у објектно програмирање: Матрице Вишедимензионални низови и матрице Max indeks vrsta (broj vrsta -1) Dim tablica(1, 2) As int Max indeks колона (broj kolona -1) Висока школа електротехнике и рачунарства 43

вод у објектно програмирање: Матрице Дводимензионални низови и матрице Елемент низа може да буде и други низ. 0 1 0 1... j... m Mat(1,0) i red (vrsta) n Mat(i, j) kolona (stupac) Mat(n,m) Висока школа електротехнике и рачунарства 44

вод у објектно програмирање: Матрице Декларација матрице Primer deklaracije: Dim tablica(1, 2) As int 0 1 2 0 1 logička predstava Tablica(1,2) Tablica(1,1) Tablica(1,0) Tablica(0,2) Tablica(0,1) Tablica(0,0) MEMORIJA fizička predstava Висока школа електротехнике и рачунарства 45

вод у објектно програмирање: Матрице Декларација матрице Dim mat(1, 2) As int ` matrica 2x3 0 1 0 1 3 1 2 5 2 8 6 Dim mat(1, 1) As int ` matrica 2x2 0 1 0 1 3 1 0 0 Висока школа електротехнике и рачунарства 46

вод у објектно програмирање: Матрице Декларација матрице Декларација за дводимензионалну матрицу 3x3 чији су елементи типа Double je: Dim Matrica(2, 2) As Double Висока школа електротехнике и рачунарства 47

вод у објектно програмирање: Матрице Елементи матрице Mat(0,0) 0 1 i 0 1... j... m Mat(0,m) red (vrsta) Mat(n,0) n kolona (stupac) Mat(n,m) Висока школа електротехнике и рачунарства 48

вод у објектно програмирање: Матрице Приказ матрице у текстуалном пољу Private Sub btnmatrica_click(byval sender As System.Object, ByVal e _ As System.EventArgs) Handles btnmatrica.click Dim i, j As Int16 txtprikaz.text = "" For i = 0 To 2 For j = 0 To 2 txtprikaz.text += Str(Matrica(i, j)) & " " Next txtprikaz.text += vbcrlf Next MsgBox("Unos završen") End Sub Висока школа електротехнике и рачунарства 49

вод у објектно програмирање: Матрице Главна дијагонала матрице Mat(0,0) Mat(1,1) Mat(i,j) Mat(i,j), i=j Mat(n,n) Испис елемената на главној дијагонали: For i=0 To n mat(i,i)=... Next Висока школа електротехнике и рачунарства 50

вод у објектно програмирање: Матрице Сума елемената главне дијагонале матрице Private Sub txtprikaz_doubleclick(byval sender As Object, ByVal e As System.EventArgs) Handles txtprikaz.doubleclick End Sub Dim i, j, n As Int16 Dim Rezultat As Double n= Val(TextBox1.Text) For i = 0 To n Next For j = 0 To n Next If i = j Then Rezultat += Matrica(i, j) txtrbr.text = Str(Rezultat) Висока школа електротехнике и рачунарства 51

вод у објектно програмирање: Матрице Сума елемената главне дијагонале матрице Private Sub txtprikaz_doubleclick(byval sender As Object, ByVal e As System.EventArgs) Handles txtprikaz.doubleclick End Sub Dim i, j, n As Int16 Dim Rezultat As Double n= Val(TextBox1.Text) For i = 0 To n Rezultat += Matrica(i, i) Next txtrbr.text = Str(Rezultat) Висока школа електротехнике и рачунарства 52

вод у објектно програмирање: Матрице Споредна дијагонала матрице Mat(0,n) Mat(1,n-1)... Mat(i,j), i+j=n Mat(n,0) Испис елемената на споредној дијагонали: For i=0 To n mat(i,n-i)=... Next Висока школа електротехнике и рачунарства 53

вод у објектно програмирање: Матрице Сума елемената споредне дијагонале матрице Private Sub txtprikaz_doubleclick(byval sender As Object, ByVal e As System.EventArgs) Handles txtprikaz.doubleclick End Sub Dim i, j, n As Int16 Dim Rezultat As Double n= Val(TextBox1.Text) For i = 0 To n Next For j = 0 To n Next If (i+j=2) Then Rezultat += Matrica(i, j) txtrbr.text = Str(Rezultat) Висока школа електротехнике и рачунарства 54

вод у објектно програмирање: Матрице Сума елемената споредне дијагонале матрице Private Sub txtprikaz_doubleclick(byval sender As Object, ByVal e As System.EventArgs) Handles txtprikaz.doubleclick End Sub Dim i, n As Int16 Dim Rezultat As Double n= Val(TextBox1.Text) For i = 0 To n Next Rezultat += Matrica(i, n-i) txtrbr.text = Str(Rezultat) Висока школа електротехнике и рачунарства 55

вод у објектно програмирање: Матрице Пример манипулације доњом тругаоном матрицом Mat(i, j), j<=i Збир елемената доње троугаоне матрице: for i=0 To n for j=0 To i s+= mat(i,j) Next j Next i искључује главну дијагоналу for j=0 To i-1 Висока школа електротехнике и рачунарства 56

вод у објектно програмирање: Матрице Пример манипулације доњом тругаоном матрицом Mat(i, j), j>=i Збир елемената горње троугаоне матрице: for i=0 To n for j=i To n s+= mat(i,j) Next j Next i Ако се искључују елементи главне дијагонале: for j=i+1 To n Висока школа електротехнике и рачунарства 57