OpenLLM-France/wikimedia huggingface dataset:
# Leer jezelf ecologisch tuinieren/Rode spoorbloem

| 1 | 2 | 3 | 4 | 5 |
Klik op een foto voor een vergroting. Ander gewas? Zoek in het Register.
Is in Nederland op enkele plaatsen verwilderd. De plant kan goed tegen hitte. In België komt de rode spoorbloem bijna uitsluitend in de Condroz en de Famenne voor.
| Alle families? | Familie: Kamperfoelie (Caprifoliaceae) Geslacht: Centranthus Soort: Centranthus ruber |
| Stengel/Tak: | De stengel is blauwgroen berijpt. |
| Blad: | De bladeren zijn blauwgroen berijpt. |
| Bloei: Bloem: Meer van dezelfde kleur? | Mei tot juli. De bloemen staan in tuilen en hebben een klein spoor aan de onderzijde. De bloemkroon is rood, maar soms komen ook planten voor met een witte. |
| Hoogte/Lengte: Meer van dezelfde hoogte? | ± 30-80 cm. |
| Bodem: Meer onder dezelfde omstandigheden? | Verklaring van gebruikte afkortingen/symbolen bij zon/water. Grondsoort: Kalkrijke bodem. Zon Water ○ ≁ |
| Lokken: | Deze plant lokt en/of is vatbaar voor o.a. de kolibrievlinder. |
| Gebruik: | Zowel de bladeren als de wortels zijn eetbaar. De bladeren kunnen als salade, maar ook kort gekookt gegeten worden. De wortels kunnen in soep gebruikt worden. |
| FAQ: | Vragen en/of antwoorden over de Rode spoorbloem? |
| Maan(d) | Werk | KK | KT | LT | VW | ZD | PA | RA |
# Leer jezelf ecologisch tuinieren/Rogge

| Geschikt als/voor: | Groenbemester (winterrogge houdt de bodem bedekt in de winter). |
| Goede buren: | Goede buren voor deze plant: driekleurig viooltje (remt de ontkieming van (on)kruid en kiemplantjes gaan dood). |
| Slechte buren: | Slechte buren voor deze plant: Tarwe. |
| FAQ: | Vragen en/of antwoorden over de Rogge? |
| Maan(d) | Werk | KK | KT | LT | VW | ZD | PA | RA |
# Leer jezelf ecologisch tuinieren/Roggelelie

| 1 | 2 | 3 | 4 | 5 | 6 |
Klik op een foto voor een vergroting. Ander gewas? Zoek in het Register.
| Alle families? | Familie: Lelie (Liliaceae) Geslacht: Lelie Soort: Lilium bulbiferum |
| Rode lijst. | Deze in het wild voorkomende plant staat op de rode lijst in Nederland en/of België. Dat betekent dat ze kwetsbaar of (bijna) uitgestorven zijn. Zaai of plant ze en verspreid overtollig zaad. |
| Beschermd. | Deze plant is wettelijk beschermd in Nederland en/of België. Dat betekent dat ze (bijna) uitgestorven zijn. Zaai of plant ze en verspreid overtollig zaad. |
| Wortel: | Vormt een tot 5 cm brede, eivormige bol en ondergrondse broedbolletjes, maar vormt zeer weinig tot geen broedbolletjes in de bladoksels. |
| Stengel/Tak: | Verspreid staande stengelbladeren. |
| Blad: | Heldergroene bladeren zijn langwerpig tot eirond met drie tot zeven nerven en een behaarde bladrand. |
| Bloei: Bloem: Meer van dezelfde kleur? | Juni en juli. Oranje, rechtopstaande bloemen en donkere vlekjes op de 4-6 cm lange bloemdekbladen. De bloemen zitten met één tot vijf bij elkaar in een tros. De helmknoppen zijn oranje tot roodbruin. |
| Vrucht: | Scherpkantige doosvrucht. |
| Hoogte/Lengte: Meer van dezelfde hoogte? | ± 30-90 cm. |
| FAQ: | Vragen en/of antwoorden over de Roggelelie? |
| Maan(d) | Werk | KK | KT | LT | VW | ZD | PA | RA |
# Leer jezelf ecologisch tuinieren/Rode zonnehoed

| 1 | 2 | 3 | 4 |
Klik op een foto voor een vergroting. Ander gewas? Zoek in het Register.
Er zijn negen soorten. Van oorsprong komt deze geurende plant uit Noord-Amerika.
| Alle families? | Familie: Composieten (Asteraceae) Geslacht: Echinacea Soort: Echinacea purpurea |
| Geschikt als/voor: | Snijbloem. |
| Wortel: | Dikke penwortel, polvorming. |
| Blad: | Het blad is licht behaard. De onderste bladeren zijn eirond. |
| Bloei: Bloem: Meer van dezelfde kleur? | Juli tot augustus. Ongeveer 10 cm grote bloemen, die een roestbruin bloemhoofd en een stralenkrans van purperkleurige lintbloemen heeft. |
| Vrucht: | De vrucht is een nootje. |
| Hoogte/Lengte: Meer van dezelfde hoogte? | ± 70-120 cm. |
| Bodem: Meer onder dezelfde omstandigheden? | Verklaring van gebruikte afkortingen/symbolen bij zon/water. Grondsoort: Voedselarm. Zon Water ● ∼ |
| Goede buren: | Goede buren voor deze plant: Aarvormige bloemen zoals veronica's, jakobsladder, siergrassen en absintalsem. |
| Lokken: | Deze plant lokt en/of is vatbaar voor Bijen. |
| Gebruik: | De dikke wortels zijn eetbaar. |
| Geneeskracht: | Wordt als geneeskrachtig gezien bij griep en verkoudheid. Uit onderzoek van juni 2007 concludeert men dat het innemen van Echinacea het risico op verkoudheid met 58% vermindert en de duur van de verkoudheid met ongeveer anderhalve dag vermindert. Ook bij ontstekingen is de plant bruikbaar. |
| Let op!: | Volgens sommigen kunnen bereidingen van de plant huiduitslag en ademhalingsproblemen veroorzaken, vooral bij kinderen. Daarom wordt onder meer door de Britse Medicines and Healthcare Products Regulatory Agency het gebruik van Echinacea afgeraden onder de 12 jaar. Bij langdurig gebruik van Echinacea-extracten (8 weken) zou er leververstoring of leverschade kunnen optreden. Bij de resultaten van dit onderzoek worden door voorstanders van homeopathie weer vraagtekens gezet. |
| FAQ: | Vragen en/of antwoorden over de Rode zonnehoed? |
| Maan(d) | Werk | LT | VW | PA |
| 4/5 | | O | | |
| 5/6 | Zie (uit)planten. In een groep bij elkaar planten. | | | 35 |
| 7-9 | Verzorgen: Na de bloei de bloem wegknippen geeft een kans op een tweede bloei. | | | |
| 10 | Zie vermeerderwijze. Elke drie jaar de plant opgraven en scheuren. Een gat van twee spaden diep maken met daarin een beetje kalk en gemengde mest en compost. Spoel de plant schoon voordat je hem terug zet. | | Z/S | |
# Leer jezelf ecologisch tuinieren/Romanesco

| 1 | 2 | 3 | 4 |
Klik op een foto voor een vergroting. Ander gewas? Zoek in het Register.
Romanesco of groene torentjesbloemkool lijkt veel op bloemkool en heeft een geelgroene kleur.
| Alle families? | Familie: Kruisbloemen (Brassicaceae) Geslacht: Kool (geslacht) Soort: Brassica oleracea convar. botrytis var. botrytis |
| Blad: | Het blad moet voldoende opgericht zijn om de kool in de schaduw te houden anders kleurt deze rood. Ook kunnen er wat bladeren omgeknikt en bovenop de kool gelegd worden, maar dat is eigenlijk niet noodzakelijk. |
| FAQ: | Vragen en/of antwoorden over de Romanesco? |
| Maan(d) | Werk | PA | RA |
| 4-6 | Zie zaaitijd. De beste zaaitijd is echter van eind mei tot eind juni. | | |
| 5-7 | | 75 | 50 |
| 7-11 | | | |
# Programmeren in ASP.net 2.0 N-Tier Tutorial/Common Laag

De Common-laag bevat, zoals je kan vermoeden, alle algemene klasses en objecten. Hier kan je DataSets, Security, Logging, algemene functies, ... bewaren.

## Typed DataSets

In een typed dataset wordt de structuur van je tabel of zelfs van een volledige database opgeslagen. Typed datasets hebben het voordeel dat er een klasse van de tabellen gemaakt wordt, zodat je in je code gewoon Message.Title kan tikken. Je kan er nog veel meer mee, maar dat zal later wel duidelijk worden.
* Maak een subfolder in MessageBoard.Common genaamd "DataSets"
* Rechtermuisklik op de map DataSets en kies Add > New Item.
* Kies DataSet uit de lijst en geef als naam "MessageDataSet.xsd" op.
De DataSet opent en de tekst maakt je duidelijk dat je items op de Design Surface moet slepen vanuit de Server Explorer. Gelukkig hebben we een database connectie.
Als de Server Explorer niet zichtbaar is klik je View > Server Explorer.
* Selecteer de tabel Message in de Server Explorer en sleep ze op de Design Surface.
* Visual Studio vraagt je of je een connection string wil maken voor deze DataSet. Klik Yes.
De DataSet is klaar. Zo simpel is het. Visual Studio heeft voor ons op de achtergrond heel wat code geschreven die de structuur van de tabel weergeeft, zodat wij ze zeer eenvoudig kunnen gebruiken.
Deze DataSet moet je iedere keer wijzigen als de structuur van je database wijzigt. In het ontwikkelstadium van je project kan dit soms regelmatig wijzigen. De eenvoudigste oplossing is het verwijderen van de datatable uit de dataset en ze er gewoon opnieuw op slepen.

## Database-Class

De Database-Class zullen we gebruiken voor alle basiscommunicatie met de database en deze bevat alle basisdatabasefuncties die we zullen nodig hebben voor het project. De klasse werd ontwikkeld door Michael Gaillez, docent aan het PIH te Kortrijk en ik ben blij om deze met zijn toestemming te mogen publiceren. De klasse is gebaseerd op de Microsoft Application Blocks en EntLib.
* Rechtermuisklik op MessageBoard.Common > Add Reference
* Kies voor tabblad .NET en zoek System.Configuration
* Klik OK
* Rechtermuisknop op MessageBoard.Common > Add > Class
* Geef als naam "Database.cs"
Hier vind je de code van het bestand: Database.cs
Ik zal niet uitleggen hoe iedere functie in de klasse werkt. Het belangrijkste is hoe we ze zullen gebruiken. Veel methodes zullen op die manier wel duidelijk worden.
Ga verder naar stap 4: Programmeren in ASP.net 2.0 N-Tier Tutorial/Data Access Laag
# Programmeren in ASP.net 2.0 N-Tier Tutorial/Data Access Laag/DataAccessor.cs

C#-code: "DataAccessor.cs"
# Programmeren in ASP.net 2.0 N-Tier Tutorial/Data Access Laag/MessageDataAccessor.cs

C#-code: "MessageDataAccessor.cs"
# Programmeren in ASP.net 2.0 N-Tier Tutorial/Berichtenbordfunctionaliteit

Nu zijn we al in staat om onze GridView op te vullen met berichtjes uit de database.
De volgende stap is het geheel iets functioneler te maken. Door de structuur van onze Message-tabel kunnen we oneindig veel reacties geven op berichtjes. We kunnen bijvoorbeeld de reacties op de berichtjes weergeven in een treeview.
Onthoud dat deze tutorial vooral bedoeld is om te tonen hoe je met een N-tier-structuur werkt, dus zal ik niet zoveel aandacht besteden aan functionaliteit en lay-out.

## Design

* Sleep een ASP Treeview vanuit de ToolBox naar de Designer Surface
* Plaats de TreeView boven de GridView
* Geef de Treeview de naam tvMessages

## Query GetMessages aanpassen

Ga naar de MessageDataAccessor en pas de query van GetMessages aan.
Zo worden de berichtjes direct al gesorteerd op de datum waarop ze toegevoegd werden.

## TreeView opvullen

Pas de code van Default.aspx.cs als volgt aan:
Deze code zorgt ervoor dat de treeview opgevuld wordt en dat alle reply's onder hun Parent-bericht komen. We overlopen ieder bericht. Als de ParentId van het bericht null is, dan is het een RootNode, een hoofdbericht. Als de ParentId niet null is, dan zoeken we de ParentNode van dat bericht in de TreeView en voegen we het bericht toe als ChildNode.

## Klikken op een TreeNode

Wanneer we klikken op een TreeNode willen we natuurlijk de details van het bericht zien en alle reply's op dat bericht. Daarvoor moeten we een nieuwe Query maken om alle berichten op te halen voor dat hoofdbericht.
* Open MessageDataAccessor
* Voeg de volgende methode toe:
Deze query haalt het Parent-bericht op en alle berichten die een directe reply zijn. Let ook op het gebruik van Parameters: @ParentId. Met deze werkwijze kan je zoveel parameters toevoegen als je wil. Dit zal vooral handig worden bij onze Insert-, Update- en Delete-queries.
Na het toevoegen van de methode in MessageDataAccessor moeten we uiteraard nog een methode toevoegen in MessageServices.

## Click-event toevoegen aan de TreeView

Om de treeview duidelijk te maken dat erop geklikt werd moeten we het Click-event opvangen. Bij een TreeView kan je dat doen door middel van het SelectedNodeChanged-event.
* Open Default.aspx.cs
* Ga naar de Designer view
* Dubbelklik op de TreeView in de Designer Surface of dubbelklik op het SelectedNodeChanged-event in de events-tab van de Properties
* Voeg de volgende code toe of pas aan:
Deze code zorgt ervoor dat de GridView onder de TreeView opgevuld wordt met het bericht waarop je klikt én alle reply's op dat bericht.
Het beheren van berichten, zoals bewerken, toevoegen en verwijderen bespreek ik in een volgend hoofdstuk. Nog even geduld daarvoor...
Keer terug naar de hoofdpagina: ASP.net 2.0 N-Tier Tutorial
# Programmeren in ASP.net 2.0 N-Tier Tutorial/Business Services Laag/MessageServices.cs

C#-code: "MessageServices.cs"
# Programmeren in ASP.net 2.0 N-Tier Tutorial/Data Access Laag

Nu de Database-class aangemaakt is kunnen we verdergaan met de DataAccessors. Deze laag zal de communicatie verzorgen tussen ons project en de database. In deze laag kunnen SQL-query's opgeslagen worden of stored procedures aangeroepen worden.

## DataAccessor Class

Eerst en vooral hebben we een DataAccessor-klasse nodig waar alle andere DataAccessors van zullen erven.
* Rechtermuisklik op MessageBoard.DataAccess
* Kies Add Reference
* Kies tabblad .NET en selecteer "System.Configuration"
* Rechtermuisklik op MessageBoard.DataAccess
* Kies Add Reference
* Kies tabblad Projects en selecteer MessageBoard.Common
* Rechtermuisklik op MessageBoard.DataAccess
* Kies Add > Class
* Voeg een klasse toe met de naam "DataAccessor.cs".
Hier vind je de code van DataAccessor.cs: DataAccessor.cs

## MessageDataAccessor Class

Om te communiceren met onze Message-tabel hebben we een MessageDataAccessor nodig. Voor iedere tabel in ons project maken we zo'n DataAccessor. Op die manier zijn alle query's en stored procedures voor die tabel netjes gegroepeerd in één klasse en blijven we consistent.
* Rechtermuisklik op MessageBoard.DataAccess
* Kies Add > Class
* Voeg een klasse toe met de naam "MessageDataAccessor.cs".
Hier vind je de code van MessageDataAccessor.cs: MessageDataAccessor.cs
Ga verder naar stap 5: Programmeren in ASP.net 2.0 N-Tier Tutorial/Business Services Laag
# Programmeren in ASP.net 2.0 N-Tier Tutorial/Business Services Laag

De Business Tier verzorgt de communicatie tussen de Presentation Tier en de Data Access Tier. In deze laag kunnen ook controles uitgevoerd worden op data voor ze de Presentation Tier bereiken. In ons project dient de Business Tier als buffer tussen de Presentation Tier en de Data Access Tier.

## MessageServices

* Rechtermuisklik op MessageBoard.Business.Services
* Kies Add Reference...
* Voeg een referentie toe naar het project MessageBoard.DataAccess en MessageBoard.Common
* Rechtermuisklik op MessageBoard.Business.Services
* Kies Add > Class
* Maak een klasse met als naam "MessageServices.cs"
Hier vind je de code: MessageServices.cs
Ga verder naar stap 6: Presentation Laag
# Programmeren in ASP.net 2.0 N-Tier Tutorial
## Inleiding

Over ASP.net zijn veel tutorials te vinden. Meestal zijn deze tutorials bedoeld voor zeer eenvoudige applicaties en ze zijn meestal niet toereikend om grote projecten te beheren.
In dit boek leer je, door middel van een eenvoudig berichtenbord, hoe je een N-tier of N-lagen ASP.net-project kan opstarten met behulp van Visual Studio 2005 en Sql Server 2005.
In het boek hanteren we voorlopig enkel de taal C#.
Dit boek behandelt één manier om een groot project op te zetten en dit is zeker niet de ultieme manier. Er zijn altijd manieren om bepaalde zaken beter aan te pakken en ik hoop dat dit project dan ook creatief uitgroeit.
Dit boek behandelt een werkwijze en de auteur draagt dan ook geen enkele verantwoordelijkheid voor eventuele fouten in de broncode.

## Voorkennis

* Is ASP.net nieuw voor jou, lees dan eerst Programmeren in ASP.NET.
* Lees ook het document over N-Tier-ontwikkelen (Engels) - mirror.
* Basiskennis over Microsoft SQL Server.

## Benodigde software

* Microsoft Visual Studio 2005 (Geen Express versie)
* Microsoft Sql Server 2000, 2005 of 2005 Express
# Programmeren in ASP.net 2.0 N-Tier Tutorial/Common Laag/Database.cs

C#-code: "Database.cs"
# Chemisch rekenen/Volumepercentage

Het berekenen van het volume percentage is een simpele berekening. Er moet enkel op gelet worden dat de gegevens in de formule ingevuld worden met dezelfde eenheid. Het berekenen van het volumepercentage gaat als volgt:
${\frac {volumedeel}{volumegeheel}}*100=volumepercentage$
Voorbeeld: Een laboratorium assistent doet 0,10L water en 50 ml ammoniak in een bekerglas. Bereken het volumepercentage van water in het bekerglas. 0,10L = 100ml 50ml = 0,050L. Verder wordt aangenomen dat het totale volume gelijk is aan de som van beide deelvolumina (dit geldt niet in het algemeen en zeker niet voor geconcentreerde oplossingen).
${\frac {100}{150}}*100=66,7\%$ ${\frac {0,1}{0,15}}*100=66,7\%$
# Chemisch rekenen/Massapercentage

Het berekenen van het massapercentage gaat precies hetzelfde als het berekenen van het volumepercentage. Het verschil is alleen dat de invoer dit keer een massa is en geen volume, ook bij deze berekening moet dus opgelet worden dat de eenheden gelijk zijn bij het invoeren van de formule. De formule gaat als volgt:
${\frac {massadeel}{massageheel}}*100\%=Massapercentage$
Voorbeeldvraag Brons is een legering van koper en tin. Dit stukje brons bevat 50 mg koper en 0,7 cg tin. Bereken het massapercentage van koper in dit stukje brons en rond af op twee decimalen. Uitwerking Zoals je ziet zijn de eenheden nog niet aan elkaar gelijk, dus die rekenen we even om:
50 mg = 5 cg
0,7 cg = 7 mg
Nu maakt het niet uit met welke van de twee eenheden je rekent zolang je maar dezelfde eenheid gebruikt en je zult zien dat het antwoord gelijk blijft: In mg:${\frac {50}{57}}*100\%=87,72\%$ In cg:${\frac {5}{5,7}}*100\%=87,72\%$
# Chemisch rekenen/Molariteit

De molariteit is het aantal mol per liter. De molariteit berekent men als volgt: ${\frac {Aantal\ mol}{Aantal\ liter}}=molariteit$
Voorbeeld: In een bekerglas zit 100 ml water. Hieraan wordt 10 ml 0,3 M ammonia toegevoegd. Bereken de molariteit. $100\ ml+10\ ml=110\ ml=0,11\ L$ (dit laatste geldt alleen voor verdunde oplossingen) Het aantal mol ammoniak in 10 ml is $0,3{\tfrac {mol}{L}}\cdot 0,010\ L=0,003\ mol$
De molariteit van de oplossing is dus ${\tfrac {0,003\ mol}{0,11\ L}}=0,027\ M$
# Chemisch rekenen/Titreren

Bij titratie wordt een zuur bij een base gevoegd met als doel de pH-waarde op precies neutraal (7) te krijgen. Vaak wordt natronloog (NaOH) als base gebruikt in de meest simpele chemische titraties. Vanuit deze titratie kan men herleiden wat de concentratie van een zuur is. Azijnzuur en natronloog reageren bijvoorbeeld in de molverhouding 1:1. Zodra de pH 7 is, zijn ze dus in gelijke molaire hoeveelheden aanwezig. Deze pH-waarde kan bekeken worden door een pH-meter of door gebruik van een reagens die indiceert wanneer de pH 7 bedraagt.
Wanneer men niet in staat is om de pH precies op 7 te stellen of meten, dan is de methode van de tweede afgeleide een bruikbaar instrument. Door middel van het berekenen van het verschil in pH stijging, en vervolgens de verschillen tussen de stijgingen rond het omslagpunt (waarbij de pH waarde in hoger tempo stijgt dan eerder) is zo het equivalentiepunt te bepalen. Het equivalentiepunt is het punt waarop de pH 7 bedraagt. Op dit equivalentiepunt zijn base en zuur dus 1:1 aanwezig. Aan de hand van toevoeging van de base, kan zo bepaald worden hoeveel mol zuur er aanwezig is in de vloeistof.
Als men bijvoorbeeld titreert met een 1 liter 4M NaOH-oplossing, dan zal er ook 1 liter 4M zuur nodig zijn. Vaak is het zuur echter een onbekende concentratie, en dient men vanuit de molaire hoeveelheid base de zuurconcentratie te bepalen.
Deze werkwijze kan alsvolgt: Vind de molverhouding tussen zuur en base: NaOH en Azijnzuur - 1:1 Te weten dat: Hoeveelheid base op equivalentiepunt in mol = hoeveelheid zuur in mol We titreren 1 liter 4M Natronloog, en we zien dat er slechts 0.5L azijnzuuroplossing nodig is om het equivalentiepunt (pH=7) te bereiken. 1 Liter Nartronloog bevat 4 molen NaOH. Omdat het azijnzuur met 0.5 L precies 1:1 reageert met Natronloog, zal de molariteit dus 8M zijn.
Want; 4 molen reageren met 4 molen. De halve liter, moet dus 4 molen bevatten. Dat komt neer op 8 molen per hele liter in het geval van azijnzuur: 8*0.5=4 en
1*4=4
# Chemisch rekenen/Temperatuur
## Temperatuur

Temperatuur is natuurkundig gezien de beweging van atomen en moleculen. Hoe sneller een molecuul of atoom beweegt, hoe hoger de temperatuur is. Temperatuur wordt ook wel als maat van warmte gebruikt.
De temperatuur wordt met een thermometer gemeten. Temperatuur wordt in verschillende schalen gemeten:
* Celcius
* Fahrenheit
* Kelvin (SI)
In het praktische leven wordt de Celciusschaal het vaakst gebruikt. Bij natuurkundige principes wordt de Kelvinschaal gebruikt, de absolute temperatuur. De Fahrenheitschaal wordt vooral gebruikt in Engelstalige landen. De absolute temperatuur in Kelvin wordt gemeten vanaf het absolute nulpunt waar materialen supergeleiding vertonen.
* De man van het absolute nulpunt
* Heike Kamerlingh heeft als eerste ter wereld een temperatuur van ongeveer 1° boven het absolute nulpunt weten te bereiken. Hij deed dit in zijn laboratorium te Leiden. In 2003 hebben onderzoekers van het Amerikaanse MIT een temperatuur weten te bereiken van 100 picoKelvin.

## Omrekenen van de verschillende temperatuurschalen
### Van Fahrenheit naar celcius

    $T_{\mathrm {C} }={\tfrac {5}{9}}\cdot \left(T_{\mathrm {F} }-32\right)$

### Van Celcius naar Fahrenheit

    $T_{\mathrm {F} }=\left({\tfrac {9}{5}}\cdot T_{\mathrm {C} }\right)+32$

### Van Celcius naar Kelvin

    $T_{K}=273,15\;+\;T_{C}$

## Externe links

Artikel over de laagste temperatuur die ooit bereikt is: Low Temperature World Record
# Chemisch rekenen/pH

pH = -log [H$_3$O$^+$]
pOH = -log [OH$^-$]
In zuiver water bij 25 °C geldt pH = 7,0 In verdunde oplossingen bij 25 °C in water geldt (pH + pOH) = 14,0 (Deze waarde, dus ook de pH-waarde van zuiver water, neemt af bij hogere temperatuur)
# Chemisch rekenen/ppm

Ppm is een Engelse afkorting die parts per million betekent. In de scheikunde wordt deze eenheid gebruikt om de hoeveelheid deeltjes per één miljoen aan te geven. Vaak wordt ppm alleen gebruikt als de hoeveelheid deeltjes enorm klein is, bijvoorbeeld de hoeveelheid schadelijke stoffen in de lucht.
Het aantal ppm stof X in een mengsel: (Hoeveelheid stof X ÷ hoeveelheid mengsel) × 1.000.000 ppm
# HTML/Basiscursus/Tekst structureren

HTML biedt de mogelijkheid uw tekst te structureren. Een goed voorbeeld is deze pagina. U ziet namelijk dat de tekst is opgedeeld in verschillende alinea's met koppen.

## Koppen

    Zie ook het hx element voor meer informatie.
Met koppen kunt u een titel geven aan het document of een deel ervan. Er zijn koppen op 6 verschillende niveaus die aangeduid worden met h1 tot en met h6 . Daarvan is h1 het hoogste niveau die als eerste wordt gebruikt en h6 het laagste niveau die als laatste wordt gebruikt.
HTML-code: Tekst gestructureerd met koppen
Soms wordt een lager niveau kop gebruikt omdat koppen van hogere niveaus een tekst groter weergeven dan wenselijk. Dit is echter een verkeerd gebruik van de niveaus. Men kan dit probleem oplossen door met CSS de weergave van de koppen kleiner te maken of het attribuut style te gebruiken.
Het is sterk af te raden om niveaus over te slaan, zoals in het volgende voorbeeld gebeurt:
HTML-code: Fout gebruik koppen
De HTML 4.01 specificatie geeft echter geen regels tegen het overslaan van niveaus. De ISO-standaard, waarin HTML wordt beschreven, verbiedt het daarentegen.

## Alinea's

U kunt uw tekst opdelen in paragrafen met behulp van de p-tag. U doet dit als volgt:
HTML-code: Tekst opgedeeld in paragrafen
Standaard zal dit resulteren in een witruimte tussen beide alinea's. Hetzelfde visuele effect is te bereiken door tweemaal een nieuwe regel te beginnen met de br-tag, dit is echter niet gewenst. U kunt de br-tag wel gebruiken om de regel af te breken, bijvoorbeeld bij gedichten.
Merk op dat de "p" in de p-tag staat voor het Engels "paragraph", maar dat dit in het Nederlands beter vertaald kan worden met "alinea" dan met "paragraaf".

## Divisies

Met de div-tag kunt u verschillende elementen samenvoegen, op deze manier kunt u verschillende onderdelen van uw pagina apart houden. De div-tag wordt ook vaak gebruikt om bepaalde delen van de pagina een aparte stijl te geven.
HTML-code: Voorbeeld gebruik div-element

## Woorddelen, woorden en woordgroepen

Met het span-element kunt u bepaalde stukken tekst aparte HTML-attributen geven. U kunt er bijvoorbeeld mee aangeven dat het om een andere taal gaat of u kunt de tekst een aparte stijl geven.
HTML-code: Voorbeeld gebruik span-element