Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Javascript - udělejte za mě domácí úkol!

Vytvořte skript, který pomocí věty vypíše aktuální čas.

Příklad: Pokud bude skript spuštěn ve 14:02:01 hodin, vypíše větu

Právě jsou dvě hodiny, dvě minuty a jedna sekunda.

Děkuji za každou odpověď, bádám nad tím, ale vůbec si nevím rady.

Změna předmětu, původně: Javascript (host)

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Naházej ty číslovky ve tvaru slov do pole a pak vybírej dle indexů jako původních čísel. Př: var ar…
CoWayger 10.01.2012 19:49
CoWayger
Mily kolego, nechte si patentovat pole defaultne indexovana od hodnoty "2", Vas napad urcite mnoho v… nový
RooTan 05.06.2012 13:55
RooTan
a kde pise, ze by pole zacinalo od dvojky? Sem dost casto vzhuru dlouho do noci a tudíž si sem celke… poslední
Migilenik 05.06.2012 14:00
Migilenik
<HTML> <HEAD> <TITLE>Javascript</TITLE> <SCRIPT LANGUAGE="Javascript" TYPE="text/javascript"> functi… nový
Javascript 10.01.2012 20:38
Javascript
Vypadá to jako úkol, ale není to úkol. To je teda záhada. :-D Když script nefunguje, tak se podívej… nový
host 10.01.2012 20:49
host
Když do googlu napíšeš javascript příklady, tak se možná k cíli dostaneš rychleji. ;-) nový
IQ37 10.01.2012 20:55
IQ37
cas.html Princip: http://www.klikzone.cz/javascript/uzitecne-seznamy /cas-a-datum-funkce.php Mě ted… nový
Mihh 10.01.2012 21:04
Mihh
Víš, ve 28 jsem žákem základní školy a tohle je můj úkol :-D (blbost). Ne úkol to opravdu není, odpo… nový
Javascript 10.01.2012 20:52
Javascript
O základní škole nikdo nic nepsal. Co začíná slovy "Vytvořte skript, který pomocí věty vypíše aktuál… nový
Wikan 10.01.2012 20:57
Wikan
AH jo, učím se programovat, mám za sebou školu výpočetní techniky, ale javascript jsme se učili jen… nový
Javascript 10.01.2012 21:01
Javascript
Tak studuj, jsou tam zdrojáky. http://www.jaknaweb.com/scripty/javascripty/datum- cas nový
karel 10.01.2012 21:04
karel
<HTML> <HEAD> <TITLE>Javascript</TITLE> <SCRIPT LANGUAGE="Javascript" TYPE="text/javascript"> functi… nový
Javascript 10.01.2012 20:56
Javascript
Máš to blbě vymyšlený a navíc narážíš na neznalosti jazyka. JavaScript nemám rád, protože se mi blbě… nový
JoDiK 10.01.2012 21:27
JoDiK
Jo a já ten domácí úkol v rámci samostudia už jakžtakž udělal, pokud na to nepřijdeš, můžu ti ho sem… nový
JoDiK 10.01.2012 21:36
JoDiK
Moju češtinu ber s rezervou, ale toto by mohlo byť to, čo chceš: <!DOCTYPE html> <html><head> <meta… nový
los 10.01.2012 22:34
los
češtinu máš bezchybnou, nejsi z moravy?:)) nový
kmochna 10.01.2012 22:49
kmochna
z Jížní korei nový
Josef z Brna 11.01.2012 00:37
Josef z Brna
Nevím, jestli ještě původní tazatel má zájem se něco učit, ale mně u losova řešení něco zaujalo...… nový
JoDiK 11.01.2012 10:14
JoDiK
Áno, dobre rozmýšľaš. V tom (n - n % 10) /10 by sa to dalo zapísať aj ako (n - n0) / 10 vďaka tomu,… nový
los 11.01.2012 21:23
los
Děkuji "los" takhle jsem ti to představoval. No určitě nemám takové zkušenosti jako mnozí z vás prot… nový
Javascript 11.01.2012 17:28
Javascript
<HTML>
<HEAD>
<TITLE>Javascript</TITLE>
<SCRIPT LANGUAGE="Javascript" TYPE="text/javascript">
 function zobrazCas(){
         ted = new Date();
         hod = ted.getHours(); 
         min = ted.getMinutes(); 
         sec = ted.getSeconds(); 
         if (hod<10) {hod="0"+hod};
         if (min<10) {min="0"+min};
         if (sec<10) {sec="0"+sec};
var arr=new Array("jedna","dvě","tři","čtyři","pět","šest","sedm","osm",devět","deset");
alert(arr[3 + 1]);
document.write("Právě jsou"+" "+var arr+hod+":"+min+":"+sec);
}
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT>zobrazCas(); </SCRIPT>
</BODY>
</HTML>

Tohle jsem vytvořil, ale script nefunguje :// o žádný úkol se nejedná.

Když do googlu napíšeš javascript příklady, tak se možná k cíli dostaneš rychleji. ;-)

Víš, ve 28 jsem žákem základní školy a tohle je můj úkol :-D (blbost). Ne úkol to opravdu není, odpověď budu hledat jinde, protože jak vidím tady není pomoci. Nevidím, že by si se mi jakkoliv snažil pomoci jen stále píšeš "debilní" s prominutím odpovědí, že to je úkol...

<HTML>
<HEAD>
<TITLE>Javascript</TITLE>
<SCRIPT LANGUAGE="Javascript" TYPE="text/javascript">
function zobrazCas(){
ted = new Date();
hod = ted.getHours(); 
min = ted.getMinutes(); 
sec = ted.getSeconds(); 
if (hod<10) {hod="0"+hod};
if (min<10) {min="0"+min};
if (sec<10) {sec="0"+sec};
var arr=new Array("jedna","dvě","tři","čtyři","pět","šest","sedm","osm",devět","deset");
alert(arr[3 + 1]);
document.write("Právě jsou"+   ????? ); ZDE SI NEVÍM RADY CO VYPSAT V DOCUMENTU ABY BYL SCRIPT KOMPLETNÍ.
}
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT>zobrazCas(); </SCRIPT>
</BODY>
</HTML>

Máš to blbě vymyšlený a navíc narážíš na neznalosti jazyka. JavaScript nemám rád, protože se mi blbě ladí (možná jen nemám vhodný nástroj - dělám to přímo v html a syntaktické chyby mi občas píše jen prohlížeč).
To, co píšeš že si s tím nevíš rady je vcelku jednoduché, stejně jako u toho alert...

document.write("Právě jsou: "+arr[hod]+" hodin "+arr[min]+" minut "+arr[sec]+" sekund");

Moju češtinu ber s rezervou, ale toto by mohlo byť to, čo chceš:

<!DOCTYPE html>
<html><head>
	<meta charset="utf-8">
	<title>Čas</title>
</head><body>
	<script>
function inflect(texts, n) {
	return texts[n == 1 ? 0 : (1 < n && n < 5 ? 1 : 2)];
}
var numbers = [
	['nula', 'jedna', 'dvě', 'tři', 'čtyři', 'pět', 'šest', 'sedm', 'osm', 'devět', 'deset', 'jedenáct', 'dvanáct', 'třináct', 'čtrnáct', 'patnáct', 'šestnáct', 'sedmnáct', 'osmnáct', 'devatenáct'],
	['', '', 'dvacet', 'třicet', 'čtyřicet', 'padesát']
];
var texts = {
	info: ['Právě je', 'Právě jsou ', 'Právě je'],
	hours: ['hodina', 'hodiny', 'hodin'],
	minutes: ['minuta', 'minuty', 'minut'],
	seconds: ['sekunda', 'sekundy', 'sekund']
};
function toWords(n) {
	var n0 = n % 10;
	var n1 = 0|n / 10;
	return n1 == 1 ? numbers[0][n] : numbers[1][n1] + (!n1 || n0 ? numbers[0][n0] : '');
}
var div = document.body.appendChild(document.createElement('div'));
var text = div.appendChild(document.createTextNode(''));
setInterval(function() {
	var date = new Date;
	var h = date.getHours();
	var m = date.getMinutes();
	var s = date.getSeconds();
	text.data = [
		inflect(texts.info, h), ' ',
		toWords(h), ' ', inflect(texts.hours, h), ', ',
		toWords(m), ' ', inflect(texts.minutes, m), ' a ',
		toWords(s), ' ', inflect(texts.seconds, s), '.'
	].join('');
}, 200);
	</script>
</body></html>

Nevím, jestli ještě původní tazatel má zájem se něco učit, ale mně u losova řešení něco zaujalo...

Protože javascript zřejmě nemá operátor celočíselného dělení, všelijak se to obchází, já na to našel tohle:

(n - n % 10) /10

čemuž docela rozumím, nebo-li od čísla nejdřív odečtu zbytek po dělení a pak to vydělím a vyjde mi to vlastně bez toho zbytku

případně

n / 10 - n / 10 % 1

tomu už rozumím míň, ale snad je to tak, že to vydělím se zbytkem (za předpokladu, že dělení má vyšší prioritu než zbytek po dělení), zjistím zbytek tohoto výsledku po dělení jedničkou (což je vlastně ta desetinná část) a tu pak odečtu od toho podílu a zbyde mi celá část

0|n / 10;

tomuto ale rozumím nejmíň, je to vlastně dělení se zbytkem (dělení má vyšší prioritu) a s tím výsledkem se provede bitový součet s nulou???
To je asi z nějaké vyšší dívčí školy, rozumím tomu správně, že jakoby provádím bitový součet reálného čísla s celým, což způsobí, že výsledkem je celé číslo, jinak řečeno to odřízne desetinnou část?

Áno, dobre rozmýšľaš. V tom (n - n % 10) /10 by sa to dalo zapísať aj ako (n - n0) / 10 vďaka tomu, že sme si n % 10 uložili do n0.

0|výraz sa v JavaScripte používa na získanie celého čísla (podobne ako sa používa +výraz na konverziu reťazca na číslo). Bitový súčet je definovaný len nad celým číslom, takže ho pretypuje a bitový súčet ľubovoľného čísla s nulou je stále to isté číslo.

Zpět do poradny Odpovědět na původní otázku Nahoru