Stránka 1 z 1

Visual Basic

Napsal: pát 10. čer 2005, 16:48
od d.p.
Tohle už vážně neni originální, ale na většinu mých otázek sem tu odpovědi nenašel takže bych to docela ocenil....

2)Napište funkci PROLOZ, která vrátí řetězec proložené (mezi znaky je mezera)
3) Deklarujte pole A prvku typu integer pro indexy od 1 do 50.
4)Napište proceduru CISLA, která vytiskne všechna dvojciferná čísla neobsahující nulu a za každým číslem vytiskne též číslo s opačným pořadím cifer. Začátek tedy bude vypadat takto: 11, 11, 12, 21, 14, 41, 15…
5) Napište program, který v oboru reálných čísel řeší rovnici ac2+bx+c=0 a to i v případě, že některá z čísel a,b,c jsou rovna nule.
6)Deklarujte pole B typu Variant pro indexy od -5 do 5. Kolik má toto pole prvků ?
7)Hodnotu proměnné J zvětšete na dvojnásobek
8) Napište program, který vypočítává program počet sekund ze zadaných hodin, minut a sekund. Například 1 hodina 5 minut a 2 sekundy je celkem 3912.
9) Napište proceduru, která naplní všechny prvky pole P náhodnými čísly s rozsahem 1-100
10) Napište funkci FAKTORIAL, která bude násobit čísla 1*2*3*...*N, kde N je parametr funkce.


Diky moc pokud vas to jeste nestve...

Napsal: pát 10. čer 2005, 17:02
od zombux
jen tak na okraj - k čemu tohle všechno proboha potřebujete? do školy? tam vás nic nenaučili? :o vždyť to jsou úplně základní věci... funkce která vrátí dvojnásobek parametru... faktorial... všechno to je jednoduchý a logický nebo to jde najít v googlu :shock:

jj

Napsal: pát 10. čer 2005, 17:06
od d.p.
něco naučili, něco ne :D jinak jo do školy ale na tuhle otázku už odpověď padla.. jinak už sem na tom pracoval ale vůbec si s tim nejsem jistej, tak si radši nechám poradit od profíků...

Napsal: pát 10. čer 2005, 17:15
od €agle
2.
private function PROLOZ(txt1 as string) as string
dim txt2 as string
for i = 1 to len(txt1)
txt2 = txt2 + mid(txt1, i, 1) + " "
next i
return txt2
end function

3.
dim A(50) as integer

4.
(listbox list1)
For a = 1 To 9
For b = 1 To 9
List1.AddItem Right(Str(a), 1) + Right(Str(b), 1)
List1.AddItem Right(Str(b), 1) + Right(Str(a), 1)
Next b
Next a

5. To zadani je urcite spravne?

6.
dim B(-5 to 5) as Variant

pole ma 11 prvku

7.
J = J * 2

8.
private function ToSec(Hod as integer, Min as integer, Sek as integer) as integer
ToSec = Hod * 3600 + Min * 60 + Sek
end function

9.
(N = velikost pole)
for i = 0 to N
P(i) = int(rnd*100) +1
next i

10. je tu uz nekde vyreseny

Jako obvykle za chyby nerucim

diky

Napsal: pát 10. čer 2005, 17:26
od d.p.
diky moc, eco z toho sem tam fakt davat nemusel, protoze sem neco uz udelal sam, ale pro kontrolu sem to tam radsi hodil... jj ta 5-ka je fakt divna hodne divna, ted sem se bavil s jeste jednim programatorem na tema otazka č. 5 a taky vubec nechapal...

Napsal: pát 10. čer 2005, 17:33
od zombux
jseš si teda jist že to je ac2+bx+c=0 a ne ax2+bx+c=0 (tj kvadratická rovnice)?

Napsal: pát 10. čer 2005, 17:51
od €agle
Pokud by to byla ta kvadraticka rce, tak by to melo byt neco takoveho:

Private Function CalcRce(a As Double, b As Double, c As Double)
Dim d As Double
Dim x1 As Double
Dim x2 As Double
d = b * b - 4 * a * c
x1 = (-b + Sqr(d)) / (2 * a)
x2 = (-b - Sqr(d)) / (2 * a)
List1.AddItem x1
List1.AddItem x2
End Function

(snad si tu matiku jeste pamatuju :oops: )

//edit - opraveno v1,2 na x1,2

jj

Napsal: pát 10. čer 2005, 17:56
od d.p.
aha, to sem se nejspis prepsal ono c a x jsou hned vedle.... s tim byste me dokazali poradit ? a pokud mate cas mam tu jeste dalsi prekvapeni od spoluzaku, ktery nemaj internet, takze:

1)Napiste část programu, která vypise 10 nasobku cisla N, kde N je promenna

2) napiste proceduru vytiskni A, která vytiskne obsah pole A (jednotlive prvky) do textboxu

3)Posloupnost je dana předpisem, a1=1 a an=4*an-1 – 2. Napiste funkci pro urceni n-teho clenu s použitím rekurze i bez ni.

4)Napište proceduru VytiskniP, která vytiskne obsah pole P (jednotlivé prvky) do textboxu

5)Napiste proceduru MAXIMUM2, která ve svých parametrech vrati nejvetsi prvek z pole P a jeho index.

6)Napiste funkci soucet, která secte cislo od 1 do N, kde N je parametr této funkce.

7)Pomocí funkcí Dir a Schell naprogramujte test nové pošty se spoštěním programu PMAIL

8)Napište funkci NSD, která určuje největšího společného dělitele dvou čísel pomocí Euklidova algoritmu. Euklidův agoritmus: od většího čísla odečítejte menší a menší nechávejt beze změny. To opakujte tak dlouho, dokud nedostanetestejná čísla. - to uz tu bylo ale odpoved sem nenasel..

9)Napiste cast programu, ktera vytiskne zpravu, zda hodnota promenne X je kladna ci nikoliv a napise o tom zpravu.

10)Napiste funkci soucet, která secte cislo od 1 do N, kde N je parametr této funkce.

11)Naprogramujte proceduru, která do dvou sloupců vypisuje tabulku funkce sqr(x) pro x jdoucí od A do B s krokem K (hodnoty A, B, K jsou parametry této procedury)

12)Napiste funkci BEZHACKU, která v zadanem retezci zrusi všechny pismena s hacky a nahradi je odpovidajicimi pismeny bez hacku. Tedy ě-e š-s č-c ř-r ď-d ň-n (pro jednoduchost staci jen mala pismena)

13)Napište proceduru NOTA s parametry Kam As Object, X, Y, S, V, která na objekt Kam nakreslí notu (elipsu s nožičkou) o šířce S a výšce V tak, že levý horní roh noty bude na pozici X, Y.

14)Napište program, který v oboru reálných čísel řeší rovnici ax2+bx+c=0 a to i v případě, že některá z čísel a, b, c jsou rovna nule. - to je nejspis ta spravna verze.. :D

15)Napište proceduru HVEZDICKY, která na formulář FORM1 vytiskne 30 hvězdiček

16)Deklarujte proměnnou Odpoved typu Variant

17)Napište program, který vyřeší následující úlohu. Při dělení jistého přirozeného čísla čísly 19 a 99 vyjdou jako zbytky dvě prvočísla. Součet obou neúplných podílů se rovná 1999. Určete dělené číslo - taky uz sem to tu videl ale bez odpovedi..

18)10) Napište proceduru, která naplní všechny prvky pole A hodnotou indexu, takže A(i)=i.


Tak to by bylo vsechno, predem chci podekovat jmenem spoluzaku, kteri nemaj internet.. :D

chybka

Napsal: pát 10. čer 2005, 18:00
od d.p.
jeste k ty reseni ty kvadra: list1.additem v1 ? "V1" ?? nebo x1 ?

Re: chybka

Napsal: pát 10. čer 2005, 18:05
od €agle
d.p. píše:jeste k ty reseni ty kvadra: list1.additem v1 ? "V1" ?? nebo x1 ?
uups, to sem tam zapomnel... Poukud budes chtit vystup do listboxu, tak to tam nech, samo ze s x1 a x2 (v sem tam mel puvodne), pokud vystup nechces, mas vysledky ulozeny v promennych x1 a x2 (jenom lokalne v ramci funkce, jinak bys musel deklarovat x1 a x2 globalne na zacatku programu)

nevadi,

Napsal: pát 10. čer 2005, 18:09
od d.p.
takze tamto nahore je spravne, ale misto v patri x ? jo a mohl bych poprosit jeste o tu dalsi serii co uz byla polozena, myslim si ze tim budou vycerpany vsechny otazky od cele tridy... :D

Napsal: pát 10. čer 2005, 18:41
od €agle
1. A jako o jake nasobky by melo jit? Nasobky N a cisel 1-10?
(listbox list1)
for i = 1 to 10
list1.additem str(i*N)
next i

2.
(textbox text1, N = velikost pole)
text1.text = ""
for i = 0 to N
text1.text = text1.text +str(A(i))
next i

3.
to zadani je divny... nemelo by to bejt spis a(n) = (4*a(n-1))-1

4.
viz 2.

5.
(N = velikost pole)
private function MAXIMUM2(P() as integer,N as integer, Max as integer, MaxP as integer)
for i = 0 to N
if P(i) > Max then Max = P(i), MaxP = i
next i
end function

6.
private function soucet(N as integer)
dim v as integer
v=0
for i = 1 to n
v = v+i
next i
end function

7.
To nevim co si mam predstavit pod pojmem test nove posty...

8.
private function NSD(x as integer, y as integer) as integer
do while x<>y
if x>y then x = x-y else y=y-x
loop
NSD = x
end function

9.
uz je tu nekde vyreseny

10.
viz 6.

11.
(listbox list1)
private function SqToTab(A as double, B as double, K as double)
for d = A to B step K
list1.additem str(sqr(d)) + str(sqr(d+K))
next d
end function
(muze obsahovat o jeden clen vic, ale je to kratsi)

12.
private function BEZHACKU(txt as string) as string
dim c as string
for i = 1 to len(txt)
c = mid(txt, i, 1)
select case c
case "ě"
mid(txt, i, 1) = "e"
case "š"
mid(txt, i, 1) = "s"
case "č"
mid(txt, i, 1) = "c"
case "ř"
mid(txt, i, 1) = "r"
case "ž"
mid(txt, i, 1) = "z"
case "ť"
mid(txt, i, 1) = "t"
case "ď"
mid(txt, i, 1) = "d"
case "ň"
mid(txt, i, 1) = "n"
end select
next i
return txt
end function

13.
bych musel dyl zkoumat

14.
je uz vyreseno

15.
totez co 13.

16.
dim Odpoved as Variant (to je snad nejzakladnejsi prikaz VB!)

17. Je vyreseny tady:
http://forum.pctuning.cz/viewtopic.php? ... 73#6696173

18. uz v nejakym threadu je

Za chyby nerucim

//EDIT - doplneno 8. 17.

Napsal: sob 20. srp 2005, 20:51
od st.slama
Neviete aky je rozdiel medzi Visual Basic 5 a 6.

Dik.

Napsal: ned 21. srp 2005, 00:29
od €agle
st.slama píše:Neviete aky je rozdiel medzi Visual Basic 5 a 6.

Dik.
Rozdil neni zase az tak velky, a tak by nemel by byt problem otevrit projekt z VB5 ve VB6. Kompletni seznam zmen a novinek VB6 proti VB5 najdes tady.