OpenLLM-France/wikimedia huggingface dataset:
# 9-1 Chemistry/Identification of ions

Flame tests can be used to identify some cations (positive ions).

## Flame tests

| Compound | colour of flame |
| Lithium | Crimson flame |
| Sodium | Yellow flame |
| Potassium | Lilac flame |
| Calcium | Orange-red flame |
| Copper | Green flame |
If a sample containing a mixture of ions is used, some flame colours can be masked.

## Metal hydroxides

Sodium hydroxide solution can be used to identify some cations:
* Aluminium
* Calcium
* Magnesium
Ions form white precipitates when sodium hydroxide solution is added but only the aluminium hydroxide precipitate dissolves in excess sodium hydroxide solution.
# 9-1 History
## Foreword

9-1 History is a textbook designed to act as a free and reliable guide for students taking the 9-1 History GCSE.
The course has been structured around the AQA Specification.
Unlike most 9-1 Books, History has various optional modules. As it is recommended to read the modules that apply to you, also, History requires various techniques when answering questions which applies to everyone, so please read the techniques section.
Good luck!

### A note about the notes

The notes are a brief, concise overview of a course that provide the theoretical minimum knowledge you need to know for a good grade. That being said, if you want a higher grade, you will have to read further by following some of the many links provided.

## Paper 1: Period studies

    America, 1840-1895: Expansion and consolidation
    Germany, 1890-1945: Democracy and dictatorship
    Russia, 1894-1945: Tsardom and communism
    America, 1920-1973: Opportunity and inequality

## Paper 1: Conflict and tension

    The First World War, 1894-1918
    The inter-war years, 1918-1939
    Conflict and tension between East and West, 1945-1972
    Conflict and tension in Asia, 1950-1975
    Conflict and tension in the Gulf and Afghanistan, 1990-2009

## Paper 2: Thematic studies

    Health and the people: c1000-present
    Power and the people: c1170-present
    Migration, empires and the people: c790-present

## Paper 2: British depth studies

    Norman England, c1066-1100
    Medieval England: the reign of Edward I, 1272-1307
    Elizabethan England, c1568-1603
    Restoration England, 1660-1685

## Answering the questions

    Paper 1 Questions
    Paper 2 Questions

## Appendix

    How to make the most from this book
    I've finished the book, where next?
    Authorship
       Help for authors
# 9-1 Chemistry/Polymers
## Addition Polymerisation

Alkenes can be used to make polymers by addition polymerisation. Here, unsaturated monomer molecules (alkenes) can react together, under pressure and with a catalyst to form a chain of repeating (poly) units with single carbon bonds.
Notice that the hydrogen atoms in the ethene compound are directly upwards or downwards. Also, we write a large n to show that we mean many (but an unspecified quantity of many). These form a long chain, which has bonds attaching either side, showing this.The polymer has exactly the same number of atoms as all of the monomers since that is the only product produced. So ethene monomers would make poly(ethene). For larger alkenes we cheat and write the same structure of ethene with an extra compound added on. For example with propene:
The polymer would look exactly the same as the above example with CH$_3$ as opposed to a hydrogen.

## Condensation polymerisation

Condensation polymerisation involves monomers with 2 different functional groups reacting together. This process often results in small molecules such as water being formed (thus they are called condensation reactions). The simplest polymers are produced from 2 different monomers with two of the same functional groups on each monomer:
${\text{Diol + Dicarboxylic acid}}\rightarrow {\text{Condensation polymer + Water}}$
The square in the diagram represents the carbon chains. The important thing are the endings, this is the chemical equation showing the important bits:
${\ce {HO-OH + COOH-COOH -> (COO-COO)_n + 2n(H2O)}}$
Notice that all of the hydrogen bonds with oxygen from the OH group of the dicarboxylic acid, we can get a functional group pattern:
${\text{(di)-alcohol + (di)-carboxylic acid}}\rightarrow {\text{poly(-ester) + water}}$
Seems very similar?...

#### Amino acids

Amino acids have 2 different functional groups in a molecule - a basic amino group (${\ce {-NH2}}$) and a carboxyl group (${\ce {-COOH}}$). The two groups can react in a condensation reaction to form a dipeptide:
Notice that the -OH and H form H2O and the rest remains the same (but goes upright) to form the polymer and water. Here is the chemical formula:
${\ce {H2NCH2COOH -> (-HNCH2COO-) + H2O}}$
Polypeptides are proteins (chains of amino acids). Proteins contain different amino acids which give the protein different properties and instructions.

#### DNA

DNA (Deoxyribonucleic acid) is a large molecule essential for life. DNA encodes genetic instructions for the development and functioning of living organisms and viruses. Most DNA molecules are 2 polymer chains, made from four different monomers called nucleotides (A, T, C, G), in the form of a double helix. Other naturally occurring polymers include proteins, starch and cellulose.
# 9-1 Chemistry/Identification of common gases
#### Test for hydrogen

Use a burning splint held at the open end of a test tube of gas. Hydrogen burns rapidly with a squeaky pop sound.

#### Test for oxygen

The test for oxygen uses a glowing splint inserted into a test tube of the gas. The splint relights in oxygen.

#### Test for carbon dioxide

An aqueous solution of calcium hydroxide, known as lime water. When carbon dioxide is shaken with or bubbled through limewater, the limewater turns cloudy.

#### Test for chlorine

When damp litmus paper is put into chlorine gas, the litmus paper is bleached and turns white.
# Table of Contents

Original TOC

## Front Matter

* Book Abstract
* Cover Page
* Table of Contents
* Dedication
* How to Turn the Page

## Part I - Process

* Invention
* Drafting
* Revising
* Editing
* Proofreading

## Part II - Practice

* Creative Writing
* Writing about reading
* Public Affairs writing
* Investigative writing

## Part III - For the ESL Student and Others

* Culture
* Spelling
* Punctuation
* Transitions

## Back Matter

* Glossary
The starting Wiki code for this page was generated by the Wikipage wizard using this book config on Wednesday, June 27, 2012.
# Basic Writing/Transitions
## What are transitions? Types of transitions

Consider the following example to think about the reason why the students were upset.
    There were only 10 minutes left in the class. The teacher rushed to put all the rules and examples on the board. The students took out their notebook to copy the rules down. They were a little upset. The students had an assignment with the transitions. They weren't sure they would be able to do the assignment correctly. They didn't have enough written practice with transitions.
Now read another version.
    There were only 10 minutes left in the class, so the teacher rushed to put all the rules and examples for transitions on the board. The students took out their notebook to copy the rules down. However, they were a little upset because they had an assignment with the transitions for the next day, and they weren't sure they would be able to do it correctly. In addition, they were upset because they hadn't had enough written practice with transitions.
What made the students upset? And which one of the example can deliver a clear meaning? Words 'however' and 'in addition' in B are called logical connectors or transitions.

## Why we use transitions? Functions of transitions

Consider the following sentences to see if the meaning can be changed.
* Jill isn't in town. So Jack isn't here.
* Jill isn't in town. After all, Jack isn't here.
* Jill isn't in town. Moreover, Jack isn't here.
* Jill isn't in town. However, Jack isn't' here
The use of transitions alone may not lead to text cohesion and coherence; however, their role is substantial because they establish the implied relationships between sentences, presupposing the presence of other components in the discourse.

## How we use transitions? Issues about transitions

Previous studies have demonstrated how the use of sentence transitions can contribute to quality writing and how student writers have employed transitions. They observe the three issues of misuse, overuse, and underuse of sentence transitions: the erroneous, repetitive, and insufficient use of transitions may mislead the audience. Undoubtedly, the use of transitions correspond to improved writing skills, yet many students at the higher levels still repeatedly use a limited stock of transitions. This suggests that writers need to have a better understanding of how to use, when to use, as well as when not to use the sentence transitions.
# Basic Writing/Original TOC
## Introduction

The authors for the first edition of this book for the most part were the Spring 2007 graduate students in Theory of Basic Writing at Missouri State University. Beginning this spring (2009), a new group of Missouri State graduate students will be revisiting and adding to this text, making it Basic Writing version 2.0. Others are welcome to contribute to the project or to suggest areas overlooked. Future classes in Theory of Basic Writing and current or future ENG 100 instructors will continue the project. This is still open to anyone interested in Basic Writing.

## Contents

Part One: Process
Invention
Drafting
Revising
Editing
Proofreading
Part Two: Practice
Creative Writing
Writing about reading
Public Affairs writing
Investigative writing
Part Three: For the ESL Student and Others
Culture
Spelling
Punctuation
Transitions
Please add {{alphabetical}} only to book title pages.
# Ada Programming/Libraries/Container/AI302

Ada 83 and Ada 95 did not provide what is now called Containers, a kind of library units holding collections of objects. There existed as a substitute many public and also proprietary libraries with different levels of (often not well documented) security features; many of these still exist today, e.g the Booch Components. Since Ada aims mainly at the security of what is prescribed in her standard, the absence of such a library was felt a dire miss. There is a set of Ada 95 AIs dealing with different ways to solve this problem:
* AI95-302-01
* AI95-302-02
* AI95-302-03
* AI95-302-04
From AI95-302-03 arose the current Container library A.18: Containers on the basis of the C++ STL. Matthew Heaney did most of the work and gained the ACM SIGAda Award in 2005, see https://www.sigada.org/exec/awards/2005_SIGAda_Awards.pdf. See also Charles.
Since there are many runtime checks included (e.g. so-called tampering checks), the library may not be applicable in some projects; these then have to provide their own versions.
# Ada Programming/Libraries/Container/Booch
## Library containers

* Bags
* Collections
** Plain
** Ordered
* Dequeues
* Graphs
** Directed
** Undirected
* Lists
** Single
** Double
* Maps
* Queues
** Plain
** Ordered
* Rings
* Sets
* Stacks
* Trees
** AVL
** Binary
** Multiway

## Library links
### Author

    Simon Wright

### Homepage

    http://booch95.sourceforge.net

### Tutorial

    http://booch95.sourceforge.net/case-study.html

### Project Info

    http://sourceforge.net/projects/booch95

### CVS Archive

    http://sourceforge.net/cvs/?group_id=135616

### Download

    http://sourceforge.net/project/showfiles.php?group_id=135616

## Sample code

Read the project tutorial for full detail.

## See also
### Wikibook

* Ada Programming
* Ada Programming/Libraries
* Ada Programming/Libraries/Container
# Ada Programming/Libraries/Ada.Wide Wide Characters.Handling

This language feature has been introduced in Ada 2012.
Ada.Wide_Wide_Characters.Handling is a unit of the Predefined Language Environment since Ada 2012.

## See also
### Wikibook

* Ada Programming/Libraries/Ada
* Ada Programming/Libraries/Ada.Wide_Wide_Characters

### External examples

* Search for examples of Ada.Wide_Wide_Characters.Handling in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook.
* Search for posts related to Ada.Wide_Wide_Characters.Handling in: Stack Overflow, comp.lang.ada or any Ada related page.

### Ada Reference Manual
#### Ada 2012

* A.3.6: The Package Wide_Wide_Characters.Handling

### Open-Source Implementations

FSF GNAT
* Specification: a-zchhan.ads
* Body: a-zchhan.adb
drake
* Specification: strings/a-zchhan.ads
# Ada Programming/Libraries/Ada.Wide Wide Text IO.Wide Wide Bounded IO

This language feature is only available from Ada 2005 on.
Ada.Wide_Wide_Text_IO.Wide_Wide_Bounded_IO is a unit of the Predefined Language Environment since Ada 2005.

## See also
### Wikibook

* Ada Programming/Libraries/Ada

### External examples

* Search for examples of Ada.Wide_Wide_Text_IO.Wide_Wide_Bounded_IO in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook.
* Search for posts related to Ada.Wide_Wide_Text_IO.Wide_Wide_Bounded_IO in: Stack Overflow, comp.lang.ada or any Ada related page.

### Ada Reference Manual
#### Ada 2005

* A.11: Wide Text Input-Output and Wide Wide Text Input-Output

#### Ada 2012

* A.11: Wide Text Input-Output and Wide Wide Text Input-Output

### Open-Source Implementations

FSF GNAT
* Specification: a-zzboio.ads
* Body: a-zzboio.adb
# Ada Programming/Libraries/Ada.Wide Wide Text IO.Editing

This language feature is only available from Ada 2005 on.
Ada.Wide_Wide_Text_IO.Editing is a unit of the Predefined Language Environment since Ada 2005.

## See also
### Wikibook

* Ada Programming/Libraries/Ada

### External examples

* Search for examples of Ada.Wide_Wide_Text_IO.Editing in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook.
* Search for posts related to Ada.Wide_Wide_Text_IO.Editing in: Stack Overflow, comp.lang.ada or any Ada related page.

### Ada Reference Manual
#### Ada 2005

* F.3.5: The Package Wide_Wide_Text_IO.Editing

#### Ada 2012

* F.3.5: The Package Wide_Wide_Text_IO.Editing

### Open-Source Implementations

FSF GNAT
* Specification: a-ztedit.ads
* Body: a-ztedit.adb
drake
* Specification: textio/a-ztedit.ads
# Ada Programming/Libraries/Container

The following Libraries help you store and manage objects inside container classes:

## Ada.Containers

    The standard container library, included in the language since Ada 2005 and updated for Ada 2012 and 2022.

## Booch Components

    The most complete of all container class libraries (at least when used with AdaCL, Ada Class Library).

## AdaCL, Ada Class Library

    A Booch Components extension pack for storing indefinite objects.

## Charles

    Build on the C++ STL and therefore very easy to learn for C++ developers.

## AI302

    Proof of concept for Ada.Containers

## Stephe's Ada Library

    Dynamic arrays, lists, trees

## See also
### Wikibook

* Ada Programming
* Ada Programming/Libraries

### Ada Reference Manual

* A.18.1 The Package Containers (Annotated)
# Ada Programming/Libraries/Ada.Wide Wide Text IO.Complex IO

This language feature is only available from Ada 2005 on.
Ada.Wide_Wide_Text_IO.Complex_IO is a unit of the Predefined Language Environment since Ada 2005.

## See also
### Wikibook

* Ada Programming/Libraries/Ada
* Ada Programming/Strings
* Ada Programming/Input Output

### External examples

* Search for examples of Ada.Wide_Wide_Text_IO.Complex_IO in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook.
* Search for posts related to Ada.Wide_Wide_Text_IO.Complex_IO in: Stack Overflow, comp.lang.ada or any Ada related page.

### Ada Reference Manual
#### Ada 2005

* G.1.5: The Package Wide_Wide_Text_IO.Complex_IO

#### Ada 2012

* G.1.5: The Package Wide_Wide_Text_IO.Complex_IO

### Open-Source Implementations

FSF GNAT
* Specification: a-ztcoio.ads
* Body: a-ztcoio.adb
drake
* Specification: textio/a-ztcoio.ads
# Ada Programming/Libraries/Ada.Wide Wide Text IO.Text Streams

This language feature is only available from Ada 2005 on.
Ada.Wide_Wide_Text_IO.Text_Streams is a unit of the Predefined Language Environment since Ada 2005.

## See also
### Wikibook

* Ada Programming/Libraries/Ada
* Ada Programming/Libraries/Ada.Streams
* Ada Programming/Input Output

### External examples

* Search for examples of Ada.Wide_Wide_Text_IO.Text_Streams in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook.
* Search for posts related to Ada.Wide_Wide_Text_IO.Text_Streams in: Stack Overflow, comp.lang.ada or any Ada related page.

### Ada Reference Manual
#### Ada 2005

* A.12.4: The Package Wide_Wide_Text_IO.Text_Streams

#### Ada 2012

* A.12.4: The Package Wide_Wide_Text_IO.Text_Streams

### Open-Source Implementations

FSF GNAT
* Specification: a-zttest.ads
* Body: a-zttest.adb
drake
* Specification: streams/a-zttest.ads
# Ada Programming/Libraries/Ada.Wide Wide Text IO.Wide Wide Unbounded IO

This language feature is only available from Ada 2005 on.
Ada.Wide_Wide_Text_IO.Wide_Wide_Unbounded_IO is a unit of the Predefined Language Environment since Ada 2005.

## See also
### Wikibook

* Ada Programming/Libraries/Ada

### External examples

* Search for examples of Ada.Wide_Wide_Text_IO.Wide_Wide_Unbounded_IO in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook.
* Search for posts related to Ada.Wide_Wide_Text_IO.Wide_Wide_Unbounded_IO in: Stack Overflow, comp.lang.ada or any Ada related page.

### Ada Reference Manual
#### Ada 2005

* A.11: Wide Text Input-Output and Wide Wide Text Input-Output

#### Ada 2012

* A.11: Wide Text Input-Output and Wide Wide Text Input-Output

### Open-Source Implementations

FSF GNAT
* Specification: a-zzunio.ads
# Ada Programming/Libraries/Ada.Wide Wide Text IO

This language feature is only available from Ada 2005 on.
Ada.Wide_Wide_Text_IO is a unit of the Predefined Language Environment since Ada 2005.

## Generic nested packages

Ada.Wide_Wide_Text_IO has the following nested packages for input/output of scalar types. The only parameter is the involved type.
* Decimal_IO
* Enumeration_IO
* Fixed_IO
* Float_IO
* Integer_IO
* Modular_IO

## See also
### Wikibook

* Ada Programming/Libraries/Ada
* Ada Programming/Strings
* Ada Programming/Input Output

### External examples

* Search for examples of Ada.Wide_Wide_Text_IO in: Rosetta Code, GitHub (gists), any Alire crate or this Wikibook.
* Search for posts related to Ada.Wide_Wide_Text_IO in: Stack Overflow, comp.lang.ada or any Ada related page.

### Ada Reference Manual
#### Ada 2005

* A.11: Wide Text Input-Output and Wide Wide Text Input-Output

#### Ada 2012

* A.11: Wide Text Input-Output and Wide Wide Text Input-Output

### Open-Source Implementations

FSF GNAT
* Specification: a-ztexio.ads
* Body: a-ztexio.adb
drake
* Specification: streams/a-ztexio.ads
# C Programming/stdlib.h/atoi

atoi is a function in the C programming language that converts a string into an integer numerical representation. atoi stands for ASCII to integer. It is included in the C standard library header file stdlib.h. Its prototype is as follows:
The str argument is a string, represented by an array of characters, containing the characters of a signed integer number. The string must be null-terminated. When atoi encounters a string with no numerical sequence, it returns zero (0).
There are several variants of the atoi function, atol, atof and atoll , which are used to convert a string into a long, double, or long long type, respectively. The atoll was formerly known as atoq and was included into C99.

## Deficiencies

It is impossible to tell whether the string holds valid sequence of digits that represents the number 0 or invalid number as the function returns 0 in both cases. The newer function strtol does not have this deficiency.
atoi is neither thread-safe, nor async-cancel safe on some operating systems.
Also, atoi only converts base ten ascii values (this may also be a benefit depending on perspective). strtol and other functions support alternate bases such as hexadecimal and octal.

## Standards conformance

The atoi, atof, and atol functions are a part of the ISO standard C library (C89), while the atoll function is added by C99.
However, because of the ambiguity in returning 0 and lack of thread-safety and async-cancel safety on some operating systems, atoi is considered to be deprecated by strtol.

## References

The Version 7 Unix Manual Pages © 1979 by Bell Telephone Laboratories, Incorporated.
The Version 1 Unix Manual page for atoi written by Ken Thompson (November 1971).
* 1 2 http://www.codecogs.com/reference/c/stdlib.h/atoi.php

## External links

* C++ reference for std::atoi
# C Programming/stdlib.h/itoa

The itoa (integer to ASCII) function is a widespread non-standard extension to the standard C programming language. It cannot be portably used, as it is not defined in any of the C language standards; however, compilers often provide it through the header <stdlib.h> while in non-conforming mode, because it is a logical counterpart to the standard library function atoi.
    void itoa(int input, char *buffer, int radix)
itoa takes the integer input value input and converts it to a number in base radix. The resulting number (a sequence of base-radix digits) is written to the output buffer buffer.
Depending on the implementation, itoa may return a pointer to the first character in buffer, or may be designed so that passing a null buffer causes the function to return the length of the string that would have been written into a valid buffer.
For converting a number to a string in base 8 (octal), 10 (decimal), or 16 (hexadecimal), a Standard-compliant alternative is to use the standard library function sprintf.

## K&R implementation

The function itoa appeared in the first edition of Kernighan and Ritchie's The C Programming Language, on page 60. The second edition of The C Programming Language ("K&R2") contains the following implementation of itoa, on page 64 [for Spanish editions go to page 47]. The book notes several issues with this implementation, including the fact that it does not correctly handle the most negative number −2$^{wordsize-1}$.
The function reverse used above is implemented two pages earlier:

## Other appearances

An itoa function (and a similar function, ftoa, that converted a float to a string) was listed in the first-edition Unix manual. Unlike the versions given above, the Unix library version had an interface roughly equivalent to
    void itoa(int input, void (*subr)(char))
and would invoke the callback routine subr on each character in the output string, thus eliminating the need for a buffer big enough to hold the entire string.

## References

* ↑ For the solution to this exercise, see "K&R2 solutions" on clc-wiki.net.
* ↑ "Unix Programmer's Manual", November 3, 1971. Section "Library routines".

## External links

* itoa implementations with performance tests
* lexical_cast - C++ alternative, part of the boost libraries
* modp_numtoa - C/C++ alternative for converting integers and floats to char buffers.
* Good old Integer To Ascii conversion: itoa - Another fast implementation of itoa for various datatypes, plus some boost-style wrapping in the form of boost::lexical_cast template specializations.
# C Programming/stdlib.h/ltoa

The ltoa function in the C programming language is used to convert an integer into a string.
    char *ltoa(long integer, char *string, int radix)
Where integer is the long integer in which a number resides, string is the string, represented by an array of characters and radix is the base number in which the number will be represented.