text:
Toyota Prius/Rental

Incentives
Many governments, from the national to local levels, are offering tax and other incentives to encourage people to purchase hybrid and alternative/clean fuels vehicles.

Carpool lane
Drivers of the Toyota Prius, or other Hybrid-Engine automobiles are allowed to drive by themselves in Carpool (High Occupancy Vehicle) lanes in some US states such as Virginia, California (requires $8 one-time fee for a decal), Florida (requires $5 per year decal), and Utah (requires Clean Fuel-Clean Air license plate).

Parking
Los Angeles and San Jose, California and Salt Lake City, Utah allow free parking at meters for the Prius (and possibly other hybrids and clean vehicles) for the posted time limit.

London congestion charge
Prius drivers in London, UK, are exempt from the £8 ($14) daily London congestion charge (requires £10 per year registration).

Sales

 * In January 2005, the Prius became available in South Africa.
 * Toyota will increase production by an additional 50% for 2005, now producing 15,000 cars per month, and will import 100,000 into the United States for that model year.
 * In June 2004, the Wall Street Journal reported that the backlog for 2004 Prius has reached 22,000 in the US.
 * As of April 2004, the expected delivery time for Prius in the Netherlands is one year.
 * As of March 2004, the waiting list at a Sonoma County, California dealership was over 100 people long.
 * As of February 16, 2004, Toyota USA is not taking new internet orders for the 2004 Prius.
 * As of December 14, 2003, the waiting time in Dallas, Texas, USA, was 6 months.

Car rental
Many Toyota dealerships offer car rentals, allowing prospective buyers to try the Prius. Furthermore, most of the major rental car agencies in the United States are offering hybrid cars for rent. Enterprise Rent A Car has the largest fleet of hybrid cars available, with more than 4000 scattered throughout the country.1 EV Rental Cars, in partnership with Fox Rent-a-Car, offers the Prius for rent at the airports in Phoenix, San Francisco, San Jose, Oakland, Orange County, Los Angeles, and San Diego.

In Australia, all the major car rental companies have the Prius in their rental fleets. This includes Avis, Budget, Europcar, Hertz heathrow and Thrifty. Availability at a given location varies and largely depends on demand, which is high, and the size of the rental location. It is advisable to book well in advance.

1 Source: www.Hybrid-Rental-Car.com

title: Toyota Prius/Rental


text: Template:Toyota Prius/TOC

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

title: Template:Toyota Prius/TOC


text:
User talk:Sinatra~enwikibooks

Hello and welcome to Wikibooks!

Here are some tips to help you get started:
 * You can sign your name on Talk and vote pages using four tildes, like this: ~~~~.
 * Remember to conduct any editing experiments in the sandbox.
 * Check out our help page if you need additional help.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * Take a look at Naming policy
 * See list of templates which can save your time
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!

You will find more resources in Community Portal. If you want to ask a question, visit the Study help desk, the Staff lounge, IRC channel or ask me personally on my talk page.

Good luck! -- LV (Dark Mark) 17:25, 14 March 2006 (UTC)

Your account will be renamed
Hello,

The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See the announcement for more information.

Unfortunately, your account clashes with another account also called Sinatra. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name Sinatra~enwikibooks that only you will have. If you like it, you don't have to do anything. If you do not like it, you can pick out a different name.

Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in.

Sorry for the inconvenience.

Yours, Keegan Peterzell Community Liaison, Wikimedia Foundation 23:42, 17 March 2015 (UTC)

Renamed
 This account has been renamed as part of single-user login finalisation. If you own this account you can |log in using your previous username and password for more information. If you do not like this account's new name, you can choose your own using this form after logging in: . -- Keegan (WMF) (talk) 05:29, 19 April 2015 (UTC)

title: User talk:Sinatra~enwikibooks


text:
Talk:Statistics/Introduction/Why

Again, an outline. Perhaps it'd be best to answer the question "why you should learn statistics" in three easy parts:

 * Statistics are everywhere. (Sports, budgeting, business, polls, traffic jams - things ordinary people can relate to.)
 * You can use statistics to make good decisions. (Politicians take polls, businessmen use graphs, doctors use experiments, etc.)
 * Statistics breed curiosity. (It helps you question assumptions, draw conclusions, etc.)

I like the "but seriously, folks" take on the fictional example.

title: Talk:Statistics/Introduction/Why


text:
User talk:193.226.167.123

193.226.167.123 20:28, 14 March 2006 (UTC) also editing from 86.120.225.27

PS Is there a way to add a user talk link, like this one: "Derbeth", for an unnamed user (that is, a user identified by his/her IP)?

Also has contributions to the romanian Wikibooks -- 86.120.225.27 09:49, 20 March 2006 (UTC)

title: User talk:193.226.167.123


text:
Radiation Oncology/Miscellaneous lymphoid

Miscellaneous lymphoid disorders, including lymphoproliferative disorders.

Castleman disease
Synonyms: angiofollicular lymph node hyperplasia, giant lymph node hyperplasia, lymphoid hamartoma, follicular lymphoreticuloma.

Clinically presents as lymphadenopathy with or without constitutional symptoms.

Pathology: is neither purely reactive nor purely neoplastic. Etiology is unclear. HHV-8 has been implicated.

Multicentric disease can be rapidly progressive with the potential for malignant transformation.

Surgery is standard of care for unicentric Castleman disease. RT can be used with doses around 40 Gy. Combination chemotherapy and steroids are used for multicentric Castleman disease.

Reviews:
 * 2010 - PMID 20864917 Full text -- "Castleman Disease in the 21st Century: An Update on Diagnosis, Assessment, and Therapy" (van Rhee F, Clin Adv Hematol Oncol. 2010 July;8(7):486-98.)
 * PMID 11505414, 2001 — "Treatment of unicentric and multicentric Castleman disease and the role of radiotherapy." Chronowski GM et al. Cancer. 2001 Aug 1;92(3):670-6.


text:
Cookbook:Sambal Tempoyak (Anchovies with Fermented Durian Chili Paste)

| Cuisine of Indonesia

Ingredients

 * 100 g ikan bilis (dried anchovies)
 * 3 tbsp tempoyak
 * 2 tbsp coconut milk
 * 1 pinch of salt
 * 10 bird's eye chillis (chilli padi)
 * 2 tbsp chili paste
 * 2 cm piece fresh turmeric root
 * 10 petai seeds, skin removed
 * 2 tbsp oil
 * 2 stalks lemon grass, smashed

Procedure

 * 1) Remove heads and entrails from ikan bilis. Wash and soak for 10 minutes. Deep-fry until crisp.
 * 2) Combine 2 tbsp of tempoyak, coconut milk, salt, chilis, chili paste, turmeric root, and petai seeds. Grind to make a paste.
 * 3) Heat oil in a pan and stir-fry the sambal paste with lemon grass until it becomes fragrant.
 * 4) Add the rest of tempoyak and boil gently over low heat until gravy is thickened.
 * 5) Add salt to taste. Serve with crisp ikan bilis, petai and rice.


text:
User talk:Jeffrey O. Gustafson

Admin on enwiki. Contact there. --Jeffrey O. Gustafson 09:32, 28 August 2007 (UTC)

title: User talk:Jeffrey O. Gustafson


text:
Cookbook:Tempoyak (Fermented Durian)

Tempoyak is a condiment made of salted fermented durian. The salt is used as a preserving agent, so one needs to be generous with it.

Ingredients

 * 2 large durian fruit, flesh removed and seeds discarded
 * 4 tablespoons salt

Procedure

 * 1) Place the durian flesh in a clean jar. Add salt, then beat the mixture until it becomes soft and creamy.
 * 2) Close the jar tightly and leave it to ferment for 1 week.
 * 3) The fermented durian can be kept in the refrigerator for up to a year.

title: Cookbook:Tempoyak (Fermented Durian)


text:
User talk:Konulu~enwikibooks

Hello and welcome to Wikibooks!

Here are some tips to help you get started:
 * You can sign your name on Talk and vote pages using four tildes, like this: ~~~~.
 * Remember to conduct any editing experiments in the sandbox.
 * Check out our help page if you need additional help.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * Take a look at Naming policy
 * See list of templates which can save your time
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!

You will find more resources in Community Portal. If you want to ask a question, visit the Study help desk, the Staff lounge, IRC channel or ask me personally on my talk page.

Good luck! -- LV (Dark Mark) 21:12, 14 March 2006 (UTC)

Your account will be renamed
Hello,

The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See the announcement for more information.

Unfortunately, your account clashes with another account also called Konulu. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name Konulu~enwikibooks that only you will have. If you like it, you don't have to do anything. If you do not like it, you can pick out a different name.

Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in.

Sorry for the inconvenience.

Yours, Keegan Peterzell Community Liaison, Wikimedia Foundation 23:20, 17 March 2015 (UTC)

Renamed
 This account has been renamed as part of single-user login finalisation. If you own this account you can |log in using your previous username and password for more information. If you do not like this account's new name, you can choose your own using this form after logging in: . -- Keegan (WMF) (talk) 05:10, 19 April 2015 (UTC)

title: User talk:Konulu~enwikibooks


text:
User talk:Thisdude415

Hello and welcome to Wikibooks!

Here are some tips to help you get started:
 * You can sign your name on Talk and vote pages using four tildes, like this: ~~~~.
 * Remember to conduct any editing experiments in the sandbox.
 * Check out our help page if you need additional help.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * Take a look at Naming policy
 * See list of templates which can save your time
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!

You will find more resources in Community Portal. If you want to ask a question, visit the Study help desk, the Staff lounge, IRC channel or ask me personally on my talk page.

Good luck! -- LV (Dark Mark) 21:14, 14 March 2006 (UTC)

title: User talk:Thisdude415


text:
User talk:JzG

Please see my Talk on w:user talk:JzG, where you will get a quicker response!

Hello and welcome to Wikibooks!

Here are some tips to help you get started:
 * You can sign your name on Talk and vote pages using four tildes, like this: ~~~~.
 * Remember to conduct any editing experiments in the sandbox.
 * Check out our help page if you need additional help.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * Take a look at Naming policy
 * See list of templates which can save your time
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!

You will find more resources in Community Portal. If you want to ask a question, visit the Study help desk, the Staff lounge, IRC channel or ask me personally on my talk page.

Good luck! -- LV (Dark Mark) 21:17, 14 March 2006 (UTC)

title: User talk:JzG


text:
User:Karl Wick/Test/WikiJunior

Possible WikiJunior books about children's health

 * Personal Health
 * Consumer and Community Health
 * Injury Prevention and Safety
 * Alcohol, Tobacco, and Other Drugs
 * Nutrition
 * Environmental Health
 * Family Living
 * Individual Growth and Development
 * Communicable and Chronic Diseases

title: User:Karl Wick/Test/WikiJunior


text:
Proteomics/Proteomics and Drug Discovery

 * Written by: [mailto:pxk9006@rit.edu Piotr Kowalski] and [mailto:pok7810@rit.edu Patrick Kenney]

Introduction to the Drug Discovery Process
he process of drug discovery within the modern scientific context is quite complex, integrating many disciplines, including structural biology, metabolomics, proteomics and computer science, just to name a few. The process is generally quite tedious and expensive, given the sheer amount of possibilities of drug-to-target interactions in-vivo, and the necessity of successfully passing rigorous pharmacokinetic studies and toxicology assays prior to even being considered for clinical trials. Though a more detailed explanation is offered further into this text, several key components of the drug discovery process include target selection, lead identification and preclinical and clinical candidate selection. The schematic on the right outlines the steps involved in the drug discovery process.

The recent boom of the proteomics field, or the analysis of the ever dynamic organismal proteome, has brought many advances with respect to the very nature of how the current drug discovery process is undertaken. The potential the field of proteomics brings in for identifying proteins involved in disease pathogenesis and physiological pathway reconstruction facilitates the ever increasing discovery of new, novel drug targets, their respective modes of action mechanistically, and their biological toxicology.

The challenge in the drug discovery process is to find the exact causes of an underlying disease and find a way to negate them or bring them to normal levels. A mechanistic understanding of the nature of the disease in question is essential if we are to elucidate any target-specific remedy for it. While the causes of many documented clinical problems vary greatly in their nature and origin, in some cases, the cause is found at the protein level, involving protein function, protein regulation, or protein-protein interactions. One example of such a disorder would be alkaptonuria, characterized by a defect in the gene coding for the enzyme homogentisic acid oxidase, inhibiting the metabolism of homogentisic acid to maleylacetoacetic acid, within the phenylalanine degradation pathway. While the underlying cause of this inborn disease is due to a single gene genetic defect, the clinical manifestations, which include excretion of black urine, are a function of the built up of homogentisic acid resulting from a defective [protein] enzyme.

Recent advances in applied genomics helped in the target identification process, since it allowed for high throughput screening of expressed genes. However, studies have shown that there is a poor correlation between the regulation of transcripts and actual protein quantities. The reasons for this are that genome analysis does not account for post-translational processes such as protein modifications and protein degradation. Therefore, the methods employed in the drug-discovery process started to shift from genomics to proteomics. Analysis of the dynamic organismal proteome, as opposed to the static genome, will certainly bring a much more accurate approach to identifying not only applicable biomarkers that will aid in diagnosis, but also effective remedies for diseases of varying origins.

The field of proteomics faces some daunting challenges, in comparison to genomics, for several reasons. First, protein science lacks an analogue of the polymerase chain reaction (PCR), which can generate many copies of a single, native molecule in vivo (nucleic acids in the case of PCR). However, several recent approaches have been applied in an effort to ameliorate this quandary. Methods of chemical synthesis exist, being limited by yield, particularly when it comes to synthesizing lengthy peptides. In-vivo expression synthesis methods exist as well, however, this approach cannot be applied to producing proteins which may alter normal cellular function. Also, cell-free synthesis ribosome kits can also be employed for accurate and rapid protein synthesis, though the intrinsic presence of ribosome inactivating enzymes contributes to the instability of these systems. Second, in contrast to DNA, protein levels vary significantly depending on cell type and environment. Third, protein abundance is not directly correlated to protein activity. Protein activity is often determined by post-transcriptional modifications such as phosphorylation. Protein activity, not protein abundance, is of interest in the drug discovery process. Finally, proteins form many interactions with other proteins or small molecules. Elucidation of these interactions would greatly speed up the drug discovery process. One way this is currently being done is through ligand bound X-ray crystallographic studies.

The ideal proteomics technique suited for drug discovery would have the following features: it should be able to separate membrane proteins and detect low abundance proteins, two abilities not quite yet realized, yet required in current separations and analytical techniques. Furthermore, it should be able to identify protein activity independent of protein abundance. It also should reveal protein-protein and protein-small-molecule interactions. This method should also be implemented easily, be automatable, and perform at high-throughput speed. Proteomics researchers are addressing these issues, and new methods are being developed.

Virtual drug libraries are being developed, both in the public and private sectors. These databases contain potential drug compounds; these compounds may or may not exist outside of a computer database, and new compounds developed through various methods of synthesis are continually added. Methods of modifying existing database entries to create new isomers and derivatives are also used, to more adequately cover a range of potential drug compounds. Docking and scoring are implemented using known and hypothetical drug targets on a protein, coupled with the databases of virtual chemical compounds. In docking, various computational methods are used to position a chemical properly within a protein binding site. Genetic algorithms and Monte Carlo methods are two popular algorithms for evolving an optimum binding position. This process screens for chemicals that are potential drugs, which initially are termed as hits. After docking, scoring is carried out using mathematical models. These models determine the chemical binding strength and energy state of the drug-protein complex. Those hits with high ranking scores are subsequently subjected to in-vivo tests; hits with positive scores in both areas are then known to be leads.

Evaluation of docked and scored complexes are then made, selecting an arbitrary number of top hits to be further screened manually. The first two steps are done entirely in silico; however, the best complexes now need to be examined using software visualization, often in three-dimensional setups. This allows scientists to ensure that the determined docking orientation looks acceptable, and that the scoring is correct based on known interaction energies such as hydrogen bonds and ionic interactions.

The compounds that make it through docking, scoring, and evaluation become drug leads, and are then passed on to undergo drug testing techniques by scientists in a wet lab, to ensure that only compounds with effects relatively unique to the target system and safe to the rest of organism are considered. However, the drug company has already saved much time and money up to this point by having computers do chemical screening, rather than human scientists.


text:
Template:Blender 3D: HotKeys/3D View/Edit Mode/EKEY

EKEY - Extrude selection.
 * EKEY XKEY — extrude along global X-axis
 * EKEY XKEY XKEY — extrude along object’s X-axis
 * EKEY YKEY — extrude along global Y-axis
 * EKEY YKEY YKEY — extrude along object’s Y-axis
 * EKEY ZKEY — extrude along global Z-axis
 * EKEY ZKEY ZKEY — extrude along object’s Z-axis
 * EKEY RKEY — extrude rotate
 * EKEY RKEY XKEY — extrude rotate around global X-axis
 * EKEY RKEY XKEY XKEY — extrude rotate around object’s X-axis
 * EKEY RKEY YKEY — extrude rotate around global Y-axis
 * EKEY RKEY YKEY YKEY — extrude rotate around object’s Y-axis
 * EKEY RKEY ZKEY — extrude rotate around global Z-axis
 * EKEY RKEY ZKEY ZKEY — extrude rotate around object’s Z-axis
 * EKEY SKEY — extrude scale
 * EKEY SKEY XKEY — extrude scale along global X-axis
 * EKEY SKEY XKEY XKEY — extrude scale along object’s X-axis
 * EKEY SKEY SHIFT+XKEY — extrude scale except along object’s X-axis
 * EKEY SKEY YKEY — extrude scale along global Y-axis
 * EKEY SKEY YKEY YKEY — extrude scale along object’s Y-axis
 * EKEY SKEY SHIFT+YKEY — extrude scale except along object’s Y-axis
 * EKEY SKEY ZKEY — extrude scale along global Z-axis
 * EKEY SKEY ZKEY ZKEY — extrude scale along object’s Z-axis
 * EKEY SKEY SHIFT+ZKEY — extrude scale except along object’s Z-axis


text:
French/Grammar/Sentences

In the introduction of the book the description of a sentence, versus a phrase was outlined. A phrase does not contain a subject + verb, while a sentence includes a subject (what or whom) and a predicate (tells us about the subject). A sentence, and not a phrase, is a grammatical unit, which may have nouns, verbs, adjectives, etc. Like English, a sentence begins with a capital letter and ends with a punctuation mark.

In the introduction we highlighted the types of sentences, and these are:

 * Declarative (statements)
 * Interrogative (questions)
 * Exclamatory (exclamations)
 * Commanding (commands)

Declarative
A simple declarative sentence is subject + verb + object noun. This word order is pretty much the same as English. "Henry got a car." You may have heard that there are some English sentences that cannot be translated to French. While this is true in the literal sense, it doesn't mean you can't get the point across in another way. The French declarative sentence with direct and indirect object nouns must be in this order: subject + verb + direct object + indirect object.

For example, I can say "Peter bought a car for his son Henry" in French, but I can't say "Peter bought his son Henry a car." In the first example Peter is the subject, bought is the verb, a car is the direct object, and for his son Henry is the indirect object. In the second example you will see that the direct object and indirect object have been swapped. In order to translate an English statement like this, you would have to slide the indirect object to its proper place.

 * Henri obtenu une voiture. (Simple declarative)
 * Pierre a acheté une voiture pour son fils Henri. (With direct + indirect object)
 * Pierre a acheté pour son fils Henri une voiture . (With indirect + direct object - wrong)

Intonation
As in English, raising the tone at the end of a sentence can turn it into a question.

Example:

Il aime les bonbons. He likes sweets. Il aime les bonbons? Does he like sweets?

Est-ce que...
"Est-ce que" (ehs kuh) by itself does not mean anything. Like the upside-down question mark in Spanish '¿', it merely indicates the sentence is an informal question. To form a question, attach "Est-ce que..." at the beginning of the sentence. Sometimes "que" has to be modified to "qu'" for elision. Est-ce is actually the inversion of c'est ("it is"). Like all inversions a '-' dash is required.

These questions in this form are typically mean't to elicit a "Oui" or "Non" answer. If you want more than that, you must precede it with an interrogative: Quand est-ce que, Qui est-ce que, or Quel est-ce que, for example.

Some of these later examples can more easily be said by just leaving the inversion off. For example "Quel est le problème ?" is preferred to "Quel est-ce que le problèm ?"

If the question is negative, then the form is: n'est-ce pas, as in: N'est-ce pas qu'il fait beau temps ? ou Il fait beau temps; n'est-ce pas ? (It is good weather, is it not?)

Example: Il aime ce film. => Est-ce qu'il aime ce film ? (He likes this film. => Does he like this film?)

Inversion
This is considered to be the most formal way to ask a question out of the three. (The indicative form of the following sentences will be placed in parentheses for comparison.)

To ask a question by inversion, simply invert the verb and the subject (the pronoun) and insert a hyphen (un trait d'union) in between. Example: Do you like apples? (You like apples.) Aimes-tu les pommes ? (Tu aimes les pommes.)

In the case where the verb ends in a vowel while the subject starts with one, a "t" needs to be inserted to avoid elision. Example: Did she make the decision already? (She made the decision already.) A-t-elle déjà pris la décision ? (Elle a déjà pris la décision.)

(Notice that for compound tense [les temps composés], only the avoir or être part is interchanged with the subject.)

For third person plural (verbs ending in "ent"), there is no need to insert the "t". Example: Are they buying a house? (They are buying a house.) Achètent-ils une maison ? (Ils achètent une maison.)

If the subject is a noun instead of a pronoun, invert the verb and the pronoun that represents the subject. Example: Did Marie choose this shirt? (Marie chose this shirt.) Marie a-t-elle choisi cette chemise ? (Marie a choisi cette chemise.)

For negative such as "ne...pas", the verb should be inserted in between: Example: Didn't you eat the whole pizza? (You didn't eat the whole pizza.) N'as-tu pas mangé la pizza entière ? (Tu n'as pas mangé la pizza entière.)

If there is a direct or indirect object (complément d'objet [in]direct), it goes before the verb. Example: Have you been there? (You have been there.) Y es-tu allé(e) ? (Tu y es allé(e).)

Question/Interrogative words

 * Où ? - Where?
 * Quand ? - When?
 * Pourquoi ? - Why?
 * Comment ? - How?
 * Quel/Quels/Quelle/Quelles ? - Which?
 * Qui ? - Who?
 * Combien ? - How much?
 * Quoi ? - What?

If...
Si...

With present tense (le présent):

(1) Si + (le présent), (le futur simple) Example: If you finish your homework, I'll give you some candies. Si tu finis tes devoirs, je te donnerai des bonbons.

(2) Si + (le présent), (l'impératif) Example: If you are cold, close the window. Si tu as froid, ferme la fenêtre.

With imperfect (l'imparfait) past tense (to express hypothetical situations):

(3) Si + (l'imparfait), (le conditionnel) Example: If I had a million dollars, I would buy a house. Si j'avais un million de dollars, j'achèterais une maison.

With "plus-que-parfait" (also to express hypothetical situations):

(4) Si + (le plus-que-parfait), (le conditionnel passé) Example: If I had known (or "had I known") computers were so useful, I would have taken a computer course. Si j'avais su que les ordinateurs étaient si utiles, j'aurais suivi un cours de l'informatique.

title: French/Grammar/Sentences


text:
User talk:Sean WI~enwikibooks

GoldenEye
Sorry for the late reply.

The problem with the renaming is that I was not able to get to the sub pages that were not moved. If you want to rename the book, first move the subpages, then move the main page last. Thanks, Gerard Foley 01:30, 15 March 2006 (UTC)

Your account will be renamed
Hello,

The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See the announcement for more information.

Unfortunately, your account clashes with another account also called Sean WI. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name Sean WI~enwikibooks that only you will have. If you like it, you don't have to do anything. If you do not like it, you can pick out a different name.

Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in.

Sorry for the inconvenience.

Yours, Keegan Peterzell Community Liaison, Wikimedia Foundation 23:40, 17 March 2015 (UTC)

Renamed
 This account has been renamed as part of single-user login finalisation. If you own this account you can |log in using your previous username and password for more information. If you do not like this account's new name, you can choose your own using this form after logging in: . -- Keegan (WMF) (talk) 05:28, 19 April 2015 (UTC)

title: User talk:Sean WI~enwikibooks


text:
User talk:70.64.68.29

Thanks for experimenting with Wikibooks. Your test worked, and has now been removed. Please use Sandbox for any other tests you want to do, since testing material in modules will normally be removed quickly. Please see the welcome page if you would like to learn more about contributing to our project. Thanks. -- LV (Dark Mark) 01:35, 15 March 2006 (UTC)

title: User talk:70.64.68.29


text:
Cookbook talk:Risotto (Basic)

You can't translate risotto as big rice, the current tranlation is made by rice. big rice is risone a kind of riso. But for italian risotto is that plate. so risotto cant't be translated.

Matteo Pedani 01:43, 15 March 2006 (UTC)

Having passed more than 60 years of my life based in Milano where the Risotto was created and where the Milanese Risotto is still a basic dish, I suggest to eliminate garlic and pepper from the basic recipe. In priciple, garlic never goes with onion in the same dish. Italian cousine is very simple and contains few elements: it allows people to take initiatives about adding any sort of "other" things to "improve" the dishes: see what happened to pizza; forget about pepper, vodka and other liquors but wine. For those interested a good Risotto can be made in 5 minutes with a pressure cooker

Sandro Marchesi

 * That's an interesting point of view. I admit I've learnt about Italian cuisine through the muddled channels of western European cooking culture, so there are definitely things I don't know, but I've always thought of the soffrito (which I took to be onions and garlic, and maybe more) as the basis of most Italian dishes. Can you back these statements up with any references? (this is a wiki after all, we must be rigorous). On the whole I think that recipes are disconnecting from their origins everywhere in the world. The hip new chefs reinvent everything they can get their hands on. And if that means that pizza's will have pineapple and ham, or scollops and raisins on them then so be it. The Italians can still have their basil and mozarella pizza's, but ideas will evolve, it can't (and shouldn't) be helped. risk 01:54, 21 September 2007 (UTC)

I think paella (the many different kinds) has sufficient entity by itself as to be considered a variation of risotto

César Sánchez

 * I agree that paella can stand on it's own, but in the grand view of things, it's interesting to see how two neighboring countries produce such similar yet very distinct rice dishes. Perhaps it's wrong to refer to paella as a kind of risotto, but they are definitely related. risk 01:54, 21 September 2007 (UTC)

NEVER, NEVER, NEVER "Sprinkle a vinaigrette over the risotto just before serving"

Giorgio Benci, Gorizia, Italy

 * Thanks for the input. A quick google shows that it's not uncommon to combine risotto with vinaigrette. It cuts through the fat, and particularly with mushrooms the acidity can be a very pleasant addition. That's an addition that must come in liquid form, near serving, so a few drops of a strong vinaigrette seems as good a way as any. I think Gordon Ramsey even served a risotto with vinaigrette in Hell's Kitchen. Can you elaborate on your statement? risk 01:54, 21 September 2007 (UTC)

Authentic Italian risotto and International adaptations of Risotto
There is Italian risotto and then there are the International Risottos where cooks and chefs who are foreigners to authentic Italian cuisine add their personal twists and touches.

Italians do not use garlic much at all, especially in Northern Italy which is where risotto originates and is most eaten. Italians often omit vinaigrette on salad ( just excellent olive oil and salt) let alone on risotto, the very thought would make a Milanese faint. These, by the way, are hard facts of Italian cuisine and not points of view.

A point of view is yours on the positive-ness of dishes changing and evolving away from their origins. In Italy we have respect for dishes which have roots and history, which make seasonal and territorial sense, which took decades to perfect. We look forward to eating the same dishes every year at the right season and compare them with those we ate in previous years thus buidling up our culinary and gastronomic culture and developing an attentive palate. We do excercise personal variation but within sensible -in a culinary sense- limits. We find the need for constant variation and innovation a little puerile to be honest. This is our point of view, on the whole.

Your "quick google", doubtless in Englisjh, will have brought up non authentic risotto recipes by non Italians.

There is the real world and there is Wiki.

Italian cookbooks written by Italians in Italian (and not by British or Australian or US chefs) will back up what these Italians are saying about their dish. But would you accept them as references? Or are you going to insist on telling Italians that unless they back up their comments on the dishes they grew up with references in English, then your version (point of view)is the the correct one?

Maybe this page ought to be divided into two: Authentic Italian risotto and International adaptations of Risotto. We'll eat the first kind you can enjoy the second.

213.156.49.142 (talk) 16:41, 4 September 2008 (UTC)

 * Good grief. I did not mean to step on any toes, but if I have to learn Italian just to work out what a proper risotto is, I don't stand much of a chance, do I? From your arguments, it seems like the fact that I'm not an Italian, means I would never be able to speak with any authority on what risotto is.
 * I think we can agree that the basic recipe should be as simple as possible. This could well be the "authentic Italian risotto" (however you want to define that). If you're not allowed to use onions and garlic together, fine, we'll pick just one. All the rest can be added to the variations. But if we have to hold a referendum among "real Italians" to determine whether or not adding rosemary to a risotto is "allowed", I doubt we'd end up with anything sane. Most likely, we couldn't get any agreement on whether to use olive oil or butter.
 * This kind of authenticity vs innovation debate is going on all over the world. Any kind of regional style of cooking (Italian, French, Japanese, Chinese) has these issues, and there's no getting away from them. Perhaps we need a page discussing the issue in a general sense, so that we can link to it from all these particularly sacred recipes.
 * Plenty of Italian cookbooks have been translated to English, and plenty of Italian chefs have migrated abroad and written about Italian cooking, so I'm sure we can find references that everybody can read. My point of view is not the correct one, but neither is anyone else's. The whole point of a wikipedia and it's sister projects is that when there's disagreement, we can reach a consensus without referring to authority. That means that when someone says "it should be like this, and I know because I know Italy", that in itself is not enough, because the next person might refer to their authority and claim the opposite, we'd never get anything done. We need to find an objective way to establish a minimal risotto, and we need to establish what weight we will give to regional authenticity.
 * As for it being "not done" to use onions and garlic together, I wasn't trying to stall any edit by asking for references, I was genuinely interested. I've simply never heard this before and I have been cooking cooking our bastardized western-Italian cuisine for some time. risk (talk) 17:14, 27 March 2010 (UTC)

Couple of quick comments

 * Risotto should be served immediately the butter is added. I would say a little Parmesan is generally beaten in together with the butter. The resting for a few minutes would come before the butter.
 * The butter MUST be beaten in vigorously rather than "stirred" in.
 * The risotto in the picture is extremely liquid and as such not very typical. Surely a better picture can be found?
 * Vodka instead of wine is not a good idea unless you are using other acidic ingredients such as lemon juice later on.

85.228.208.58 (talk) 02:25, 5 October 2010 (UTC)

"Alternative" Rices Varieties
I understand that it's not recommended, but can a satisfying result be reached by substituting an alternative short of medium grain rice (such as one commonly available in the US)? 76.232.77.118 (discuss) 00:55, 7 April 2011 (UTC)

title: Cookbook talk:Risotto (Basic)


text:
User talk:Fitchguy20

Italian wikibook
Ciao, I am the guy who developed the first two lessons in the Italian wikibook. I missed from the Wikibooks projects during these latter months, and now I'm back. As you are the one who showed the best intentions to work on the Italian language wikibook, I think we should discuss together about how to structure the language lessons, coz I think we should first decide what these lessons should talk about. Tell me what ya think about that. Ciao e grazie! --Angelo Romano 02:57, 15 March 2006 (UTC)

title: User talk:Fitchguy20


text:
User:JonSteng

I guess this is where I would put some information about me, for those that are interested. I am JonSteng, and I rarely like to add my 2 cents worth to public forums. The Wiki project has had me re-think that self denial of input, however. I hope not to embarrass myself or my teenage children (any more than they are by 'The Parent') with my comments or input.

Life is good, I just need to let the goodness out a bit more often.

title: User:JonSteng


text:
User talk:86.120.225.27

86.120.225.27 06:48, 15 March 2006 (UTC) also editing from 193.226.167.123

PS Is there a way to add a user talk link, like this one: "ACW", for an unnamed user (that is, a user identified by his/her IP)?

title: User talk:86.120.225.27


text:
Talk:Muggles' Guide to Harry Potter/Places

Along the lines of The Surrey Zoo, should the Forest of Dean be mentioned? -- Nathan 314159 (discuss • contribs) 17:59, 25 May 2017 (UTC)
 * I suppose so... let's see what I can do. Chazz (talk) 04:03, 26 May 2017 (UTC)

St. Mungo's Hospital for Magical Maladies and Injuries -- 86.120.225.27 11:14, 15 March 2006 (UTC)

There seems to be a Diagon Alley article on Wikipedia... http://en.wikipedia.org/wiki/Diagon_Alley --70.177.108.78 23:09, 18 May 2006 (UTC)
 * There's a lot of HP stuff on Wikipedia. However, this book should barely be connected to those articles. The Muggles' Guide is about analysis and understanding of the work, not just fact lists and poppy fan information. We hope to present serious information here in order to help readers understand connections in the books. -Matt 23:13, 18 May 2006 (UTC)

Should there be an entry for the Hospital Wing at Hogwarts? Harry certainly seems to spend enough time there, and things to happen there as well... but it's also pretty self-explanatory. Chazz 08:13, 22 August 2006 (UTC)
 * I personally would think no for now. We could add it later when we want, but I really want to see a "version 1.0" of this book sometime soon. I'd like for existing pages to be fully developed first, then we can go through and find little details to work on. Once we get a PDF of this out, I think we will make serious news, at least with the HP community. This is the first of its kind and a great resource for readers. -within focus 15:15, 22 August 2006 (UTC)
 * By the same logic, I would expect that we should at least temporarily hold off on creating an entry for the Hogwarts Express. Granted again that a lot of stuff happens there -- about a chapter's worth in each book -- it's pretty self-explanatory. Chazz 18:39, 7 September 2006 (UTC)
 * Also, I think we should reduce the amount of locations on Diagon Alley in the list as some of them are only mentioned very occasionally eg Florean Fortescue's, Eeylops Owl Emporium etc. anyone with me..? Dan-the-man278 13:46, 13 July 2007 (UTC)
 * No. They appear in the books; Florean Fortescue in particular is a haven for Harry in book 3, and his departure from Diagon Alley is a matter of some concern in book 6. Leaving them as they are, mentioned as part of another place (Diagon Alley) is reasonable; giving them a separate page, I think, is not, or at least is not yet. The Leaky Cauldron plays a large enough part that it might merit having its own page, eventually; likewise Quality Quidditch Supplies, Madam Malkin's, Florean Fortescue's, Flourish & Blotts, and Ollivander's might one day have individual pages. Chazz (talk) 15:22, 13 July 2007 (UTC)

For reference, when/if creating Malfoy Manor, we could use this old wikipedia revision. -- Jokes Free4Me 06:32, 26 July 2007 (UTC)

 * Furthermore, various Harry Potter articles on Wikipedia are being AfDed now that people rushed there to create a bunch of minor articles (a huge problem at Wikipedia in my opinion but that's not for here) and we might be able to Transwiki those out if they are in impending doom. -within focus 12:23, 26 July 2007 (UTC)

internal links
I have matched (and updated) all the places' appearance info with the "new places visited" sections of the books. Left out were:

 * Platform 9-3/4
 * Headmaster's Office, Hogwarts
 * Room of Requirement
 * Riddle Manor, Little Hangleton
 * The Shrieking Shack
 * St. Mungo's Hospital

Arguably less important: Gryffindor House, Hufflepuff House, Ravenclaw House, Slytherin House, Gringotts, The Hog's Head Inn, The Three Broomsticks, Honeyduke's Sweetshop, Borgin and Burkes. -- Jokes Free4Me (talk) 18:54, 21 January 2009 (UTC)


text:
Talk:Muggles' Guide to Harry Potter/Index

an entry for "Prefect"s should be added to this index (and wikibook) -- 86.120.225.27 11:37, 15 March 2006 (UTC)

also, the Fidelius Charm is missing... -- Jokes Free4Me 23:40, 27 June 2006 (UTC)

Fidelius charm is now added. I don't quite know where Prefects belong, because they are not magical by any means -- it's used in Muggle schools that follow the English model as well. Chazz 22:06, 6 September 2006 (UTC)

Prefects is now added as well, along with Head Boy / Head Girl and Quidditch captain, in Major Events. Chazz 16:27, 7 September 2006 (UTC)


text:
PHP Programming/Flat Frog

What is Flat Frog ?

Flat Frog is a templating system created by Paul Lockaby . The package is actually maintained by Serge Gilette. It can be found on SourceForge on its project page

Flat Frog commenced life as Smarty-Lite, as it relies on plugins to add in various support whilst the core remains smaller than Smarty.

This WikiBook will provide a series of examples and practical case on the use of Flat Frog testing

title: PHP Programming/Flat Frog


text:
Statistics/Displaying Data/Pictograms

Pictograms

A pictogram is simply a picture that conveys some statistical information. A very common example is the thermometer graph so common in fund drives. The entire thermometer is the goal (number of dollars that the fund raisers wish to collect. The red stripe (the "mercury") represents the proportion of the goal that has already been collected.

Another example is a picture that represents the gender constitution of a group. Each small picture of a male figure might represent 1,000 men and each small picture of a female figure would, then, represent 1,000 women. A picture consisting of 3 male figures and 4 female figures would indicate that the group is made up of 3,000 men and 4,000 women.

An interesting pictograph is the Chernoff Faces. It is useful for displaying information on cases for which several variables have been recorded. In this kind of plot, each case is represented by a separate picture of a face. The sizes of the various features of each face are used to present the value of each variable. For instance, if blood pressure, high density cholesterol, low density cholesterol, body temperature, height, and weight are recorded for 25 individuals, 25 faces would be displayed. The size of the nose on each face would represent the level of that person's blood pressure. The size of the left eye may represent the level of low density cholesterol while the size of the right eye might represent the level of high density cholesterol. The length of the mouth could represent the person's temperature. The length of the left ear might indicate the person's height and that of the right ear might represent their weight. Of course, a legend would be provided to help the viewer determine what feature relates to which variable. Where it would be difficult to represent the relationship of all 6 variables on a single (6-dimensional) graph, the Chernoff Faces would give a relatively easy to interpret 6-dimensional representation.

title: Statistics/Displaying Data/Pictograms


text:
User talk:Scubafish

Ori: Book of Origin
Comment by Kernigh: About your new book, Ori: Book of Origin...

At first it was unclear to me what this was for. Then I noticed the association with Stargate SG-1, which I remembered reading about at Wikipedia. So I looked at Ori (Stargate), Wikicities:c:Stargate:Ori, and some related pages.

The way I understand it, in the TV show Stargate SG-1, there are beings called Ori that invade the Milky Way galaxy and establish their religion Origin. The Stargate show often quotes the Book of Origin, and what you are trying to do is write a Ori: Book of Origin that includes all of the quotes?

In that case, you are writing fan fiction. Then I should tell you that this wiki, Wikibooks, is NOT the place for writing fiction. If you look at All bookshelves, you will mostly find instructional and reference books. This is because Wikibooks is for instructional resources, not essays or fiction. The relevant text in What is Wikibooks reads, "Wikibooks hosts non-fiction texts only. As such we do not allow original works of fiction or literature."

Wikibooks is not for fiction, in the way that Wiktionary is not for encyclopedia articles. Thus you will need to
 * 1) move Ori: Book of Origin to a different web site, or
 * 2) redo Ori: Book of Origin as a non-fiction resource about fiction (like Muggles' Guide to Harry Potter, for example).

--Kernigh 17:40, 15 March 2006 (UTC)

title: User talk:Scubafish


text:
Blender 3D: Noob to Pro/Every Material Known to Man/Misty Globe

This is a strange misty globe, it looks cool when animated.

This could be used as a mystical crystal ball etc. etc.

Material Window

 * Alpha: 1.00

 * Color
 * R: .60
 * G: .60
 * B: .60

 * Specularity
 * R: 1.00
 * G: 1.00
 * B: 1.00

Shaders Window
Ref: 1.00

Spec: .50

Hard: 50

Amb: .50

Emit: .70

Map to Window
Alpha: clicked once

Col: clicked once

Texture #1

 * Texture Window
 * Type: Clouds
 * NoiseSize: .350
 * NoiseDepth: 2
 * Nabla: .025
 * Default: clicked
 * SoftNoise: clicked

 * Color Window
 * Al: 1.00
 * Poss: 1.00
 * R: .777
 * G: .793
 * B: .919
 * Bright: 1.00
 * Contr: 1.00

Texture #2

 * Texture Window
 * Type: Clouds
 * NoiseSize: .50
 * NoiseDepth: 2
 * Nabla: .015
 * Default: clicked
 * SoftNoise: clicked

 * Color Window
 * Al: 1.00
 * Poss: 1.00
 * R: .768
 * G: .892
 * B: .755
 * Bright: 1.00
 * Contr: 1.00

Animation

 * 1) The animation on this sphere uses a procedural texture,
 * 2) Make sure that you are at frame 1
 * 3) First go to the material buttons and hold your cursor over them.
 * 4) Press the "i" button on the keyboard, and select "Ofs" from the dropdown menu
 * 5) Advance to frame 200 and insert another key vertex.
 * 6) In the IPO curves, got to the Curve menu, go to Interpolation Mode, and select "Linear"
 * 7) In the IPO curves, got to the Curve menu, go to Extend Mode, and select "Extrapolation"
 * 8) In the list along the right side of the IPO curve screen, select OfsX, and press tab on the keyboard
 * 9) Right click on the second vertex and drag it up to about .2
 * 10) In the list along the right side of the IPO curve screen, select OfsY, and press tab on the keyboard
 * 11) Right click on the second vertex and drag it up to about .3

Misty Globe


text:
General Astronomy/References

The Modern View of the Cosmos

 * Bauer, H.H. (1992). Scientific Literacy and the Myth of the Scientific Method. Urbana and Chicago: University of Illinois Press.
 * Cox, A.N., ed. (1999). Allen's Astrophysical Quantities. (4th ed.). New York: Springer.
 * Dones, L. et al. (2004). Oort Cloud Formation and Dynamics. In Festou et al., ed., Comets II (pg. 153). Tucson: University of Arizona Press.
 * Kuhn, T.S. (1962). The Structure of Scientific Revolutions. Chicago: University of Chicago Press.
 * National Research Council of the National Academies. (2003). Connecting Quarks with the Cosmos: Eleven Science Questions for the New Century. Washington, D.C.: The National Academies Press.
 * Popper, K.R. (1959). The Logic of Scientific Discovery. New York: Harper.
 * Rumerman, J.A. (2005 Feb. 8). Human Space Flight: A Record of Human Achievement 1961 - 1998. Monographs in Aerospace History, #9. Retrieved 29 Jan. 2006 from http://www.hq.nasa.gov/office/pao/History/40thann/humanspf.htm

Observational Astronomy

 * Allen, R.H. (1963). Star Names: Their Lore and Meaning. New York: Dover Publications.
 * Kaler, J.B. (1996). The Ever Changing Sky. Melbourne: Cambridge University Press.

Motion and Gravity

 * Aveni, A.F. (1993). Ancient Astronomers. Montreal: Saint Remy Press.
 * Heath, T.L. (1991). Greek Astronomy. New York: Dover Publications. (Reprint. Originally published: London: Dent, 1932.)
 * Neugebauer, O. (1983). Astronomy and History: Selected Essays. New York: Springer-Verlag.
 * North, J. (1995). The Norton History of Astronomy and Cosmology. New York: W. W. Norton and Company.
 * Taton, R., ed. (1963). History of Science: Ancient and Medieval Science from the Beginnings to 1450. New York: Basic Books, Inc.

Planetary science/Extrasolar Planets
.
 * Isaac Newton, The Mathematical Principles of Natural Philosophy, trans. Andrew Motte (London, 1729), pp. 387–93.
 * Jacob, W. S. "On certain Anomalies presented by the Binary Star 70 Ophiuchi." Monthly Notices of the Royal Astronomical Society 15 (1855): 288-89. http://adsabs.harvard.edu/abs/1855MNRAS..15..228J
 * Thomas Jefferson Jackson (1896). "Researches on the Orbit of F.70 Ophiuchi, and on a Periodic Perturbation in the Motion of the System Arising from the Action of an Unseen Body". The Astronomical Journal 16: 17. http://adsabs.harvard.edu/cgi-bin/bib_query?1896AJ.....16...17S
 * Sherrill, Thomas J. (1999). "A Career of controversy: the anomaly OF T. J. J. See" (PDF). Journal for the history of astronomy 30, http://www.shpltd.co.uk/jha.pdf. Retrieved on 27 August 2007.
 * Bell, George H. "The Search for the Extrasolar Planets: A Brief History of the Search, the Findings and the Future Implications." 5 Apr. 2001. Arizona State University. Nov. 2008 .
 * van de Kamp, Peter (August 1969). "Alternate dynamical analysis of Barnard's star". The Astronomical Journal 74: 757–759. doi:10.1086/110852, http://adsabs.harvard.edu/abs/1969AJ.....74..757V. Retrieved on 27 August 2007
 * Campbell, B.; Walker, G. A. H.; Yang, S. (1988). "A search for substellar companions to solar-type stars". Astrophysical Journal, Part 1 331: 902 – 921. doi:10.1086/166608, http://adsbit.harvard.edu/cgi-bin/nph-iarticle_query?bibcode=1988ApJ...331..902C.
 * Hatzes et al. (2003). "A Planetary Companion to Gamma Cephei A". The Astrophysical Journal 599 (2): 1383–1394. doi:10.1086/379281, http://www.journals.uchicago.edu/doi/full/10.1086/379281.
 * Wolszczan, A.; Frail, D. A. (1992). "A planetary system around the millisecond pulsar PSR1257+12". Nature 355: 145 – 147. doi:10.1038/355145a0, http://www.nature.com/nature/journal/v355/n6356/abs/355145a0.html.
 * Mayor, Michel; Queloz, Didier (1995). "A Jupiter-mass companion to a solar-type star". Nature 378: 355 – 359. doi:10.1038/378355a0, http://www.nature.com/nature/journal/v378/n6555/abs/378355a0.html.
 * Mayor et al. (1995). "A Jupiter-mass companion to a solar-type star". Nature 378: 355–359. doi:10.1038/378355a0
 * Schneider, Jean (2008-06-16). "Interactive Extra-solar Planets Catalog". The Extrasolar Planets Encyclopedia. Retrieved on 2008-06-29
 * Gary, B. "Amateur Exoplanet Archive." 29 Nov. 2008. 29 Nov. 2008 .
 * "Many, perhaps most, nearby sun-like stars may form rocky planets." Innovations-report. 19 Feb. 2002. .
 * Dr Guyon, Olivier "A brief history of the search for extrasolar planets." 11 June 2006. Scitizen. Nov.2008 http://www.scitizen.com/screens/blogPage/viewBlog/sw_viewBlog.php?idTheme=7&idContribution=18
 * "Category:Exoplanets." Wikimedia commons. Wikimedia Foundation. .
 * The Extrasolar Planets Encyclopaedia. 2008. .
 * NASA image. .
 * Raine, Steven C. "70 Ophiuchi - Realm of Orange Suns." Sept. 1996. Star of Month. Nov. 2008 .
 * Robert, Robert, and Rob Gutro. "White Dwarf Pulses Like a Pulsar." 1 Feb. 08. NASA. .
 * Sackett, Dr. Penny D. "Microlensing exoplanets." 5 Aug. 2008. Http://www.scholarpedia.org/article/Microlensing_exoplanets.com
 * Wright, Jason T. "Detecting Exoplanets with Precise Radial Velocities."
 * 70 Ophiuchi 2? Sol Company. .
 * "What is an Extrasolar Planet?" Extrasolar Planet. Nov. 2008 .
 * William, Lynne. "Out of this World: Extrasolar Planets." 28 Aug. 2008. Nov. 2008 .
 * Henry, Gregory, Eric Ford, Chris McCarthy, Kevin Apps, Greg Laughlin, and Bernie Walp. California & Carnegie Planet Search. Anglo-Australian. .
 * wikipedia
 * Hillenbrand, Lynne A., John M. Carpenter, Kim Jinyoung Serena, Michael R. Meyer, Dana E. Backman, Moro-Martín, Amaya, David J. Hollenbach, Ilaria Pascucci, Dean C. Hines, and Jeroen Bouwman. "The Complete Census of 70 μm-bright Debris Disks within the Formation and Evolution of Planetary Systems Spitzer Legacy Survey of Sun-like Stars." The Astrophysical Journal 677 (2008): 630-56. http://adsabs.harvard.edu/abs/2008ApJ...677..630H
 * Valencia, Diana, Dimitar D. Sasselov, and Richard J. O'Connell. "Radius and Structure Models of the First Super-Earth Planet." The Astrophysical Journal 656 (2007): 545-51. http://adsabs.harvard.edu/abs/2007ApJ...656..545V

Exemplars
The modern astronomy textbook has been the product of years of development, through which textbooks have evolved and improved to become effective tools for instruction. The Astronomy contributors gratefully acknowledge the work of the writers of the following textbooks, which have brought the astronomy curriculum into the twenty-first century. The design and pedagogical structure of these books have influenced the development of this work.
 * Arny: Explorations: An Introduction to Astronomy.
 * Bennett, Donahue, Schneider, and Voit: The Cosmic Perspective.
 * Kaufmann and Comins: Discovering the Universe.
 * Seeds: Foundations of Astronomy.

Stars

 * - information on the observational history of the stars (used in Astronomy/Stars/Introduction)
 * - information regarding human use of the stars. (used in Astronomy/Stars/Introduction)

Black Holes

 * Black Hole formation
 * Black Hole formation

title: General Astronomy/References


text:
User:Cat Parade~enwikibooks

You can learn all about me and my Wiki activities on my Wikipedia user page.

title: User:Cat Parade~enwikibooks


text:
Blender 3D: Noob to Pro/Every Material Known to Man/Water

Water
Here is a nice water texture setting I've used for a couple of renders. It may or may not be transparent enough for many uses, but play around with the "alpha" setting until you've achieved the effect of your desire.

Material

Options found in 'Material' Window Tab

Color: R .653, G .780, B .954

Alpha: .62

Options found in 'Links and Pipeline' Window Tab

ZTransp: enabled (this is very important)

Options found in 'Shaders' Window Tab

Specular shader: Blinn Specularity: .651

Hardness: 29

Refraction: 4.521

Options found in 'Mirror Transp' Window Tab

Ray Mirror: enabled

Ray Mir (slider): .5

Texture

Options found in 'Texture' and 'Stucci' Window Tabs

Texture Type: Stucci

Plastic: enabled

Hard Noise: enabled

Noise Size: .236

Turbulence: 28.4

Options found in 'Color' Window Tab

Right Side Color: R 0, G 1, B 1

Right Side Alpha: 0

Left Side Color: R .504, G .757, B .889

Left Side Alpha: .715

Options found in 'Map To' Window Tab

Nor: enabled (white letters)

Nor (slider): 9.22

Oil
Here's an oil material. Simple enough.

Material

Options found in 'Material' Window Tab

Color: Black (R,G,B all = 0)

Options found in 'Shaders' Window Tab

Reflectivity: .872

Specularity (Blinn): 1.512

Hardness (Blinn): 50

Refraction: 3.089

Options found in 'Mirror Transp' Window Tab

RayMir: enabled, .12

Options found in 'Map To' Window Tab

Nor: enabled (inverted, text is yellow), 8.18

Texture

Options found in 'Texture' and 'Cloud' Window Tabs

Texture Type: Clouds

Color: enabled

Noise Type: soft noise

Noise Size: .366

Noise Depth: 3

Nabla: .034

Options found in 'Color' Window Tab

Right Side color Bar: R, G, B all are .2

Bright: 1.029

Water (sea, lake, river, etc.)
Here's a material for water, but use it for creating large water surfaces (sea, lake, river, etc.)

Material

Shading(F5)-->Material buttons-->Material

Color(Col):

R 0.653

G 0.780

B 0.954

Alpha 0.620

Shading(F5)-->Material buttons-->Shaders

Ref 4.521

Spec 0.650

Hard: 29

Shading(F5)-->Material buttons-->Mirror Transp

Ray Mirror ON

RayMir 0.50

Texture

Shading(F5)-->Texture buttons(F6)-->Texture

Press "Add New"

Texture Type: Stucci

Shading(F5)-->Texture buttons(F6)-->Stucci

Press "Plastic"

Press "Hard Noise"

Noise size 0.036 (2)

Turbulence 28.40

Back to Material

Shading(F5)-->Material buttons-->Map To

Col ON

Nor ON

R 0.504

G 0.757

B 0.889

Col 0.715

Nor 0.50 (1)

Tips:

- If you need bigger waves on surface rise the "Nor"(1) value

- If you have smaller surfaces rise the "NoiseSize"(2) value

- Use sun for light

Water


text:
Pascal Programming/Arrays

An array is a structure concept for custom data types. It groups elements of the same data type. You will use arrays a lot if you are dealing with lots of data of the same data type.

Notion
In general, an array is a limited and arranged aggregation of objects, all of which having the same data type called base type or component type. An array has at least one discrete, bounded dimension, continuously enumerating all its objects. Each object can be uniquely identified by one or more scalar values, called indices, along those dimensions.

Declaration
In Pascal an array data type is declared using the reserved word  in combination with the auxiliary reserved word , followed by the array’s base type: Behind the word  follows a non-empty comma-separated list of dimensions surrounded by brackets. All array’s dimensions have to be ordinal data types, yet the base type type can be of any kind. If an array has just one dimension, like the one above, we may also call it a list.

Access
A variable of the data type  as declared above, holds five independent   values. Accessing them follows a specific scheme: This  will print , since it is the value of   that has the index value. Arrays are like a series of “buckets” each holding one of the base data type’s values. Every bucket can be identified by a value according to the dimension specifications. When referring to one of the buckets, we have to name the group, that is the variable name (in this case ), and a proper index surrounded by brackets.

Character array
Lists of characters frequently have and had special support with respect to I/O and manipulation. This section is primarily about understanding, as in the next chapter we will get to know a more sophisticated data type called.

Direct assignment
String literals can be assigned to variables using an assignment statement, thus instead of writing: You can simply write: Note, that you do not need to specify any index anymore. You are referring to the entire array variable on the LHS of the assignment symbol. This only works for overwriting the values of the whole array. There are extensions allowing you to overwrite merely parts of a  array, but more on that in the next chapter.

Most implementations of string literal to  array assignments will pad the given string literal with insignificant   values if it is shorter than the variable’s capacity. Padding a string means to fill the remaining positions with other characters in order meet a certain size. The GPC uses space characters, whereas the FPC uses  values whose  inal value is zero.

Reading and printing
Although not standardized, /  and  /  usually support writing to and reading from  variables.

Very early Pascal compilers supported only this kind of human-readable IO:

This works because  files, like the standard files   and , are understood to be infinite sequences of   values. Since our is also, although finite sequence of   values, individual values can be copied pretty much directly to and from   files, not requiring any kind of conversion.

Primitive comparison
Unlike other arrays, variables can be compared using   and. This kind of comparison only works as expected for identical data types. It is a primitive character-by-character comparison. If either array is longer or shorter, an  comparison will always fail, because not all characters can be compared to each other. Correspondingly, an  comparison will always succeed for  values that differ in length.

Note, the EP standard also defines the undefined and undefined functions, beside many more. The difference to  and   is that blank padding (i. e.   in FPC or  in GPC) has no significance in   and. In consequence, that means using these functions you can compare strings and  arrays regardless of their respective maximum capacity and still get the naturally expected result. The  and   comparisons on the other hand look at the memory’s internal representation.

Matrices
An array’s base type can be any data type, even another array. If we want to declare an “array of arrays” there is a short syntax for that: This has already been described above. The last line is identical to: It can be expanded to two separate declarations allowing us to “re-use” the “inner” array data type: Note that in the latter case  uses   as the base type which is an array by itself. Yet in the short notation we specify  as the base type, not a   but its base type.

When an array was declared to contain another array, there is a short notation for accessing individual array items, too: This corresponds to the array’s declaration. It is vital to ensure the indices you are specifying are indeed valid. In the latter loop the  branch checks for that. Attempting to access non-existent array values, i. e. by supplying illegal indices, may crash the program, or worse remain undetected thus causing difficult to find mistakes.

Note, the “unusual” order of  and   has been chosen to facilitate drawing an upright graph: That means, it is still possible to refer to entire “sub”-arrays as a whole. You are not forced to write all dimension an array value has, given it makes sense.

Array data types that have exactly two dimensions are also called matrices, singular matrix.

Real values
As introduced in one of the first chapters the data type  is part of the Pascal programming language. It is used to store integer values in combination with an optional fractional part.

Real literals
In order to distinguish  literals from   literals, specifying   values in your source code (and also for  / ) differs slightly. The following source code excerpt shows some  literals: To summarize the rules:
 * A  value literal always contains either a   as a radix mark, or an  /  to separate an exponent (the $$x$$ in $$\text{…} \times 10^{x}$$), or both.
 * There is at least one Western-Arabic decimal digit before and one after the  (if there is any).
 * The entire number and exponent are preceded by signs, yet a positive sign is optional.

As it has always been, all number values cannot contain spaces.

Limitations
The  data type has many limitations you have to be aware of in order to effectively use it. First of all, we want to re-emphasize an issue that was mentioned when data types were introduced: In computing  variables can only store a subset of rational numbers (ℚ). That means, for example, you cannot store the (mathematically speaking) real number (ℝ) $$\sqrt{2}$$. This number is an irrational number (i. e. not a rational number). If you cannot write a number as a finite  literal, it is impossible to store it in a system using a finite amount of memory, such as computer systems do.

Fortunately, in EP three constants aide your usage of  values. is the smallest positive  value. It conjunction with the constant, it is guaranteed that all arithmetic operations in $$\left[-\texttt{maxReal}, \texttt{maxReal}\right] \setminus \left(-\texttt{minReal}, \texttt{minReal}\right) \cup \left\{0\right\}$$ produce, quote, reasonable approximations. It is not specified what exactly constitutes a “reasonable” approximation, thus it can, for example, mean that yields as “an approximation”. Also, it is quite possible that  variables can store larger values than.

is short for “epsilon ”. The small Greek letter ε (epsilon) frequently denotes in mathematics an infinitely small (positive) value, yet not zero. According to the ISO standard 10206 (“Extended Pascal”),  is the result of subtracting   from the smallest value that is greater than. No other value can be represented between this value and, thus   represents the highest precision available, but just at that point. Most implementations of the  data type will show a significantly varying degree of precision. Most notable, the precision of  data type implementations complying with the IEEE standard 754 format, decays toward the extremes, when approaching (and going beyond)   and. Therefore you usually use, if at all, a reasonable multiple of  that fits the given situation.

Transfer functions
Pascal’s strong typing system prevents you from assigning  values to   variables. The  value may contain a fractional part that an   variable cannot store.

Pascal defines, as part of the language, two standard functions addressing this issue in a well-defined manner. Both functions will fail if there is no such  value fulfilling the function’s respective definition.
 * The function, short for “truncation”, simply discards any fractional part and returns, as an  , the integer part. As a consequence this is effectively rounding a number toward zero.   will return the value.
 * If this feels “unnatural”, the  function rounds a   number to its closest   value.   is (regarding the resulting value) equivalent to  for non-negative values, and equivalent to  for negative   values. In other words, this is what you were probably taught in grade school, or the first rounding method you learned in homeschooling. It is commonly referred to as “commercial rounding”.

There is no function if you want to (explicitly) “transfer” an  value to a   value. Instead, one uses arithmetically neutral operations: These expressions make use of the fact, as it was mentioned earlier as a passing remark in the chapter on expressions, that the expression’s overall data type will become  as soon as one   value is involved.
 * (using multiplicative neutral element), or
 * (using summing neutral element)

Printing values
By default /  print   values using “scientific notation”. Borland Pascal defines a value constant. It was adopted by many compilers.

While this style is very universal, it may also be unusual for some readers. Particularly the  notation is something now rather archaic, usually only seen on pocket calculators, i. e. devices lacking of enough display space.

Luckily, /  allow us to customize the displayed style. For starters, specifying a minimum total width is legal for parameters, too, but this also shows more digits:

The procedures /  accept for   type values (and only for   values) another colon-separated format specifier. This second number determines the (exact) number of post-decimal digits, the “fraction part”. Supplying two format specifiers also disables scientific notation. All  values are printed using regular positional notation. That may mean for “large” numbers such as  printing a one followed by a hundred zeros (just for the integer part).

Let’s look at an example: In some regions and languages it is customary to use a  (comma) or other character instead of a dot as a radix mark. Pascal’s on-board /  procedures will, on the other hand, always print a dot, and for that matter –  /  will always accept dots as radix marks only. Nevertheless, all current Pascal programming suites, Delphi, FPC and GPC provide appropriate utilities to overcome this restriction. For further details we refer to their manuals. This issue should not keep us from continuing learning Pascal.

The output / (and in EP also  ) generate will be rounded with respect to the last printed digit.

Comparisons
First of all, all (arithmetic) comparison operators do work with  values. The operators  and , though, are particularly tricky to handle.

In most applications you do not compare  values to each other when checking for equality or inequality. The problem is that numbers such as ⅓ cannot be stored exactly with a finite series of binary digits, only approximated, yet there is not one valid approximation for ⅓ but many legit ones. The  and   operators, however, compare – so to speak — for specific bit patterns. This is usually not desired (for values that cannot be represented exactly). Instead, you want to ensure the values you are comparing are within a certain range, like: Delphi and the FPC’s standard RTS provide the function  as part of the   unit. You do not want to program something other people already have programmed for you, i. e. use the resources.

Division
Now that we know the data type used for storing (a subset of) rational numbers, in Pascal known as, we can perform and use the result of another arithmetic operation: The division.

Flavors
Pascal defines two different division operators:
 * The  operator performs an integer division and discards, if applicable, any remainder. The expression’s resulting data type is always  . The   operator only works if both operands are   expressions.
 * The, probably more familiar, operator  (a forward slash), divides the LHS number (the dividend) by the RHS number (the divisor), too, but a  -division always yields a   type value. This is also the case if the fractional part is zero. A “remainder” does not exist for the   operation.

The  operation can be put in terms of  : However, this is only a semantic equivalent, it is not how it is actually calculated. The reason is, the  operator would first convert both operands to   values and since, as explained above, not all   values can necessarily be represented exactly as   values, this would produce results potentially suffering from rounding imprecisions. The  operator on the other hand is a pure   operator and works with “integer precision”, that means no rounding is involved in actually calculating the   result.

Off limits divisor
Note, since there is no generally accepted definition for division by zero, a zero divisor is illegal and will result in your program to abort. If your divisor is not a constant and depends on run-time data (such as a variable read from user input), you should check that it is non-zero before doing a division: Alternatively, you can declare data types excluding zero, so any assignment of a zero value will be detected: Some Pascal dialects introduce the concept of “exceptions” that can be used to identify such problems. Exceptions may be mentioned again in the “Extensions” part of this Wikibook.

Arrays as parameters
Arrays can be copied with one simple assignment. This requires, however, as it is customary with Pascal’s strong type safety, that both arrays are assignment-compatible: That means their base type and dimension specifications are the same.

Because calling a routine involves invisible assignments, writing general-purpose code dealing with lots of different situations would be virtually impossible if the entire program had to use one array type only. In order to mitigate this situation, conformant array type parameters allow writing routines accepting differing array dimension lengths. Array dimension data types still have to match.

Let’s look at an example program using this feature:

A conformant-array parameter looks pretty similar to a regular array variable declaration, but the dimensions are specified differently. Usually, when declaring new arrays you provide constant values as dimension limits. Since we do not want constants, though, we name placeholder identifiers for the actual dimension limits of any array  will receive. In this case they are named  and , joined by   inbetween indicating a range.

and  become variables inside the definition of , but you are not allowed to assign any values to them. You are not allowed to declare new identifiers bearing the same name as the array boundary variables.

In Pascal all constants implicitly have an unambiguously determinable data type. Since our array limit identifiers are in fact variables they require a data type. The indicates both   and   have the data type.

Once we have declared and defined  we can use it with lots of differently sized arrays:

Delphi and the FPC (as of version 3.2.0 released in 2020) do not support conformant-array parameters, but the GPC does.

Special support
Prior the 21st century logarithm tables and slide rules were heavily utilized tools in manual calculations, so much so it led to the inclusion of two basic functions in Pascal. Both functions always return  values.
 * The function  exponentiates a number to the base $$e$$, Euler’s constant. The value of   is equivalent to the mathematical term $$e^{\texttt{x}}$$.
 * The function, short for Latin “logaritmus naturalis”, takes the natural logarithm of a positive number. “Natural” refers to $$e$$ again.

Introduction
Since the use of logarithms is not necessarily taught in all curricula, or you might just need a refresher, here is a short primer: The basic idea of logarithms is that all operations are lifted one level. On the lifted level many operations become simpler, especially if the numbers are large. For instance, you can perform a rather easy addition if you actually mean to take the product of two numbers. For this you have to “lift” all operands one level up: This is done by taking the logarithm. Pay particular attention to $$x^y$$: On the logarithm level $$y$$ is a non-“logarithmized” factor, you only take the logarithm of $$x$$

Once you are done, you have descend one level again to get the actual “real” result of the intended operation (on the underlying level). The reverse operation of  is. To put this principle in Pascal terms: Remember,  and   have to be positive in order to be valid parameters to.

Application
Taking the logarithm and then exponentiating values again are considered “slow” operations and introduce a certain overhead. In programming, overhead means taking steps that are not directly related to the actual underlying problem, but only facilitate solving it. In general, overhead is avoided, since (at first) it takes us even farther away from the solution. Nevertheless, logarithms can be used to overcome range limitations of the data type if intermediate results are out of its range, but it is known that the final result will definitely be within the range of   again. As you can see, this goes to the detriment of precision. It is a compromise between fast operations, and “accurate enough” results.

The best solution is, of course, finding a better algorithm. The above demonstration $$\sqrt{x^2}$$ is effectively $$\left|x\right|$$, that is  (remember, squaring a number always yields a non-negative number). This operation’s result will stay in the range of.

Tasks
All tasks, including those in the following chapters, can be solved without conformant-array parameters. This takes account of the fact that not all major compilers support them. Nonetheless, using routines with conformant-array parameters are often the most elegant solution.

More tasks you can solve can be found on the following Wikibook pages:
 * A-level Computing 2009/AQA/Problem Solving, Programming, Data Representation and Practical Exercise/Fundamentals of Programming/One-Dimensional Arrays
 * A-level Computing 2009/AQA/Problem Solving, Programming, Data Representation and Practical Exercise/Fundamentals of Programming/Two-Dimensional Arrays

Sources: (the other possibly being of type ) the following operators yield a real value: }} Notes:

title: Pascal Programming/Arrays


text:
Pascal Programming/Object oriented

Back to Pascal Programming

Object Oriented Pascal allows the user to create applications with Classes and Types. This saves the developer time on developing programs that would be very flexible.

This is a sample program (tested with the FreePascal compiler) that will store a number 1 in private variable One, increase it by one and then print it.

This example is very basic and would be pretty useless when used as OOP. Much more complicated examples can be found in Delphi and Lazarus which include a lot of Object Oriented programming.

title: Pascal Programming/Object oriented


text:
Pascal Programming/Pointers

The new data type presented in this chapter adds another layer of abstraction to your repertoire: Pointers are by far the most complicated data type. If you master them, you have got what it takes to tackle even the supreme discipline of assembly programming. So, let’s get started!

Indirection
In Pascal there are two kinds of variable types. While using static variables, the compiler already knows which memory chunk will be used in advance. Dynamic variables, however, are, hence their name, dynamic in that they will be occupying different, unpredictable memory segments.
 * So far we have been using static variables. They exist during the entire execution of a block, e. g. while a  is running or just during execution of a routine.
 * There is another kind called dynamic variables. They do not necessarily “exist” during the entire block. That means, there is no static memory allocated, but the used memory space varies each time the program runs.

Memory is referred to by addresses. An address is, in CS, simply a number, an  value so to speak. When you want to refer to a certain memory block, you use its address.

The pointer data type is a value that stores an address. This address can then be used to access the memory it is referring to. A pointer, however, is just that: It is pointing, but not making any statement as regards to “whom”, what variable this block of memory “belongs.”

Declaration
In Pascal, a pointer data type declaration starts with a  (up arrow), or alternatively and more frequently the   (caret) character, followed by the name of a data type. A variable of this pointer data type can point to a single  value (and no other data type). In Pascal all pointer data types have to indicate the data type of the value the pointer is referring to. This is because a pointer alone is just an address: An address merely points to the start of a memory block. There is no statement with respect to this block’s size, its length. The domain restriction, the specification of targeted value’s data type, tells the compiler “how large” a memory block will be, and in consequence how to properly read and write, how to access it.

Unlike any other data type, a pointer data type is the only data type that can use data types not declared yet. Below you will see a usage scenario, but let’s continue in the script.

Allocating memory
When you are declaring a variable in the ‑section, you are declaring a static variable. In the following code fragment  is a static variable, thus its memory location is already known. At this point, there is no memory space alloted to a  value yet. There is already space to store a pointer value, the address of a  value, but we do not have any space available to put it, a   value, anywhere.

In Pascal you will first need to invoke the  to get memory assigned to your. takes one pointer variable as an argument and will reserve enough memory space to hold one value of the pointer’s domain. After this operation As with all variables of any kind, the memory space we have acquired now is totally undefined (unintialized).
 * you occupy additional memory for, in this case, one  value the   previously did not “own”, and
 * , the pointer variable itself, will give us the address of this newly allocated memory.

Dereferencing
To use the memory we just gained we will have to follow a pointer. This is done by appending  (or usually  ) to the name of the pointer variable. This action is called dereferencing. The pointer is a (kind of) reference to the underlying  value. This  value does not have a name, but you use the pointer to access it anyway.

On this dereferenced variable we can perform all operations permissible on the pointer’s domain data type. I. e. here we are allowed to assign a  value   to it, and then use it, for instance, in a   as demonstrated above.

Note that something like will not work, because in this case   simply refers to the pointer, the address storage. In Pascal it is forbidden to directly assign addresses to pointers, other than by using. For the special case of, see below.
 * The expression  has the data type.
 * The expression  has the data type.

Releasing memory
After invoking  the respective memory is exclusively reserved to your. This memory management occurs outside of your. It is a typical task of the respective OS.

To reverse the operation of, there is a dedicated   “unreserving” memory:. takes the name of a pointer variable, and releases previously with  allocated memory. After a  you may not follow, dereference, the pointer anymore. Nevertheless the pointer itself still stores the address where, in this case, the referenced  value was. Meanwhile, the “freed” memory may be used again for something or by someone else.

Lifetime
In Pascal, memory of dynamic variables remains reserved
 * as long as it is accessible, that means at least one pointer must point to it, or
 * until you specifically request to “unreserve” memory.

If a chunk of memory is rendered inaccessible by some operation, it is automatically released. This can happen implicitly: In the  above the pointer variable   is “gone” upon   termination. Because this variable is/was the only pointer (left) pointing to our previously reserved  value, there is an automatic “invisible”. Insofar, the explicit  from our side was not necessary.

However, unfortunately not all compilers comply with this specification as laid out in the Pascal ISO standards. For instance, Delphi, as well as the FPC (even in its compatibility mode, as of version 3.2.0) will not issue an automatic. There, an explicit  is necessary. Rest assured, using the GPC it is not necessary though; the GPC fully complies with the ISO standard 7185 level 1.

Note, that memory accessibility is transitive: This means that, for instance, a pointer pointing to a pointer pointing to the memory still satisfies the accessibility requirement.

Indication
The additional housekeeping of allocating and releasing memory may seem like quite a hassle, so when does that make sense? Furthermore, pointer values are frequently used to implement variable parameters of routines: Due to its smaller size passing a single pointer value can be faster than passing, that means copying, for instance an entire. This kind of use of pointers is completely transparent. Pascal equips you with an adequate language construct; you will learn more about variable parameters in the chapter on scopes.
 * All variables declared in a -section need to indicate their size in advance. For some applications, however, you do not know how much data you will need to store and process. Pointers are a means to overcome this limitation. Further below we will explore how.
 * Pointer values can be used to represent graphs, networks, of data, allowing you to put everything into relation with each other. This means you do not need to store the same datum multiple times. A pointer value is usually, with respect to its memory requirements, a comparatively small data type. Handling pointers trades lower memory space demand for increased complexity.

Nil pointers
All pointers can be assigned a literal value. The  pointer value represents the notion “not pointing anywhere in particular.”

Coincidentally,  is the only pointer value that could be used for a pointer literal. There is no other pointer value that you could possibly specify anywhere in your source code. This also means you cannot explicitely compare any specific pointer value except.

Note that  is fundamentally different to an unintialized variable. You are allowed to read the value of a pointer that has been assigned the value, but you are still forbidden to attempt reading the value of a variable that has not been assigned any value at all.

Permissible operators
In the introduction we used the analogy comparing pointers to  values. However, this is really just that. Unlike  values, pointers are by no means “ordered”; they do not belong the class of ordinal data types. There is no,  ,   defined for a pointer, but also ordering comparison operators like   or   do not apply to pointers, not to mention any arithmetic operator is invalid in combination with a pointer value.

The only operators applicable to pointers are It may seem at first like quite a restriction, but it prevents you from doing potentially harmful, or even just stupid stuff.
 * , do two pointer values refer to the same address,
 * , do two pointer values refer to different addresses, and
 * , the assignment of a pointer value, either  or the value of an already defined pointer variable of the same data type, to a pointer variable.

Chicken or egg
Pointers are the only data type that can be declared using a data type yet to be declared. This circumstance makes it possible to declare data types containing pointers, possibly to the data type being declared at hand or other yet to be declared data types. This is possible because a pointer to  has the same memory requirements as a pointer to   or any other data type. The domain restriction of a pointer is not (necessarily/explicitly) stored in the.

In the following code fragment  is not yet declared, but you are still allowed declare a new pointer data type with it anyway: Yet you cannot reverse the order of the declarations of  and  ; the compiler cannot magically conclude  is a pointer until it has actually seen/read the respective declaration.

Putting things together
Now we can use this data structure to dynamically store a series of numbers. Pay attention when to derefercene the pointer in the following code: The entire  contains one static variable. Only the variable  was declared by you. During run-time, however, while the  is running you will have at one point two additional   values at your disposal.

Take notice of this example’s order of  statements: The supplied pointer variable must be valid, so a reverse order would not be possible in this specific case here.

Concededly, this example could have been better implemented by simply declaring two  variables. The true power of pointers becomes apparent when you are, unlike the above code, use pointers as a means of abstraction. This chapter’s exercises will delve into that.

Routines
In particular, let’s first explore a special kind of pointers: Routine parameters, that is functional and procedural parameters, are parameters of routines that allow you to statically modify the routine’s behavior by virtually passing the address of another routine. Let’s see how this works.

Declaration and use
In the formal parameter list of a routine you can declare a parameter that looks just like a routine signature: Inside the definition of  you can use the parameter   as if it was a regular   declared and defined before and outside of. However, at this point it is not known what function will be used. The actual parameter  is in fact a pointer. We only know that this pointer’s “domain” is a, any  without parameters and returning an   value, but this is already enough we need to know.

One routine fits it all
To call this kind of routine you will need to specify an appropriate routine designator that matches the signature as regards to order, number and data types of parameters and, if applicable, the returned value’s data type. To supply a routine parameter value to a routine, simply name a compatible routine. Note that in this case you never specify any parameters, because you are not making a call here, but the called routine will do so “on behalf” of you. Specifying the routine’s name, and thus passing its address, is sufficient to achieve that.

Caveats
As a beginner, pointers are difficult to tame. Without experience, you will frequently observe (for you) “unexpected” behaviors. Some pitfalls are presented here.

-clause
Special care must be taken when using pointers in conjunction with a -clause. The expressions listed at the top of a -clause are evaluated once before executing any following statement. During the entire -statement the expressions using the “short” notation will actually use an invisible transient value. This speeds up execution, because the same value is not evaluated over and over again, but there is also a caveat in it.

Surprisingly, the long notation using an FQI can become invalid, while the short notation at first seems to be still valid. The following  demonstrates the issue: When you compile and run this, you will The  does actually use a “hidden (pointer) variable” and not. This variable’s value was evaluated one time at the top of the -clause. The compiler does not (and cannot) complain that  meanwhile became invalid. You are not making any assignments to the actually utilized hidden variable (i. e. it is still considered bearing a valid value), thus there is no reason for complaints.
 * 1) notice that it prints anything but , but
 * 2) it should be rather astonishing that it still prints anything at all.

Limits
Memory is not an infinite resource. This has some grave implications.

There is no means to check whether any subsequent  will exhaust the finite resource memory. On multi-tasking OSs it is feasible that between the time you have queried the amount of free memory space and actually requesting additional memory, another  running at the same time has acquired memory so there is none, or not enough left for you. This kind of situation is known as. You need to simply in a make-or-break manner ask for more memory.

Tasks
Notes:

title: Pascal Programming/Pointers


text:
User talk:JonSteng

Hello and welcome to Wikibooks!

Here are some tips to help you get started:
 * You can sign your name on Talk and vote pages using four tildes, like this: ~~~~.
 * Remember to conduct any editing experiments in the sandbox.
 * Check out our help page if you need additional help.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * Take a look at Naming policy
 * See list of templates which can save your time
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!

You will find more resources in Community Portal. If you want to ask a question, visit the Study help desk, the Staff lounge, IRC channel or ask me personally on my talk page.

Good luck! -- LV (Dark Mark) 18:44, 15 March 2006 (UTC)

title: User talk:JonSteng