takhle je to treba do Excelu. VBA je pro pochopeni logiky nejednodusi. Nebo pokud to chces v C++ tak si malinko uprav syntaxi. Nejsem si na 100pct jist jestli je v C++ "mod" psany stejne.
Public Function provocislo(cislo As Integer) As Boolean
Dim xx As Boolean
xx = True 'Default nastaveni je prvocislo
For i = 2 To cislo - 1
If (cislo Mod i) = 0 Then
xx = False
Exit For
End If
Next
provocislo = xx
End Function
Hona
Algoritmizace - úkol
Re: Algoritmizace - úkol
Jenda70: obávám se, že zase machruješ a obávám se, že tohle už je dávno odevzdanej úkol (prvočíslo je již vyřešeno)
jinak zadání je: Je dána posloupnost čísel zakončených nulou. Otočte pořadí čísel v matici. pokud víš tohle tak to sem dej je to v Borland Delphi
tebe neučily pravidlo/zákon schválnosti/ programování:
"v každym programu je alespoň 1 řádek špatně, 1 řádek zbytečnej, v případě, že ne tak ať je program sebelepší betaverze vždy vrátí s chybou, která by tě ani nenapadla"
jinak zadání je: Je dána posloupnost čísel zakončených nulou. Otočte pořadí čísel v matici. pokud víš tohle tak to sem dej je to v Borland Delphi
tebe neučily pravidlo/zákon schválnosti/ programování:
"v každym programu je alespoň 1 řádek špatně, 1 řádek zbytečnej, v případě, že ne tak ať je program sebelepší betaverze vždy vrátí s chybou, která by tě ani nenapadla"
uživatel odstaven
Re: Algoritmizace - úkol
Sorry to ze jsi to vyresil jsem si vsiml az potom co jsem to psal.... Proste jsem mel v praci pul hodiny cas a tak jsem juknul na pc-help. Precetl jsem zadani a napsal. To je vsechno!!!
S Borlandem to bude horsi, pac ho nemam a nikdy jsem v nem nepsal.
Jinak tvuj vyvojovy diagram je peknej. Ale holt jsem si to otevrel ted!!!!!!!
S Borlandem to bude horsi, pac ho nemam a nikdy jsem v nem nepsal.
Jinak tvuj vyvojovy diagram je peknej. Ale holt jsem si to otevrel ted!!!!!!!
Re: Algoritmizace - úkol
Skus to tohle prepsat z VBA do Delphi. Podle me ti to pomuze. Jedne veci co jsem si vsim ve vyvojaku, ze pokud jsem ho spravne pochopil je v nem chyba. Zadani je takove, ze nevis kolik mas cisel, jenom vis ze konci nulou? Pokud je to tak tak tam musi byt ta polovina zaokrouhena protoze jinak se ti v pripade licheho poctu cislc v cyklu nikdy nemuze rovnat counteru a budes ho tocit do nekonecna 
Sub pokus()
i = 1
'Dim bb(100, 1) As Integer
aa = Selection.Value
Do While aa(i, 1) <> 0
i = i + 1
Loop
polovina = Round(i / 2, 0)
For j = 1 To polovina
pom = aa(i - j, 1)
aa(i - j, 1) = aa(j, 1)
aa(j, 1) = pom
Next
Selection = aa
End Sub

Sub pokus()
i = 1
'Dim bb(100, 1) As Integer
aa = Selection.Value
Do While aa(i, 1) <> 0
i = i + 1
Loop
polovina = Round(i / 2, 0)
For j = 1 To polovina
pom = aa(i - j, 1)
aa(i - j, 1) = aa(j, 1)
aa(j, 1) = pom
Next
Selection = aa
End Sub
- Tomina
- Level 5.5
- Příspěvky: 2690
- Registrován: březen 08
- Bydliště: Praha
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Algoritmizace - úkol
Vývoják je zaručeně správně,ten je od učitele,ovšem slovní zadání nevím..prostě mi to tak bylo zadáno a nic s tím nezmůžu.Dostal jsem dalších 5 příkladů z Delphi o kterých absolutně nic netuším...zkusím to sem dát..
TO Jenda70: tvoje zadání mi nefunguje..

TO Jenda70: tvoje zadání mi nefunguje..


Re: Algoritmizace - úkol
řeším podobný příklad, potřebuji vypsat prvních n prvočísel, s tím, že n je hodnota, kterou zadám. Určit prvočíslo umím, neumím ale vytvořit ten cyklus, který by hledal prvočísla, až by jich našel n a zapsal je. Nevíte někdo?
- Tomina
- Level 5.5
- Příspěvky: 2690
- Registrován: březen 08
- Bydliště: Praha
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Algoritmizace - úkol
Zkus to nějak použít z tohoto příkladu:
program prvoc;
{$APPTYPE CONSOLE}
uses
SysUtils;
Var P,I : Integer;
Delitelu : Integer;
Begin
Write('Zadej cislo : ');
Readln(P);
Delitelu:=0;
Writeln;
For I:=2 to Trunc(Sqrt(p)) do {Hledame delitele}
if P mod I = 0 then
Delitelu:=Delitelu+1;
if (Delitelu = 0) and (P>1) then
Writeln('Je to prvocislo.')
else
Writeln('Neni to prvocislo.');
Readln;
End.
program prvoc;
{$APPTYPE CONSOLE}
uses
SysUtils;
Var P,I : Integer;
Delitelu : Integer;
Begin
Write('Zadej cislo : ');
Readln(P);
Delitelu:=0;
Writeln;
For I:=2 to Trunc(Sqrt(p)) do {Hledame delitele}
if P mod I = 0 then
Delitelu:=Delitelu+1;
if (Delitelu = 0) and (P>1) then
Writeln('Je to prvocislo.')
else
Writeln('Neni to prvocislo.');
Readln;
End.
Re: Algoritmizace - úkol
mno, já jsem to udělal takhle, akorát se mi vypíšou všechna n čísla, a ne jenom prvočísla
nevíte, kde je chybka?

Kód: Vybrat vše
n = TextBox1.Text
a = i - 1
i = 3
While n > 0
prvo = True
For t = 2 To a
If i Mod t = 0 Then
prvo = False
End If
Next
If prvo = True Then
vysledek = vysledek + Str(i) + ", "
n = n - 1
i = i + 1
End If
End While
Label1.Text = vysledek
Re: Algoritmizace - úkol
předchozí kód je úplná s*ačka, takhle to funguje :)
program zkouší čísla od 3, 1 a 2 jsou jasný, snad mi to takhle uznají.
Kód: Vybrat vše
n = TextBox1.Text
i = 3
a = 2
If n = 1 Then
Label1.Text = "1"
ElseIf n = 2 Then
Label1.Text = "1, 2"
ElseIf n > 2 Then
n = n - 2
While n > 0
prvo = True
For t = 2 To a
If i Mod t = 0 Then
prvo = False
End If
Next
If prvo = True Then
vysledek = vysledek + Str(i) + ", "
n = n - 1
End If
i = i + 1
a = a + 1
End While
Label1.Text = "1, 2, " + vysledek
End If
program zkouší čísla od 3, 1 a 2 jsou jasný, snad mi to takhle uznají.
Zpět na “Programování a tvorba webu”
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti