Modul 3, og flyttet noen funksjoner til common.php
parent
536cf0e4e9
commit
1ad6b7e698
|
@ -27,3 +27,16 @@ function title(): string {
|
|||
|
||||
return "Modul ".$modulNr." - Oppgave $oppgNr";
|
||||
}
|
||||
|
||||
function higher($int1, $int2): int {
|
||||
if($int1 >= $int2){
|
||||
return $int1;
|
||||
}
|
||||
return $int2;
|
||||
}
|
||||
function lower($int1, $int2): int {
|
||||
if($int1 < $int2){
|
||||
return $int1;
|
||||
}
|
||||
return $int2;
|
||||
}
|
|
@ -19,18 +19,7 @@
|
|||
<div>
|
||||
<?php
|
||||
|
||||
function higher($int1, $int2): int {
|
||||
if($int1 >= $int2){
|
||||
return $int1;
|
||||
}
|
||||
return $int2;
|
||||
}
|
||||
function lower($int1, $int2): int {
|
||||
if($int1 < $int2){
|
||||
return $int1;
|
||||
}
|
||||
return $int2;
|
||||
}
|
||||
|
||||
|
||||
$tall1 = $_GET['t1'] ?? random_int(1,100);
|
||||
$tall2 = $_GET['t2'] ?? random_int(1,100);
|
||||
|
|
|
@ -15,7 +15,18 @@
|
|||
$alder = $_GET['alder'] ?? '17';
|
||||
$navn = $_GET['navn'] ?? 'Hans';
|
||||
|
||||
// Bruker her en shorthand if()-setning. Den plasseres rett inn der den trengs.
|
||||
echo "<p>$navn er $alder og dermed ".($alder<18?'ikke ':'')."myndig</p>";
|
||||
|
||||
// Alternativ med en 'vanlig' IF-setning:
|
||||
/*
|
||||
if($alder < 18){
|
||||
echo "<p>$navn er $alder og dermed ikke myndig</p>";
|
||||
}
|
||||
else {
|
||||
echo "<p>$navn er $alder og dermed myndig</p>";
|
||||
}
|
||||
*/
|
||||
?>
|
||||
|
||||
<form>
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
<?php include 'common.php'; ?><!DOCTYPE html>
|
||||
<html lang="no">
|
||||
<head>
|
||||
<title><?=title();?></title>
|
||||
<link rel="stylesheet" href="index.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="container">
|
||||
<h1><?=title();?></h1>
|
||||
<h4><?=getNavigation();?></h4>
|
||||
<h2>Teller</h2>
|
||||
|
||||
<?php
|
||||
// Variabel som holder summen til alle tallene.
|
||||
$sum = 0;
|
||||
|
||||
// Løkke fra 0 til og med 9 som skriver ut hvert tall, og oppdaterer $sum variablen.
|
||||
for($i = 0; $i <= 9; $i++){
|
||||
$sum += $i;
|
||||
echo $i."<br>\n";
|
||||
}
|
||||
echo "Ferdig å telle! Summen av tallene ble $sum<br>\n";
|
||||
?>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,54 @@
|
|||
<?php include 'common.php'; ?><!DOCTYPE html>
|
||||
<html lang="no">
|
||||
<head>
|
||||
<title><?=title();?></title>
|
||||
<link rel="stylesheet" href="index.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="container">
|
||||
<h1><?=title();?></h1>
|
||||
<h4><?=getNavigation();?></h4>
|
||||
<h2>Liten regnemaskin</h2>
|
||||
|
||||
<?php
|
||||
// Valgte tall eller tilfeldige tall:
|
||||
$tall1 = $_GET['t1'] ?? random_int(1,50);
|
||||
$tall2 = $_GET['t2'] ?? random_int(1,100);
|
||||
|
||||
// Variabler som holder de første verdiene til formen på bunnen av siden.
|
||||
$startT1 = $tall1;
|
||||
$startT2 = $tall2;
|
||||
|
||||
// Sjekker om tallene er tall, og gir en feilmelding hvis de ikke er det.
|
||||
if(!is_numeric($tall1) || !is_numeric($tall2)){
|
||||
echo "<p>Et av tallene er ikke et tall. Får ikke til å regne ut hva verdiene blir da.</p>\n";
|
||||
}
|
||||
else {
|
||||
for($i = 0; $i < 10; $i++){
|
||||
// Regne ut verdiene
|
||||
$sum = $tall1+$tall2;
|
||||
$diff = higher($tall1, $tall2) - lower($tall1, $tall2);
|
||||
$avg = $sum/2;
|
||||
|
||||
// Skrive ut verdiene
|
||||
echo "<p>Tallene $tall1 og $tall2 blir totalt <code>$sum</code>, differenserer <code>$diff</code> og har gjennomsnitt <code>$avg</code></p>";
|
||||
|
||||
// Øker $tall1 med èn for hver iterasjon.
|
||||
$tall1++;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<!-- En form for å endre tallene -->
|
||||
<form>
|
||||
<p>
|
||||
<input type="number" min="0" max="999" name="t1" value="<?=$startT1;?>">
|
||||
<input type="number" min="0" max="999" name="t2" value="<?=$startT2;?>">
|
||||
<input type="submit" value="Sjekk tallene...">
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,50 @@
|
|||
<?php include 'common.php'; ?><!DOCTYPE html>
|
||||
<html lang="no">
|
||||
<head>
|
||||
<title><?=title();?></title>
|
||||
<link rel="stylesheet" href="index.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="container">
|
||||
<h1><?=title();?></h1>
|
||||
<h4><?=getNavigation();?></h4>
|
||||
<h2>Sjekk av fylkestilhørighet</h2>
|
||||
|
||||
<?php
|
||||
// Array med test-kommuner
|
||||
$kommuner = array("Kristiansand", "Lillesand", "Birkenes", "Harstad", "Kvæfjord", "Tromsø", "Bergen", "Trondheim", "Bodø", "Alta");
|
||||
|
||||
//
|
||||
foreach ($kommuner as $k){
|
||||
switch ($k){
|
||||
case "Kristiansand":
|
||||
case "Lillesand":
|
||||
case "Birkenes":
|
||||
echo "$k er i Agder fylke<br>\n";
|
||||
break;
|
||||
case "Harstad":
|
||||
case "Kvæfjord":
|
||||
case "Tromsø":
|
||||
case "Alta":
|
||||
echo "$k er i Troms og Finnmark fylke<br>\n";
|
||||
break;
|
||||
case "Bergen":
|
||||
echo "$k er i Vestland fylke<br>\n";
|
||||
break;
|
||||
case "Trondheim":
|
||||
echo "$k er i Trøndelag fylke<br>\n";
|
||||
break;
|
||||
case "Bodø":
|
||||
echo "$k er i Nordland fylke<br>\n";
|
||||
break;
|
||||
default:
|
||||
echo "$k er en ukjent eller ustøttet kommune<br>\n";
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,89 @@
|
|||
<?php include 'common.php'; ?><!DOCTYPE html>
|
||||
<html lang="no">
|
||||
<head>
|
||||
<title><?=title();?></title>
|
||||
<link rel="stylesheet" href="index.css">
|
||||
|
||||
<style>
|
||||
td {
|
||||
height: 90px;
|
||||
width: 90px;
|
||||
}
|
||||
tr:nth-child(2n) td:nth-child(2n), tr:nth-child(2n+1) td:nth-child(2n+1) {
|
||||
background-color: #666;
|
||||
color: #fff;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="container">
|
||||
<h1><?=title();?></h1>
|
||||
<h4><?=getNavigation();?></h4>
|
||||
<h2>Sjakk og hvete</h2>
|
||||
|
||||
<?php
|
||||
function numToStr($num): string {
|
||||
$ret = [];
|
||||
|
||||
// Definerer hvilke tall vi skal dele opp på
|
||||
$tallTekster[1_000_000_000_000_000_000] = "trillion";
|
||||
$tallTekster[1_000_000_000_000_000] = "billiard";
|
||||
$tallTekster[1_000_000_000_000] = "billion";
|
||||
$tallTekster[1_000_000_000] = "milliard";
|
||||
$tallTekster[1_000_000] = "million";
|
||||
$tallTekster[1_000] = "tusen";
|
||||
$tallTekster[100] = "hundre";
|
||||
|
||||
// Løkke gjennom de tallene
|
||||
foreach ($tallTekster as $desimal => $navn){
|
||||
if(($tall = floor($num/$desimal)) > 0){
|
||||
$tekst = $navn;
|
||||
// Gramatisk riktig når det kun er én enhet (unntak tusen og hundre)
|
||||
if($tall != 1 && $navn != "tusen" && $navn != "hundre" && $navn != ""){ $tekst .= "er"; }
|
||||
|
||||
$ret[] = $tall." ".$tekst;
|
||||
// Trekker fra tallene i $num, så det som står igjen er neste deling
|
||||
$num = $num-($tall*$desimal);
|
||||
}
|
||||
}
|
||||
// Legger på siste de siste tallene etter en "og"
|
||||
if($num > 0){
|
||||
$ret[] = "og ".$num;
|
||||
}
|
||||
|
||||
return str_replace(', og', ' og', implode(', ', $ret));
|
||||
}
|
||||
?>
|
||||
|
||||
<table border="1">
|
||||
<tbody>
|
||||
<tr>
|
||||
<?php
|
||||
$i = 1;
|
||||
echo "<td>$i</td>";
|
||||
|
||||
for($c = 2; $c <= 64; $c++){
|
||||
$i = $i + $i;
|
||||
|
||||
if($i > 1_000_000_000){
|
||||
echo "<td>".numToStr($i)."</td>";
|
||||
}
|
||||
else {
|
||||
echo "<td>$i</td>";
|
||||
}
|
||||
|
||||
// Layout - 8 kolonner
|
||||
if($c % 8 == 0){
|
||||
echo "</tr>\n <tr>";
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue