Diskuze: problém s počítáníím v batch

Windows Windows problém s počítáníím v batch

Avatar
Adam Ježek
Tým ITnetwork
Avatar
Adam Ježek:

ahoj, mám takový problém. Matka je učitelka a poprosila mě o něčem, co by za ní počítalo známky v testech, aby jen zadal body a samo se udělalo kolik má procent a známku. Problém je, že cmd nebere desetinný čísla. Takže 2.4 zaokrouhlí na 2 a to už je po vynásobení dosažených docela problém. Např: z testu bylo 4 bodů, dosaženo bylo 30. 100/41=2.4. 2.4*30=72, ale 2*30=60. A tento rozdíl 12 procent už znamená pro nešťastného o jeden stupeň horší známku,čímž se program stává prakticky nepoužitelný(pokud z testu nebylo max 100 bodů). Nevíte jak to vyřešit?
A kdyby někdo věděl, jak to zkrátit, abych nemusel pro každý procentou jinoéj řádek. Šipky <> sou pro zápis do souborů, takže stylem

 if %dosazeno%>87 goto 1
to nejde
zdroják:
@echo off
title Vypocet znamek
set /p barva=Zvolte si barvu textu(B-bila, M-modra,C-cervena,Z.zelena):
if %barva%==b goto b
if %barva%==m goto m
if %barva%==c goto c
if %barva%==z goto z

:b
echo Bila
goto s

:m
color 09
echo Modra
goto s

:c
color 0c
echo Cervena
goto s

:z
echo Zelena
color 0a

:s
set /p max=Zadejte maximalni pocet bodu:
:a
set /p dosazeny=Zadejte dosazeny pocet bodu:
set /a body=(100/%max%)*%dosazeny%

echo Bylo dosazeno %body% procent.
if %body%==100 goto 1
if %body%==99 goto 1
if %body%==98 goto 1
if %body%==97 goto 1
if %body%==96 goto 1
if %body%==95 goto 1
if %body%==94 goto 1
if %body%==93 goto 1
if %body%==92 goto 1
if %body%==91 goto 1
if %body%==90 goto 1
if %body%==89 goto 1
if %body%==88 goto 1
if %body%==87 goto 1
if %body%==86 goto 2
if %body%==85 goto 2
if %body%==84 goto 2
if %body%==83 goto 2
if %body%==82 goto 2
if %body%==81 goto 2
if %body%==80 goto 2
if %body%==79 goto 2
if %body%==78 goto 2
if %body%==77 goto 2
if %body%==76 goto 2
if %body%==75 goto 2
if %body%==74 goto 2
if %body%==73 goto 3
if %body%==72 goto 3
if %body%==71 goto 3
if %body%==70 goto 3
if %body%==69 goto 3
if %body%==68 goto 3
if %body%==67 goto 3
if %body%==66 goto 3
if %body%==65 goto 3
if %body%==64 goto 3
if %body%==63 goto 3
if %body%==62 goto 3
if %body%==61 goto 3
if %body%==60 goto 4
if %body%==59 goto 4
if %body%==58 goto 4
if %body%==57 goto 4
if %body%==56 goto 4
if %body%==55 goto 4
if %body%==54 goto 4
if %body%==53 goto 4
if %body%==52 goto 4
if %body%==51 goto 4
if %body%==50 goto 4
if %body%==49 goto 4
if %body%==48 goto 4
goto 5



:1
echo Bylo dosazeno znamky 1
goto a

:2
echo Bylo dosazeno znamky 2
goto a

:3
echo Bylo dosazeno znamky 3
goto a

:4
echo Bylo dosazeno znamky 4
goto a

:5
echo Bylo dosazeno znamky 5
goto a
Editováno 23.4.2013 15:43
Odpovědět  +1 23.4.2013 15:40
Pokud chceš odpovědět, klikni na odpovědět. Pokud chceš vložit zdroják, klikni na vložit zdroják (</>)
Avatar
Vojta Pšenák
Redaktor
Avatar
Odpovídá na Adam Ježek
Vojta Pšenák:

Myslím že batch pro to není vhodný...

 
Nahoru Odpovědět  +2 23.4.2013 15:42
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Adam Ježek
David Čápka:

Proč prosím nepoužiješ nějaký normální programovací jazyk, kde by toto bylo na 5 řádků?

Nahoru Odpovědět  +1 23.4.2013 15:42
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Maxfx
Redaktor
Avatar
Odpovídá na Adam Ježek
Maxfx:

co to napsat v jiném jazyku

Nahoru Odpovědět  +1 23.4.2013 15:42
Být ovládán znamená být sledován, pod dohledem, špehován, veden, uzákoněn, reglementován, ohrazen, indoktrinován, pře...
Avatar
Adam Ježek
Tým ITnetwork
Avatar
Adam Ježek:

ale v jakém? Zkoušel sem delphi a javu, a z toho sem pochopil jenom nějaký základy

Nahoru Odpovědět 23.4.2013 15:43
Pokud chceš odpovědět, klikni na odpovědět. Pokud chceš vložit zdroják, klikni na vložit zdroják (</>)
Avatar
Vojta Pšenák
Redaktor
Avatar
Odpovídá na Adam Ježek
Vojta Pšenák:

Myslím že by bylo vhodné C# nebo PHP a udělat to jako web aplikaci

 
Nahoru Odpovědět 23.4.2013 15:45
Avatar
Adam Ježek
Tým ITnetwork
Avatar
Odpovídá na Vojta Pšenák
Adam Ježek:

ale to by bylo potřeba připojení k internetu, ne?

Nahoru Odpovědět 23.4.2013 15:49
Pokud chceš odpovědět, klikni na odpovědět. Pokud chceš vložit zdroják, klikni na vložit zdroják (</>)
Avatar
Vojta Pšenák
Redaktor
Avatar
Odpovídá na Adam Ježek
Vojta Pšenák:

A to nemáte ? V tom PHP by si s tim mohl vyhrát a udělat to i pro víc llidí s přihlašováním. A někde jsem slyšel o PHP kompilátoru, případně local apache...

 
Nahoru Odpovědět 23.4.2013 15:50
Avatar
Maxfx
Redaktor
Avatar
Odpovídá na Adam Ježek
Maxfx:

Máš několik desítek jazyků :D tak si vyber tady jsou návody třeba na C# nebo java

Nahoru Odpovědět 23.4.2013 15:51
Být ovládán znamená být sledován, pod dohledem, špehován, veden, uzákoněn, reglementován, ohrazen, indoktrinován, pře...
Avatar
Adam Ježek
Tým ITnetwork
Avatar
Adam Ježek:

s netem problém není, doma máme, ale na cestách moc není.
A z c++ v tom potom dělam jak? To mam okýnko podobný batchi, nebo nějaký normální okno

Nahoru Odpovědět 23.4.2013 15:58
Pokud chceš odpovědět, klikni na odpovědět. Pokud chceš vložit zdroják, klikni na vložit zdroják (</>)
Avatar
Vojta Pšenák
Redaktor
Avatar
Odpovídá na Adam Ježek
Vojta Pšenák:

Doporučiji C#, ne C++. A v C# máš na výběr mezi WinFormApplication a ConsoleApplication

 
Nahoru Odpovědět 23.4.2013 15:59
Avatar
Odpovídá na Adam Ježek
Lukáš Hruda (Luckin):

Doporučuji C. Je jednoduché, není v něm moc co se učit a tohle je hodně jednoduchý program, OOP jazyky jazyky jako C# nebo Java popř. C++ jsou v tomhle případě zbytečnost. Pokud ani jeden z nich neumíš, C se naučíš nejrychleji.

 
Nahoru Odpovědět 23.4.2013 16:22
Avatar
Kit
Redaktor
Avatar
Odpovídá na Adam Ježek
Kit:

Na tohle a na spoustu dalších drobných věcí bych doporučil Python. Dá se použít i jako obyčejná kalkulačka, takže vše je hezky poruce. Hledej IDLE Python.

Batch nechej v muzeu.

Nahoru Odpovědět  +1 23.4.2013 16:40
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Redaktor
Avatar
Kit:

Céčko ani náhodou. Tohle chce lightweight jazyk. Batch je už zastaralý, ale Python je mnohem vhodnější. Navíc se úlohy dají vytvářet "za chodu" bez editoru.

Nahoru Odpovědět 23.4.2013 16:46
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Lukáš Hruda (Luckin)
David Čápka:

Proč jsou zbytečnost? Céčko nemá ani string, příšerně se s ním pracuje, v C# žádné OOP umět nepotřebuješ, můžeš v něm dělat stejně jako v céčku a nemusíš se patlat s nějakými poli a spojovými seznamy kdyby nedejbože chtěl dynamický počet známek nebo tak něco.

Nahoru Odpovědět  +1 23.4.2013 16:46
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Adam Ježek
David Čápka:

Použij C#, uděláš normální konzolovou aplikaci. Podobný příklad co tu zmiňuješ vytvoříš po přečtení prvních pár článků a bude na 5 řádků. Kdybys s tím měl problém, vždycky ti tu někdo poradí na fóru. Céčko patří do muzea, to se neuč. Python je také docela dobrý, ale nevím, jak v něm fungují konzolové aplikace a kompilace do exe, IDE atd. C# má všechno hrozně jednoduché a předpřipravené, vyleze ti EXE co funguje stejně jako tvůj bat.

Nahoru Odpovědět 23.4.2013 16:49
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Vojta Pšenák
Kit:

PHP se sice použít dá, ale pro tento účel nepatří mezi nejvhodnější, protože není určeno pro interaktiní práci. Připojení k Internetu nepotřebuje a nepotřebuje ani lokální server. Je to interpretr jako každý jiný.

Nahoru Odpovědět 23.4.2013 16:52
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:

Konzolové aplikace v Pythonu jedou bezvadně, kompilace do EXE je zbytečná. Na rozdíl od C# funguje interaktivně a má IDE, které se jmenuje IDLE. Jednoúčelové skripty se vůbec nemusí psát v žádném editoru, přímo se provádí.

Editováno 23.4.2013 16:58
Nahoru Odpovědět 23.4.2013 16:55
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka:

Jo, ale musíš ho nainstalovat. To uživatel řešit nechce, hlavně ne začátečník, vynextí instalaci Visual Studia, napíše těch 5 řádků kódu a vyleze mu EXE, které pak funguje všude.

Nahoru Odpovědět 23.4.2013 16:58
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Odpovídá na Adam Ježek
Michael Olšavský:

Pouzij python (na takovehle jednoduche veci se hodi) nebo c#. Jeste taky muzes javascript. U toho net neptrebujes a jede vsude

 
Nahoru Odpovědět  +1 23.4.2013 17:02
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:

... a také třeba funguje všude špatně a koncový uživatel to nemá možnost opravit. Třeba když potřebuje změnit tabulku hodnocení. Ano, jde to dát do externí konfigurace, ale to se nám ten program začíná trochu prodlužovat.

Pokud nechceš instalovat, můžeš použít jazyk Lua. Neinstaluje se, je to jen jeden 150KB exe.

Nahoru Odpovědět 23.4.2013 17:05
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Michael Olšavský
Kit:

Ten Javascript je hodně dobrý nápad. Dá se to strčit do lokálního HTML a použít kdykoli.

Nahoru Odpovědět 23.4.2013 17:07
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka:

Jo, v tom by to šlo hezky. Ale zas se musí učit html :P

Nahoru Odpovědět 23.4.2013 17:08
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:

To strčí jen do základní kostry HTML. Nic extra.

Ale mohla by to být hodně hezká aplikace. Nejprve by se zadávaly maximální body do seznamu. Pak by se do druhého sloupečku zadaly skutečné body od každé úlohy. Po napsání posledního údaje by se výsledek vyhodnotil jak na procenta, tak i na známku. Vše by se jen budovalo v DOMu, nikam by se nemuselo nic ukládat.

Také by se to dalo transponovat. Jeden řádek, jeden žák. Jeden sloupeček jedna úloha. Na konci řádku počet bodů, procento a známka. Pak už jen vytisknut. Seznam žáků by mohl být trvalý pro každou třídu, napevno v HTML.

Nahoru Odpovědět  +1 23.4.2013 17:19
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Honza Bittner
Redaktor
Avatar
Honza Bittner:

když budeme brát možnosti jen pro offline tak si můžeš si udělat :

  1. konzolovou aplikaci (PASCAL, Visual Basic, C#, JAVA, C++ ...)
  2. okenní aplikace (PASCAL, Visual Basic, C#, JAVA, C++ ...)
  3. webovou aplikaci (JavaScript)

jako desktop či web aplikaci si uděláš něco kam vepíšeš maximální body a %ta na dané známky ...
potom můžeš udělat něco kam zadáš body žáka a ono ti to vyhodí známku ...

v konzoli si uděláš abys po zapnutí vložil max. body, %ta na známky a pak jen v cyklu vkládáš body žáků ..

je to prográmek tak na 10 minut :)

Nahoru Odpovědět 23.4.2013 17:21
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Odpovídá na David Čápka
Lukáš Hruda (Luckin):

Z toho co psal jsem pochopil, že potřebuje jenom jednoduchý výpočet, žádné řetězce ani pole či seznamy. To se dá v C napsat na pár řádků v jednom souboru, který jednoduše zkompiluje. Proč kvůli tomu stahovat a instalovat visual studio a zakládat celý projekt (v C# tuším samotný soubor zkompilovat nejde)? Pravděpodobně to není žádný programátor, pouze potřebuje napsat tenhle jednoduchý prográmek. V Dev-Cpp to má i se stažením, nainstalováním, vytvořením souboru, napsáním programu a zkompilováním za 10 minut.

 
Nahoru Odpovědět 23.4.2013 17:24
Avatar
Kit
Redaktor
Avatar
Odpovídá na Honza Bittner
Kit:

V Javascriptu to nemusí být jen jako webová aplikace. Ten soubor HTML může mít uložený třeba na ploše. Poklikáním se spustí prohlížeč s úlohou. Jednoduché, prosté, účinné.

Nahoru Odpovědět  +1 23.4.2013 17:26
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Lukáš Hruda (Luckin)
Kit:

Kdysi jsem si napsal jednoduché RPG v Javascriptu. Vše mám v jediném souboru HTML, který mohu uložit kamkoli.

Nahoru Odpovědět 23.4.2013 17:27
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Lukáš Hruda (Luckin)
Kit:

Céčko ne. Dá se v něm nasekat spousta chyb, které kompilátor neodhalí a způsobují těžké noční můry. To už raději Fortran. Ten je na to stavěný mnohem lépe a výsledek je také EXE srovnatelné velikosti.

Nahoru Odpovědět 23.4.2013 17:30
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na David Čápka
Lukáš Hruda (Luckin):

Mimochodem, já osobně bych v C nic většího psát nechtěl, musí to být nehorázná otrava, ale nemyslím si, že patří do muzea. Možná co se Windows týká, ale pokud vím, tak pod Linuxem se v C pořád docela běžně programuje a spousta programátorů ho preferuje před C++, protože je podle nich "čistší".

 
Nahoru Odpovědět 23.4.2013 17:33
Avatar
Odpovídá na Kit
Lukáš Hruda (Luckin):

V tak jednoduchém programu jako je tohle se moc chyb nasekat nedá, ale dobře, když ne C, tak něco jiného co se dá snadno nainstalovat a zkompilovat, třeba i Java když na to přijde, ale to zas bude muset mít všude nainstalovanou Javu. Rozhodně ne C#, kde jenom aby mohl začít něco tvořit, musí stahovat a instalovat IDE které má přes GB. Pořád ale beru v úvahu že potřebuje jenom napsat tenhle jednoduchý prográmek a dál se programování nehodlá věnovat.

 
Nahoru Odpovědět 23.4.2013 17:39
Avatar
Odpovídá na Kit
Luboš Běhounek (Satik):

A ještě raději C++ než Fortran :)

Nahoru Odpovědět 23.4.2013 17:40
:)
Avatar
Kit
Redaktor
Avatar
Odpovídá na Lukáš Hruda (Luckin)
Kit:

Céčko do muzea nepatří. Jenom se na úlohy tohoto typu moc nehodí, protože bez důsledného testování se na výsledek nedá spolehnout. Pole indexovaná od nuly jsou také omezující a přitom se dá snadno zapsat i mimo ně. O pointrech nemluvě, s těmi si programátor může dělat co chce, tedy i pořádnou paseku.

Nahoru Odpovědět 23.4.2013 17:40
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
Kit:

Raději Fortran než C++. Dělá se v něm lépe, na drcení čísel neznám nic lepšího. Tedy kromě programů napsaných ve Fortranu :)

Nahoru Odpovědět 23.4.2013 17:42
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Lukáš Hruda (Luckin)
Kit:

Však Javascript je všude a pro tento účel je naprosto vyhovující.

Nahoru Odpovědět 23.4.2013 17:43
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Luboš Běhounek (Satik):

Fortran patří do muzeí a možná na superpočítače :)

Nahoru Odpovědět 23.4.2013 17:46
:)
Avatar
Kit
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
Kit:

Zdá se, že jsi Fortran viděl jen z dálky. C++ ani neumí vynásobit pole konstantou. Vše musíš programovat.

Nahoru Odpovědět 23.4.2013 17:49
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Petr Nymsa
Redaktor
Avatar
Petr Nymsa:

Když se nám tu rozjela taková obecná diskuze o jazycích, nechi zakládat nové vlákno, k čemu se používá jazyk F# ? A jen pro připomenutí, kdysi jsem navrhoval potom tyto dikuze házet do jednoho vlákna, které tu už existuje, ale co :D

Nahoru Odpovědět 23.4.2013 18:12
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Hartrik
Redaktor
Avatar
Hartrik:

Vůbec nechápu co to tady řešíte, takové věci se přece dělají v Excelu...

 
Nahoru Odpovědět  +3 23.4.2013 18:51
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Hartrik
Petr Nymsa:

10000 bodů pro tebe ! Máš pravdu :) Sice proč si nenaprogramovat něco svýho ale bylo by to takový jednoduchý, v Excelu si to může paní učitelka pěkně seřadit, vypisovat, počítat... tak co řešíme ? :D

Nahoru Odpovědět 23.4.2013 18:54
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Hartrik
Redaktor
Avatar
Hartrik:

Pokud teda trvá na něčem svém, tak VBScript je na to jako stvořený.

 
Nahoru Odpovědět 23.4.2013 18:59
Avatar
Odpovídá na Kit
Luboš Běhounek (Satik):

Každý jazyk umí jen určité věci a zbytek musíš programovat... :)

Vzhledem k tomu, že to (pokud se nepletu) neumí ani C++, ani Java, ani C#, ani PHP, ani žádný jiný jazyk, který znám, tak to asi nebude tak často používaná funkcionalita, jak je na tom Fortran třeba s GUI? Nebo umí jen konzoli?

Nahoru Odpovědět 23.4.2013 19:03
:)
Avatar
Odpovídá na Adam Ježek
Michael Olšavský:

Pak tu mam jeste radu pro tebe, kdyz uz sis napsal ten batch soubor. Nemusis to vypisovat. Staci pouzit <, > mozna ze v batchi to ma nejaka jina klicova slova.

 
Nahoru Odpovědět 23.4.2013 19:15
Avatar
Adam Ježek
Tým ITnetwork
Avatar
Adam Ježek:

OMG. Když to schrnu, tak mam vyzkoušet všechno. Někdo něco navrhne, jinej to popře, navrhne něco jinýho, to zas popře někdo jinej a tak dal.

Nahoru Odpovědět 23.4.2013 19:30
Pokud chceš odpovědět, klikni na odpovědět. Pokud chceš vložit zdroják, klikni na vložit zdroják (</>)
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Adam Ježek
Petr Nymsa:

Bud použij jeden z jmenovaných, doporučuju C# nebo javu, myslím že se to naučíš rychleji než C (ale nevím) a nebo prostě Excel :)

Nahoru Odpovědět 23.4.2013 19:33
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
David Dostal
Redaktor
Avatar
Odpovídá na Adam Ježek
David Dostal:

V Batchi tuším

menší než je LSS
a větší než je GTR

Nepřesnost / desetinná čísla bych řešil tak, že bych si na začátku žádaná čísla vynasobil např. stem a výsledek na konci vydělil respektive oddělil tečkou desetinnou část.
Doufám, že jsem to popsal srozumitelně.

Editováno 23.4.2013 23:12
 
Nahoru Odpovědět 23.4.2013 23:11
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na Adam Ježek
Honza Bittner:

jestli umíš HTML,CSS,JS tak to udělej v tom, jestli umíš C#,Javu atp. tak to udělej v tom :)

udělej to prostě v tom co umíš .. :)

ve všem se dá takovýto program napsat

Nahoru Odpovědět 23.4.2013 23:18
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Drakeman
Redaktor
Avatar
Drakeman:

Jak tak koukám na tuhle diskuzi, tak vidím, že každý tu doporučuje jen ten svůj jazyk, který umí nejlíp a denně s ním dělá. A vůbec se nezamyslí nad tím, co by bylo pro tento případ opravdu efektivní, rychlé a pro někoho kdo asi moc neprogramuje snadno naučitelné.

Takže já doporučuju neučit se nějaké jazyky (Java, C#, apod.) a pro takovéto počítání použít excel, kde bude tabulka do které se zadají body každého žáka, výsledek se automaticky vypočítá a poté může i vytisknou.

Editováno 24.4.2013 8:04
Nahoru Odpovědět  +4 24.4.2013 8:03
Když se chce, tak jde všechno,
Avatar
Kit
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
Kit:

Násobení pole skalárem nebo dalším polem se dělá ve Fortranu velmi často. Jak jinak bys chtěl dělat třeba neuronovou síť? I pouhé kopírování pole se třeba v Javě dělá cyklem, přitom je to běžná akce při práci s bitmapou.

GUI jsem ve Fortranu nehledal, ale určitě tam je. Tak jako C využívá knihoven napsaných ve Fortranu, může i Fortran využívat knihovny napsané v jiných jazycích.

Nejpraktičtější však bude využít nejsilnější stránky různých jazyků. Ve Fortranu napsat výpočetní jádro a v jiném jazyku (např. v Pythonu, Javě či C#) napsat k tomu GUI. Psát celou aplikaci v jednom jazyku není rozumné.

Jen tak pro zajímavost: PHP to umí, ale musíš si na to zavolat interní funkci. Python to umí nativně, i proto ho hodně matematiků a fyziků používá místo Fortranu. Kromě toho Fortran i Python umí nativně pracovat i s komplexními čísly.

Nahoru Odpovědět 24.4.2013 9:39
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Drakeman
Kit:

Nebo OO Calc, LO Calc, Gnumeric, Kspread, Calc602, ...

Nahoru Odpovědět 24.4.2013 9:44
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Luboš Běhounek (Satik):

"Násobení pole skalárem nebo dalším polem se dělá ve Fortranu velmi často. Jak jinak bys chtěl dělat třeba neuronovou síť?"

  • Ano, neuronovou síť programuji velmi často :) .

Jinak pokud tuhle operaci děláš často, můžeš si na ni napsat funkci, jsou to dva řádky kódu :)

"I pouhé kopírování pole se třeba v Javě dělá cyklem, přitom je to běžná akce při práci s bitmapou."

  • Nevím jak Java, ale třeba C# má u pole funkci CopyTo().

Ono by ani nebyl takový problém to napsat ručně, ty dva řádky kódu navíc nejsou tak moc :)

"Nejpraktičtější však bude využít nejsilnější stránky různých jazyků. Ve Fortranu napsat výpočetní jádro a v jiném jazyku (např. v Pythonu, Javě či C#) napsat k tomu GUI. Psát celou aplikaci v jednom jazyku není rozumné."

  • Fortran nebo C++, to je už celkem jedno oba jazyky jsou výkonově srovnatelné, tady už hodně záleží na kompilátoru. A C++ je přeci jen univerzálnější, co se použití týče.

"Kromě toho Fortran i Python umí nativně pracovat i s komplexními čísly."

  • C++ i C# také umí nativně komplexní čísla.
Editováno 24.4.2013 10:21
Nahoru Odpovědět 24.4.2013 10:20
:)
Avatar
Kit
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
Kit:

Neuronová síť je dobře použitelná ve hrách. Zvyšuje inteligenci botů.

Ano, jsou to jen dva řádky kódu. A také velmi často vidím, kolik programátorů tyto řádky jen klonuje místo toho, aby si na to napsali solidní třídu.

Java má metodu clone(), ale ta se nedá použít vždy.

Ve Fortranu je méně prostoru pro dělání chyb. Spoustu chyb odhalí už kompilátor, testy mohou tedy být kratší. Nevím jak C++, ale například C defaultně nekontroluje hranice polí. Takové chyby se hledají hodně špatně.

Jak už jsem psal: U větších projektů je výhodné jazyky kombinovat.

Nahoru Odpovědět 24.4.2013 10:45
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Lukáš Hruda (Luckin):

C++ hranice polí nekontroluje, ani nemůže, nemá jak. Tuším, že ale ani třeba vector nehlídá hranice polí, což je zvláštní. Psal jsem si vlastní kolekci která nahradí pole a implementoval kontrolu hranic, v porovnání s klasickým polem jsem při měření nepoznal rozdíl v rychlosti při indexaci a přístupu k prvkům a pokud ano, tak naprosto minimální. V C++ si ale všechno můžeš napsat vlastní, můžeš si v něm v podstatě vytvořit i plnohodnotný GC, ovšem budeš ho muset používat v celém programu a nebude to zrovna kompatibilní.

 
Nahoru Odpovědět 24.4.2013 10:59
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Lukáš Hruda (Luckin)
David Čápka:

Pro C++ jsem viděl ke stažení GC, ale jak se ukázalo třeba u managed C++, tak pak není důvod v C++ dělat, právě ukazatele a rychlost je jeho hlavní předností :)

Nahoru Odpovědět 24.4.2013 11:02
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Lukáš Hruda (Luckin)
Kit:

Ano, v C++ si vše můžeš udělat vlastní. To z něj dělá mocný jazyk. Často si však i musíš napsat hodně vlastního, aby to dělalo vše, co potřebuješ.

V Javě jsem si napsal na 260 řádcích vlastní plugin do textového editoru. V C++ by toho bylo snad 5× tolik, ale stejně by to nedělalo všechno co potřebuji. Proto je potřebné pro každý projekt vybrat ten správný jazyk.

Nahoru Odpovědět 24.4.2013 11:09
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na David Čápka
Lukáš Hruda (Luckin):

Jistě, je to hloupost. I když pokud bys ten GC napsal dobře, pak je pořád velká pravděpodobnost, že velkou část výkonu (ne-li celý výkon, záleží na situaci) zachováš. Problém je spíš s tou kompatibilitou. Spočívá to v tom, že v podstatě pomocí nějaké šablony třídy nasimuluješ referenční typ, jak ho znáš ze C# a Javy, přes který se bude pak přistupovat k objektům. Potíž pak je, že všechny objekty budeš muset vytvářet pomocí těchto referenčních typů a všechny ostatní objekty budou s tímto systémem nekompatibilní. Nebudeš moci například přiřadit této referenci objekt deklarovaný.

 
Nahoru Odpovědět 24.4.2013 11:14
Avatar
TomBen
Redaktor
Avatar
Odpovídá na Adam Ježek
TomBen:

Možná by to mohlo být něco takového?

http://uloz.to/…D/znamky-exe

Nahoru Odpovědět 24.4.2013 12:40
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Kit
Redaktor
Avatar
Odpovídá na TomBen
Kit:

A jak se to spouští? Přes Wine? :)

Nahoru Odpovědět 24.4.2013 12:42
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
TomBen
Redaktor
Avatar
Odpovídá na Kit
TomBen:

No...počkej..­.zamyslím se...Jo. :D

Edit: ( teda mimo jiné )

Editováno 24.4.2013 12:53
Nahoru Odpovědět 24.4.2013 12:50
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Kit
Redaktor
Avatar
Kit:

TomBen: To víš, zvykl jsem si spouštět jen nativní aplikace. EXE spouštět přímo nemohu, většinou to stejně nemá smysl.

Nahoru Odpovědět  +1 24.4.2013 13:07
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Michal Žůrek (misaz):

Proč si vlastně to tvoje maminka neuděla v excelu?

Nahoru Odpovědět 24.4.2013 14:30
Nesnáším {}, proto se jim vyhýbám.
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Petr Nymsa:

Známe maminky :) A už to padlo několikrát. At použije EXCEL

Nahoru Odpovědět  +1 24.4.2013 14:31
Pokrok nezastavíš, neusni a jdi s ním vpřed
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 62 zpráv z 62.