Pomoć za rešenje zadatka u Visual Basicu

Pomoć za rešenje zadatka u Visual Basicu

offline
  • Pridružio: 23 Sep 2017
  • Poruke: 2

Imam ispit iz poslovne informatike za nedelju dana, međutim ja nisam nešto vična programiranju i svih ostalih stvari vezano za kompjutere 😂😂 Pa sam htela da pitam nekoga od vas, ako bi bio/bila ljubazan/na da mi pojasni rešenje ovog zadatka iz visual basic - a. Hvala unapred! 😊




Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • SlobaBgd  Male
  • SuperModerator
  • Supermoderator tech foruma
  • Pridružio: 10 Okt 2005
  • Poruke: 13153
  • Gde živiš: Beograd

Napiši dokle si stigla sa rešavanjem zadatka, šta ti nije jasno u zadatku, na koje probleme nailaziš. Sigurno će se neko javiti da ti pomogne i uputi te u pravom smeru.

Ali ako očekuješ da neko reši zadatak umesto tebe, to se ne radi na ovom forumu. Ako baš insistiraš, prebacićemo temu u Male oglase, možda se neko ponudi da uz odgovarajuću nadoknadu uradi tvoj zadatak.



offline
  • Pridružio: 23 Maj 2012
  • Poruke: 4182

Ćao Jano Smile

Po uvodnom postu rekao bih da vrlo slabo poznaješ materiju pa ćemo malo detaljnije. Ovo je ceo kod iz prvog primera:

Option Compare Database Option Explicit     Public rec As String Public rec1 As String Public rec2 As String Public slovo As String Public duzina As Integer Public duzina1 As Integer Public n As Integer Public a As Integer Sub zamena_stringova()     rec = InputBox("Unesite rec ili recenicu", "Primer 1")     duzina = Len(rec)     rec1 = InputBox("Unesite znak (ili vise njih) koji zelite da zamenite.", "Primer 1")     duzina1 = Len(rec1)     rec2 = InputBox("Unesite znake koje zelite da ubacite")     a = 0     For n = 1 To duzina         slovo = Mid(rec, n, duzina1)         If slovo = rec1 Then             a = n             Exit For         End If     Next n     If a > 0 Then         Mid(rec, a, duzina1) = rec2         MsgBox ("Novi izraz glasi: " & rec)     Else         MsgBox ("Znak(ovi) " & rec1 & " nisu pronadjeni")     End If End Sub
Option Compare služi da definišemo način na koji će se stringovi upoređivati (Binary, Text ili Database). Database vrši case-insensitive poređenje što znači da ne razlikuje mala i velika slova (ovo je standard u Access-u), tako da će ZDRAVO, ZdRaVo i zdravo biti jedno te isto.

Option Explicit postavlja podešavanje po kome se zabranjuje ili dozvoljava implicitno deklarisanje promenljivih. Ako nije dodata opcija On ili Off, podrazumevano je On. Primer:

' Ovo je u redu; eksplicitno smo deklarisali promenljivu a i dodelili joj vrednost. Dim a As Integer a = 10 ' Greška kada je omogućeno Option Explicit; b promenljiva nije prethodno eksplicitno deklarisana. b = 20
Prvi deo ti je, nadam se, jasan - inicijalizujemo promenljive sa osobinom Public čime označavamo da su javne. String je tip podatka koji predstavlja niz karaktera, dok je Integer celobrojni podatak.

Public rec As String Public rec1 As String Public rec2 As String Public slovo As String Public duzina As Integer Public duzina1 As Integer Public n As Integer Public a As Integer
Nakon toga, kreiramo funkciju zamena_stringova. U njoj na početku uzimamo sledeće informacije preko InputBox-a:

Rečenicu nad kojom želimo da izvršimo manipulaciju i nju smeštamo u promenljivu rec.
Znak(ove) koje želimo da izmenimo i to smeštamo u promenljivu rec1.
Znak(ove) koje želimo ubaciti umesto definisanih u rec1 i to smeštamo u promenljivu rec2.

Što se prva dva unosa tiče, nakon svakog od njih u promenljive duzina i duzina1 smeštamo dužine stringova rec i rec1 koristeći funkciju Len.

rec = InputBox("Unesite rec ili recenicu", "Primer 1") duzina = Len(rec) rec1 = InputBox("Unesite znak (ili vise njih) koji zelite da zamenite.", "Primer 1") duzina1 = Len(rec1) rec2 = InputBox("Unesite znake koje zelite da ubacite", "Primer 1")




Dodeljujemo promenljivoj a vrednost 0.

a = 0
Sada ćemo da uzmemo stavke koje sam uneo u primeru. Ovo su sada vrednosti nekih od promenljivih s početka:

rec = "zdravo" rec1 = "o" rec2 = "a" duzina = 6 duzina1 = 1
Korišćenjem For...Next petlje definišemo koliko ćemo puta izvršiti određeni kod. U ovom slučaju imamo interval od n (kojem smo dodelili vrednost 1, dakle od 1) pa do vrednosti promenljive duzina (koja je u ovom slučaju 6).

U petlji koristimo Mid funkciju koja vraća određeni deo stringa. Prvi parametar je reč, drugi je pozicija od koje krećemo i treći je broj karaktera koji želimo da vratimo počev od pozicije iz drugog argumenta.

slovo = Mid(rec, n, duzina1)
Dakle, slovo promenljivoj će pri svakom koraku biti dodeljena vrednost na poziciji n u stringu rec. Petlja nam služi kako bismo prošli kroz ceo string i utvrdili da li postoji znak(ovi) koje želimo zameniti (a koji se nalazi u promenljivoj rec1), što pokazuje kod ispod.

Njegovo značenje je sledeće; ako je vrednost promenljive slovo jednaka vrednosti promenljive rec1, znači da smo pronašli znak koji želimo zameniti. Promenljivoj a u tom slučaju dodeljujemo vrednost koju promenljiva n ima u tom trenutku i prekidamo petlju (Exit For). Ukoliko to pak nije slučaj, nastavlja se dalje izvršavanje petlje, ali sada sa uvećanom vrednošću n za 1 (Next n).

If slovo = rec1 Then     a = n     Exit For End If
Na kraju, proveravamo da li je vrednost promenljive a veće od 0. a će biti veće od 0 samo ukoliko je zadovoljen prethodni slučaj u nekom momentu (pronađen je znak koji bi trebalo zameniti unutar prvog unetog stringa). Ako jeste, koristimo Mid funkciju da bi na poziciji a zamenili znak onim koji smo uneli za ubacivanje (u promenljivoj rec2) i ispisujemo kako izgleda novi string u novom dijalogu. U suprotnom prikazujemo dijalog na kom obaveštavamo korisnika da znak(ovi) za zamenu nisu pronađeni.

If a > 0 Then     Mid(rec, a, duzina1) = rec2     MsgBox ("Novi izraz glasi: " & rec) Else     MsgBox ("Znak(ovi) " & rec1 & " nisu pronadjeni") End If



Javi ako ti je neki deo nejasan Smile

offline
  • Pridružio: 23 Sep 2017
  • Poruke: 2

Hvala puno na ovakvom detaljnom obaveštenju! Moj budžet će ti biti neverovatno zahvalan! 😊😊😊😊

Ko je trenutno na forumu
 

Ukupno su 611 korisnika na forumu :: 44 registrovanih, 4 sakrivenih i 563 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 1567 - dana 15 Jul 2016 19:18

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 4channer, aljosa7, alkatraz080, amstel, awathorn, Belac91, cicus91, danicatomic1928, Detective, Doca, Dzoni Stek, eleutheros, Filip Marinković, goransimonovicsimke976, havoc995, kolateralnasteta, Korapg, Križar, Ljilja Hnovi, lukac2, Marko Marković, Mercury2, MIg, Milan A. Nikolic, milos97, novator, Oluj2.1, Pavac, play4fun, r77adder, ray ban11, Recce, sevenino, Srki94, Stole Balkanboy, tokivoki01, trajkoni018, Trinitron1, vathra, Viceroy, victoria, Wisdomseeker, |_MeD_|, 1107