Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje
Uputstvo Članstvo Kalendar Današnje poruke Pretraži

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 10.2.2015, 22:00   #1
NikolaTECH
Član
 
Član od: 9.2.2015.
Poruke: 67
Zahvalnice: 8
Zahvaljeno 0 puta na 0 poruka
Question Pomoć - Zadaci za QBasic :S

Pozz svima, novi sam na forumu. Treba mi pomoć. 9. sam razred i uskoro će takmičenje, a ne znam nekoliko zadataka da uradim koji su mi veoma važni.. :/ Ako može, rješenje ILI OBJAŠNJENJE bi mi dobro došlo..

1. Unijeti string i ispisati dužinu najkraćeg stringa. (Ja volim kajmak = 2)
2. U jednoj gajbi se nalazi m kg jabuka i n kg krušaka.(m i n su prirodni brojevi). Napiši program koji za date vrijednosti m i n ispisuje najmanji mogući broj potrebnih gajbi u koje možemo prepakovati jabuke i kruške tako da u svakoj gajbi budu iste mase, a da jabuke i kruške budu spakovane odvojeno.
UlazI: 16,12 ; 3,6 ; 15,80
IzlazI: 7 ; 3 ; 19

3. Kada su jednog oca pitali koliko godina mu imaju djeca odgovorio je:
Imam dvoje djece ,ako se proizvodu brojeva koji predstavlja godine djece
doda zbir njihovih godina dobije se broj A.
Napisati program kojim se za dato a određuje broj godina djece,naći sva rješenja.
Ulaz: A = 17
Izlaz.
1 8
2 5

4. Svaku riječ unijetog stringa ispisati u novom redu: Volim Informatiku
Volim
Informatiku
NikolaTECH je offline   Odgovor sa citatom ove poruke
Stara 10.2.2015, 23:40   #2
voodoo_
V.I.P. GNU/Linux
 
Avatar korisnika voodoo_
 
Član od: 1.11.2005.
Poruke: 11.166
Zahvalnice: 2.086
Zahvaljeno 4.923 puta na 2.859 poruka
Određen forumom Re: Pomoć - Zadaci za QBasic :S

1. Napravi brojačku promenljivu, inicijalizuj je na nulu. Zavrti "for" petlju u dužini celog stringa. U svakom koraku petlje proveri sledeći znak u stringu, ako nije razmak, povećaj vrednost brojača. Ako jeste razmak, zapamti brojač u drugoj promenljivoj ako je najmanji do sad, i resetuj ga.

Zaboravio sam Qbasic ali bi logika otprilike izgledala ovako:

Kod:
dim cnt as integer    ' Brojač (counter)
dim min as integer    ' Najmanja zapamćena vrednost brojača
dim i as integer
dim s as string

cnt = 0
min = 0

read(s) ili kako već ide učitavanje stringa s tastature

for i = 1 to length(s)
    if s(i) <> " " then
        cnt = cnt + 1
    else
        if min = 0 or cnt < min then     ' Ako je ovo prvo pamćenje dužine, ili ako već imamo zapamćenu neku vrednost a ova nova je manja od nje
            min = cnt
        end if
        cnt = 0     ' Resetujemo brojač u svakom slučaju jer smo naišli na razmak
    end if
end for

' Proverimo poslednju vrednost cnt-a pošto se string verovatno ne završava razmakom
if cnt < min
    min = cnt
end if

print "Najmanja zapamcena duzina do razmaka je ", min


4. Slično ko prvi, petlja kroz string, ako znak nije razmak, ispiši znak. Ako je razmak, ispiši novi red koristeći CHR$(13)
voodoo_ je offline   Odgovor sa citatom ove poruke
Stara 11.2.2015, 23:16   #3
NikolaTECH
Član
 
Član od: 9.2.2015.
Poruke: 67
Zahvalnice: 8
Zahvaljeno 0 puta na 0 poruka
Određen forumom Re: Pomoć - Zadaci za QBasic :S

Citat:
voodoo_ kaže: Pregled poruke
1. Napravi brojačku promenljivu, inicijalizuj je na nulu. Zavrti "for" petlju u dužini celog stringa. U svakom koraku petlje proveri sledeći znak u stringu, ako nije razmak, povećaj vrednost brojača. Ako jeste razmak, zapamti brojač u drugoj promenljivoj ako je najmanji do sad, i resetuj ga.

Zaboravio sam Qbasic ali bi logika otprilike izgledala ovako:

Kod:
dim cnt as integer    ' Brojač (counter)
dim min as integer    ' Najmanja zapamćena vrednost brojača
dim i as integer
dim s as string

cnt = 0
min = 0

read(s) ili kako već ide učitavanje stringa s tastature

for i = 1 to length(s)
    if s(i) <> " " then
        cnt = cnt + 1
    else
        if min = 0 or cnt < min then     ' Ako je ovo prvo pamćenje dužine, ili ako već imamo zapamćenu neku vrednost a ova nova je manja od nje
            min = cnt
        end if
        cnt = 0     ' Resetujemo brojač u svakom slučaju jer smo naišli na razmak
    end if
end for

' Proverimo poslednju vrednost cnt-a pošto se string verovatno ne završava razmakom
if cnt < min
    min = cnt
end if

print "Najmanja zapamcena duzina do razmaka je ", min


4. Slično ko prvi, petlja kroz string, ako znak nije razmak, ispiši znak. Ako je razmak, ispiši novi red koristeći CHR$(13)
Hvala puno, riješio sam prvi zadatak ali na malo drugačiji način.
NikolaTECH je offline   Odgovor sa citatom ove poruke
Stara 18.2.2015, 14:21   #4
seymourc64
Član
 
Član od: 5.12.2005.
Lokacija: Sombor
Poruke: 245
Zahvalnice: 7
Zahvaljeno 31 puta na 24 poruka
Određen forumom Re: Pomoć - Zadaci za QBasic :S

Drugi problem se u stvari svodi na trazenje najveceg zajednickog delioca. Kada nadjes NZD samo podelis A i B sa njim i saberes ih. Kod otprilike izgleda ovako:

Kod:
nzd:
' Determine NZD returned in A for two numbers A and B
IF A=0 THEN
  A=B
  RETURN
END IF
WHILE A<>B
  IF A>B THEN
    A=A-B
  ELSE IF B>A THEN
    B=B-A
  END IF
WEND
RETURN

solve:
' Solve problem for two numbers A and B. Result is returned in RES
OA = A
OB = B
GOSUB nzd
RES = OA/A + OB/A
RETURN
Posle toga mozes isprobati:
Kod:
   A=15
   B=80
   GOSUB solve
   PRINT RES
   ' Trebalo bi da ispise 19
   A=12
   B=16
   GOSUB solve
   PRINT RES
   ' Trebalo bi da ispise 7
Algoritam za odredjivanje nzd koji sam iskoristio se zove Euklidov algortitam
seymourc64 je offline   Odgovor sa citatom ove poruke
Stara 19.2.2015, 15:15   #5
NikolaTECH
Član
 
Član od: 9.2.2015.
Poruke: 67
Zahvalnice: 8
Zahvaljeno 0 puta na 0 poruka
Određen forumom Re: Pomoć - Zadaci za QBasic :S

Još ne mogu da ga shvatim, ne radi za svaki test primjer.. Uglavnom ,uradiću ga uskoro. Uradio sam ovaj da ispiše najmanji/najveći string, da ispiše string u novom redu, i ovaj za godine.

-OSVOJIO SAM 1. mjesto na takmičenju!
NikolaTECH je offline   Odgovor sa citatom ove poruke
Stara 23.2.2015, 23:16   #6
voodoo_
V.I.P. GNU/Linux
 
Avatar korisnika voodoo_
 
Član od: 1.11.2005.
Poruke: 11.166
Zahvalnice: 2.086
Zahvaljeno 4.923 puta na 2.859 poruka
Određen forumom Re: Pomoć - Zadaci za QBasic :S

Misliš, mi smo ti osvojili
voodoo_ je offline   Odgovor sa citatom ove poruke
Stara 23.2.2015, 23:25   #7
NikolaTECH
Član
 
Član od: 9.2.2015.
Poruke: 67
Zahvalnice: 8
Zahvaljeno 0 puta na 0 poruka
Određen forumom Re: Pomoć - Zadaci za QBasic :S

Citat:
voodoo_ kaže: Pregled poruke
Misliš, mi smo ti osvojili
Ustvari zadaci nisu bili ovakvi, ni slični, nijedan od ovih.. Stavili su nam drugačije zadatke ali sam ipak prvi uradio i imao 100/100 poena, 1. mjesto. A inače, ove sam zadatke sve uradio. :P
NikolaTECH je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi


Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Zadaci za PowerShell Laki00 Programiranje 0 6.1.2014 4:48
Paskal - zadaci, POMOĆ?!! ScoobyBu2 otpaTci 2 23.3.2011 15:45
Zadaci za kontrolni :) JaSamKorisnik Programiranje 3 16.6.2010 20:29
Zadaci sa bitovima, ili kako već da ih nazovem.. forrest_gump Programiranje 19 28.8.2008 3:50
Zadaci iz informatike za 8. razred OŠ DobroslaV Programiranje 3 12.11.2007 23:03


Sva vremena su po Griniču +2 h. Sada je 10:41.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com