Torgny > Meny Javascriptövn. > Javascriptövningar 3

Javascriptövningar 3

Variabler, numeriska variabler, taloperatorer

1
Du kan använda javascriptfumktionen prompt() om du vill låta användaren mata in värden som du sedan vill låta javascriptprogrammet bearbeta. I följande kod ombeds användaren att skriva in en text och därefter lagrar programmet texten i en variabel. Variabeln skrivs sedan ut i fönstret. Testa programmet här.

<html>
<head>
	<title>Exempel Javascript 3.1</title>
	<script>
	var a = prompt("Skriv in en text","Skriv här");
	</script>
</head>

<body>
<script>
<!--
	document.write("Du skrev: " + a)
//-->
</script>
</body>
</html>

Skriv ett program som ber användaren att skriva in två olika värden. Lagra dessa värden i variabler och skriv sedan ut dessa variabler. Låt det sist inmatade värdet hamna först i utskriften.
2
Du kan utföra beräkningar på tal som matas in i variabler. På följande sida multipliceras det inmatade talet med två och skrivs därefter ut. Testa programmet.
<html>
<head>
	<title>Exempel Javascript 3.2</title>
	<script>
	var a = prompt("Skriv ett tal: ","");
	</script>
</head>

<body>
<script language="JavaScript">
<!--
	document.write( a + " multiplicerat med två är " + 2*a)
//-->
</script>
</body>
</html>
Skriv med ovanstående program som förebild kod till en sida som ber användaren skriva in ett pris i en prompt-ruta.

Ex 2

Om användaren matar in talet 688 skall sidan beräkna vad priset blir med 40% rabatt och svara med denna text:

Ex 2

3
Jämför koden med skärmdumpen och fundera särskilt på vad metoden parseInt() gör :
<script>
	var a = "5";
	var b = "5";
	document.write("<i>Tre olika sätt att skriva ut variablerna a och b</i>") 
	document.write("<br>Tal a först och sedan tal b: " + a + b);
	a = parseInt(a);
	b = parseInt(b);
	document.write("<br>Tal a + b: " + (a + b) );
	document.write("<br>Tal a + b en gång till:") 
	document.write( a + b )
</script>


Skriv en webbsida där du med hjälp av en prompt-box ber användaren att skriva in ett tal. Skriv därefter Javascriptkod som vid inmatning av talet 6 ger följande utskrift:

Ex 3
4
Vad blir summan av det inmatade talet med sig självt i föregående exempel om du matar in följande värden:
a. Något som inte är ett tal dvs "Not a Number". Svar:
b. Ingenting alls. Svar:
5
Antag att du har en variabel vid namn a. Antag vidare att denna variabel innehåller värdet 4. Varibeln tilldelas ett nytt värde om du ligger in följande sats:
a = a + 1;
a. Vilket värde får varibeln av föregående tilldelningssats. Svar:
b. Tilldelningssatsen ovan kan formuleras om med hjälp av endast 4 tecken av vilka det sista är ett avslutande semikolon. Hur? Svar:
6
Fenomenet ränta på ränta uppstår om du har pengar insatta på banken i flera år. Följande Javscript beräknar hur mycket ett kapital på 1000 kr växer på två år om räntan är 12,5%.
<script language="JavaScript">
<!--
	var kapital = 1000;
	var rantesats = 12.5;
	var ar = 0;
	document.writeln("<b>Ränta på ränta</b>");
	document.writeln("<br>År, Kapital, Räntesats");
	
	kapital += kapital * rantesats/100;
	document.writeln("<br>" + ar++
		+ ", " + kapital
		+ ", " + rantesats);
		
	kapital += kapital * rantesats/100;
	document.writeln("<br>" + ar++
		+ ", " + kapital
		+ ", " + rantesats);
//-->
</script>


Scriptet ger följande resultat på skärmen:



Gör om räntescriptet så att det uppfyller dessa villkor:
a. Användaren skall i prompt-fönster kunna mata in olika värden för ursprungskapital och räntesats.
b. Ändra programmet så att värden för fyra år skrivs ut.
c. Första året skall ha beteckninge 1 och andra 2 etc ( i stället för 0 respektive 1 som i exemplet ovan).

Obs! Du måste antagligen försäkra dig om att Javascript verkligen tolkar inmatningarna som tal och inte som strängar. Du kan då använda t ex funktionen parseFloat(). Det engelska ordet parse betyder 'tolka' och float står för 'flyttal' dvs decimaltal. Om du vill vara säker på att en inmatning tolkas som ett tal kan du skriva på detta sätt:

var a = prompt("skriv ett tal","");
a = parseFloat(a);

7
Skriv ett program där användaren ombeds att skriva in ett pris. Programmet skall sedan räkna ut moms och skriva ut momsbeloppet på skärmen.
8
Utöka programmet så att såväl momsbelopp som priset inklusive moms skrivs ut.
9
Skriv ett program som räknar ut hur mycket bensin en bil drar per mil. Indata i programmet är uppgifter som lämnats av en bilförare. Programmet skall be om följande uppgifter: körd sträcka och förbrukad bensinmängd.
10
Skapa ett program som beräknar kostnaden för en bilresa. Följande uppgifter matas in: resans längd i mil, beräknad bensinförbrukning per mil samt bensinpriset per liter.